code: func (iter *TreeIter) Next() (*Tree, error) {
  	for {
  		obj, err := iter.EncodedObjectIter.Next()
  		if err != nil {
  			return nil, err
  		}
  
  		if obj.Type() != plumbing.TreeObject {
  			continue
  		}
  
  		return DecodeTree(iter.s, obj)
  	}
  }
docs: // Next moves the iterator to the next tree and returns a pointer to it. If
  // there are no more trees, it returns io.EOF.