protected void setEditorLanguageObject(ILanguageObject theEditorLangObj) {
    getEditor().setLanguageObject(savedSelection);

    if (!editor.isEnabled()) {
      editor.setEnabled(true);
    }
  }
  protected void handleTreeSelection() {
    IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
    Object selectedObj = selection.getFirstElement();

    if (selectedObj == null) {
      savedSelection = null;

      if (editor.isEnabled()) {
        editor.setEnabled(false);
      }
    } else {
      // selection with either be a LanguageObject or an Undefined object (String)
      savedSelection =
          (selectedObj instanceof ILanguageObject) ? (ILanguageObject) selectedObj : null;
    }

    setEditorLanguageObject(savedSelection);

    // set enable/disable status of buttons
    setEnabledStatus();
  }