SocietyComponent societyCopy = createSoc(generateSocietyName(society.getSocietyName()), society.getClass());
SocietyComponent societyCopy = null;  if(society instanceof CMTSociety) { societyCopy = createSoc(generateSocietyName(society.getSocietyName()), ((CMTSociety)society).getAssemblyID(), society.getClass()); } else { societyCopy = createSoc(generateSocietyName(society.getSocietyName()), society.getClass()); }
  public SocietyComponent copySociety(SocietyComponent society, 				      Object context) {    //    SocietyComponent societyCopy = society.copy(this, context);    // Create a new society whose name is based on the old one    SocietyComponent societyCopy = createSoc(generateSocietyName(society.getSocietyName()), society.getClass());        // use the base copy method in ComponentProperties    society.copy(societyCopy);    boolean builtIn = false;    for (int i = 0; i < socComboItems.length; i++)       if (((ComboItem)(socComboItems[i])).cls.isInstance(societyCopy)) {        builtIn = true;        break;      }    // don't add societies from database experiments to the workspace    if (!builtIn) {      societyNames.add(societyCopy.getSocietyName());      return societyCopy;    }    // add society to workspace    if (context == null)      workspace.setSelection(addSocietyToWorkspace(societyCopy,                             (DefaultMutableTreeNode)findNode(society).getParent()));    else      workspace.setSelection(addSocietyToWorkspace(societyCopy, (DefaultMutableTreeNode)context));    return societyCopy;  }