new SocietyComponent[] {sc},
sc,
  public void startExperimentBuilder() {    Experiment experiment = null;    DefaultMutableTreeNode node = getSelectedNode();    Object o = node.getUserObject();    if (o instanceof RecipeComponent || o instanceof SocietyComponent) {      if (o instanceof SocietyComponent) {        SocietyComponent sc = (SocietyComponent) o;        String name = "Experiment for " + sc.getSocietyName();        experiment = new Experiment(experimentNames.generateName(name),                                    new SocietyComponent[] {sc},                                    new RecipeComponent[0]);      } else if (o instanceof RecipeComponent) {        RecipeComponent recipe = (RecipeComponent) o;        String name = "Experiment for " + recipe.getRecipeName();        experiment = new Experiment(experimentNames.generateName(name),                                    new SocietyComponent[0],                                    new RecipeComponent[] {recipe});      }      DefaultMutableTreeNode newNode =        new DefaultMutableTreeNode(experiment, false);      DefaultMutableTreeNode parentNode =        (DefaultMutableTreeNode) node.getParent();      model.insertNodeInto(newNode, parentNode, parentNode.getIndex(node) + 1);      // make the new node be the selected node      workspace.setSelection(newNode);      experimentNames.add(experiment.getExperimentName());      experiment.addModificationListener(myModificationListener);    } else if (o instanceof Experiment)       experiment = (Experiment) o;    if (experiment != null)      csmart.runExperimentBuilder(experiment, false);  }