code: public final boolean dumpComponentData(String[] input_directives, Throwable ex, IncidentStream ffdcis, Object callerThis, Object[] catcherObjects, String sourceId,
                                             String[] callStack) {
          startProcessing();
  
          try {
              ffdcis.writeLine("==> Performing default dump from " + getClass().getName() + " ", new Date());
  
              for (Method m : _dumpDefaultMethods) {
                  invokeDiagnosticMethod(m, ex, ffdcis, callerThis, catcherObjects, sourceId);
  
                  if (!continueProcessing())
                      break;
              }
  
              if (input_directives != null && input_directives.length > 0) {
                  ffdcis.writeLine("==> Performing custom/other dump from " + getClass().getName() + " ", new Date());
  
                  getDataForDirectives(input_directives, ex, ffdcis, callerThis, catcherObjects, sourceId);
              }
  
              ffdcis.writeLine("==> Dump complete for " + getClass().getName() + " ", new Date());
          } catch (Throwable th) {
              ffdcis.writeLine("==> Dump did not complete for " + getClass().getName() + " ", new Date());
          }
  
          return finishProcessing();
      }
docs: This method is invoked to instruct the diagnostic module to capture all
  relevant information that it has about a particular incident
  
  @param input_directives
  The directives to be processed for this incident
  @param ex
  The exception that caused this incident
  @param ffdcis
  The incident stream to be used to record the relevant
  information
  @param callerThis
  The object reporting the incident
  @param catcherObjects
  Additional objects that might be involved
  @param sourceId
  The source id of the class reporting the incident
  @param callStack
  The list of classes on the stack
  @return true if more diagnostic modules should be invoked after this one