String newName = generateSocietyName(society.getSocietyName());
String newName = generateSocietyName(society.getSocietyName(), false); if (newName == null) return null;
  protected SocietyComponent copySociety(SocietyComponent society) {    String newName = generateSocietyName(society.getSocietyName());    final SocietyComponent societyCopy =       (SocietyComponent)society.copy(newName);    // save society copy    GUIUtils.timeConsumingTaskStart(organizer);    try {      new Thread("DuplicateSociety") {        public void run() {	    // Check the return value?            societyCopy.saveToDatabase();            GUIUtils.timeConsumingTaskEnd(organizer);        }      }.start();    } catch (RuntimeException re) {      if(log.isErrorEnabled()) {        log.error("Runtime exception duplicating society", re);      }      GUIUtils.timeConsumingTaskEnd(organizer);    }    DefaultMutableTreeNode parentNode =       (DefaultMutableTreeNode)getSelectedNode().getParent();    if (isSelectedNodeInExperiment())       addSocietyToWorkspace(societyCopy,                             (DefaultMutableTreeNode)parentNode.getParent());    else      addSocietyToWorkspace(societyCopy, parentNode);    return societyCopy;  }