def get_asset_notification_session(self, asset_receiver=None):
if asset_receiver is None:<EOL><INDENT>raise NullArgument()<EOL><DEDENT>if not self.supports_asset_notification():<EOL><INDENT>raise Unimplemented()<EOL><DEDENT>try:<EOL><INDENT>from . import sessions<EOL><DEDENT>except ImportError:<EOL><INDENT>raise  <EOL><DEDENT>try:<EOL><INDENT>session = sessions.AssetNotificationSession(asset_receiver,<EOL>proxy=self._proxy,<EOL>runtime=self._runtime)<EOL><DEDENT>except AttributeError:<EOL><INDENT>raise  <EOL><DEDENT>return session<EOL>
Gets the notification session for notifications pertaining to
        asset changes.

        arg:    asset_receiver (osid.repository.AssetReceiver): the
                notification callback
        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.