class_docstr: Data source for session based data, the input data is organized in sessions,
  each session may have multiple rows. The first column is always the session id.
  Raw input rows are consolidated by session id and returned as one session
  per example
code: def merge_session(self, session):
      res = {self.id_col: session[0][self.id_col]}
      for k, v in chain.from_iterable([s.items() for s in session]):
          if k != self.id_col:
              res[k] = res.get(k, [])
              res[k].append(v)
      return res
  
file_path: pytext/pytext/data/sources/session.py
imports: from itertools import chain
  from typing import List
  from pytext.config.serialize import _get_class_type
  from pytext.data.sources.data_source import RootDataSource
label_desc: Use image node_id 3 for calling the SessionDataSource obj's underlying member method code with example usage: obj.merge_session(session) and returns: res