def do_create_subject(self, subject_context):
if not isinstance(subject_context, web_subject_abcs.WebSubjectContext):<EOL><INDENT>return super().do_create_subject(subject_context=subject_context)<EOL><DEDENT>security_manager = subject_context.resolve_security_manager()<EOL>session = subject_context.resolve_session()<EOL>session_creation_enabled = subject_context.session_creation_enabled<EOL>identifiers = subject_context.resolve_identifiers(session)<EOL>authenticated = subject_context.resolve_authenticated(session)<EOL>host = subject_context.resolve_host(session)<EOL>remembered = getattr(subject_context, '<STR_LIT>', None)<EOL>return WebDelegatingSubject(identifiers=identifiers,<EOL>remembered=remembered,<EOL>authenticated=authenticated,<EOL>host=host,<EOL>session=session,<EOL>session_creation_enabled=session_creation_enabled,<EOL>security_manager=security_manager,<EOL>web_registry=subject_context.web_registry)<EOL>
By the time this method is invoked, all possible
``SubjectContext`` data (session, identifiers, et. al.) has been made
accessible using all known heuristics.

:returns: a Subject instance reflecting the data in the specified
          SubjectContext data map