public static function createFromDataModel(VariableDeclaration $variableDeclaration)
    {
        $identifier = $variableDeclaration->getIdentifier();
        $baseType = $variableDeclaration->getBaseType();
        $cardinality = $variableDeclaration->getCardinality();

        $variable = new static($identifier, $cardinality, $baseType);

        // Default value?
        $dataModelDefaultValue = $variableDeclaration->getDefaultValue();

        if (!empty($dataModelDefaultValue)) {
            $dataModelValues = $dataModelDefaultValue->getValues();
            $defaultValue = static::dataModelValuesToRuntime($dataModelValues, $baseType, $cardinality);
            $variable->setDefaultValue($defaultValue);
        }

        return $variable;
    }