def get_sequence_rule_smart_bank_session(self, bank_id=None, proxy=None):
if proxy is None:<EOL><INDENT>raise NullArgument()<EOL><DEDENT>raise Unimplemented()<EOL>
Gets the ``OsidSession`` to manage sequence rule smart bank.

        arg:    bank_id (osid.id.Id): the ``Id`` of the ``Bank``
        arg:    proxy (osid.proxy.Proxy): a proxy
        return: (osid.assessment.authoring.SequenceRuleSmartBankSession)
                - a ``SequenceRuleSmartBankSession``
        raise:  NotFound - no ``Bank`` found by the given ``Id``
        raise:  NullArgument - ``bank_id`` or ``proxy`` is ``null``
        raise:  OperationFailed - unable to complete request
        raise:  Unimplemented - ``supports_sequence_rule_smart_bank()``
                is ``false``
        *compliance: optional -- This method must be implemented if
        ``supports_sequence_rule_smart_bank()`` is ``true``.*