recipeNames.add(newName);
  protected RecipeComponent copyRecipe(RecipeComponent recipe) {    String newName = generateRecipeName(recipe.getRecipeName());    final RecipeComponent recipeCopy = (RecipeComponent)recipe.copy(newName);    GUIUtils.timeConsumingTaskStart(organizer);    try {      new Thread("DuplicateRecipe") {        public void run() {            recipeCopy.saveToDatabase();            GUIUtils.timeConsumingTaskEnd(organizer);        }      }.start();    } catch (RuntimeException re) {      if(log.isErrorEnabled()) {        log.error("Runtime exception duplicating recipe", re);      }      GUIUtils.timeConsumingTaskEnd(organizer);    }    DefaultMutableTreeNode parentNode =       (DefaultMutableTreeNode)getSelectedNode().getParent();    if (isSelectedNodeInExperiment())       addRecipeToWorkspace(recipeCopy,                            (DefaultMutableTreeNode)parentNode.getParent());    else      addRecipeToWorkspace(recipeCopy, parentNode);    recipeNames.add(newName);    return recipeCopy;  }