code: protected void introspectAll(FFDCLogger info) 
      {
          info.append(this.toString());
  
          // Allow any wrapper specific info to be inserted first.
  
          introspectWrapperSpecificInfo(info);
  
          // Display generic information.
  
          info.append("Wrapper State: ", state.name());
          info.append("Parent wrapper:", parentWrapper);
  
          info.append("Child wrapper:");
          info.indent(childWrapper);
  
          if (childWrappers != null) {
              try {
                  info.append("# of Child Wrappers " + childWrappers.size());
                  info.append("Child wrappers:"); 
  
                  for (int i = 0; i < childWrappers.size(); i++) {
                      info.indent(childWrappers.get(i));
                  }
              } catch (Throwable th) {
                  // No FFDC code needed; closed on another thread; ignore.
              }
          }//end if 
          info.eoln();
  
      }
docs: Collects generic FFDC information applicable to all JDBC wrappers. Formats this
  information to the provided FFDC logger. FFDC information for all child wrappers should
  be included in the result.
  
  @param info FFDCLogger on which to record the FFDC information.