code: @FFDCIgnore(PrivilegedActionException.class)
      private void log(String sourceId, String probeId, Throwable th, Object callerThis, Object[] objectArray) {
          IncidentImpl incident = getIncident(sourceId, probeId, th, callerThis, objectArray);
          incident.log(th, callerThis, objectArray);
          if (System.getSecurityManager() == null) {
              logSummary(ffdcSummaryPolicy == FFDCSummaryPolicy.IMMEDIATE);
          } else {
              AccessController.doPrivileged(new PrivilegedAction<Void>() {
                  @Override
                  public Void run() {
                      logSummary(ffdcSummaryPolicy == FFDCSummaryPolicy.IMMEDIATE);
                      return null;
                  }
              });
          }
  
          for (IncidentForwarder forwarder : FFDC.getIncidentForwarders()) {
              forwarder.process(incident, th);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              Tr.debug(tc, "FFDC exception: " + th);
      }
docs: Log a problem to the global incident stream (creating it if necessary
  
  @param txt
  A description of the incident (the name of the exception)
  @param sourceId
  The source id of the reporting code
  @param probeId
  The probe id of the reporting code
  @param th
  The exception
  @param callerThis
  The instance of the reporting code (null if no specific
  instance)
  @param objectArray
  Additional interesting object (null if there aren't any)