<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _parseOatHeader(self, data):
 """Returns the OatHeader"""

        header = OatHeader.from_buffer(data)
        if header.magic != b'oat\n':
            raise BinaryError('No valid OAT file')

        key_value_store_bytes = (c_ubyte * header.keyValueStoreSize).from_buffer(data, sizeof(OatHeader))
        key_value_store = self.__parseKeyValueStore(key_value_store_bytes)

        return OatHeaderData(header=header, keyValueStoreRaw=key_value_store_bytes, keyValueStore=key_value_store)