code: func (t *Tag) ReadHeader(th TagHeader) error {
  	// id3 tag ID
  	if !th.IsValidID() {
  		return ErrInvalidTagHeader
  	}
  	// version
  	t.Header = &Header{
  		Version: th.ReadVersion(),
  		Flags:   th.ReadFlags(),
  	}
  	size, err := th.ReadSize()
  	if err != nil {
  		return err
  	}
  	t.Header.Size = size
  
  	return nil
  }
docs: // ReadHeader reads the 10 bytes header and parses the data which gets stored in
  // the tag header.