code: def add_streams(self, event_stream_infos) -> None:
      stream_index = 0
      for (
          event_name,
          stream_infos,
      ) in event_stream_infos.items():  # per event
          for stream_name, stream_info in stream_infos.items():
              lines = self._get_stream_code(
                  event_name, stream_name, stream_index, stream_info
              )
              self.cells.append(
                  new_code_cell(source=linesep.join(lines))
              )
              stream_index += 1
  
file_path: tensorwatch/tensorwatch/notebook_maker.py
imports: import nbformat
  from nbformat.v4 import new_code_cell, new_markdown_cell, new_notebook
  from nbformat import v3, v4
  import codecs
  from os import linesep, path
  import uuid
  from .None import utils
  import re
  from typing import List
  from .lv_types import VisArgs
label_desc: Use image node_id 7 for calling the NotebookMaker obj's underlying member method code with example usage: obj.add_streams(event_stream_infos) without return types