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