addRecipeToWorkspace(mc, node);
addRecipeToWorkspace(mc, getSelectedNode());
  private void selectRecipeFromDatabase(DefaultMutableTreeNode node) {    Map recipeNamesHT = getRecipeNamesFromDatabase();    Set dbRecipeNames = recipeNamesHT.keySet();    if (dbRecipeNames.isEmpty()) {      JOptionPane.showMessageDialog(this,                                    "There are no recipes in the database",                                    "No Database Recipes",                                    JOptionPane.INFORMATION_MESSAGE);      return;    }    JComboBox cb = new JComboBox(dbRecipeNames.toArray());    cb.setEditable(false);    JPanel panel = new JPanel();    panel.add(new JLabel("Select Recipe:"));    panel.add(cb);    int result =       JOptionPane.showConfirmDialog(null, panel, "Recipe",                                    JOptionPane.OK_CANCEL_OPTION,                                    JOptionPane.PLAIN_MESSAGE);    if (result != JOptionPane.OK_OPTION)      return;    String recipeName = (String)cb.getSelectedItem();    String recipeId = (String) recipeNamesHT.get(recipeName);    // produce an unique name for CSMART if necessary    if (recipeNames.contains(recipeName)) {      JOptionPane.showMessageDialog(null,                                    "There is already a recipe named "                                    + recipeName                                    + " in your workspace.\nDelete or rename it first.",                                    "Recipe Exists",                                    JOptionPane.ERROR_MESSAGE);      return;    }    DbRecipe dbRecipe = getDatabaseRecipe(recipeId);    if (dbRecipe == null) return;    dbRecipe.name = recipeName;    RecipeComponent mc = createRecipeComponent(dbRecipe.name, dbRecipe.cls);    setRecipeComponentProperties(dbRecipe, mc);    addRecipeToWorkspace(mc, node);  }