/** @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) */
  @Override
  public void init(final IWorkbench workbench) {
    fColorManager = new ColorManager();
    fOverlayStore =
        new OverlayPreferenceStore(
            ErlideUIPlugin.getDefault().getPreferenceStore(),
            new OverlayPreferenceStore.OverlayKey[] {});
    fOverlayStore.addKeys(createOverlayStoreKeys());
    fOverlayStore.load();
    fOverlayStore.start();

    for (final TokenHighlight th : TokenHighlight.values()) {
      fColors.put(th, null);
    }
  }
 @Override
 public void performDefaults() {
   super.performDefaults();
   fOverlayStore.loadDefaults();
   handleSyntaxColorListSelection();
   fPreviewViewer.invalidateTextPresentation();
 }
 @Override
 public void dispose() {
   fColorManager.dispose();
   if (fOverlayStore != null) {
     fOverlayStore.stop();
     fOverlayStore = null;
   }
   super.dispose();
 }
 @Override
 public boolean performOk() {
   fOverlayStore.propagate();
   ErlideUIPlugin.flushInstanceScope();
   return super.performOk();
 }