List components = getComponents();
  private boolean askComponentsToAddCDATA() {    List components = getComponents();    // Now ask each component in turn to add its stuff    boolean componentWasRemoved = false;    for (int i = 0, n = components.size(); i < n; i++) {      BaseComponent soc = (BaseComponent) components.get(i);      if(log.isDebugEnabled()) {        log.debug(soc.getFullName().toString() + ".addComponentData");      }      // Warning: This is a no-op in general      // for recipes that use RecipeBase. AgentInsertion and ABCImpact      // use it though. Basically, you can only use      // it if you don't need a DB query to know what to do.      soc.addComponentData(completeSociety);//       if (log.isDebugEnabled())// 	log.debug("askToAdd: now complete is: " + completeSociety);      // Components can notice here if they had to remove      // a component (or, I suppose, modify)      componentWasRemoved |= soc.componentWasRemoved();      // Note that no current component returns true here    }    return componentWasRemoved;  }