code: @Trivial
      protected AuditThreadContext getAuditThreadContext() {
          ThreadLocal<AuditThreadContext> currentThreadLocal = getThreadLocal();
          AuditThreadContext auditThreadContext = currentThreadLocal.get();
          if (auditThreadContext == null) {
              auditThreadContext = new AuditThreadContext();
              currentThreadLocal.set(auditThreadContext);
          }
          return auditThreadContext;
      }
docs: Gets the audit thread context that is unique per thread.
  If/when a common thread storage framework is supplied, then this method
  implementation may need to be updated to take it into consideration.
  
  @return the subject thread context.