code: def copy(self):
      
      a, b = it.tee(self._data) # 2 generators, not thread-safe
      self._data = a
      return Stream(b)
docs: Returns a "T" (tee) copy of the given stream, allowing the calling
      stream to continue being used.