<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def is_session_storage_enabled(self, subject=None):
 """ Returns ``True`` if session storage is generally available (as determined by the super class's global configuration property is_session_storage_enabled and no request-specific override has turned off session storage, False otherwise. This means session storage is disabled if the is_session_storage_enabled property is False or if a request attribute is discovered that turns off session storage for the current request. :param subject: the ``Subject`` for which session state persistence may be enabled :returns: ``True`` if session storage is generally available (as determined by the super class's global configuration property is_session_storage_enabled and no request-specific override has turned off session storage, False otherwise. """

        if subject.get_session(False):
            # then use what already exists
            return True

        if not self.session_storage_enabled:
            # honor global setting:
            return False

        # non-web subject instances can't be saved to web-only session managers:
        if (not hasattr(subject, 'web_registry') and self.session_manager and
                not isinstance(self.session_manager, session_abcs.NativeSessionManager)):
            return False

        return subject.web_registry.session_creation_enabled