code: def run(self):
          
          assert len(self.elements) >= 2, "In order flow, pipe needs 2 or more elements"
          in_pipe = self.elements[0]
          other_pipes = self.elements[1:-1]
          out_pipe = self.elements[-1]
  
          self.make_assertions(in_pipe, other_pipes, out_pipe)
  
          for data in in_pipe.grasp():
              write = True
  
              for element in other_pipes:
                  if isinstance(element, elements.DataPypElement):
                      data = element.extend(data)
                  elif isinstance(element, elements.FilterPypElement):
                      if not element.stay(data):
                          write = False
                          break
              if write:
                  out_pipe.extract(data)
docs: Let the pipe flow
          :return: