code: public void unregisterHome(J2EEName homeName, EJSHome homeObj)
                      throws CSIException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.entry(tc, "unregisterHome");
  
          J2EEName cacheHomeName;
          int numEnumerated = 0, numRemoved = 0; // d103404.2
  
          Enumeration<?> enumerate = wrapperCache.enumerateElements();
          while (enumerate.hasMoreElements())
          {
              // need to get the beanid from either the remote or local wrapper,
              //  whichever is available, the beanid must be the same for both wrappers
              EJSWrapperCommon wCommon = (EJSWrapperCommon) // f111627
              ((CacheElement) enumerate.nextElement()).getObject(); // f111627
  
              BeanId cacheMemberBeanId = wCommon.getBeanId(); // d181569
              cacheHomeName = cacheMemberBeanId.getJ2EEName();
              numEnumerated++;
  
              // If the cache has homeObj as it's home or is itself the home,
              // remove it. If the wrapper has been removed since it was found
              // (above), then the call to unregister() will just return false.
              // Note that the enumeration can handle elements being removed
              // from the cache while enumerating.                          d103404.2
              if (cacheHomeName.equals(homeName) ||
                  cacheMemberBeanId.equals(homeObj.getId()))
              {
                  unregister(cacheMemberBeanId, true); // d181217 d181569
                  numRemoved++;
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) { // d103404.1 d103404.2
              Tr.debug(tc, "Unregistered " + numRemoved +
                           " wrappers (total = " + numEnumerated + ")");
          }
  
          // Now remove any cached BeanIds for this home.                    d152323
          beanIdCache.removeAll(homeObj);
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.exit(tc, "unregisterHome");
      }
docs: unregisterHome removes from cache homeObj and all Objects that
  have homeObj as it's home. It also unregisters these objects from
  from the orb object adapter.