protected SubjectContext newSubjectContextInstance() {
            return new DefaultSubjectContext();
        }
Creates a new {@code SubjectContext} instance to be used to populate with subject contextual data that
will then be sent to the {@code SecurityManager} to create a new {@code Subject} instance.

@return a new {@code SubjectContext} instance
core/src/main/java/org/apache/shiro/subject/Subject.java