NewColorAndFontPanel () { if (mySubPanel == null) { mySubPanel = myFactory.createPanel(ColorAndFontOptions.this); mySubPanel.reset(this); mySubPanel.addSchemesListener(new ColorAndFontSettingsListener.Abstract(){ @Override public void schemeChanged(final @NotNull Object source) { if (!myIsReset) { resetSchemesCombo(source); } } }); mySubPanel.addDescriptionListener(new ColorAndFontSettingsListener.Abstract(){ @Override public void fontChanged() { for (NewColorAndFontPanel panel : getPanels()) { panel.updatePreview(); panel.updateSchemesPanel(); } } }); } return mySubPanel; }