anchor.diff:  ;;;; interface POAManager
   
   (defclass PORTABLESERVER:POAMANAGER (corba:object)
  -  ((state :initform :holding)))
  +  ((state         :initform :holding)
  +   (managed-poas  :initform '()
  +                  :accessor managed-poas)))
   
   
   ;;; enum State {HOLDING, ACTIVE, DISCARDING, INACTIVE}
  
positive.code: 
  |#
  
  (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
  
negative.code:     (raise-system-exception 'CORBA:BAD_INV_ORDER 3 :completed_yes))
    (unless (eq :inactive (poa-effective-state poa))
      (setf (poa-state poa) :discarding))
    (let ((manager (op:the_poamanager poa)))
      (remove-poa manager poa))
    (dolist (child (op:the_children poa))
      (op:destroy child etherealize-objects wait-for-completion))
    ;; wait for ongoing requests to finnish,
  