docs: public void introspect(IntrospectionWriter writer, boolean fullBMD) {
          // -----------------------------------------------------------------------
          // Indicate the start of the dump, and include the toString()
          // of EJSContainer, so this can easily be matched to a trace.
          // -----------------------------------------------------------------------
          writer.begin("EJSContainer Dump ---> " + this);
  
          writer.println("ivName                = " + ivName);
          writer.println("ivEJBRuntime          = " + ivEJBRuntime);
          writer.println("ivEmbedded            = " + ivEmbedded);
          writer.println("ivEntityHelper        = " + ivEntityHelper);
          writer.println("ivSFSBFailoverEnabled = " + ivSFSBFailoverEnabled);
          writer.println("ivUOWManager          = " + ivUOWManager);
          writer.println("pmiFactory            = " + pmiFactory);
          writer.println("uowCtrl               = " + uowCtrl);
          writer.println("userTransactionImpl   = " + userTransactionImpl);
  
          // ----------------------------------------------------------------------
          // Collaborators
          // ----------------------------------------------------------------------
  
          writer.begin("Collaborators");
          writer.println("securityCollaborator                                    = " + ivSecurityCollaborator);
          introspectCollab("beforeActivationCollaborators", ivBeforeActivationCollaborators, writer);
          introspectCollab("beforeActivationAfterCompletionCollaborators", ivBeforeActivationAfterCompletionCollaborators, writer);
          introspectCollab("afterActivationCollaborators", ivAfterActivationCollaborators, writer);
          writer.end();
  
          // ----------------------------------------------------------------------
          // Dump metadata for all installed beans
          // ----------------------------------------------------------------------
  
          writer.begin("internalBeanMetaDataStore : " + internalBeanMetaDataStore.size() + " installed beans");
          synchronized (internalBeanMetaDataStore) {
              if (fullBMD) {
                  for (Enumeration<BeanMetaData> en = internalBeanMetaDataStore.elements(); en.hasMoreElements();) {
                      BeanMetaData bmd = en.nextElement();
                      bmd.introspect(writer);
                  }
              } else {
                  List<String> keyNames = new ArrayList<String>();
  
                  for (J2EEName name : internalBeanMetaDataStore.keySet()) {
                      keyNames.add(name.toString());
                  }
  
                  Collections.sort(keyNames);
  
                  Set<J2EEName> keys = internalBeanMetaDataStore.keySet();
                  for (String keyName : keyNames) {
                      for (J2EEName key : keys) {
                          if (keyName.equals(key.toString())) {
                              writer.println(keyName + " : " + internalBeanMetaDataStore.get(key));
                              break;
                          }
                      }
                  }
              }
          } // end synchronized
          writer.end();
  
          activator.introspect(writer);
          wrapperManager.introspect(writer);
  
          writer.end();
      }