code: private Object create(EJSHome home,
                            String interfaceName)
                      throws EJBException, RemoteException
      {
          BeanMetaData bmd = home.getBeanMetaData();
  
          // First, check against the home interfaces
          if (interfaceName.equals(bmd.localHomeInterfaceClassName))
          {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  Tr.debug(tc, "match on local home");
  
              return home.getWrapper().getLocalObject();
          }
          else if (interfaceName.equals(bmd.homeInterfaceClassName))
          {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  Tr.debug(tc, "match on remote home");
  
              return getRemoteHomeReference(home, interfaceName);
          }
          else
          {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  Tr.debug(tc, "looking for match on business interface");
  
              // The only thing left are the business interfaces
              return createBusinessObject(home, bmd, interfaceName, true);
          } // End of non-home annotation processing
      }
docs: Determine the interface type, and create the return object using
  the specified home. <p>
  
  @param home home for bean type identified by beanName/ejb-link.
  @param interfaceName component home or business interface of EJB.
  
  @return a reference to the EJB object specified.
  
  @exception EJBException is thrown when the specified EJB cannot
  be found or a failure occurs creating an instance.