public List<Pair<ConstField, ComplexTypeDefinition>> getAllConstFields() {
        // Note: a map is not an option here as ConstFields are duplicated
        List<Pair<ConstField, ComplexTypeDefinition>> constFields = new LinkedList<>();
        ComplexTypeDefinition complexTypeDefinition = (ComplexTypeDefinition) this.thisType;
        complexTypeDefinition.getConstFields()
            .forEach(constField -> constFields.add(Pair.of(constField, complexTypeDefinition)));
        complexTypeDefinition.getSwitchField()
            .map(SwitchField::getCases)
            .ifPresent(discriminatedComplexTypeDefinitions ->
                discriminatedComplexTypeDefinitions.forEach(switchCase ->
                    switchCase.getConstFields().forEach(constField -> constFields.add(Pair.of(constField, switchCase)))
                )
            );
        return constFields;
    }
Little wrapper around the actual getLanguageTypeName which handles the case of requiring
DataIo type fields.

@param field field we want to get the type name for
@return type name we should use in C
code-generation/language-c/src/main/java/org/apache/plc4x/language/c/CLanguageTemplateHelper.java