@utilities.arguments_not_none<EOL><INDENT>def get_item_notification_session_for_bank(self, item_receiver, bank_id, proxy):<DEDENT>
if not self.supports_item_notification():<EOL><INDENT>raise errors.Unimplemented()<EOL><DEDENT>return sessions.ItemNotificationSession(catalog_id=bank_id, proxy=proxy, runtime=self._runtime, receiver=item_receiver)<EOL>
Gets the ``OsidSession`` associated with the item notification service for the given bank.

        arg:    item_receiver (osid.assessment.ItemReceiver): the item
                receiver interface
        arg:    bank_id (osid.id.Id): the ``Id`` of the bank
        arg:    proxy (osid.proxy.Proxy): a proxy
        return: (osid.assessment.AssessmentNotificationSession) - ``an
                _item_notification_session``
        raise:  NotFound - ``bank_id`` not found
        raise:  NullArgument - ``item_receiver, bank_id`` or ``proxy``
                is ``null``
        raise:  OperationFailed - ``unable to complete request``
        raise:  Unimplemented - ``supports_item_notification()`` or
                ``supports_visible_federation()`` is ``false``
        *compliance: optional -- This method must be implemented if
        ``supports_item_notification()`` and
        ``supports_visible_federation()`` are ``true``.*