code: public void remove(Object primaryKey)
                      throws RemoteException,
                      RemoveException,
                      FinderException
      {
          // d141216 method rewritten to avoid calling preinvoke/postinvoke
          //         twice in code path (i.e. don't just call remove on the
          //         bean after it is activated).  With the re-write, the
          //         bean will be activated and removed in the same tran
          //         as defined by the tx attribute on home.remove().
  
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled(); // d532639.2
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "remove(pk) : " + primaryKey);
  
          homeEnabled();
  
          // Session beans and MDBs cannot be removed using this method.
          // For session beans, the spec calls for throwing an exception
          // to indicate this (no PK). MDB section not specific, thus do
          // the same for consistency.
  
          if (statefulSessionHome || statelessSessionHome || messageDrivenHome)
          {
              throw new RemoveException();
          }
  
          BeanId beanId = ivEntityHelper.remove(this, primaryKey);
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(tc, "remove(pk) : " + beanId);
      }
docs: Remove the EJB identitifed by the given primary key. <p>
  
  @param primaryKey the <code>Object</code> containing the primary
  key of EJB to remove from this home <p>