code: def _notify_change(
      self,
      *,
      dataset: str,
      hub_cache: Optional[DatasetHubCacheResponse],
      suscriber: Optional[str] = None,
  ) -> None:
      hub_cache_value = HubCacheChangedEventValue(
          dataset=dataset, hub_cache=hub_cache
      )
      for watcher, event in self._watchers.items():
          if suscriber is None or suscriber == watcher:
              event.set_value(hub_cache_value=hub_cache_value)
  
imports: import asyncio
  import contextlib
  from collections.abc import Mapping, Sequence
  from dataclasses import dataclass
  from http import HTTPStatus
  from typing import Any, Optional
  from uuid import uuid4
  from motor.motor_asyncio import AsyncIOMotorClient
  from pymongo.errors import PyMongoError
  from sse_api.constants import HUB_CACHE_KIND
label_desc: Use image node_id 1 for calling the HubCachePublisher obj's underlying member method code with example usage: obj._notify_change() without return types