protected function configure(Config $config, array $json) : void
    {
        Util::validateJsonConfiguration($json);

        foreach (HookUtil::getValidHooks() as $hook => $class) {
            if (isset($json[$hook])) {
                $this->configureHook($config->getHookConfig($hook), $json[$hook]);
            }
        }
    }