code: func (fh *FileHeaders) readHeader4(r io.Reader) error {
  	var id uint8
  	var length uint32
  	var data []byte
  
  	if err := binary.Read(r, binary.LittleEndian, &id); err != nil {
  		return err
  	}
  	if err := binary.Read(r, binary.LittleEndian, &length); err != nil {
  		return err
  	}
  	data = make([]byte, length)
  	if err := binary.Read(r, binary.LittleEndian, &data); err != nil {
  		return err
  	}
  
  	return fh.readFileHeader(id, data)
  }
docs: // readHeader4 reads a header of a KDBX v4 database