log = CSMART.createLogger("org.cougaar.tools.csmart.experiment");
createLogger();
  public LeafOnlyConfigWriter(List components, NodeComponent[] nodesToWrite, Experiment exp) {    log = CSMART.createLogger("org.cougaar.tools.csmart.experiment");    this.nodesToWrite = nodesToWrite;    this.components = components;    theSoc = new GenericComponentData();    theSoc.setType(ComponentData.SOCIETY);    theSoc.setName(exp.getExperimentName()); // this should be experiment: trial FIXME    theSoc.setClassName(""); // leave this out? FIXME    theSoc.setOwner(exp); // the experiment    theSoc.setParent(null);    // For each node, create a GenericComponentData, and add it to the society    addNodes(exp);    // Some components will want access to the complete set of Nodes in the society, etc.    // To get that, they must get back to the root soc object,    // and do a getOwner and go from there. Ugly.        // Now ask each component in turn to add its stuff    for (int i = 0; i < components.size(); i++) {      BaseComponent soc = (BaseComponent) components.get(i);      soc.addComponentData(theSoc);    }    // Then give everyone a chance to modify what they've collectively produced    for (int i = components.size() - 1; i >= 0; i--) {      BaseComponent soc = (BaseComponent) components.get(i);      soc.modifyComponentData(theSoc);    }      }