code: func New(r io.Reader) (io.Reader, error) {
  	br := bufio.NewReader(r)
  	buf, err := br.Peek(3)
  	if err != nil {
  		return nil, err
  	}
  	switch {
  	case bytes.Compare(buf[:2], []byte(gzipMagic)) == 0:
  		return gzip.NewReader(br)
  	case bytes.Compare(buf[:3], []byte(b2zipMagic)) == 0:
  		return bzip2.NewReader(br), nil
  	default:
  		return br, nil
  	}
  }
docs: // New detects the file type of an io.Reader between
  // bzip, gzip, or raw quad file.