code: def close(self):
      if not self.closed:
          # close all the streams
          for stream_infos in self._stream_infos.values():  # per event
              for stream_info in stream_infos.values():
                  stream_info.stream.close()
          self._stream_factory.close()
          self._reset()  # clean variables
          self.closed = True
  
imports: from typing import Dict, Any, Sequence
  from .lv_types import EventData, StreamItem, StreamCreateRequest, VisArgs
  from .evaler import Evaler
  from .stream import Stream
  from .stream_factory import StreamFactory
  from .filtered_stream import FilteredStream
  import uuid, time, functools
  from .None import utils
  from .notebook_maker import NotebookMaker
label_desc: Use image node_id 3 for calling the WatcherBase obj's underlying member method code with example usage: obj.close() without return types