protected function evaluateSuperTypeConfiguration($superTypeName, $enabled, &$completeNodeTypeConfiguration)
    {
        // Skip unset node types
        if ($enabled === false || $enabled === null) {
            return null;
        }

        // Make this setting backwards compatible with old array schema (deprecated since 2.0)
        if (!is_bool($enabled)) {
            $superTypeName = $enabled;
        }

        // when removing super types by setting them to null, only string keys can be overridden
        if ($superTypeName === null) {
            throw new NodeConfigurationException('Node type sets super type with a non-string key to NULL.', 1444944152);
        }

        $superType = $this->loadNodeType($superTypeName, $completeNodeTypeConfiguration);
        if ($superType->isFinal() === true) {
            throw new NodeTypeIsFinalException($superType->getName(), 1444944148);
        }

        return $superType;
    }