*/
    private boolean haveServices() {    if (us != null) return true;    if (acquireServices()) {        if (logger.isDebugEnabled()) logger.debug(".haveServices - acquiredServices.");            ServiceBroker sb = getServiceBroker();        //conditionService = (ConditionService)        //sb.getService(this, ConditionService.class, null);        //operatingModeService = (OperatingModeService)        //sb.getService(this, OperatingModeService.class, null);                // get UID service        us = (UIDService)           getServiceBroker().getService(              this, UIDService.class, null);        if (us == null) {          throw new RuntimeException(              "Unable to obtain uid service");        }        // get agent id        AgentIdentificationService agentIdService =           (AgentIdentificationService)           getServiceBroker().getService(              this, AgentIdentificationService.class, null);        if (agentIdService == null) {          throw new RuntimeException(              "Unable to obtain agent-id service");        }        agentId = agentIdService.getMessageAddress();        getServiceBroker().releaseService(            this, AgentIdentificationService.class, agentIdService);        if (agentId == null) {          throw new RuntimeException(              "Agent id is null");        }                return true;      }      else if (logger.isDebugEnabled())           logger.debug(".haveServices - did NOT acquire services.");            return false;    }