docs: public EJBHome getEJBHome() throws RemoteException
      {
          // When ivActualVersion is Constant.HOME_HANDLE_V1, ivEjbHome may
          // be null. So if this happens, we need to find the EJBHome object
          // by doing a lookup in JNDI. For all other versions, ivEjbHome
          // should never be null.
          if (ivEjbHome == null)
          {
              try
              {
                  Class homeClass = null;
                  try
                  {
                      //
                      // If we are running on the server side, then the thread
                      // context loader would have been set appropriately by
                      // the container. If running on a client, then check the
                      // thread context class loader first
                      //
                      ClassLoader cl = Thread.currentThread().getContextClassLoader();
                      if (cl != null)
                      {
                          homeClass = cl.loadClass(ivHomeInterface);
                      }
                      else
                      {
                          throw new ClassNotFoundException();
                      }
                  } catch (ClassNotFoundException ex)
                  {
                      // FFDCFilter.processException(ex, CLASS_NAME + ".getEJBHome", "131", this);
                      try
                      {
                          homeClass = Class.forName(ivHomeInterface);
                      } catch (ClassNotFoundException e)
                      {
                          // FFDCFilter.processException(e, CLASS_NAME + ".getEJBHome",
                          //                             "138", this);
                          throw new ClassNotFoundException(ivHomeInterface);
                      }
                  }
  
                  InitialContext ctx = null;
                  try
                  {
                      // Locate the home
                      //91851 begin
                      if (this.ivInitialContextProperties == null)
                      {
                          ctx = new InitialContext();
                      }
                      else
                      {
                          try
                          {
                              ctx = new InitialContext(ivInitialContextProperties);
                          } catch (NamingException ne)
                          {
                              // FFDCFilter.processException(ne, CLASS_NAME + ".getEJBHome",
                              //                             "161", this);
                              ctx = new InitialContext();
                          }
                      }
                      //91851 end
                      ivEjbHome = (EJBHome) PortableRemoteObject.narrow(ctx.lookup(ivJndiName)
                                                                        , homeClass);
                  } catch (NoInitialContextException e)
                  {
                      // FFDCFilter.processException(e, CLASS_NAME + ".getEJBHome", "172", this);
                      java.util.Properties p = new java.util.Properties();
                      p.put(Context.INITIAL_CONTEXT_FACTORY
                            , "com.ibm.websphere.naming.WsnInitialContextFactory");
                      ctx = new InitialContext(p);
                      ivEjbHome = (EJBHome) PortableRemoteObject.narrow(ctx.lookup(ivJndiName)
                                                                        , homeClass);
                  }
              } catch (NamingException e)
              {
                  // Problem looking up the home
                  // FFDCFilter.processException(e, CLASS_NAME + ".getEJBHome", "184", this);
                  RemoteException re = new NoSuchObjectException("Could not find home in JNDI");
                  re.detail = e;
                  throw re;
              } catch (ClassNotFoundException e)
              {
                  // We couldn't find the home interface's class
                  // FFDCFilter.processException(e, CLASS_NAME + ".getEJBHome", "192", this);
                  throw new RemoteException("Could not load home interface", e);
              }
  
          }
  
          return ivEjbHome;
      }