log = (LoggingService) getServiceBroker().getService(this, LoggingService.class, null);
  public void load() throws StateModelException {    // FIXME!!! What about ThreadingChoice??    super.load();    domainService = (DomainService)      getServiceBroker().getService(this, DomainService.class, 				    new ServiceRevokedListener() {					public void serviceRevoked(ServiceRevokedEvent re) {					  if (DomainService.class.equals(re.getService()))					    domainService  = null;					}				      });            // get the CSMART factory    this.theCSMARTF =       ((domainService != null) ?       ((CSMARTFactory)domainService.getFactory("csmart"))  :       null);        // Also get the Root factory    this.theLDMF =      ((domainService != null) ?       ((RootFactory)domainService.getFactory()) : null);        if (this.theCSMARTF == null) {      throw new RuntimeException(        "Loaded plugin "+this+" without CSMART Factory? Did you include the csmart domain in configs/common/LDMDomains.ini?");    }        // Give each PlugIn a UID to uniquely identify it    this.id = theCSMARTF.getNextUID();  } // end of load()