class UIExporterDL implements ExporterUI {

    private final ExporterDLSettings settings = new ExporterDLSettings();
    private UIExporterDLPanel panel;
    private ExporterDL exporter;

    @Override
    public JPanel getPanel() {
        panel = new UIExporterDLPanel();
        return panel;
    }

    @Override
    public void setup(Exporter exporter) {<FILL_FUNCTION_BODY>}

    @Override
    public void unsetup(boolean update) {
        if (update) {
            panel.unsetup(exporter);
            settings.save(exporter);
        }

        panel = null;
        exporter = null;
    }

    @Override
    public boolean isUIForExporter(Exporter exporter) {
        return exporter instanceof ExporterDL;
    }

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

    private static class ExporterDLSettings extends AbstractExporterSettings {

        // Preference names
        private final static String USE_LIST_FORMAT = "DL_useListFormat";
        private final static String USE_MATRIX_FORMAT = "DL_useMatrixFormat";
        private final static String MAKE_SYMMETRIC_MATRIX = "DL_makeSymmetricMatrix";
        // Default
        private final static ExporterDL DEFAULT = new ExporterDL();

        private void load(ExporterDL exporterDL) {
            exporterDL.setUseListFormat(get(USE_LIST_FORMAT, DEFAULT.isUseListFormat()));
            exporterDL.setUseMatrixFormat(get(USE_MATRIX_FORMAT, DEFAULT.isUseMatrixFormat()));
            exporterDL.setMakeSymmetricMatrix(get(MAKE_SYMMETRIC_MATRIX, DEFAULT.isMakeSymmetricMatrix()));
        }

        private void save(ExporterDL exporterDL) {
            put(USE_LIST_FORMAT, exporterDL.isUseListFormat());
            put(USE_MATRIX_FORMAT, exporterDL.isUseMatrixFormat());
            put(MAKE_SYMMETRIC_MATRIX, exporterDL.isMakeSymmetricMatrix());
        }
    }
}

        this.exporter = (ExporterDL) exporter;
        settings.load(this.exporter);
        if (panel != null) {
            panel.setup(this.exporter);
        }
    
<no_super_class>