class EigenvectorCentralityUI implements StatisticsUI {

    private final StatSettings settings = new StatSettings();
    private EigenvectorCentralityPanel panel;
    private EigenvectorCentrality eigen;

    @Override
    public JPanel getSettingsPanel() {
        panel = new EigenvectorCentralityPanel();
        return panel;
    }

    @Override
    public void setup(Statistics statistics) {<FILL_FUNCTION_BODY>}

    @Override
    public void unsetup() {
        if (panel != null) {
            eigen.setNumRuns(panel.getNumRuns());
            eigen.setDirected(panel.isDirected());
            settings.save(eigen);
        }
        panel = null;
        eigen = null;
    }

    @Override
    public Class<? extends Statistics> getStatisticsClass() {
        return EigenvectorCentrality.class;
    }

    @Override
    public String getValue() {
        return null;
    }

    @Override
    public String getDisplayName() {
        return NbBundle.getMessage(getClass(), "EigenvectorCentralityUI.name");
    }

    @Override
    public String getCategory() {
        return StatisticsUI.CATEGORY_NODE_OVERVIEW;
    }

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

    @Override
    public String getShortDescription() {
        return NbBundle.getMessage(getClass(), "EigenvectorCentralityUI.shortDescription");
    }

    private static class StatSettings {

        private int mNumRuns = 100;

        private void save(EigenvectorCentrality stat) {
            this.mNumRuns = stat.getNumRuns();
        }

        private void load(EigenvectorCentrality stat) {
            stat.setNumRuns(mNumRuns);
        }
    }
}

        this.eigen = (EigenvectorCentrality) statistics;
        if (panel != null) {
            settings.load(eigen);
            panel.setNumRuns(eigen.getNumRuns());
            panel.setDirected(eigen.isDirected());
        }
    
<no_super_class>