docs: public void initializeInstanceData(String methodSign,
                                         String methodNameOnly,
                                         BeanMetaData beanMetaData,
                                         MethodInterface methodInterface, // d162441 199625
                                         TransactionAttribute tranAttr,
                                         boolean asyncMethod) // 199625
      {
          this.methodSignature = methodSign; //92697
          this.methodName = methodNameOnly;
          this.bmd = beanMetaData;
          this.ivInterface = methodInterface; // d162441
          this.txAttr = tranAttr; // 199625
          this.ivAsynchMethod = asyncMethod;
  
          // Method info stack may be used for Entity or Stateful.        F743-29185
          if (bmd != null) {
              isStatefulSessionBean = bmd.type == InternalConstants.TYPE_STATEFUL_SESSION;
              isStatelessSessionBean = bmd.type == InternalConstants.TYPE_STATELESS_SESSION;
              isSingletonSessionBean = bmd.type == InternalConstants.TYPE_SINGLETON_SESSION;
          }
  
          // The following are optimizations that may be determined from
          // the method interface type.                                      d162441
          this.isHome = (methodInterface == MethodInterface.HOME ||
                          methodInterface == MethodInterface.LOCAL_HOME);
          this.isLocal = (methodInterface == MethodInterface.LOCAL ||
                          methodInterface == MethodInterface.LOCAL_HOME);
          this.isHomeCreate = (this.isHome &&
                          "create".equals(methodName)); // F61004.3
  
          // Determine if the ClassLoader should be set in preInovke.      LI2281.07
          // Set if ivAsyncMethod because neither async WorkManager nor the ORB code
          // paths will manage the class loader in remote async methods calls.    d614994
          this.setClassLoader = (methodInterface == MethodInterface.LOCAL ||
                                 methodInterface == MethodInterface.LOCAL_HOME ||
                                 methodInterface == MethodInterface.SERVICE_ENDPOINT ||
                                 methodInterface == MethodInterface.MESSAGE_LISTENER ||
                                 methodInterface == MethodInterface.TIMED_OBJECT || // d667153.2
          ivAsynchMethod); // d614994
  
          // Optimizations for determining if method is 'Lightweight'.     LI3795-56
          this.isLightweight = isLocal && beanMetaData != null && beanMetaData.isLightweight; // d652578.1
          this.isLightweightTxCapable = isLightweight &&
                                        ((tranAttr == TransactionAttribute.TX_REQUIRED ||
                                          tranAttr == TransactionAttribute.TX_SUPPORTS ||
                                        tranAttr == TransactionAttribute.TX_MANDATORY) &&
                                        (asAttr == ActivitySessionAttribute.AS_UNKNOWN || // d352213
                                        asAttr == ActivitySessionAttribute.AS_SUPPORTS)); // d352213
      }