/**
   * Helper method that initializes the items for the context menu. This menu will include cut,
   * copy, paste, undo/redo, and find/replace functionality.
   */
  private void initContextMenu() {

    contextPopup = new JPopupMenu();
    // Edit menu stuff
    contextPopup.add(GUIPrism.getClipboardPlugin().getUndoAction());
    contextPopup.add(GUIPrism.getClipboardPlugin().getRedoAction());
    contextPopup.add(new JSeparator());
    contextPopup.add(GUIPrism.getClipboardPlugin().getCutAction());
    contextPopup.add(GUIPrism.getClipboardPlugin().getCopyAction());
    contextPopup.add(GUIPrism.getClipboardPlugin().getPasteAction());
    contextPopup.add(GUIPrism.getClipboardPlugin().getDeleteAction());
    contextPopup.add(new JSeparator());
    contextPopup.add(GUIPrism.getClipboardPlugin().getSelectAllAction());
    contextPopup.add(new JSeparator());
    // Model menu stuff
    contextPopup.add(((GUIMultiModel) handler.getGUIPlugin()).getParseModel());
    contextPopup.add(((GUIMultiModel) handler.getGUIPlugin()).getBuildModel());
    contextPopup.add(new JSeparator());
    contextPopup.add(((GUIMultiModel) handler.getGUIPlugin()).getExportMenu());
    contextPopup.add(((GUIMultiModel) handler.getGUIPlugin()).getViewMenu());
    contextPopup.add(((GUIMultiModel) handler.getGUIPlugin()).getComputeMenu());
    // contextPopup.add(actionJumpToError);
    // contextPopup.add(actionSearch);

    if (editor.getContentType().equals("text/prism")) {

      JMenu insertMenu = new JMenu("Insert elements");
      JMenu insertModelTypeMenu = new JMenu("Model type");
      insertMenu.add(insertModelTypeMenu);
      JMenu insertModule = new JMenu("Module");
      insertMenu.add(insertModule);
      JMenu insertVariable = new JMenu("Variable");
      insertMenu.add(insertVariable);

      insertModelTypeMenu.add(insertDTMC);
      insertModelTypeMenu.add(insertCTMC);
      insertModelTypeMenu.add(insertMDP);
      // contextPopup.add(new JSeparator());
      // contextPopup.add(insertMenu);
    }
  }