code: @Override
      public final synchronized Object preInvoke(EJSDeployedSupport s,
                                                 ContainerTx tx) // d139352-2
                      throws RemoteException {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "preInvoke: " + this);
  
          switch (state) {
              case METHOD_READY:
                  // For BMStatefulBeanO - pre Java EE 1.3 only
                  setState(IN_METHOD);
                  break;
  
              case TX_METHOD_READY:
                  setState(TX_IN_METHOD);
                  break;
  
              default:
                  throw new InvalidBeanOStateException(StateStrs[state], "METHOD_READY | TX_METHOD_READY");
          }
  
          //------------------------------------------------------------
          // Set isolation level to that associated with method
          // being invoked on this instance, and save current isolation
          // level so it may be restored in postInvoke.
          //------------------------------------------------------------
  
          int tmp = currentIsolationLevel;
          currentIsolationLevel = s.currentIsolationLevel;
          s.currentIsolationLevel = tmp;
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(tc, "preInvoke: " + getStateName(state));
  
          return ivEjbInstance;
      }
docs: Chanced EnterpriseBean to Object. d366807.1