public static function isConcreteConfigValid($uniqueId, array $concreteConfig, array $defaultStructure, $class)
    {
        foreach (array_keys($defaultStructure) as $key) {
            if (!array_key_exists($key, $concreteConfig)) {
                throw new MissingRequiredParameterException(sprintf(
                    __(
                        "The required %s parameter is missing in the service provider's configuration for unique ID [%s]. [Class %s]", // @codingStandardsIgnoreLine - Generic.Files.LineLength.TooLong
                        'fulcrum'
                    ),
                    $uniqueId,
                    $key,
                    $class
                ));
            }
        }

        ConfigValidator::mustNotBeEmpty(
            $concreteConfig['config'],
            sprintf(
                __('The configuration source for unique ID [%s] cannot be empty. [Service Provider: %s]', 'fulcrum'),
                $uniqueId,
                $class
            )
        );

        if (is_string($concreteConfig['config'])) {
            return ConfigValidator::mustBeLoadable($concreteConfig['config']);
        }

        return ConfigValidator::mustBeAnArray($concreteConfig['config']);
    }