@Override
 public void dispose() {
   getStore().removePropertyChangeListener(listener);
   colorManager.dispose();
   getJBehaveProject().removeListener(projectListener);
   super.dispose();
 }
  private void updateStyles() {
    TextStyle theme = getTheme();
    textAttributeProvider.changeTheme(theme);

    StyledText textWidget = getSourceViewer().getTextWidget();
    textWidget.setBackground(colorManager.getColor(theme.getBackgroundOrDefault()));
    textWidget.setForeground(colorManager.getColor(theme.getForegroundOrDefault()));

    adjustCurrentLineColor(theme);
    getSourceViewer().invalidateTextPresentation();
  }