def []=(index, flow)
      flow = Flow.new(flow) unless flow.is_a?(Flow)
      @flows[index] = flow
      flow
    end
def []=(index, flow)
      flow = Flow.new(flow) unless flow.is_a?(Flow)
      @flows[index] = flow
      flow
    end
Set a flow at a given index. If the argument is not a {Flow}, we assume it
 is an adapter and create a new {Flow} for it.

 @param index [Integer] the index in the list where we set the flow
 @param flow [Flow, Adapter::Adapter, Object] The flow to add at `index`.
   If the argument is not a {Flow}, we assume it is an adapter and create
   a new {Flow} with it.
 @return [void]