src/ClassGenerator/Generator/PropertyGenerator.php
public static function implementProperty(
        XSDMap $XSDMap,
        ClassTemplate $classTemplate,
        \SimpleXMLElement $propertyElement
    ) {
        switch (strtolower($propertyElement->getName())) {
            case ElementTypeEnum::ATTRIBUTE:
                self::implementAttributeProperty($XSDMap, $classTemplate, $propertyElement);
                break;
            case ElementTypeEnum::CHOICE:
                self::implementChoiceProperty($XSDMap, $classTemplate, $propertyElement);
                break;
            case ElementTypeEnum::SEQUENCE:
                self::implementPropertySequence($XSDMap, $classTemplate, $propertyElement);
                break;
            case ElementTypeEnum::UNION:
                self::implementUnionProperty($XSDMap, $classTemplate, $propertyElement);
                break;
            case ElementTypeEnum::ENUMERATION:
                self::implementEnumerationProperty($XSDMap, $classTemplate, $propertyElement);
                break;
        }
    }
public static function implementProperty(
        XSDMap $XSDMap,
        ClassTemplate $classTemplate,
        \SimpleXMLElement $propertyElement
    ) {
        switch (strtolower($propertyElement->getName())) {
            case ElementTypeEnum::ATTRIBUTE:
                self::implementAttributeProperty($XSDMap, $classTemplate, $propertyElement);
                break;
            case ElementTypeEnum::CHOICE:
                self::implementChoiceProperty($XSDMap, $classTemplate, $propertyElement);
                break;
            case ElementTypeEnum::SEQUENCE:
                self::implementPropertySequence($XSDMap, $classTemplate, $propertyElement);
                break;
            case ElementTypeEnum::UNION:
                self::implementUnionProperty($XSDMap, $classTemplate, $propertyElement);
                break;
            case ElementTypeEnum::ENUMERATION:
                self::implementEnumerationProperty($XSDMap, $classTemplate, $propertyElement);
                break;
        }
    }
TODO: I don't like how this is utilized, really.  Should think of a better way to do it.

@param XSDMap $XSDMap
@param ClassTemplate $classTemplate
@param \SimpleXMLElement $propertyElement