anchor.diff:  
   ;;;  Contained lookup_id (in RepositoryId search_id);
   
  -(define-method lookup_id ((container Repository) search-id)
  -  (block lookup
  -    (let ((content-stack
  -           (list (contents container))))
  -      (loop while content-stack
  -          do (map nil (lambda (obj)
  -                        (if (equal (op:id obj) search-id)
  -                            (return-from lookup obj)
  -                          (if (typep obj 'container)
  -                              (push (contents obj) content-stack))))
  -                  (pop content-stack)))
  -      nil)))
  +(define-method lookup_id ((rep repository) id)
  +  (gethash id (idmap rep)))
  +
  +(defmethod register-irobj ((r repository) id obj)
  +  (when (gethash id (idmap r))
  +    (error 'CORBA:BAD_PARAM :minor 2))
  +  (setf (gethash id (idmap r)) obj))
  +
  +(defmethod unregister-irobj ((r repository) id)
  +  (remhash id (idmap r)))
  +
  +(defmethod register-irobj ((x irobject) id obj)
  +  (register-irobj (op:containing_repository x) id obj))
  +
  +(defmethod unregister-irobj ((x irobject) id)
  +  (unregister-irobj (op:containing_repository x) id))
  +
   
   
   ;;;  PrimitiveDef get_primitive (in PrimitiveKind kind);
  
positive.code: 
  (define-ir-class Contained (CORBA:Contained irobject)
    :id "IDL:omg.org/CORBA/Contained:1.0"
    :attributes ((id :readonly            ; FIXME: shouldn't be readonly
                     :initarg :subject-id
                     :accessor subject-id)
                 (name "")
  
negative.code: ;;;; local-ir.lisp -- An Interface Repository Implementation
  ;; $Id: local-ir.lisp,v 1.15 2002/06/01 05:45:43 lenst Exp $
  
  (in-package :clorb)
  
  