docs: public void introspect(IntrospectionWriter writer) {
          // If BMD is fully initialized dump out everything, otherwise just dump
          // out the subset we have filled in (ie. before deferred initialization
          // takes place
  
          if (fullyInitialized) {
              //F743-1752CodRev start
              String singletonConcurrency = "not applicable";
              if (isSingletonSessionBean()) {
                  if (ivSingletonUsesBeanManagedConcurrency) {
                      singletonConcurrency = "bean managed";
                  } else {
                      singletonConcurrency = "container managed";
                  }
              } //F743-1752CodRev end
  
              String allData[] = new String[] {
                                                this.toIntrospectString(),
                                                "Application version         = " + ivApplicationVersionId,
                                                "CMP version                 = " + cmpVersion,
                                                "SupportsFluffOnFind         = " + supportsFluffOnFind, //F001925
                                                "SimpleBindingName           = " + simpleJndiBindingName,
                                                "LocalHomeBindingName        = " + localHomeJndiBindingName,
                                                "RemoteHomeBindingName       = " + remoteHomeJndiBindingName,
                                                "BusinessIntfBindingNames    = " + businessInterfaceJndiBindingNames,
                                                "HomeInterfaceClassName      = " + homeInterfaceClassName,
                                                "HomeInterfaceClass          = " + homeInterfaceClass,
                                                "RemoteInterfaceClass        = " + remoteInterfaceClass,
                                                "RemoteImplClass             = " + remoteImplClass,
                                                "HomeRemoteImplClass         = " + homeRemoteImplClass,
                                                "LocalHomeInterfaceClass     = " + localHomeInterfaceClass, // f111627
                                                "LocalInterfaceClass         = " + localInterfaceClass, // f111627
                                                "LocalImplClass              = " + localImplClass, // f111627
                                                "HomeLocalImplClass          = " + homeLocalImplClass, // f111627
                                                "HasWebServiceEndpoint       = " + ivHasWebServiceEndpoint,
                                                "WebService Endpoint Class   = " + webserviceEndpointInterfaceClass, // LI2281.24
                                                "WebService Endpoint Proxy   = " + ivWebServiceEndpointProxyClass, // d497921
                                                "BusinessRemoteInterfaceClass= " + Arrays.toString(ivBusinessRemoteInterfaceClasses),
                                                "BusinessRemoteImplClass     = " + Arrays.toString(ivBusinessRemoteImplClasses),
                                                "No-Interface View           = " + ivLocalBean,
                                                "BusinessLocalInterfaceClass = " + Arrays.toString(ivBusinessLocalInterfaceClasses),
                                                "BusinessLocalImplClass      = " + Arrays.toString(ivBusinessLocalImplClasses),
                                                "EnterpriseBeanClass         = " + enterpriseBeanClass, // LI2281.07
                                                "EnterpriseBeanAbstractClass = " + enterpriseBeanAbstractClass, // d174057.3
                                                "pKeyClass                   = " + pKeyClass,
                                                "J2EE Name                   = " + j2eeName,
                                                "Unversioned J2EE Name       = " + ivUnversionedJ2eeName, // F54184
                                                "Cluster Identity            = " + ivCluster, // LI2401-11
                                                "ActivationSpecJndiName      = " + ivActivationSpecJndiName, // d174057.3
                                                "MessageDestinationJndiName  = " + ivMessageDestinationJndiName, //LI2110-46
                                                "Connection factory name     = " + connFactoryName,
                                                "Pool Size (min,max)         = (" + minPoolSize + "," + maxPoolSize + ")",
                                                "Initial Pool Size           = " + ivInitialPoolSize,
                                                "Max Beans Created           = " + ivMaxCreation,
                                                "Max Beans Created Timeout   = " + ivMaxCreationTimeout,
                                                "TimedObject                 = " + isTimedObject, // LI2281.07
                                                "Reentrant                   = " + reentrant,
                                                "Passivation Capable         = " + passivationCapable,
                                                "Session Timeout             = " + sessionTimeout, // d140886.1
                                                "PreFindFlush                = " + isPreFindFlushEnabled,
                                                "Commit Option               = " + getCommitOptionString(),
                                                "Cache Reload Interval       = " + getCacheReloadIntervalString(),
                                                "LightweightLocal            = " + isLightweight,
                                                "AllowCachedTimerDataFor     = " + allowCachedTimerDataForMethods, //F001419
                                                "DeferredInit                = " + ivDeferEJBInitialization,
                                                "Security RunAs              = " + ivRunAs,
                                                "Interceptor CallbackKind    = " + ivCallbackKind,
                                                "InjectionTargets            = " + Arrays.toString(ivBeanInjectionTargets), // F743-21481
                                                "Component Id                = " + ivComponent_Id,
                                                "Metadata Complete           = " + metadataComplete,
                                                "Has Ext CM Persist. Cntx.   = " + ivHasCMExtendedPersistenceContext,
                                                "Has App Man Persit. Cntx.   = " + ivHasAppManagedPersistenceContext,
                                                "Persistence Ref Names       = " + ivPersistenceRefNames, // F743-30682
                                                "ExPC Ids                    = " + Arrays.toString(ivExPcPuIds), // F743-30682
                                                "WebService Endpoint Created = " + ivWebServiceEndpointCreated, // d497921
                                                "Component NameSpace :  nsid = " + getJavaNameSpaceID(), // d508455
                                                "Has aysnchronous method(s)  = " + ivHasAsynchMethod,
                                                "Singleton Concurrency Type  = " + singletonConcurrency, //F743-1752CodRev
                                                "Synch AfterBegin            = " + ivAfterBegin, // F743-25855
                                                "Synch BeforeCompletion      = " + ivBeforeCompletion, // F743-25855
                                                "Synch AfterCompletion       = " + ivAfterCompletion, // F743-25855
                                                "Application Classloader     = " + classLoader,
                                                "Context class loader        = " + (classLoader == ivContextClassLoader ? "(same)" : ivContextClassLoader)
              };
  
              writer.begin("BeanMetaData Dump");
              writer.dump(allData);
  
              //--------------------------
              // Now dump per-method info
              //--------------------------
              // PK31372 start
              if (methodInfos != null) {
                  writer.begin("Remote Methods : " + methodInfos.length);
                  for (int i = 0; i < methodInfos.length; i++) {
                      methodInfos[i].introspect(writer, "Remote", i, true);
                  }
                  writer.end();
              }
  
              if (homeMethodInfos != null) {
                  writer.begin("Home Methods : " + homeMethodInfos.length);
                  for (int i = 0; i < homeMethodInfos.length; i++) {
                      homeMethodInfos[i].introspect(writer, "Remote Home", i, true);
                  }
                  writer.end();
              }
  
              if (localMethodInfos != null) {
                  writer.begin("Local Methods : " + localMethodInfos.length);
                  for (int i = 0; i < localMethodInfos.length; i++) {
                      localMethodInfos[i].introspect(writer, "Local", i, true);
                  }
                  writer.end();
              }
  
              if (localHomeMethodInfos != null) {
                  writer.begin("Local Home Methods : " + localHomeMethodInfos.length);
                  for (int i = 0; i < localHomeMethodInfos.length; i++) {
                      localHomeMethodInfos[i].introspect(writer, "Local Home", i, true);
                  }
                  writer.end();
              }
  
              if (wsEndpointMethodInfos != null &&
                  (webserviceEndpointInterfaceClass != null ||
                   ivWebServiceEndpointCreated)) // d497921
              {
                  writer.begin("WebService Endpoint Methods : " + wsEndpointMethodInfos.length);
                  for (int i = 0; i < wsEndpointMethodInfos.length; i++) {
                      wsEndpointMethodInfos[i].introspect(writer, "Service Endpoint", i, true);
                  }
                  writer.end();
              }
  
              if (timedMethodInfos != null) { // LI2281.07
                  writer.begin("Timer Methods : " + timedMethodInfos.length);
                  for (int i = 0; i < timedMethodInfos.length; i++) {
                      timedMethodInfos[i].introspect(writer, "Timer", i, true);
                  }
                  writer.end();
              }
  
              if (lifecycleInterceptorMethodInfos != null) // F743-1751
              {
                  writer.begin("Lifecycle Interceptor Methods : " + lifecycleInterceptorMethodInfos.length);
                  for (int i = 0; i < lifecycleInterceptorMethodInfos.length; i++) {
                      lifecycleInterceptorMethodInfos[i].introspect(writer, "Lifecycle", i, true);
                  }
                  writer.end();
              }
              // PK31372 end of change.
  
              /*
               * It would be nice to dump the java:comp name space at this time but
               * there are a couple issue that need to be resolved.
               * 1. The dumps should be into the RAS PrintStream instead of DumpNameSpace's default of System.out
               * 2. The target of the EJB refs may not be bound yet, so NameNotFound errors will be generated. The
               * solution is to move this dump after all EJBs in the module have been loaded.
               * Tr.dump(tc, "Dumping java:comp name space for the EJB: ");
               * DumpNameSpace dumper = new DumpNameSpace();
               * dumper.generateDump(getJavaNameSpaceContext());
               */
  
              // If we are in a deferred init scenario, dump the metadata
              // we have so far.  The finished metadata object will be dumped
              // once deferred init processing happens later
  
          } else {
              String partialData[] = new String[] {
                                                    this.toIntrospectString(),
                                                    "Application version         = " + ivApplicationVersionId,
                                                    "CMP version                 = " + cmpVersion,
                                                    "SimpleBindingName           = " + simpleJndiBindingName,
                                                    "LocalHomeBindingName        = " + localHomeJndiBindingName,
                                                    "RemoteHomeBindingName       = " + remoteHomeJndiBindingName,
                                                    "BusinessIntfBindingNames    = " + businessInterfaceJndiBindingNames,
                                                    "HomeInterfaceClassName      = " + homeInterfaceClassName,
                                                    "HasWebServiceEndpoint       = " + ivHasWebServiceEndpoint,
                                                    "No-Interface View           = " + ivLocalBean,
                                                    "J2EE Name                   = " + j2eeName,
                                                    "Unversioned J2EE Name       = " + ivUnversionedJ2eeName, // F54184
                                                    "Connection factory name     = " + connFactoryName,
                                                    "DeferredInit                = " + ivDeferEJBInitialization,
                                                    "Metadata Complete           = " + metadataComplete,
                                                    "Component Id                = " + ivComponent_Id,
                                                    "Application Classloader     = " + classLoader
              };
  
              writer.begin("Partial BeanMetaData Dump");
              writer.dump(partialData);
          } // if/else fully initialized
  
          writer.end();
      }