code: func (iter *MultiEncodedObjectIter) Next() (plumbing.EncodedObject, error) {
  	if len(iter.iters) == 0 {
  		return nil, io.EOF
  	}
  
  	obj, err := iter.iters[0].Next()
  	if err == io.EOF {
  		iter.iters[0].Close()
  		iter.iters = iter.iters[1:]
  		return iter.Next()
  	}
  
  	return obj, err
  }
docs: // Next returns the next object from the iterator, if one iterator reach io.EOF
  // is removed and the next one is used.