code: func (fh *FileHeaders) readFileHeader(id uint8, data []byte) error {
  	switch id {
  	case 0:
  		return ErrEndOfHeaders
  	case 1:
  		fh.Comment = data
  	case 2:
  		fh.CipherID = data
  	case 3:
  		fh.CompressionFlags = binary.LittleEndian.Uint32(data)
  	case 4:
  		fh.MasterSeed = data
  	case 5:
  		fh.TransformSeed = data
  	case 6:
  		fh.TransformRounds = binary.LittleEndian.Uint64(data)
  	case 7:
  		fh.EncryptionIV = data
  	case 8:
  		fh.ProtectedStreamKey = data
  	case 9:
  		fh.StreamStartBytes = data
  	case 10:
  		fh.InnerRandomStreamID = binary.LittleEndian.Uint32(data)
  	case 11:
  		fh.KdfParameters = new(KdfParameters)
  		return fh.KdfParameters.readKdfParameters(data)
  	case 12:
  		fh.PublicCustomData = new(VariantDictionary)
  		return fh.PublicCustomData.readVariantDictionary(data)
  	default:
  		return ErrUnknownHeaderID(id)
  	}
  	return nil
  }
docs: // readFileHeader reads a header value and puts it into the right variable