Program: 45533
Project: 45533
Buggy source:
/** 
 * Called when the cell is initially created and any time there is a  major configuration change. The cell will already be attached to it's parent before the initial call of this method
 * @param configData the configuration data for the cell
 */
public void setClientState(CellClientState configData){
  this.setName(configData.getName());
  logger.fine("String_Node_Str" + getCellID() + "String_Node_Str"+ getClass());
  for (  String compClassname : configData.getClientComponentClasses()) {
    try {
      WonderlandSession session=getCellCache().getSession();
      ClassLoader cl=session.getSessionManager().getClassloader();
      Class compClazz=cl.loadClass(compClassname);
      Class lookupClazz=CellComponent.getLookupClass(compClazz);
      CellComponent component=getComponent(lookupClazz);
      if (component == null) {
        Constructor<CellComponent> constructor=compClazz.getConstructor(Cell.class);
        component=constructor.newInstance(this);
        CellComponentClientState clientState=configData.getCellComponentClientState(compClassname);
        if (clientState != null) {
          component.setClientState(clientState);
        }
        addComponent(component,CellComponent.getLookupClass(component.getClass()));
      }
 else {
        CellComponentClientState clientState=configData.getCellComponentClientState(compClassname);
        if (clientState != null) {
          component.setClientState(clientState);
        }
      }
    }
 catch (    InstantiationException ex) {
      logger.log(Level.SEVERE,"String_Node_Str" + compClassname + "String_Node_Str"+ getClass().getName(),ex);
    }
catch (    ClassNotFoundException ex) {
      logger.log(Level.SEVERE,"String_Node_Str" + compClassname,ex);
    }
catch (    Exception ex) {
      logger.log(Level.SEVERE,null,ex);
    }
  }
}

Fixed version (ground truth):
/** 
 * Called when the cell is initially created and any time there is a  major configuration change. The cell will already be attached to it's parent before the initial call of this method
 * @param configData the configuration data for the cell
 */
public void setClientState(CellClientState configData){
  this.setName(configData.getName());
  logger.fine("String_Node_Str" + getCellID() + "String_Node_Str"+ getClass());
  for (  String compClassname : configData.getClientComponentClasses()) {
    try {
      WonderlandSession session=getCellCache().getSession();
      ClassLoader cl=session.getSessionManager().getClassloader();
      Class compClazz=cl.loadClass(compClassname);
      Class lookupClazz=CellComponentUtils.getLookupClass(compClazz);
      CellComponent component=getComponent(lookupClazz);
      if (component == null) {
        Constructor<CellComponent> constructor=compClazz.getConstructor(Cell.class);
        component=constructor.newInstance(this);
        CellComponentClientState clientState=configData.getCellComponentClientState(compClassname);
        if (clientState != null) {
          component.setClientState(clientState);
        }
        addComponent(component,CellComponentUtils.getLookupClass(component.getClass()));
      }
 else {
        CellComponentClientState clientState=configData.getCellComponentClientState(compClassname);
        if (clientState != null) {
          component.setClientState(clientState);
        }
      }
    }
 catch (    InstantiationException ex) {
      logger.log(Level.SEVERE,"String_Node_Str" + compClassname + "String_Node_Str"+ getClass().getName(),ex);
    }
catch (    ClassNotFoundException ex) {
      logger.log(Level.SEVERE,"String_Node_Str" + compClassname,ex);
    }
catch (    Exception ex) {
      logger.log(Level.SEVERE,null,ex);
    }
  }
}