class NumberListStatisticsReport implements AttributeValueManipulator {

    private Number[] numbers;
    private Column column;

    @Override
    public void setup(Element row, Column column) {<FILL_FUNCTION_BODY>}

    @Override
    public void execute() {
    }

    @Override
    public String getName() {
        return getMessage("NumberListStatisticsReport.name");
    }

    @Override
    public String getDescription() {
        return getMessage("NumberListStatisticsReport.description");
    }

    @Override
    public boolean canExecute() {
        return numbers != null && numbers.length > 1;//Column is number list column and there is numbers to show
    }

    @Override
    public ManipulatorUI getUI() {
        return new GeneralNumberListStatisticsReportUI(numbers, column.getTitle(), getName());
    }

    @Override
    public int getType() {
        return 100;
    }

    @Override
    public int getPosition() {
        return 0;
    }

    @Override
    public Icon getIcon() {
        return ImageUtilities.loadImageIcon("DataLaboratoryPlugin/chart-up.png", false);
    }

    private String getMessage(String resName) {
        return NbBundle.getMessage(NumberListStatisticsReport.class, resName);
    }
}

        this.column = column;
        if (AttributeUtils.isNumberType(column.getTypeClass())) {
            numbers =
                Lookup.getDefault().lookup(AttributeColumnsController.class).getRowNumbers(row, new Column[] {column});
        }
    
<no_super_class>