code: public HomeInternal getHome(J2EEName name) //197121
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.entry(tc, "getHome : " + name);
  
          HomeInternal result = null;
  
          // Name is the HomeOfHomes special name when referencing an
          // EJBHome; return the HomeOfHomes
          if (name.equals(homeOfHomesJ2EEName))
          {
              result = this;
          }
  
          // Name is the EJBFactory special name when referencing the
          // HomeOfHomes for EJB-Link or Auto-Link; return the
          // EJBFactoryHome.                                                 d440604
          else if (name.equals(ivEJBFactoryHome.ivJ2eeName))
          {
              result = ivEJBFactoryHome;
          }
  
          // Otherwise, the J2EEName is for a reference to an EJB
          // instance; return the EJBHome.
          else
          {
              HomeRecord hr = homesByName.get(name); // d366845.3
              if (hr != null) {
                  result = hr.homeInternal;
                  if (result == null) {
                      if (hr.bmd.ivDeferEJBInitialization) {
                          result = hr.getHomeAndInitialize(); // d648522
                      } else {
                          // Request for a non-deferred bean that hasn't quite finished
                          // initializing; return null since bean doesn't exist just yet.
                          // Caller will throw appropriate exception.            PM98090
                          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                              Tr.debug(tc, "Non-deferred EJB not yet available : " + name);
                      }
                  }
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.exit(tc, "getHome : " + result);
          return result;
  
      }
docs: Return the Home associated with the j2eeName. <p>