code: def get_asset_notification_session(self, asset_receiver, proxy):
          
          if asset_receiver is None:
              raise NullArgument()
          if not self.supports_asset_notification():
              raise Unimplemented()
          try:
              from . import sessions
          except ImportError:
              raise  # OperationFailed()
          proxy = self._convert_proxy(proxy)
          try:
              session = sessions.AssetNotificationSession(asset_receiver, proxy, runtime=self._runtime)
          except AttributeError:
              raise  # OperationFailed()
          return session
docs: Gets the notification session for notifications pertaining to
          asset changes.
  
          arg:    asset_receiver (osid.repository.AssetReceiver): the
                  notification callback
          arg     proxy (osid.proxy.Proxy): a proxy
          return: (osid.repository.AssetNotificationSession) - an
                  AssetNotificationSession
          raise:  NullArgument - asset_receiver is null
          raise:  OperationFailed - unable to complete request
          raise:  Unimplemented - supports_asset_notification() is false
          compliance: optional - This method must be implemented if
                      supports_asset_notification() is true.