anchor.diff:  
   (define-method destroy ((poa PortableServer:POA) etherealize-objects wait-for-completion)
   #|
  - If wait_for_completion is TRUE and the current thread is in an invocation
  +* If wait_for_completion is TRUE and the current thread is in an invocation
   context dispatched from some POA belonging to the same ORB as this POA, the
   BAD_INV_ORDER system exception with standard minor code 3 is raised and
   POA destruction does not occur.
  
positive.code: ;;;; Request Handling
  ;; ----------------------------------------------------------------------
  
  (defun poa-invoke (poa oid operation buffer request)
    (unless (eq :active (poa-effective-state poa))
      (raise-system-exception 'CORBA:TRANSIENT 0 :completed_no))
    (let (;(orb (the-orb poa))
          (servant (trie-get oid (POA-active-object-map poa)))
          (cookie nil)
          (topost nil))
      (cond (servant)
            ((poa-has-policy poa :use_servant_manager)
             (cond ((poa-has-policy poa :retain)
                    (setq servant
                          (op:incarnate (POA-servant-manager poa) oid poa))
                    (mess 2 "~A incarnated ~A for '~/clorb:stroid/'"
                          poa servant oid))
                   (t
                    (multiple-value-setq (servant cookie)
                      (op:preinvoke (POA-servant-manager poa)
                                    oid poa operation))
                    (setq topost t)))
             (unless (typep servant 'PortableServer:Servant)
               (raise-system-exception 'corba:obj_adapter 2 :completed_no))
             (unless topost
               (op:activate_object_with_id poa oid servant)))
            ((poa-has-policy poa :use_default_servant)
             (setq servant (POA-default-servant poa)))
            (t
             (raise-system-exception 'CORBA:OBJECT_NOT_EXIST
                                     :completed :completed_no)))
      (let ((*poa-current* (make-poa-current poa oid servant)))
        (cond (topost
               (unwind-protect
                 (servant-invoke servant operation buffer request)
                 (op:postinvoke (POA-servant-manager poa)
                                oid poa operation cookie servant)))
              (t
               (servant-invoke servant operation buffer request))))
      (when request
        (server-request-respond request))))
  
  
  
negative.code: that attempts to invoke operations on the POA receives the
  OBJECT_NOT_EXIST exception.
  
  * If the POA has an AdapterActivator installed, any requests that would
  have caused unknown_adapter to be called cause a TRANSIENT exception with
  standard minor code 4 to be raised instead.
  
  The wait_for_completion parameter is handled as follows:
  ...
  * If wait_for_completion is FALSE, the destroy operation destroys the POA and
  its children but waits neither for active requests to complete nor for etherealization
  to occur. If destroy is called multiple times before destruction is complete
  (because there are active requests), the etherealize_objects parameter applies
  