code: protected synchronized void createAgent (int agentId)
      {
          Subscriber<AgentObject> delegator = new Subscriber<AgentObject>() {
              public void objectAvailable (AgentObject agentObject) {
                  BureauDirector.this.objectAvailable(agentObject);
              }
              public void requestFailed (int oid, ObjectAccessException cause) {
                  BureauDirector.this.requestFailed(oid, cause);
              }
          };
  
          log.info("Subscribing to object " + agentId);
  
          SafeSubscriber<AgentObject> subscriber =
              new SafeSubscriber<AgentObject>(agentId, delegator);
          _subscribers.put(agentId, subscriber);
          subscriber.subscribe(_ctx.getDObjectManager());
      }
docs: Creates a new agent when the server requests it.