protected void init() {
    setTitle(Messages.getInstance().getString("ChartEditorTitle"));

    editModel = new LegacyChartEditModel();
    editModel.addPropertyChangeListener(
        LegacyChartEditModel.CHART_EXPRESSION_PROPERTY, new ChartExpressionChangeHandler());
    editModel.addPropertyChangeListener(
        LegacyChartEditModel.PRIMARY_DATA_SOURCE_PROPERTY, new PrimaryDataSourceChangeHandler());
    editModel.addPropertyChangeListener(
        LegacyChartEditModel.SECONDARY_DATA_SOURCE_PROPERTY,
        new SecondaryDataSourceChangeHandler());

    chartTable = new ElementMetaDataTable();
    chartPropertiesTableModel = new ChartExpressionPropertiesTableModel();

    primaryDataSourceTable = new ElementMetaDataTable();
    primaryDataSourcePropertiesTableModel = new ExpressionPropertiesTableModel();
    primaryDataSourcePropertiesTableModel.setFilterInlineExpressionProperty(true);

    secondaryDataSourceTable = new ElementMetaDataTable();
    secondaryDataSourcePropertiesTableModel = new ExpressionPropertiesTableModel();
    secondaryDataSourcePropertiesTableModel.setFilterInlineExpressionProperty(true);

    dataSourceTabbedPane = new JTabbedPane();
    dataSourceTabbedPane.add(
        Messages.getInstance().getString("PrimaryDataSource"), createPrimaryDataSourcePanel());
    dataSourceTabbedPane.add(
        Messages.getInstance().getString("SecondaryDataSource"), createSecondaryDataSourcePanel());

    super.init();
  }