code: func (s *RPC) getOrCreateStream(destination uint64, operationType OperationType) (orderer.Cluster_StepClient, error) {
  	stream := s.getStream(destination, operationType)
  	if stream != nil {
  		return stream, nil
  	}
  	stub, err := s.Comm.Remote(s.Channel, destination)
  	if err != nil {
  		return nil, errors.WithStack(err)
  	}
  	stream, err = stub.NewStream(s.Timeout)
  	if err != nil {
  		return nil, err
  	}
  	s.mapStream(destination, stream, operationType)
  	return stream, nil
  }
docs: // getProposeStream obtains a Submit stream for the given destination node