/**
   * Create and popup a command menu for when the user has clicked on the given xml node.
   *
   * @param theTree The XmlTree object displaying the current xml document.
   * @param node The xml node the user clicked on.
   * @param popup The popup menu to put the menu items in.
   * @return Did we add any items into the menu
   */
  private boolean makePopupMenu(final XmlTree theTree, final Element node, JPopupMenu popup) {
    theTree.selectElement(node);
    String tagName = node.getTagName();
    final Element parent = (Element) node.getParentNode();
    boolean didone = false;
    JMenuItem mi;

    if (tagName.equals("default")) {
      lastClicked = node;
      JMenu moveMenu = new JMenu("Move to");
      List folders = getFolders();
      for (int i = 0; i < folders.size(); i++) {
        final Element newFolder = (Element) folders.get(i);
        if (!newFolder.isSameNode(parent)) {
          String name = newFolder.getAttribute(ATTR_NAME);
          mi = new JMenuItem(name);
          mi.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent ae) {
                  moveParameterSet(parent, newFolder);
                }
              });
          moveMenu.add(mi);
        }
      }
      popup.add(moveMenu);
      popup.addSeparator();
      didone = true;
    }

    mi = new JMenuItem("Rename...");
    mi.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent ae) {
            doRename(node);
          }
        });
    popup.add(mi);
    didone = true;

    mi = new JMenuItem("Delete");
    mi.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent ae) {
            doDeleteRequest(node);
          }
        });
    popup.add(mi);
    didone = true;

    return didone;
  }