model = new CommunityStatusModel(myName, communityName, getBindingSite()); blackboard.publishAdd(model);
  private synchronized void initializeModel(String communityName) {    if (logger.isDebugEnabled()) {      logger.debug("Initialize CommunityStatusModel");    }    if (model != null) {      blackboard.publishRemove(model);      model = null;      controller = null;      blackboard.publishRemove(nodeStatusRelay);      nodeStatusRelay = null;    }    model = new CommunityStatusModel(myName,                                     communityName,                                     getBindingSite());    blackboard.publishAdd(model);    String controllerClassname =        System.getProperty(CONTROLLER_CLASS_PROPERTY,                           DEFAULT_CONTROLLER_CLASSNAME);    try {      controller =          (RobustnessController) Class.forName(controllerClassname).newInstance();      controller.initialize(agentId, getBindingSite(), model);    } catch (Exception ex) {      if (logger.isErrorEnabled()) {        logger.error("Exception creating RobustnessController", ex);      }    }    model.setController(controller);    model.addChangeListener(controller);    if (logger.isInfoEnabled()) {      logger.info("Monitoring community:" +                  " community=" + communityName +                  " controller=" + controller.getClass().getName());    }  }