protected function isPresetAllowedByConstraints($dimensionName, $presetIdentifier, array $constraints)
    {
        if (!array_key_exists($dimensionName, $constraints)) {
            return true;
        }
        if (array_key_exists($presetIdentifier, $constraints[$dimensionName]) && $constraints[$dimensionName][$presetIdentifier] === true) {
            return true;
        }
        if (array_key_exists($presetIdentifier, $constraints[$dimensionName]) && $constraints[$dimensionName][$presetIdentifier] === false) {
            return false;
        }
        if (array_key_exists('*', $constraints[$dimensionName])) {
            return (boolean)$constraints[$dimensionName]['*'];
        }

        return true;
    }