anchor.diff:      (server-request-respond request)))
   
   
  -(defun poa-locate (poa poa-spec)
  +(defun poa-locate (poa poa-spec &optional (check-poa-status t))
     (cond ((numberp poa-spec)
            (values (gethash poa-spec *poa-map*)))
           ((null poa-spec)
            poa)
           (t
  -         (let ((next-poa (find-requested-poa poa (car poa-spec) t t)))
  +         (let ((next-poa (find-requested-poa poa (car poa-spec) t check-poa-status)))
              (cond ((eql next-poa :wait)
                     (values poa poa-spec))
                    ((null next-poa)
  
positive.code:   (let ((profiles (object-profiles reference)))
      (unless profiles
        (error 'PortableServer:poa/wrongadapter))
      (multiple-value-bind (ref-type refpoa oid)
                           (decode-object-key-poa (iiop-profile-key (first profiles)))
        (declare (ignore ref-type))
        (unless (eql refpoa poa)
          (error 'PortableServer:poa/wrongadapter))
        oid)))
  
  ;;;   Servant id_to_servant(in ObjectId oid)
  ;;;     raises (ObjectNotActive, WrongPolicy);
  
negative.code:           (auto-id :accessor poa-auto-id :initform 0)
            (the-orb :initarg :orb :accessor the-orb)
            (state :initform nil :accessor poa-state)
            (destroy-in-progres-p :initform nil :accessor destroy-in-progres-p)
            (queue :initform nil :accessor poa-request-queue)))
  
  (defmethod print-object ((p portableserver:poa) stream)
  