protected function generateClassFiles(array $classMap)
    {
        $backwardsCompatibilityMap = $this->getBackwardsCompatibilityMap();

        $unifiedNamespaceArray = $this->getUnifiedNamespaceArray($classMap);
        $this->validateUnifiedNamespaceArray($unifiedNamespaceArray);

        foreach ($unifiedNamespaceArray as $unifiedSubNamespace => $editionClassDescriptions) {
            $this->buildSubNamespace($unifiedSubNamespace, $editionClassDescriptions, $backwardsCompatibilityMap);
        }
    }