byte[] object_key = activeObjectMap.getFreeId(); servantDelegate delegate = new servantDelegate(a_servant, this, object_key);
byte[] object_key = AOM.getFreeId(); ServantDelegateImpl delegate = new ServantDelegateImpl(a_servant, this, object_key);
  public byte[] activate_object(Servant a_servant)                         throws ServantAlreadyActive, WrongPolicy  {    checkDiscarding();    required(ServantRetentionPolicyValue.RETAIN);    required(IdAssignmentPolicyValue.SYSTEM_ID);    activeObjectMap.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 = activeObjectMap.getFreeId();    servantDelegate delegate = new servantDelegate(a_servant, this, object_key);    connectDelegate(object_key, delegate);    return object_key;  }