code: func (rc *ReadCloser) init(r *tar.Reader) error {
  	defer rc.Close()
  
  	rc.File = make([]*tar.Header, 0, 10)
  	for {
  		h, err := r.Next()
  		if err == io.EOF {
  			break
  		} else if err != nil {
  			return err
  		}
  
  		rc.File = append(rc.File, h)
  	}
  	return nil
  }
docs: // init initializes a new ReadCloser.