ServantDelegateImpl delegate = new ServantDelegateImpl(a_servant, this, object_key); connectDelegate(object_key, delegate);
ServantDelegateImpl delegate = new ServantDelegateImpl(a_servant, this, object_key); create_and_connect(object_key, a_servant._all_interfaces(this, object_key)[0], delegate);
  public byte[] activate_object(Servant a_servant)                         throws ServantAlreadyActive, WrongPolicy  {    checkDiscarding();    required(ServantRetentionPolicyValue.RETAIN);    required(IdAssignmentPolicyValue.SYSTEM_ID);    AOM.Obj exists = aom.findServant(a_servant);    if (exists != null)      {        if (exists.isDeactiveted())          {            // If exists but deactivated, activate and return            // the existing key.            exists.setDeactivated(false);            incarnate(exists, exists.key, a_servant, false);            return exists.key;          }        else if (applies(IdUniquenessPolicyValue.UNIQUE_ID))          throw new ServantAlreadyActive();        // It multiple ids are allowed, exit block allowing repetetive        // activations.      }    byte[] object_key = AOM.getFreeId();    ServantDelegateImpl delegate = new ServantDelegateImpl(a_servant, this, object_key);    connectDelegate(object_key, delegate);    return object_key;  }