def _get_option(config, supplement, section, option, fallback=None):
        """
        Reads an option for a configuration file.

        :param configparser.ConfigParser config: The main config file.
        :param configparser.ConfigParser supplement: The supplement config file.
        :param str section: The name of the section op the option.
        :param str option: The name of the option.
        :param str|None fallback: The fallback value of the option if it is not set in either configuration files.

        :rtype: str

        :raise KeyError:
        """
        if supplement:
            return_value = supplement.get(section, option, fallback=config.get(section, option, fallback=fallback))
        else:
            return_value = config.get(section, option, fallback=fallback)

        if fallback is None and return_value is None:
            raise KeyError("Option '{0!s}' is not found in section '{1!s}'.".format(option, section))

        return return_value