<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _GetMessage(self, message_file_key, lcid, message_identifier):
 """Retrieves a specific message from a specific message table. Args: message_file_key (int):
 message file key. lcid (int):
 language code identifier (LCID). message_identifier (int):
 message identifier. Returns: str: message string or None if not available. Raises: RuntimeError: if more than one value is found in the database. """

    table_name = 'message_table_{0:d}_0x{1:08x}'.format(message_file_key, lcid)

    has_table = self._database_file.HasTable(table_name)
    if not has_table:
      return None

    column_names = ['message_string']
    condition = 'message_identifier == "0x{0:08x}"'.format(message_identifier)

    values = list(self._database_file.GetValues(
        [table_name], column_names, condition))

    number_of_values = len(values)
    if number_of_values == 0:
      return None

    if number_of_values == 1:
      return values[0]['message_string']

    raise RuntimeError('More than one value found in database.')