class_docstr: A class responsible for creating the inputs necessary to work in a
  `DataFeed`.
  
  Parameters
  ----------
  name : str, optional
      The name fo the stream.
  dtype : str, optional
      The data type of the stream.
  
  Methods
  -------
  source(iterable, dtype=None)
      Creates a stream from an iterable.
  group(streams)
      Creates a group of streams.
  sensor(obj,func,dtype=None)
      Creates a stream from observing a value from an object.
  select(streams,func)
      Selects a stream satisfying particular criteria from a list of
      streams.
  constant(value,dtype)
      Creates a stream to generate a constant value.
  asdtype(dtype)
      Converts the data type to `dtype`.
class_docstr_tok: ["A","class","responsible","for","creating","the","inputs","necessary","to","work","in","a","`","DataFeed","`",".","Parameters","--","--","--","--","--","name",":","str",",","optional","The","name","fo","the","stream",".","dtype",":","str",",","optional","The","data","type","of","the","stream",".","Methods","--","--","--","-","source","(","iterable",",","dtype=None",")","Creates","a","stream","from","an","iterable",".","group","(","streams",")","Creates","a","group","of","streams",".","sensor","(","obj",",","func",",","dtype=None",")","Creates","a","stream","from","observing","a","value","from","an","object",".","select","(","streams",",","func",")","Selects","a","stream","satisfying","particular","criteria","from","a","list","of","streams",".","constant","(","value",",","dtype",")","Creates","a","stream","to","generate","a","constant","value",".","asdtype","(","dtype",")","Converts","the","data","type","to","`","dtype","`","."]
docstr: Gathers all the edges relating back to this particular node.
  
  Parameters
  ----------
  stream : `Stream`
      The stream to inspect the connections of.
  vertices : `List[Stream]`
      The list of streams that have already been inspected.
  edges : `List[Tuple[Stream, Stream]]`
      The connections that have been found to be in the graph at the moment
      not including `stream`.
  
  Returns
  -------
  `List[Tuple[Stream, Stream]]`
      The updated list of edges after inspecting `stream`.
docstr_tok: ["Gathers","all","the","edges","relating","back","to","this","particular","node",".","Parameters","--","--","--","--","--","stream",":","`","Stream","`","The","stream","to","inspect","the","connections","of",".","vertices",":","`","List","[","Stream","]","`","The","list","of","streams","that","have","already","been","inspected",".","edges",":","`","List","[","Tuple","[","Stream",",","Stream","]","]","`","The","connections","that","have","been","found","to","be","in","the","graph","at","the","moment","not","including","`","stream","`",".","Returns","--","--","--","-","`","List","[","Tuple","[","Stream",",","Stream","]","]","`","The","updated","list","of","edges","after","inspecting","`","stream","`","."]
code: def _gather(
      stream: "Stream",
      vertices: "List[Stream]",
      edges: "List[Tuple[Stream, Stream]]",
  ) -> "List[Tuple[Stream, Stream]]":
      """Gathers all the edges relating back to this particular node.
  
      Parameters
      ----------
      stream : `Stream`
          The stream to inspect the connections of.
      vertices : `List[Stream]`
          The list of streams that have already been inspected.
      edges : `List[Tuple[Stream, Stream]]`
          The connections that have been found to be in the graph at the moment
          not including `stream`.
  
      Returns
      -------
      `List[Tuple[Stream, Stream]]`
          The updated list of edges after inspecting `stream`.
      """
      if stream not in vertices:
          vertices += [stream]
  
          for s in stream.inputs:
              edges += [(s, stream)]
  
          for s in stream.inputs:
              Stream._gather(s, vertices, edges)
  
      return edges
  
imports: import inspect
  from abc import abstractmethod
  from typing import Generic, Iterable, TypeVar, Dict, Any, Callable, List, Tuple
  from tensortrade.core import Observable
  from tensortrade.feed.core.accessors import CachedAccessor
  from tensortrade.feed.core.mixins import DataTypeMixin
label_desc: Use image node_id 16 for calling the Stream obj's underlying member method code with example usage: obj._gather(stream, vertices, edges) and returns: edges