public function registerConfigurationType(string $configurationType, string $configurationProcessingType = self::CONFIGURATION_PROCESSING_TYPE_DEFAULT, bool $allowSplitSource = false)
    {
        $configurationProcessingTypes = [
            self::CONFIGURATION_PROCESSING_TYPE_DEFAULT,
            self::CONFIGURATION_PROCESSING_TYPE_OBJECTS,
            self::CONFIGURATION_PROCESSING_TYPE_POLICY,
            self::CONFIGURATION_PROCESSING_TYPE_ROUTES,
            self::CONFIGURATION_PROCESSING_TYPE_SETTINGS,
            self::CONFIGURATION_PROCESSING_TYPE_APPEND
        ];
        if (!in_array($configurationProcessingType, $configurationProcessingTypes)) {
            throw new \InvalidArgumentException(sprintf('Specified invalid configuration processing type "%s" while registering custom configuration type "%s"', $configurationProcessingType, $configurationType), 1365496111);
        }
        $this->configurationTypes[$configurationType] = ['processingType' => $configurationProcessingType, 'allowSplitSource' => $allowSplitSource];
    }