docs: public EJSWrapper createWrapper(BeanId id)
                      throws CreateException,
                      RemoteException,
                      CSIException
      {
          homeEnabled();
          EJSWrapper result = null;
  
          //------------------------------------------------------------------------
          // This is the method used by stateless session beans home create methods
          // to check and see if their singleton wrapper is already registered.
          //------------------------------------------------------------------------
  
          // If the wrapper has been created, and is still in the wrapper cache,
          // then just return the remote wrapper from the singleton WrapperCommon.
          // Note that 'inCache' will 'touch' the wrapper in the Wrapper Cache,
          // updating the LRU data and preventing it from unregistering with
          // the ORB.                                                      d196581.1
          if (ivStatelessWrappers != null &&
              ivStatelessWrappers.inCache())
          {
              // Calling getRemoteWrapper will cause the wrapper to register with
              // the ORB, if that hasn't already been done.
              result = ivStatelessWrappers.getRemoteWrapper();
          }
          else
          {
              // The singleton wrapper has either not been created yet, or is not
              // currently in the wrapper cache.  So, getting it from the Wrapper
              // Manager will cause it to be created (if needed) and faulted into
              // the Wrapper Cache, and then getting the Remote wrapper will cause
              // it to be registered with the ORB.                          d196581.1
  
              // Use a cached instance beanId... for stateless and message beans all
              // instances have the same id.                               d140003.26
  
              if (statelessSessionHome)
              {
                  // Since this is is one of the home types with a singleton wrapper,
                  // then set the local cached value now that it has been created
                  // and inserted into the Wrapper Cache.  It cannot be cached
                  // locally until inserted into the Wrapper Cache, as the insert
                  // updates the wrapper with a reference to the bucket.       d233983
                  ivStatelessWrappers = wrapperManager.getWrapper(ivStatelessId);
  
                  result = ivStatelessWrappers.getRemoteWrapper();
              }
          }
  
          return result;
      }