code: @Trivial
      protected SubjectThreadContext getSubjectThreadContext() {
          ThreadLocal<SubjectThreadContext> currentThreadLocal = getThreadLocal();
          SubjectThreadContext subjectThreadContext = currentThreadLocal.get();
          if (subjectThreadContext == null) {
              subjectThreadContext = new SubjectThreadContext();
              currentThreadLocal.set(subjectThreadContext);
          }
          return subjectThreadContext;
      }
docs: Gets the subject 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.