1795fd7456f23d42e8cc3c1bcf006ba3fb8de7691Danny van Bruggenpackage com.github.javaparser.metamodel;
2795fd7456f23d42e8cc3c1bcf006ba3fb8de7691Danny van Bruggen
35751a1b29ee226ab89d1193a9b14ce093c064c53Danny van Bruggenimport com.github.javaparser.ast.*;
4795fd7456f23d42e8cc3c1bcf006ba3fb8de7691Danny van Bruggenimport java.util.ArrayList;
5795fd7456f23d42e8cc3c1bcf006ba3fb8de7691Danny van Bruggenimport java.util.List;
6795fd7456f23d42e8cc3c1bcf006ba3fb8de7691Danny van Bruggenimport java.util.Optional;
7795fd7456f23d42e8cc3c1bcf006ba3fb8de7691Danny van Bruggen
88a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen/**
98a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen * The model contains meta-data about all nodes in the AST.
108a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen */
11106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggenpublic final class JavaParserMetaModel {
128a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
13106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    private JavaParserMetaModel() {
140f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen    }
150f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen
16106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    private static final List<BaseNodeMetaModel> nodeMetaModels = new ArrayList<>();
17106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen
18106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    private static void initializeConstructorParameters() {
196c300a094e578767472f7db83243c911707195bcDanny van Bruggen        bodyDeclarationMetaModel.getConstructorParameters().add(bodyDeclarationMetaModel.annotationsPropertyMetaModel);
206c300a094e578767472f7db83243c911707195bcDanny van Bruggen        callableDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.modifiersPropertyMetaModel);
216c300a094e578767472f7db83243c911707195bcDanny van Bruggen        callableDeclarationMetaModel.getConstructorParameters().add(bodyDeclarationMetaModel.annotationsPropertyMetaModel);
226c300a094e578767472f7db83243c911707195bcDanny van Bruggen        callableDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.typeParametersPropertyMetaModel);
236c300a094e578767472f7db83243c911707195bcDanny van Bruggen        callableDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.namePropertyMetaModel);
246c300a094e578767472f7db83243c911707195bcDanny van Bruggen        callableDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.parametersPropertyMetaModel);
256c300a094e578767472f7db83243c911707195bcDanny van Bruggen        callableDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.thrownExceptionsPropertyMetaModel);
26660b7248ab889410a598d37bde32bbba7ed0ef4eDanny van Bruggen        callableDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.receiverParameterPropertyMetaModel);
276c300a094e578767472f7db83243c911707195bcDanny van Bruggen        typeMetaModel.getConstructorParameters().add(typeMetaModel.annotationsPropertyMetaModel);
286c300a094e578767472f7db83243c911707195bcDanny van Bruggen        annotationExprMetaModel.getConstructorParameters().add(annotationExprMetaModel.namePropertyMetaModel);
296c300a094e578767472f7db83243c911707195bcDanny van Bruggen        typeDeclarationMetaModel.getConstructorParameters().add(typeDeclarationMetaModel.modifiersPropertyMetaModel);
304e845ed7ad59e4d904f164bc161d6afc1db0255bDanny van Bruggen        typeDeclarationMetaModel.getConstructorParameters().add(bodyDeclarationMetaModel.annotationsPropertyMetaModel);
316c300a094e578767472f7db83243c911707195bcDanny van Bruggen        typeDeclarationMetaModel.getConstructorParameters().add(typeDeclarationMetaModel.namePropertyMetaModel);
326c300a094e578767472f7db83243c911707195bcDanny van Bruggen        typeDeclarationMetaModel.getConstructorParameters().add(typeDeclarationMetaModel.membersPropertyMetaModel);
334e845ed7ad59e4d904f164bc161d6afc1db0255bDanny van Bruggen        referenceTypeMetaModel.getConstructorParameters().add(typeMetaModel.annotationsPropertyMetaModel);
346c300a094e578767472f7db83243c911707195bcDanny van Bruggen        literalStringValueExprMetaModel.getConstructorParameters().add(literalStringValueExprMetaModel.valuePropertyMetaModel);
35083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen        stringLiteralExprMetaModel.getConstructorParameters().add(literalStringValueExprMetaModel.valuePropertyMetaModel);
3688d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleDeclarationMetaModel.getConstructorParameters().add(moduleDeclarationMetaModel.annotationsPropertyMetaModel);
3788d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleDeclarationMetaModel.getConstructorParameters().add(moduleDeclarationMetaModel.namePropertyMetaModel);
3888d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleDeclarationMetaModel.getConstructorParameters().add(moduleDeclarationMetaModel.isOpenPropertyMetaModel);
3988d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleDeclarationMetaModel.getConstructorParameters().add(moduleDeclarationMetaModel.moduleStmtsPropertyMetaModel);
402874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        arrayCreationLevelMetaModel.getConstructorParameters().add(arrayCreationLevelMetaModel.dimensionPropertyMetaModel);
412874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        arrayCreationLevelMetaModel.getConstructorParameters().add(arrayCreationLevelMetaModel.annotationsPropertyMetaModel);
422874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        compilationUnitMetaModel.getConstructorParameters().add(compilationUnitMetaModel.packageDeclarationPropertyMetaModel);
432874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        compilationUnitMetaModel.getConstructorParameters().add(compilationUnitMetaModel.importsPropertyMetaModel);
442874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        compilationUnitMetaModel.getConstructorParameters().add(compilationUnitMetaModel.typesPropertyMetaModel);
4588d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        compilationUnitMetaModel.getConstructorParameters().add(compilationUnitMetaModel.modulePropertyMetaModel);
462874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        packageDeclarationMetaModel.getConstructorParameters().add(packageDeclarationMetaModel.annotationsPropertyMetaModel);
472874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        packageDeclarationMetaModel.getConstructorParameters().add(packageDeclarationMetaModel.namePropertyMetaModel);
482874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        annotationDeclarationMetaModel.getConstructorParameters().add(typeDeclarationMetaModel.modifiersPropertyMetaModel);
492874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        annotationDeclarationMetaModel.getConstructorParameters().add(bodyDeclarationMetaModel.annotationsPropertyMetaModel);
502874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        annotationDeclarationMetaModel.getConstructorParameters().add(typeDeclarationMetaModel.namePropertyMetaModel);
512874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        annotationDeclarationMetaModel.getConstructorParameters().add(typeDeclarationMetaModel.membersPropertyMetaModel);
522874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        annotationMemberDeclarationMetaModel.getConstructorParameters().add(annotationMemberDeclarationMetaModel.modifiersPropertyMetaModel);
532874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        annotationMemberDeclarationMetaModel.getConstructorParameters().add(bodyDeclarationMetaModel.annotationsPropertyMetaModel);
542874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        annotationMemberDeclarationMetaModel.getConstructorParameters().add(annotationMemberDeclarationMetaModel.typePropertyMetaModel);
552874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        annotationMemberDeclarationMetaModel.getConstructorParameters().add(annotationMemberDeclarationMetaModel.namePropertyMetaModel);
562874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        annotationMemberDeclarationMetaModel.getConstructorParameters().add(annotationMemberDeclarationMetaModel.defaultValuePropertyMetaModel);
572874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        classOrInterfaceDeclarationMetaModel.getConstructorParameters().add(typeDeclarationMetaModel.modifiersPropertyMetaModel);
582874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        classOrInterfaceDeclarationMetaModel.getConstructorParameters().add(bodyDeclarationMetaModel.annotationsPropertyMetaModel);
592874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        classOrInterfaceDeclarationMetaModel.getConstructorParameters().add(classOrInterfaceDeclarationMetaModel.isInterfacePropertyMetaModel);
602874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        classOrInterfaceDeclarationMetaModel.getConstructorParameters().add(typeDeclarationMetaModel.namePropertyMetaModel);
612874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        classOrInterfaceDeclarationMetaModel.getConstructorParameters().add(classOrInterfaceDeclarationMetaModel.typeParametersPropertyMetaModel);
622874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        classOrInterfaceDeclarationMetaModel.getConstructorParameters().add(classOrInterfaceDeclarationMetaModel.extendedTypesPropertyMetaModel);
632874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        classOrInterfaceDeclarationMetaModel.getConstructorParameters().add(classOrInterfaceDeclarationMetaModel.implementedTypesPropertyMetaModel);
642874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        classOrInterfaceDeclarationMetaModel.getConstructorParameters().add(typeDeclarationMetaModel.membersPropertyMetaModel);
656084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        constructorDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.modifiersPropertyMetaModel);
662874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        constructorDeclarationMetaModel.getConstructorParameters().add(bodyDeclarationMetaModel.annotationsPropertyMetaModel);
676084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        constructorDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.typeParametersPropertyMetaModel);
686084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        constructorDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.namePropertyMetaModel);
696084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        constructorDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.parametersPropertyMetaModel);
706084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        constructorDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.thrownExceptionsPropertyMetaModel);
712874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        constructorDeclarationMetaModel.getConstructorParameters().add(constructorDeclarationMetaModel.bodyPropertyMetaModel);
72660b7248ab889410a598d37bde32bbba7ed0ef4eDanny van Bruggen        constructorDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.receiverParameterPropertyMetaModel);
732874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        enumConstantDeclarationMetaModel.getConstructorParameters().add(bodyDeclarationMetaModel.annotationsPropertyMetaModel);
742874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        enumConstantDeclarationMetaModel.getConstructorParameters().add(enumConstantDeclarationMetaModel.namePropertyMetaModel);
752874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        enumConstantDeclarationMetaModel.getConstructorParameters().add(enumConstantDeclarationMetaModel.argumentsPropertyMetaModel);
762874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        enumConstantDeclarationMetaModel.getConstructorParameters().add(enumConstantDeclarationMetaModel.classBodyPropertyMetaModel);
772874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        enumDeclarationMetaModel.getConstructorParameters().add(typeDeclarationMetaModel.modifiersPropertyMetaModel);
782874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        enumDeclarationMetaModel.getConstructorParameters().add(bodyDeclarationMetaModel.annotationsPropertyMetaModel);
792874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        enumDeclarationMetaModel.getConstructorParameters().add(typeDeclarationMetaModel.namePropertyMetaModel);
802874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        enumDeclarationMetaModel.getConstructorParameters().add(enumDeclarationMetaModel.implementedTypesPropertyMetaModel);
812874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        enumDeclarationMetaModel.getConstructorParameters().add(enumDeclarationMetaModel.entriesPropertyMetaModel);
822874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        enumDeclarationMetaModel.getConstructorParameters().add(typeDeclarationMetaModel.membersPropertyMetaModel);
832874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        fieldDeclarationMetaModel.getConstructorParameters().add(fieldDeclarationMetaModel.modifiersPropertyMetaModel);
842874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        fieldDeclarationMetaModel.getConstructorParameters().add(bodyDeclarationMetaModel.annotationsPropertyMetaModel);
852874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        fieldDeclarationMetaModel.getConstructorParameters().add(fieldDeclarationMetaModel.variablesPropertyMetaModel);
862874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        initializerDeclarationMetaModel.getConstructorParameters().add(initializerDeclarationMetaModel.isStaticPropertyMetaModel);
872874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        initializerDeclarationMetaModel.getConstructorParameters().add(initializerDeclarationMetaModel.bodyPropertyMetaModel);
886084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        methodDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.modifiersPropertyMetaModel);
892874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        methodDeclarationMetaModel.getConstructorParameters().add(bodyDeclarationMetaModel.annotationsPropertyMetaModel);
906084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        methodDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.typeParametersPropertyMetaModel);
912874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        methodDeclarationMetaModel.getConstructorParameters().add(methodDeclarationMetaModel.typePropertyMetaModel);
926084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        methodDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.namePropertyMetaModel);
936084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        methodDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.parametersPropertyMetaModel);
946084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        methodDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.thrownExceptionsPropertyMetaModel);
952874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        methodDeclarationMetaModel.getConstructorParameters().add(methodDeclarationMetaModel.bodyPropertyMetaModel);
96660b7248ab889410a598d37bde32bbba7ed0ef4eDanny van Bruggen        methodDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.receiverParameterPropertyMetaModel);
972874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        parameterMetaModel.getConstructorParameters().add(parameterMetaModel.modifiersPropertyMetaModel);
982874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        parameterMetaModel.getConstructorParameters().add(parameterMetaModel.annotationsPropertyMetaModel);
992874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        parameterMetaModel.getConstructorParameters().add(parameterMetaModel.typePropertyMetaModel);
1002874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        parameterMetaModel.getConstructorParameters().add(parameterMetaModel.isVarArgsPropertyMetaModel);
101366457d9abb4de2bdf2bcf4d7c1ce20ec3a52a60Danny van Bruggen        parameterMetaModel.getConstructorParameters().add(parameterMetaModel.varArgsAnnotationsPropertyMetaModel);
1022874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        parameterMetaModel.getConstructorParameters().add(parameterMetaModel.namePropertyMetaModel);
1032e435be05d9200097a6edf9f89d83b9330fd5135Danny van Bruggen        receiverParameterMetaModel.getConstructorParameters().add(receiverParameterMetaModel.annotationsPropertyMetaModel);
1042e435be05d9200097a6edf9f89d83b9330fd5135Danny van Bruggen        receiverParameterMetaModel.getConstructorParameters().add(receiverParameterMetaModel.typePropertyMetaModel);
1052e435be05d9200097a6edf9f89d83b9330fd5135Danny van Bruggen        receiverParameterMetaModel.getConstructorParameters().add(receiverParameterMetaModel.namePropertyMetaModel);
1062874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        variableDeclaratorMetaModel.getConstructorParameters().add(variableDeclaratorMetaModel.typePropertyMetaModel);
1072874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        variableDeclaratorMetaModel.getConstructorParameters().add(variableDeclaratorMetaModel.namePropertyMetaModel);
1082874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        variableDeclaratorMetaModel.getConstructorParameters().add(variableDeclaratorMetaModel.initializerPropertyMetaModel);
1096c300a094e578767472f7db83243c911707195bcDanny van Bruggen        commentMetaModel.getConstructorParameters().add(commentMetaModel.contentPropertyMetaModel);
1102874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        blockCommentMetaModel.getConstructorParameters().add(commentMetaModel.contentPropertyMetaModel);
1112874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        javadocCommentMetaModel.getConstructorParameters().add(commentMetaModel.contentPropertyMetaModel);
1122874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        lineCommentMetaModel.getConstructorParameters().add(commentMetaModel.contentPropertyMetaModel);
1132874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        arrayAccessExprMetaModel.getConstructorParameters().add(arrayAccessExprMetaModel.namePropertyMetaModel);
1142874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        arrayAccessExprMetaModel.getConstructorParameters().add(arrayAccessExprMetaModel.indexPropertyMetaModel);
1152874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        arrayCreationExprMetaModel.getConstructorParameters().add(arrayCreationExprMetaModel.elementTypePropertyMetaModel);
1162874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        arrayCreationExprMetaModel.getConstructorParameters().add(arrayCreationExprMetaModel.levelsPropertyMetaModel);
1172874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        arrayCreationExprMetaModel.getConstructorParameters().add(arrayCreationExprMetaModel.initializerPropertyMetaModel);
1182874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        arrayInitializerExprMetaModel.getConstructorParameters().add(arrayInitializerExprMetaModel.valuesPropertyMetaModel);
1192874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        assignExprMetaModel.getConstructorParameters().add(assignExprMetaModel.targetPropertyMetaModel);
1202874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        assignExprMetaModel.getConstructorParameters().add(assignExprMetaModel.valuePropertyMetaModel);
1212874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        assignExprMetaModel.getConstructorParameters().add(assignExprMetaModel.operatorPropertyMetaModel);
1222874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        binaryExprMetaModel.getConstructorParameters().add(binaryExprMetaModel.leftPropertyMetaModel);
1232874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        binaryExprMetaModel.getConstructorParameters().add(binaryExprMetaModel.rightPropertyMetaModel);
1242874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        binaryExprMetaModel.getConstructorParameters().add(binaryExprMetaModel.operatorPropertyMetaModel);
1252874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        booleanLiteralExprMetaModel.getConstructorParameters().add(booleanLiteralExprMetaModel.valuePropertyMetaModel);
1262874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        castExprMetaModel.getConstructorParameters().add(castExprMetaModel.typePropertyMetaModel);
1272874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        castExprMetaModel.getConstructorParameters().add(castExprMetaModel.expressionPropertyMetaModel);
128083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen        charLiteralExprMetaModel.getConstructorParameters().add(literalStringValueExprMetaModel.valuePropertyMetaModel);
1292874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        classExprMetaModel.getConstructorParameters().add(classExprMetaModel.typePropertyMetaModel);
1302874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        conditionalExprMetaModel.getConstructorParameters().add(conditionalExprMetaModel.conditionPropertyMetaModel);
1312874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        conditionalExprMetaModel.getConstructorParameters().add(conditionalExprMetaModel.thenExprPropertyMetaModel);
1322874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        conditionalExprMetaModel.getConstructorParameters().add(conditionalExprMetaModel.elseExprPropertyMetaModel);
133083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen        doubleLiteralExprMetaModel.getConstructorParameters().add(literalStringValueExprMetaModel.valuePropertyMetaModel);
1342874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        enclosedExprMetaModel.getConstructorParameters().add(enclosedExprMetaModel.innerPropertyMetaModel);
1352874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        fieldAccessExprMetaModel.getConstructorParameters().add(fieldAccessExprMetaModel.scopePropertyMetaModel);
1362874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        fieldAccessExprMetaModel.getConstructorParameters().add(fieldAccessExprMetaModel.typeArgumentsPropertyMetaModel);
1372874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        fieldAccessExprMetaModel.getConstructorParameters().add(fieldAccessExprMetaModel.namePropertyMetaModel);
1382874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        instanceOfExprMetaModel.getConstructorParameters().add(instanceOfExprMetaModel.expressionPropertyMetaModel);
1392874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        instanceOfExprMetaModel.getConstructorParameters().add(instanceOfExprMetaModel.typePropertyMetaModel);
140083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen        integerLiteralExprMetaModel.getConstructorParameters().add(literalStringValueExprMetaModel.valuePropertyMetaModel);
1412874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        lambdaExprMetaModel.getConstructorParameters().add(lambdaExprMetaModel.parametersPropertyMetaModel);
1422874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        lambdaExprMetaModel.getConstructorParameters().add(lambdaExprMetaModel.bodyPropertyMetaModel);
1432874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        lambdaExprMetaModel.getConstructorParameters().add(lambdaExprMetaModel.isEnclosingParametersPropertyMetaModel);
144083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen        longLiteralExprMetaModel.getConstructorParameters().add(literalStringValueExprMetaModel.valuePropertyMetaModel);
1452874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        markerAnnotationExprMetaModel.getConstructorParameters().add(annotationExprMetaModel.namePropertyMetaModel);
1462874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        memberValuePairMetaModel.getConstructorParameters().add(memberValuePairMetaModel.namePropertyMetaModel);
1472874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        memberValuePairMetaModel.getConstructorParameters().add(memberValuePairMetaModel.valuePropertyMetaModel);
1482874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        methodCallExprMetaModel.getConstructorParameters().add(methodCallExprMetaModel.scopePropertyMetaModel);
1492874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        methodCallExprMetaModel.getConstructorParameters().add(methodCallExprMetaModel.typeArgumentsPropertyMetaModel);
1502874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        methodCallExprMetaModel.getConstructorParameters().add(methodCallExprMetaModel.namePropertyMetaModel);
1512874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        methodCallExprMetaModel.getConstructorParameters().add(methodCallExprMetaModel.argumentsPropertyMetaModel);
1522874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        methodReferenceExprMetaModel.getConstructorParameters().add(methodReferenceExprMetaModel.scopePropertyMetaModel);
1532874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        methodReferenceExprMetaModel.getConstructorParameters().add(methodReferenceExprMetaModel.typeArgumentsPropertyMetaModel);
1542874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        methodReferenceExprMetaModel.getConstructorParameters().add(methodReferenceExprMetaModel.identifierPropertyMetaModel);
1552874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        nameExprMetaModel.getConstructorParameters().add(nameExprMetaModel.namePropertyMetaModel);
1562874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        nameMetaModel.getConstructorParameters().add(nameMetaModel.qualifierPropertyMetaModel);
1572874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        nameMetaModel.getConstructorParameters().add(nameMetaModel.identifierPropertyMetaModel);
158b4bb988f522d3f53c4405789a85cf08b51f23d97Danny van Bruggen        nameMetaModel.getConstructorParameters().add(nameMetaModel.annotationsPropertyMetaModel);
1592874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        normalAnnotationExprMetaModel.getConstructorParameters().add(annotationExprMetaModel.namePropertyMetaModel);
1602874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        normalAnnotationExprMetaModel.getConstructorParameters().add(normalAnnotationExprMetaModel.pairsPropertyMetaModel);
1612874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        objectCreationExprMetaModel.getConstructorParameters().add(objectCreationExprMetaModel.scopePropertyMetaModel);
1622874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        objectCreationExprMetaModel.getConstructorParameters().add(objectCreationExprMetaModel.typePropertyMetaModel);
1632874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        objectCreationExprMetaModel.getConstructorParameters().add(objectCreationExprMetaModel.typeArgumentsPropertyMetaModel);
1642874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        objectCreationExprMetaModel.getConstructorParameters().add(objectCreationExprMetaModel.argumentsPropertyMetaModel);
1652874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        objectCreationExprMetaModel.getConstructorParameters().add(objectCreationExprMetaModel.anonymousClassBodyPropertyMetaModel);
1662874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        simpleNameMetaModel.getConstructorParameters().add(simpleNameMetaModel.identifierPropertyMetaModel);
1672874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        singleMemberAnnotationExprMetaModel.getConstructorParameters().add(annotationExprMetaModel.namePropertyMetaModel);
1682874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        singleMemberAnnotationExprMetaModel.getConstructorParameters().add(singleMemberAnnotationExprMetaModel.memberValuePropertyMetaModel);
1692874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        superExprMetaModel.getConstructorParameters().add(superExprMetaModel.classExprPropertyMetaModel);
1702874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        thisExprMetaModel.getConstructorParameters().add(thisExprMetaModel.classExprPropertyMetaModel);
1712874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        typeExprMetaModel.getConstructorParameters().add(typeExprMetaModel.typePropertyMetaModel);
1722874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        unaryExprMetaModel.getConstructorParameters().add(unaryExprMetaModel.expressionPropertyMetaModel);
1732874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        unaryExprMetaModel.getConstructorParameters().add(unaryExprMetaModel.operatorPropertyMetaModel);
1742874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        variableDeclarationExprMetaModel.getConstructorParameters().add(variableDeclarationExprMetaModel.modifiersPropertyMetaModel);
1752874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        variableDeclarationExprMetaModel.getConstructorParameters().add(variableDeclarationExprMetaModel.annotationsPropertyMetaModel);
1762874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        variableDeclarationExprMetaModel.getConstructorParameters().add(variableDeclarationExprMetaModel.variablesPropertyMetaModel);
1772874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        importDeclarationMetaModel.getConstructorParameters().add(importDeclarationMetaModel.namePropertyMetaModel);
1782874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        importDeclarationMetaModel.getConstructorParameters().add(importDeclarationMetaModel.isStaticPropertyMetaModel);
1792874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        importDeclarationMetaModel.getConstructorParameters().add(importDeclarationMetaModel.isAsteriskPropertyMetaModel);
1802874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        assertStmtMetaModel.getConstructorParameters().add(assertStmtMetaModel.checkPropertyMetaModel);
1812874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        assertStmtMetaModel.getConstructorParameters().add(assertStmtMetaModel.messagePropertyMetaModel);
1822874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        blockStmtMetaModel.getConstructorParameters().add(blockStmtMetaModel.statementsPropertyMetaModel);
1832874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        breakStmtMetaModel.getConstructorParameters().add(breakStmtMetaModel.labelPropertyMetaModel);
1842874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        catchClauseMetaModel.getConstructorParameters().add(catchClauseMetaModel.parameterPropertyMetaModel);
1852874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        catchClauseMetaModel.getConstructorParameters().add(catchClauseMetaModel.bodyPropertyMetaModel);
1862874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        continueStmtMetaModel.getConstructorParameters().add(continueStmtMetaModel.labelPropertyMetaModel);
1872874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        doStmtMetaModel.getConstructorParameters().add(doStmtMetaModel.bodyPropertyMetaModel);
1882874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        doStmtMetaModel.getConstructorParameters().add(doStmtMetaModel.conditionPropertyMetaModel);
1892874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        explicitConstructorInvocationStmtMetaModel.getConstructorParameters().add(explicitConstructorInvocationStmtMetaModel.typeArgumentsPropertyMetaModel);
1902874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        explicitConstructorInvocationStmtMetaModel.getConstructorParameters().add(explicitConstructorInvocationStmtMetaModel.isThisPropertyMetaModel);
1912874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        explicitConstructorInvocationStmtMetaModel.getConstructorParameters().add(explicitConstructorInvocationStmtMetaModel.expressionPropertyMetaModel);
1922874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        explicitConstructorInvocationStmtMetaModel.getConstructorParameters().add(explicitConstructorInvocationStmtMetaModel.argumentsPropertyMetaModel);
1932874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        expressionStmtMetaModel.getConstructorParameters().add(expressionStmtMetaModel.expressionPropertyMetaModel);
1942874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        foreachStmtMetaModel.getConstructorParameters().add(foreachStmtMetaModel.variablePropertyMetaModel);
1952874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        foreachStmtMetaModel.getConstructorParameters().add(foreachStmtMetaModel.iterablePropertyMetaModel);
1962874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        foreachStmtMetaModel.getConstructorParameters().add(foreachStmtMetaModel.bodyPropertyMetaModel);
1972874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        forStmtMetaModel.getConstructorParameters().add(forStmtMetaModel.initializationPropertyMetaModel);
1982874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        forStmtMetaModel.getConstructorParameters().add(forStmtMetaModel.comparePropertyMetaModel);
1992874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        forStmtMetaModel.getConstructorParameters().add(forStmtMetaModel.updatePropertyMetaModel);
2002874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        forStmtMetaModel.getConstructorParameters().add(forStmtMetaModel.bodyPropertyMetaModel);
2012874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        ifStmtMetaModel.getConstructorParameters().add(ifStmtMetaModel.conditionPropertyMetaModel);
2022874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        ifStmtMetaModel.getConstructorParameters().add(ifStmtMetaModel.thenStmtPropertyMetaModel);
2032874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        ifStmtMetaModel.getConstructorParameters().add(ifStmtMetaModel.elseStmtPropertyMetaModel);
2042874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        labeledStmtMetaModel.getConstructorParameters().add(labeledStmtMetaModel.labelPropertyMetaModel);
2052874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        labeledStmtMetaModel.getConstructorParameters().add(labeledStmtMetaModel.statementPropertyMetaModel);
2062874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        returnStmtMetaModel.getConstructorParameters().add(returnStmtMetaModel.expressionPropertyMetaModel);
2072874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        switchEntryStmtMetaModel.getConstructorParameters().add(switchEntryStmtMetaModel.labelPropertyMetaModel);
2082874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        switchEntryStmtMetaModel.getConstructorParameters().add(switchEntryStmtMetaModel.statementsPropertyMetaModel);
2092874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        switchStmtMetaModel.getConstructorParameters().add(switchStmtMetaModel.selectorPropertyMetaModel);
2102874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        switchStmtMetaModel.getConstructorParameters().add(switchStmtMetaModel.entriesPropertyMetaModel);
2112874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        synchronizedStmtMetaModel.getConstructorParameters().add(synchronizedStmtMetaModel.expressionPropertyMetaModel);
2122874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        synchronizedStmtMetaModel.getConstructorParameters().add(synchronizedStmtMetaModel.bodyPropertyMetaModel);
2132874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        throwStmtMetaModel.getConstructorParameters().add(throwStmtMetaModel.expressionPropertyMetaModel);
2142874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        tryStmtMetaModel.getConstructorParameters().add(tryStmtMetaModel.resourcesPropertyMetaModel);
2152874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        tryStmtMetaModel.getConstructorParameters().add(tryStmtMetaModel.tryBlockPropertyMetaModel);
2162874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        tryStmtMetaModel.getConstructorParameters().add(tryStmtMetaModel.catchClausesPropertyMetaModel);
2172874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        tryStmtMetaModel.getConstructorParameters().add(tryStmtMetaModel.finallyBlockPropertyMetaModel);
2182874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        localClassDeclarationStmtMetaModel.getConstructorParameters().add(localClassDeclarationStmtMetaModel.classDeclarationPropertyMetaModel);
2192874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        whileStmtMetaModel.getConstructorParameters().add(whileStmtMetaModel.conditionPropertyMetaModel);
2202874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        whileStmtMetaModel.getConstructorParameters().add(whileStmtMetaModel.bodyPropertyMetaModel);
2212874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        arrayTypeMetaModel.getConstructorParameters().add(arrayTypeMetaModel.componentTypePropertyMetaModel);
222473e23020b61bd78eb8e56c120c425734aed7df1Danny van Bruggen        arrayTypeMetaModel.getConstructorParameters().add(arrayTypeMetaModel.originPropertyMetaModel);
2232874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        arrayTypeMetaModel.getConstructorParameters().add(typeMetaModel.annotationsPropertyMetaModel);
2242874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        classOrInterfaceTypeMetaModel.getConstructorParameters().add(classOrInterfaceTypeMetaModel.scopePropertyMetaModel);
2252874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        classOrInterfaceTypeMetaModel.getConstructorParameters().add(classOrInterfaceTypeMetaModel.namePropertyMetaModel);
2262874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        classOrInterfaceTypeMetaModel.getConstructorParameters().add(classOrInterfaceTypeMetaModel.typeArgumentsPropertyMetaModel);
2274e845ed7ad59e4d904f164bc161d6afc1db0255bDanny van Bruggen        classOrInterfaceTypeMetaModel.getConstructorParameters().add(typeMetaModel.annotationsPropertyMetaModel);
2282874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        intersectionTypeMetaModel.getConstructorParameters().add(intersectionTypeMetaModel.elementsPropertyMetaModel);
2292874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        primitiveTypeMetaModel.getConstructorParameters().add(primitiveTypeMetaModel.typePropertyMetaModel);
2305bba7b47f7616f423eb04d16671bb2e97f8f6cf7Danny van Bruggen        primitiveTypeMetaModel.getConstructorParameters().add(typeMetaModel.annotationsPropertyMetaModel);
2312874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        typeParameterMetaModel.getConstructorParameters().add(typeParameterMetaModel.namePropertyMetaModel);
2322874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        typeParameterMetaModel.getConstructorParameters().add(typeParameterMetaModel.typeBoundPropertyMetaModel);
2332874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        typeParameterMetaModel.getConstructorParameters().add(typeMetaModel.annotationsPropertyMetaModel);
2342874556fe5a7627e849a8fcad1289148e65c109fDanny van Bruggen        unionTypeMetaModel.getConstructorParameters().add(unionTypeMetaModel.elementsPropertyMetaModel);
2353bebb49c27250043d2742039ff4241c636c9c83cFederico Tomassetti        wildcardTypeMetaModel.getConstructorParameters().add(wildcardTypeMetaModel.extendedTypePropertyMetaModel);
2363bebb49c27250043d2742039ff4241c636c9c83cFederico Tomassetti        wildcardTypeMetaModel.getConstructorParameters().add(wildcardTypeMetaModel.superTypePropertyMetaModel);
23757e336990873e60b0ef6c21f00c7d99661e74b61Danny van Bruggen        wildcardTypeMetaModel.getConstructorParameters().add(typeMetaModel.annotationsPropertyMetaModel);
23888d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleRequiresStmtMetaModel.getConstructorParameters().add(moduleRequiresStmtMetaModel.modifiersPropertyMetaModel);
23988d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleRequiresStmtMetaModel.getConstructorParameters().add(moduleRequiresStmtMetaModel.namePropertyMetaModel);
24088d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleExportsStmtMetaModel.getConstructorParameters().add(moduleExportsStmtMetaModel.namePropertyMetaModel);
24188d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleExportsStmtMetaModel.getConstructorParameters().add(moduleExportsStmtMetaModel.moduleNamesPropertyMetaModel);
24288d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleProvidesStmtMetaModel.getConstructorParameters().add(moduleProvidesStmtMetaModel.typePropertyMetaModel);
24388d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleProvidesStmtMetaModel.getConstructorParameters().add(moduleProvidesStmtMetaModel.withTypesPropertyMetaModel);
24488d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleUsesStmtMetaModel.getConstructorParameters().add(moduleUsesStmtMetaModel.typePropertyMetaModel);
24588d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleOpensStmtMetaModel.getConstructorParameters().add(moduleOpensStmtMetaModel.namePropertyMetaModel);
24688d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleOpensStmtMetaModel.getConstructorParameters().add(moduleOpensStmtMetaModel.moduleNamesPropertyMetaModel);
2475751a1b29ee226ab89d1193a9b14ce093c064c53Danny van Bruggen    }
2485751a1b29ee226ab89d1193a9b14ce093c064c53Danny van Bruggen
249106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static List<BaseNodeMetaModel> getNodeMetaModels() {
250968a83319e36ab864daf78398bf45afa1eb34de7Danny van Bruggen        return nodeMetaModels;
251968a83319e36ab864daf78398bf45afa1eb34de7Danny van Bruggen    }
252968a83319e36ab864daf78398bf45afa1eb34de7Danny van Bruggen
253106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    private static void initializeNodeMetaModels() {
25498c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(annotationDeclarationMetaModel);
25598c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(annotationExprMetaModel);
25698c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(annotationMemberDeclarationMetaModel);
25798c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(arrayAccessExprMetaModel);
25898c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(arrayCreationExprMetaModel);
25998c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(arrayCreationLevelMetaModel);
26098c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(arrayInitializerExprMetaModel);
26198c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(arrayTypeMetaModel);
26298c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(assertStmtMetaModel);
26398c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(assignExprMetaModel);
26498c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(binaryExprMetaModel);
26598c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(blockCommentMetaModel);
26698c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(blockStmtMetaModel);
26798c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(bodyDeclarationMetaModel);
26898c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(booleanLiteralExprMetaModel);
26998c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(breakStmtMetaModel);
2706084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        nodeMetaModels.add(callableDeclarationMetaModel);
27198c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(castExprMetaModel);
27298c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(catchClauseMetaModel);
27398c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(charLiteralExprMetaModel);
27498c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(classExprMetaModel);
27598c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(classOrInterfaceDeclarationMetaModel);
27698c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(classOrInterfaceTypeMetaModel);
27798c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(commentMetaModel);
27898c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(compilationUnitMetaModel);
27998c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(conditionalExprMetaModel);
28098c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(constructorDeclarationMetaModel);
28198c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(continueStmtMetaModel);
28298c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(doStmtMetaModel);
28398c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(doubleLiteralExprMetaModel);
28498c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(emptyStmtMetaModel);
28598c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(enclosedExprMetaModel);
28698c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(enumConstantDeclarationMetaModel);
28798c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(enumDeclarationMetaModel);
28898c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(explicitConstructorInvocationStmtMetaModel);
28998c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(expressionMetaModel);
29098c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(expressionStmtMetaModel);
29198c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(fieldAccessExprMetaModel);
29298c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(fieldDeclarationMetaModel);
29398c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(forStmtMetaModel);
29498c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(foreachStmtMetaModel);
29598c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(ifStmtMetaModel);
29698c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(importDeclarationMetaModel);
29798c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(initializerDeclarationMetaModel);
29898c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(instanceOfExprMetaModel);
29998c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(integerLiteralExprMetaModel);
30098c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(intersectionTypeMetaModel);
30198c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(javadocCommentMetaModel);
30298c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(labeledStmtMetaModel);
30398c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(lambdaExprMetaModel);
30498c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(lineCommentMetaModel);
30598c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(literalExprMetaModel);
306083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen        nodeMetaModels.add(literalStringValueExprMetaModel);
30798c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(localClassDeclarationStmtMetaModel);
30898c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(longLiteralExprMetaModel);
30998c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(markerAnnotationExprMetaModel);
31098c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(memberValuePairMetaModel);
31198c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(methodCallExprMetaModel);
31298c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(methodDeclarationMetaModel);
31398c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(methodReferenceExprMetaModel);
31488d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        nodeMetaModels.add(moduleDeclarationMetaModel);
31588d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        nodeMetaModels.add(moduleExportsStmtMetaModel);
31688d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        nodeMetaModels.add(moduleOpensStmtMetaModel);
31788d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        nodeMetaModels.add(moduleProvidesStmtMetaModel);
31888d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        nodeMetaModels.add(moduleRequiresStmtMetaModel);
31988d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        nodeMetaModels.add(moduleStmtMetaModel);
32088d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        nodeMetaModels.add(moduleUsesStmtMetaModel);
32198c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(nameExprMetaModel);
32298c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(nameMetaModel);
32398c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(nodeMetaModel);
32498c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(normalAnnotationExprMetaModel);
32598c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(nullLiteralExprMetaModel);
32698c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(objectCreationExprMetaModel);
32798c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(packageDeclarationMetaModel);
32898c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(parameterMetaModel);
32998c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(primitiveTypeMetaModel);
3302e435be05d9200097a6edf9f89d83b9330fd5135Danny van Bruggen        nodeMetaModels.add(receiverParameterMetaModel);
33198c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(referenceTypeMetaModel);
33298c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(returnStmtMetaModel);
33398c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(simpleNameMetaModel);
33498c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(singleMemberAnnotationExprMetaModel);
33598c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(statementMetaModel);
33698c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(stringLiteralExprMetaModel);
33798c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(superExprMetaModel);
33898c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(switchEntryStmtMetaModel);
33998c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(switchStmtMetaModel);
34098c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(synchronizedStmtMetaModel);
34198c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(thisExprMetaModel);
34298c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(throwStmtMetaModel);
34398c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(tryStmtMetaModel);
34498c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(typeDeclarationMetaModel);
34598c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(typeExprMetaModel);
34698c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(typeMetaModel);
34798c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(typeParameterMetaModel);
34898c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(unaryExprMetaModel);
34998c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(unionTypeMetaModel);
35098c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(unknownTypeMetaModel);
3516e27cb0fbf02039407c001523f61a79c48af307dDanny van Bruggen        nodeMetaModels.add(unparsableStmtMetaModel);
352d7bb34fa5033f252060bcff360735967a4f3b02cDanny van Bruggen        nodeMetaModels.add(varTypeMetaModel);
35398c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(variableDeclarationExprMetaModel);
35498c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(variableDeclaratorMetaModel);
35598c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(voidTypeMetaModel);
35698c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(whileStmtMetaModel);
35798c1385992bf788ddd9367322d0f63bd0d6f9477Danny van Bruggen        nodeMetaModels.add(wildcardTypeMetaModel);
3588a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen    }
3598a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
360106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    private static void initializePropertyMetaModels() {
3611bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        nodeMetaModel.commentPropertyMetaModel = new PropertyMetaModel(nodeMetaModel, "comment", com.github.javaparser.ast.comments.Comment.class, Optional.of(commentMetaModel), true, false, false, false, false);
3620f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        nodeMetaModel.getDeclaredPropertyMetaModels().add(nodeMetaModel.commentPropertyMetaModel);
3631bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        bodyDeclarationMetaModel.annotationsPropertyMetaModel = new PropertyMetaModel(bodyDeclarationMetaModel, "annotations", com.github.javaparser.ast.expr.AnnotationExpr.class, Optional.of(annotationExprMetaModel), false, false, true, false, false);
3640f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        bodyDeclarationMetaModel.getDeclaredPropertyMetaModels().add(bodyDeclarationMetaModel.annotationsPropertyMetaModel);
3656084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        callableDeclarationMetaModel.modifiersPropertyMetaModel = new PropertyMetaModel(callableDeclarationMetaModel, "modifiers", com.github.javaparser.ast.Modifier.class, Optional.empty(), false, false, false, true, false);
3666084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        callableDeclarationMetaModel.getDeclaredPropertyMetaModels().add(callableDeclarationMetaModel.modifiersPropertyMetaModel);
3676084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        callableDeclarationMetaModel.namePropertyMetaModel = new PropertyMetaModel(callableDeclarationMetaModel, "name", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), false, false, false, false, false);
3686084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        callableDeclarationMetaModel.getDeclaredPropertyMetaModels().add(callableDeclarationMetaModel.namePropertyMetaModel);
3696084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        callableDeclarationMetaModel.parametersPropertyMetaModel = new PropertyMetaModel(callableDeclarationMetaModel, "parameters", com.github.javaparser.ast.body.Parameter.class, Optional.of(parameterMetaModel), false, false, true, false, false);
3706084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        callableDeclarationMetaModel.getDeclaredPropertyMetaModels().add(callableDeclarationMetaModel.parametersPropertyMetaModel);
371660b7248ab889410a598d37bde32bbba7ed0ef4eDanny van Bruggen        callableDeclarationMetaModel.receiverParameterPropertyMetaModel = new PropertyMetaModel(callableDeclarationMetaModel, "receiverParameter", com.github.javaparser.ast.body.ReceiverParameter.class, Optional.of(receiverParameterMetaModel), true, false, false, false, false);
372660b7248ab889410a598d37bde32bbba7ed0ef4eDanny van Bruggen        callableDeclarationMetaModel.getDeclaredPropertyMetaModels().add(callableDeclarationMetaModel.receiverParameterPropertyMetaModel);
373f1d5a0fa08b995d8080b5d6c82fabb0db05152a4Danny van Bruggen        callableDeclarationMetaModel.thrownExceptionsPropertyMetaModel = new PropertyMetaModel(callableDeclarationMetaModel, "thrownExceptions", com.github.javaparser.ast.type.ReferenceType.class, Optional.of(referenceTypeMetaModel), false, false, true, false, false);
3746084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        callableDeclarationMetaModel.getDeclaredPropertyMetaModels().add(callableDeclarationMetaModel.thrownExceptionsPropertyMetaModel);
3756084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        callableDeclarationMetaModel.typeParametersPropertyMetaModel = new PropertyMetaModel(callableDeclarationMetaModel, "typeParameters", com.github.javaparser.ast.type.TypeParameter.class, Optional.of(typeParameterMetaModel), false, false, true, false, false);
3766084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen        callableDeclarationMetaModel.getDeclaredPropertyMetaModels().add(callableDeclarationMetaModel.typeParametersPropertyMetaModel);
3771bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        typeMetaModel.annotationsPropertyMetaModel = new PropertyMetaModel(typeMetaModel, "annotations", com.github.javaparser.ast.expr.AnnotationExpr.class, Optional.of(annotationExprMetaModel), false, false, true, false, false);
3780f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        typeMetaModel.getDeclaredPropertyMetaModels().add(typeMetaModel.annotationsPropertyMetaModel);
3791bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        annotationExprMetaModel.namePropertyMetaModel = new PropertyMetaModel(annotationExprMetaModel, "name", com.github.javaparser.ast.expr.Name.class, Optional.of(nameMetaModel), false, false, false, false, false);
3800f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        annotationExprMetaModel.getDeclaredPropertyMetaModels().add(annotationExprMetaModel.namePropertyMetaModel);
3811bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        typeDeclarationMetaModel.membersPropertyMetaModel = new PropertyMetaModel(typeDeclarationMetaModel, "members", com.github.javaparser.ast.body.BodyDeclaration.class, Optional.of(bodyDeclarationMetaModel), false, false, true, false, true);
3820f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        typeDeclarationMetaModel.getDeclaredPropertyMetaModels().add(typeDeclarationMetaModel.membersPropertyMetaModel);
3831bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        typeDeclarationMetaModel.modifiersPropertyMetaModel = new PropertyMetaModel(typeDeclarationMetaModel, "modifiers", com.github.javaparser.ast.Modifier.class, Optional.empty(), false, false, false, true, false);
3840f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        typeDeclarationMetaModel.getDeclaredPropertyMetaModels().add(typeDeclarationMetaModel.modifiersPropertyMetaModel);
3851bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        typeDeclarationMetaModel.namePropertyMetaModel = new PropertyMetaModel(typeDeclarationMetaModel, "name", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), false, false, false, false, false);
3860f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        typeDeclarationMetaModel.getDeclaredPropertyMetaModels().add(typeDeclarationMetaModel.namePropertyMetaModel);
387083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen        literalStringValueExprMetaModel.valuePropertyMetaModel = new PropertyMetaModel(literalStringValueExprMetaModel, "value", java.lang.String.class, Optional.empty(), false, false, false, false, false);
388083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen        literalStringValueExprMetaModel.getDeclaredPropertyMetaModels().add(literalStringValueExprMetaModel.valuePropertyMetaModel);
38988d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleDeclarationMetaModel.annotationsPropertyMetaModel = new PropertyMetaModel(moduleDeclarationMetaModel, "annotations", com.github.javaparser.ast.expr.AnnotationExpr.class, Optional.of(annotationExprMetaModel), false, false, true, false, false);
39088d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleDeclarationMetaModel.getDeclaredPropertyMetaModels().add(moduleDeclarationMetaModel.annotationsPropertyMetaModel);
39188d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleDeclarationMetaModel.isOpenPropertyMetaModel = new PropertyMetaModel(moduleDeclarationMetaModel, "isOpen", boolean.class, Optional.empty(), false, false, false, false, false);
39288d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleDeclarationMetaModel.getDeclaredPropertyMetaModels().add(moduleDeclarationMetaModel.isOpenPropertyMetaModel);
39388d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleDeclarationMetaModel.moduleStmtsPropertyMetaModel = new PropertyMetaModel(moduleDeclarationMetaModel, "moduleStmts", com.github.javaparser.ast.modules.ModuleStmt.class, Optional.of(moduleStmtMetaModel), false, false, true, false, false);
39488d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleDeclarationMetaModel.getDeclaredPropertyMetaModels().add(moduleDeclarationMetaModel.moduleStmtsPropertyMetaModel);
39588d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleDeclarationMetaModel.namePropertyMetaModel = new PropertyMetaModel(moduleDeclarationMetaModel, "name", com.github.javaparser.ast.expr.Name.class, Optional.of(nameMetaModel), false, false, false, false, false);
39688d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleDeclarationMetaModel.getDeclaredPropertyMetaModels().add(moduleDeclarationMetaModel.namePropertyMetaModel);
3971bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        arrayCreationLevelMetaModel.annotationsPropertyMetaModel = new PropertyMetaModel(arrayCreationLevelMetaModel, "annotations", com.github.javaparser.ast.expr.AnnotationExpr.class, Optional.of(annotationExprMetaModel), false, false, true, false, false);
3980f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        arrayCreationLevelMetaModel.getDeclaredPropertyMetaModels().add(arrayCreationLevelMetaModel.annotationsPropertyMetaModel);
3991bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        arrayCreationLevelMetaModel.dimensionPropertyMetaModel = new PropertyMetaModel(arrayCreationLevelMetaModel, "dimension", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false, false);
4000f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        arrayCreationLevelMetaModel.getDeclaredPropertyMetaModels().add(arrayCreationLevelMetaModel.dimensionPropertyMetaModel);
4011bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        compilationUnitMetaModel.importsPropertyMetaModel = new PropertyMetaModel(compilationUnitMetaModel, "imports", com.github.javaparser.ast.ImportDeclaration.class, Optional.of(importDeclarationMetaModel), false, false, true, false, false);
4020f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        compilationUnitMetaModel.getDeclaredPropertyMetaModels().add(compilationUnitMetaModel.importsPropertyMetaModel);
40388d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        compilationUnitMetaModel.modulePropertyMetaModel = new PropertyMetaModel(compilationUnitMetaModel, "module", com.github.javaparser.ast.modules.ModuleDeclaration.class, Optional.of(moduleDeclarationMetaModel), true, false, false, false, false);
40488d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        compilationUnitMetaModel.getDeclaredPropertyMetaModels().add(compilationUnitMetaModel.modulePropertyMetaModel);
4051bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        compilationUnitMetaModel.packageDeclarationPropertyMetaModel = new PropertyMetaModel(compilationUnitMetaModel, "packageDeclaration", com.github.javaparser.ast.PackageDeclaration.class, Optional.of(packageDeclarationMetaModel), true, false, false, false, false);
4060f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        compilationUnitMetaModel.getDeclaredPropertyMetaModels().add(compilationUnitMetaModel.packageDeclarationPropertyMetaModel);
4071bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        compilationUnitMetaModel.typesPropertyMetaModel = new PropertyMetaModel(compilationUnitMetaModel, "types", com.github.javaparser.ast.body.TypeDeclaration.class, Optional.of(typeDeclarationMetaModel), false, false, true, false, true);
4080f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        compilationUnitMetaModel.getDeclaredPropertyMetaModels().add(compilationUnitMetaModel.typesPropertyMetaModel);
4091bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        packageDeclarationMetaModel.annotationsPropertyMetaModel = new PropertyMetaModel(packageDeclarationMetaModel, "annotations", com.github.javaparser.ast.expr.AnnotationExpr.class, Optional.of(annotationExprMetaModel), false, false, true, false, false);
4100f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        packageDeclarationMetaModel.getDeclaredPropertyMetaModels().add(packageDeclarationMetaModel.annotationsPropertyMetaModel);
4111bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        packageDeclarationMetaModel.namePropertyMetaModel = new PropertyMetaModel(packageDeclarationMetaModel, "name", com.github.javaparser.ast.expr.Name.class, Optional.of(nameMetaModel), false, false, false, false, false);
4120f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        packageDeclarationMetaModel.getDeclaredPropertyMetaModels().add(packageDeclarationMetaModel.namePropertyMetaModel);
4131bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        annotationMemberDeclarationMetaModel.defaultValuePropertyMetaModel = new PropertyMetaModel(annotationMemberDeclarationMetaModel, "defaultValue", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false, false);
4140f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        annotationMemberDeclarationMetaModel.getDeclaredPropertyMetaModels().add(annotationMemberDeclarationMetaModel.defaultValuePropertyMetaModel);
4151bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        annotationMemberDeclarationMetaModel.modifiersPropertyMetaModel = new PropertyMetaModel(annotationMemberDeclarationMetaModel, "modifiers", com.github.javaparser.ast.Modifier.class, Optional.empty(), false, false, false, true, false);
4160f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        annotationMemberDeclarationMetaModel.getDeclaredPropertyMetaModels().add(annotationMemberDeclarationMetaModel.modifiersPropertyMetaModel);
4171bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        annotationMemberDeclarationMetaModel.namePropertyMetaModel = new PropertyMetaModel(annotationMemberDeclarationMetaModel, "name", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), false, false, false, false, false);
4180f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        annotationMemberDeclarationMetaModel.getDeclaredPropertyMetaModels().add(annotationMemberDeclarationMetaModel.namePropertyMetaModel);
4191bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        annotationMemberDeclarationMetaModel.typePropertyMetaModel = new PropertyMetaModel(annotationMemberDeclarationMetaModel, "type", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), false, false, false, false, false);
4200f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        annotationMemberDeclarationMetaModel.getDeclaredPropertyMetaModels().add(annotationMemberDeclarationMetaModel.typePropertyMetaModel);
4211bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        classOrInterfaceDeclarationMetaModel.extendedTypesPropertyMetaModel = new PropertyMetaModel(classOrInterfaceDeclarationMetaModel, "extendedTypes", com.github.javaparser.ast.type.ClassOrInterfaceType.class, Optional.of(classOrInterfaceTypeMetaModel), false, false, true, false, false);
4220f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        classOrInterfaceDeclarationMetaModel.getDeclaredPropertyMetaModels().add(classOrInterfaceDeclarationMetaModel.extendedTypesPropertyMetaModel);
4231bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        classOrInterfaceDeclarationMetaModel.implementedTypesPropertyMetaModel = new PropertyMetaModel(classOrInterfaceDeclarationMetaModel, "implementedTypes", com.github.javaparser.ast.type.ClassOrInterfaceType.class, Optional.of(classOrInterfaceTypeMetaModel), false, false, true, false, false);
4240f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        classOrInterfaceDeclarationMetaModel.getDeclaredPropertyMetaModels().add(classOrInterfaceDeclarationMetaModel.implementedTypesPropertyMetaModel);
4251bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        classOrInterfaceDeclarationMetaModel.isInterfacePropertyMetaModel = new PropertyMetaModel(classOrInterfaceDeclarationMetaModel, "isInterface", boolean.class, Optional.empty(), false, false, false, false, false);
4260f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        classOrInterfaceDeclarationMetaModel.getDeclaredPropertyMetaModels().add(classOrInterfaceDeclarationMetaModel.isInterfacePropertyMetaModel);
4271bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        classOrInterfaceDeclarationMetaModel.typeParametersPropertyMetaModel = new PropertyMetaModel(classOrInterfaceDeclarationMetaModel, "typeParameters", com.github.javaparser.ast.type.TypeParameter.class, Optional.of(typeParameterMetaModel), false, false, true, false, false);
4280f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        classOrInterfaceDeclarationMetaModel.getDeclaredPropertyMetaModels().add(classOrInterfaceDeclarationMetaModel.typeParametersPropertyMetaModel);
4291bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        constructorDeclarationMetaModel.bodyPropertyMetaModel = new PropertyMetaModel(constructorDeclarationMetaModel, "body", com.github.javaparser.ast.stmt.BlockStmt.class, Optional.of(blockStmtMetaModel), false, false, false, false, false);
4300f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        constructorDeclarationMetaModel.getDeclaredPropertyMetaModels().add(constructorDeclarationMetaModel.bodyPropertyMetaModel);
4311bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        enumConstantDeclarationMetaModel.argumentsPropertyMetaModel = new PropertyMetaModel(enumConstantDeclarationMetaModel, "arguments", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, true, false, false);
4320f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        enumConstantDeclarationMetaModel.getDeclaredPropertyMetaModels().add(enumConstantDeclarationMetaModel.argumentsPropertyMetaModel);
4331bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        enumConstantDeclarationMetaModel.classBodyPropertyMetaModel = new PropertyMetaModel(enumConstantDeclarationMetaModel, "classBody", com.github.javaparser.ast.body.BodyDeclaration.class, Optional.of(bodyDeclarationMetaModel), false, false, true, false, true);
4340f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        enumConstantDeclarationMetaModel.getDeclaredPropertyMetaModels().add(enumConstantDeclarationMetaModel.classBodyPropertyMetaModel);
4351bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        enumConstantDeclarationMetaModel.namePropertyMetaModel = new PropertyMetaModel(enumConstantDeclarationMetaModel, "name", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), false, false, false, false, false);
4360f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        enumConstantDeclarationMetaModel.getDeclaredPropertyMetaModels().add(enumConstantDeclarationMetaModel.namePropertyMetaModel);
4371bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        enumDeclarationMetaModel.entriesPropertyMetaModel = new PropertyMetaModel(enumDeclarationMetaModel, "entries", com.github.javaparser.ast.body.EnumConstantDeclaration.class, Optional.of(enumConstantDeclarationMetaModel), false, false, true, false, false);
4380f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        enumDeclarationMetaModel.getDeclaredPropertyMetaModels().add(enumDeclarationMetaModel.entriesPropertyMetaModel);
4391bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        enumDeclarationMetaModel.implementedTypesPropertyMetaModel = new PropertyMetaModel(enumDeclarationMetaModel, "implementedTypes", com.github.javaparser.ast.type.ClassOrInterfaceType.class, Optional.of(classOrInterfaceTypeMetaModel), false, false, true, false, false);
4400f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        enumDeclarationMetaModel.getDeclaredPropertyMetaModels().add(enumDeclarationMetaModel.implementedTypesPropertyMetaModel);
4411bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        fieldDeclarationMetaModel.modifiersPropertyMetaModel = new PropertyMetaModel(fieldDeclarationMetaModel, "modifiers", com.github.javaparser.ast.Modifier.class, Optional.empty(), false, false, false, true, false);
4420f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        fieldDeclarationMetaModel.getDeclaredPropertyMetaModels().add(fieldDeclarationMetaModel.modifiersPropertyMetaModel);
443c44aa907991aa1e0ad5e3ce95a6b99463dc032caDanny van Bruggen        fieldDeclarationMetaModel.variablesPropertyMetaModel = new PropertyMetaModel(fieldDeclarationMetaModel, "variables", com.github.javaparser.ast.body.VariableDeclarator.class, Optional.of(variableDeclaratorMetaModel), false, true, true, false, false);
4440f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        fieldDeclarationMetaModel.getDeclaredPropertyMetaModels().add(fieldDeclarationMetaModel.variablesPropertyMetaModel);
445d7bb34fa5033f252060bcff360735967a4f3b02cDanny van Bruggen        fieldDeclarationMetaModel.maximumCommonTypePropertyMetaModel = new PropertyMetaModel(fieldDeclarationMetaModel, "maximumCommonType", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), true, false, false, false, false);
446bf54eabb1769dcf3c1675312f9cb8cc043335ee1Federico Tomassetti        fieldDeclarationMetaModel.getDerivedPropertyMetaModels().add(fieldDeclarationMetaModel.maximumCommonTypePropertyMetaModel);
4471bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        initializerDeclarationMetaModel.bodyPropertyMetaModel = new PropertyMetaModel(initializerDeclarationMetaModel, "body", com.github.javaparser.ast.stmt.BlockStmt.class, Optional.of(blockStmtMetaModel), false, false, false, false, false);
4480f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        initializerDeclarationMetaModel.getDeclaredPropertyMetaModels().add(initializerDeclarationMetaModel.bodyPropertyMetaModel);
4491bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        initializerDeclarationMetaModel.isStaticPropertyMetaModel = new PropertyMetaModel(initializerDeclarationMetaModel, "isStatic", boolean.class, Optional.empty(), false, false, false, false, false);
4500f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        initializerDeclarationMetaModel.getDeclaredPropertyMetaModels().add(initializerDeclarationMetaModel.isStaticPropertyMetaModel);
4511bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        methodDeclarationMetaModel.bodyPropertyMetaModel = new PropertyMetaModel(methodDeclarationMetaModel, "body", com.github.javaparser.ast.stmt.BlockStmt.class, Optional.of(blockStmtMetaModel), true, false, false, false, false);
4520f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        methodDeclarationMetaModel.getDeclaredPropertyMetaModels().add(methodDeclarationMetaModel.bodyPropertyMetaModel);
4531bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        methodDeclarationMetaModel.typePropertyMetaModel = new PropertyMetaModel(methodDeclarationMetaModel, "type", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), false, false, false, false, false);
4540f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        methodDeclarationMetaModel.getDeclaredPropertyMetaModels().add(methodDeclarationMetaModel.typePropertyMetaModel);
4551bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        parameterMetaModel.annotationsPropertyMetaModel = new PropertyMetaModel(parameterMetaModel, "annotations", com.github.javaparser.ast.expr.AnnotationExpr.class, Optional.of(annotationExprMetaModel), false, false, true, false, false);
4560f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        parameterMetaModel.getDeclaredPropertyMetaModels().add(parameterMetaModel.annotationsPropertyMetaModel);
4571bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        parameterMetaModel.isVarArgsPropertyMetaModel = new PropertyMetaModel(parameterMetaModel, "isVarArgs", boolean.class, Optional.empty(), false, false, false, false, false);
4580f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        parameterMetaModel.getDeclaredPropertyMetaModels().add(parameterMetaModel.isVarArgsPropertyMetaModel);
4591bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        parameterMetaModel.modifiersPropertyMetaModel = new PropertyMetaModel(parameterMetaModel, "modifiers", com.github.javaparser.ast.Modifier.class, Optional.empty(), false, false, false, true, false);
4600f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        parameterMetaModel.getDeclaredPropertyMetaModels().add(parameterMetaModel.modifiersPropertyMetaModel);
4611bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        parameterMetaModel.namePropertyMetaModel = new PropertyMetaModel(parameterMetaModel, "name", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), false, false, false, false, false);
4620f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        parameterMetaModel.getDeclaredPropertyMetaModels().add(parameterMetaModel.namePropertyMetaModel);
4631bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        parameterMetaModel.typePropertyMetaModel = new PropertyMetaModel(parameterMetaModel, "type", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), false, false, false, false, false);
4640f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        parameterMetaModel.getDeclaredPropertyMetaModels().add(parameterMetaModel.typePropertyMetaModel);
465366457d9abb4de2bdf2bcf4d7c1ce20ec3a52a60Danny van Bruggen        parameterMetaModel.varArgsAnnotationsPropertyMetaModel = new PropertyMetaModel(parameterMetaModel, "varArgsAnnotations", com.github.javaparser.ast.expr.AnnotationExpr.class, Optional.of(annotationExprMetaModel), false, false, true, false, false);
466366457d9abb4de2bdf2bcf4d7c1ce20ec3a52a60Danny van Bruggen        parameterMetaModel.getDeclaredPropertyMetaModels().add(parameterMetaModel.varArgsAnnotationsPropertyMetaModel);
4672e435be05d9200097a6edf9f89d83b9330fd5135Danny van Bruggen        receiverParameterMetaModel.annotationsPropertyMetaModel = new PropertyMetaModel(receiverParameterMetaModel, "annotations", com.github.javaparser.ast.expr.AnnotationExpr.class, Optional.of(annotationExprMetaModel), false, false, true, false, false);
4682e435be05d9200097a6edf9f89d83b9330fd5135Danny van Bruggen        receiverParameterMetaModel.getDeclaredPropertyMetaModels().add(receiverParameterMetaModel.annotationsPropertyMetaModel);
4692e435be05d9200097a6edf9f89d83b9330fd5135Danny van Bruggen        receiverParameterMetaModel.namePropertyMetaModel = new PropertyMetaModel(receiverParameterMetaModel, "name", com.github.javaparser.ast.expr.Name.class, Optional.of(nameMetaModel), false, false, false, false, false);
4702e435be05d9200097a6edf9f89d83b9330fd5135Danny van Bruggen        receiverParameterMetaModel.getDeclaredPropertyMetaModels().add(receiverParameterMetaModel.namePropertyMetaModel);
4712e435be05d9200097a6edf9f89d83b9330fd5135Danny van Bruggen        receiverParameterMetaModel.typePropertyMetaModel = new PropertyMetaModel(receiverParameterMetaModel, "type", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), false, false, false, false, false);
4722e435be05d9200097a6edf9f89d83b9330fd5135Danny van Bruggen        receiverParameterMetaModel.getDeclaredPropertyMetaModels().add(receiverParameterMetaModel.typePropertyMetaModel);
4731bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        variableDeclaratorMetaModel.initializerPropertyMetaModel = new PropertyMetaModel(variableDeclaratorMetaModel, "initializer", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, true, false, false, false);
4740f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        variableDeclaratorMetaModel.getDeclaredPropertyMetaModels().add(variableDeclaratorMetaModel.initializerPropertyMetaModel);
4751bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        variableDeclaratorMetaModel.namePropertyMetaModel = new PropertyMetaModel(variableDeclaratorMetaModel, "name", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), false, false, false, false, false);
4760f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        variableDeclaratorMetaModel.getDeclaredPropertyMetaModels().add(variableDeclaratorMetaModel.namePropertyMetaModel);
4771bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        variableDeclaratorMetaModel.typePropertyMetaModel = new PropertyMetaModel(variableDeclaratorMetaModel, "type", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), false, false, false, false, false);
4780f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        variableDeclaratorMetaModel.getDeclaredPropertyMetaModels().add(variableDeclaratorMetaModel.typePropertyMetaModel);
4791bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        commentMetaModel.contentPropertyMetaModel = new PropertyMetaModel(commentMetaModel, "content", java.lang.String.class, Optional.empty(), false, false, false, false, false);
4800f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        commentMetaModel.getDeclaredPropertyMetaModels().add(commentMetaModel.contentPropertyMetaModel);
4811bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        arrayAccessExprMetaModel.indexPropertyMetaModel = new PropertyMetaModel(arrayAccessExprMetaModel, "index", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
4820f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        arrayAccessExprMetaModel.getDeclaredPropertyMetaModels().add(arrayAccessExprMetaModel.indexPropertyMetaModel);
4831bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        arrayAccessExprMetaModel.namePropertyMetaModel = new PropertyMetaModel(arrayAccessExprMetaModel, "name", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
4840f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        arrayAccessExprMetaModel.getDeclaredPropertyMetaModels().add(arrayAccessExprMetaModel.namePropertyMetaModel);
4851bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        arrayCreationExprMetaModel.elementTypePropertyMetaModel = new PropertyMetaModel(arrayCreationExprMetaModel, "elementType", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), false, false, false, false, false);
4860f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        arrayCreationExprMetaModel.getDeclaredPropertyMetaModels().add(arrayCreationExprMetaModel.elementTypePropertyMetaModel);
4871bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        arrayCreationExprMetaModel.initializerPropertyMetaModel = new PropertyMetaModel(arrayCreationExprMetaModel, "initializer", com.github.javaparser.ast.expr.ArrayInitializerExpr.class, Optional.of(arrayInitializerExprMetaModel), true, false, false, false, false);
4880f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        arrayCreationExprMetaModel.getDeclaredPropertyMetaModels().add(arrayCreationExprMetaModel.initializerPropertyMetaModel);
489c44aa907991aa1e0ad5e3ce95a6b99463dc032caDanny van Bruggen        arrayCreationExprMetaModel.levelsPropertyMetaModel = new PropertyMetaModel(arrayCreationExprMetaModel, "levels", com.github.javaparser.ast.ArrayCreationLevel.class, Optional.of(arrayCreationLevelMetaModel), false, true, true, false, false);
4900f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        arrayCreationExprMetaModel.getDeclaredPropertyMetaModels().add(arrayCreationExprMetaModel.levelsPropertyMetaModel);
4911bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        arrayInitializerExprMetaModel.valuesPropertyMetaModel = new PropertyMetaModel(arrayInitializerExprMetaModel, "values", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, true, false, false);
4920f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        arrayInitializerExprMetaModel.getDeclaredPropertyMetaModels().add(arrayInitializerExprMetaModel.valuesPropertyMetaModel);
4931bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        assignExprMetaModel.operatorPropertyMetaModel = new PropertyMetaModel(assignExprMetaModel, "operator", com.github.javaparser.ast.expr.AssignExpr.Operator.class, Optional.empty(), false, false, false, false, false);
4940f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        assignExprMetaModel.getDeclaredPropertyMetaModels().add(assignExprMetaModel.operatorPropertyMetaModel);
4951bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        assignExprMetaModel.targetPropertyMetaModel = new PropertyMetaModel(assignExprMetaModel, "target", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
4960f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        assignExprMetaModel.getDeclaredPropertyMetaModels().add(assignExprMetaModel.targetPropertyMetaModel);
4971bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        assignExprMetaModel.valuePropertyMetaModel = new PropertyMetaModel(assignExprMetaModel, "value", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
4980f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        assignExprMetaModel.getDeclaredPropertyMetaModels().add(assignExprMetaModel.valuePropertyMetaModel);
4991bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        binaryExprMetaModel.leftPropertyMetaModel = new PropertyMetaModel(binaryExprMetaModel, "left", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
5000f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        binaryExprMetaModel.getDeclaredPropertyMetaModels().add(binaryExprMetaModel.leftPropertyMetaModel);
5011bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        binaryExprMetaModel.operatorPropertyMetaModel = new PropertyMetaModel(binaryExprMetaModel, "operator", com.github.javaparser.ast.expr.BinaryExpr.Operator.class, Optional.empty(), false, false, false, false, false);
5020f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        binaryExprMetaModel.getDeclaredPropertyMetaModels().add(binaryExprMetaModel.operatorPropertyMetaModel);
5031bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        binaryExprMetaModel.rightPropertyMetaModel = new PropertyMetaModel(binaryExprMetaModel, "right", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
5040f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        binaryExprMetaModel.getDeclaredPropertyMetaModels().add(binaryExprMetaModel.rightPropertyMetaModel);
5051bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        booleanLiteralExprMetaModel.valuePropertyMetaModel = new PropertyMetaModel(booleanLiteralExprMetaModel, "value", boolean.class, Optional.empty(), false, false, false, false, false);
5060f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        booleanLiteralExprMetaModel.getDeclaredPropertyMetaModels().add(booleanLiteralExprMetaModel.valuePropertyMetaModel);
5071bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        castExprMetaModel.expressionPropertyMetaModel = new PropertyMetaModel(castExprMetaModel, "expression", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
5080f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        castExprMetaModel.getDeclaredPropertyMetaModels().add(castExprMetaModel.expressionPropertyMetaModel);
5091bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        castExprMetaModel.typePropertyMetaModel = new PropertyMetaModel(castExprMetaModel, "type", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), false, false, false, false, false);
5100f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        castExprMetaModel.getDeclaredPropertyMetaModels().add(castExprMetaModel.typePropertyMetaModel);
5111bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        classExprMetaModel.typePropertyMetaModel = new PropertyMetaModel(classExprMetaModel, "type", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), false, false, false, false, false);
5120f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        classExprMetaModel.getDeclaredPropertyMetaModels().add(classExprMetaModel.typePropertyMetaModel);
5131bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        conditionalExprMetaModel.conditionPropertyMetaModel = new PropertyMetaModel(conditionalExprMetaModel, "condition", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
5140f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        conditionalExprMetaModel.getDeclaredPropertyMetaModels().add(conditionalExprMetaModel.conditionPropertyMetaModel);
5151bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        conditionalExprMetaModel.elseExprPropertyMetaModel = new PropertyMetaModel(conditionalExprMetaModel, "elseExpr", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
5160f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        conditionalExprMetaModel.getDeclaredPropertyMetaModels().add(conditionalExprMetaModel.elseExprPropertyMetaModel);
5171bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        conditionalExprMetaModel.thenExprPropertyMetaModel = new PropertyMetaModel(conditionalExprMetaModel, "thenExpr", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
5180f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        conditionalExprMetaModel.getDeclaredPropertyMetaModels().add(conditionalExprMetaModel.thenExprPropertyMetaModel);
5196862af62257c2fc7b46263b87bbb211b5f091497Danny van Bruggen        enclosedExprMetaModel.innerPropertyMetaModel = new PropertyMetaModel(enclosedExprMetaModel, "inner", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
5200f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        enclosedExprMetaModel.getDeclaredPropertyMetaModels().add(enclosedExprMetaModel.innerPropertyMetaModel);
5211bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        fieldAccessExprMetaModel.namePropertyMetaModel = new PropertyMetaModel(fieldAccessExprMetaModel, "name", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), false, false, false, false, false);
5220f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        fieldAccessExprMetaModel.getDeclaredPropertyMetaModels().add(fieldAccessExprMetaModel.namePropertyMetaModel);
52376e39b577d214f742802155231331b349e80d095Danny van Bruggen        fieldAccessExprMetaModel.scopePropertyMetaModel = new PropertyMetaModel(fieldAccessExprMetaModel, "scope", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
5240f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        fieldAccessExprMetaModel.getDeclaredPropertyMetaModels().add(fieldAccessExprMetaModel.scopePropertyMetaModel);
5251bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        fieldAccessExprMetaModel.typeArgumentsPropertyMetaModel = new PropertyMetaModel(fieldAccessExprMetaModel, "typeArguments", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), true, false, true, false, false);
5260f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        fieldAccessExprMetaModel.getDeclaredPropertyMetaModels().add(fieldAccessExprMetaModel.typeArgumentsPropertyMetaModel);
5272adf38a7f2ee394f648d2fe7fc3e9b25810cde9dDanny van Bruggen        fieldAccessExprMetaModel.usingDiamondOperatorPropertyMetaModel = new PropertyMetaModel(fieldAccessExprMetaModel, "usingDiamondOperator", boolean.class, Optional.empty(), false, false, false, false, false);
52892461fdf330856898bffa68f4e858e49b9c4c5abFederico Tomassetti        fieldAccessExprMetaModel.getDerivedPropertyMetaModels().add(fieldAccessExprMetaModel.usingDiamondOperatorPropertyMetaModel);
5291bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        instanceOfExprMetaModel.expressionPropertyMetaModel = new PropertyMetaModel(instanceOfExprMetaModel, "expression", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
5300f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        instanceOfExprMetaModel.getDeclaredPropertyMetaModels().add(instanceOfExprMetaModel.expressionPropertyMetaModel);
531f1d5a0fa08b995d8080b5d6c82fabb0db05152a4Danny van Bruggen        instanceOfExprMetaModel.typePropertyMetaModel = new PropertyMetaModel(instanceOfExprMetaModel, "type", com.github.javaparser.ast.type.ReferenceType.class, Optional.of(referenceTypeMetaModel), false, false, false, false, false);
5320f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        instanceOfExprMetaModel.getDeclaredPropertyMetaModels().add(instanceOfExprMetaModel.typePropertyMetaModel);
5331bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        lambdaExprMetaModel.bodyPropertyMetaModel = new PropertyMetaModel(lambdaExprMetaModel, "body", com.github.javaparser.ast.stmt.Statement.class, Optional.of(statementMetaModel), false, false, false, false, false);
5340f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        lambdaExprMetaModel.getDeclaredPropertyMetaModels().add(lambdaExprMetaModel.bodyPropertyMetaModel);
5351bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        lambdaExprMetaModel.isEnclosingParametersPropertyMetaModel = new PropertyMetaModel(lambdaExprMetaModel, "isEnclosingParameters", boolean.class, Optional.empty(), false, false, false, false, false);
5360f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        lambdaExprMetaModel.getDeclaredPropertyMetaModels().add(lambdaExprMetaModel.isEnclosingParametersPropertyMetaModel);
5371bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        lambdaExprMetaModel.parametersPropertyMetaModel = new PropertyMetaModel(lambdaExprMetaModel, "parameters", com.github.javaparser.ast.body.Parameter.class, Optional.of(parameterMetaModel), false, false, true, false, false);
5380f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        lambdaExprMetaModel.getDeclaredPropertyMetaModels().add(lambdaExprMetaModel.parametersPropertyMetaModel);
5392adf38a7f2ee394f648d2fe7fc3e9b25810cde9dDanny van Bruggen        lambdaExprMetaModel.expressionBodyPropertyMetaModel = new PropertyMetaModel(lambdaExprMetaModel, "expressionBody", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false, false);
54007593997dc89a25677ae8bad735c301ba8f52e89Federico Tomassetti        lambdaExprMetaModel.getDerivedPropertyMetaModels().add(lambdaExprMetaModel.expressionBodyPropertyMetaModel);
5411bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        memberValuePairMetaModel.namePropertyMetaModel = new PropertyMetaModel(memberValuePairMetaModel, "name", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), false, false, false, false, false);
5420f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        memberValuePairMetaModel.getDeclaredPropertyMetaModels().add(memberValuePairMetaModel.namePropertyMetaModel);
5431bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        memberValuePairMetaModel.valuePropertyMetaModel = new PropertyMetaModel(memberValuePairMetaModel, "value", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
5440f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        memberValuePairMetaModel.getDeclaredPropertyMetaModels().add(memberValuePairMetaModel.valuePropertyMetaModel);
5451bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        methodCallExprMetaModel.argumentsPropertyMetaModel = new PropertyMetaModel(methodCallExprMetaModel, "arguments", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, true, false, false);
5460f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        methodCallExprMetaModel.getDeclaredPropertyMetaModels().add(methodCallExprMetaModel.argumentsPropertyMetaModel);
5471bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        methodCallExprMetaModel.namePropertyMetaModel = new PropertyMetaModel(methodCallExprMetaModel, "name", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), false, false, false, false, false);
5480f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        methodCallExprMetaModel.getDeclaredPropertyMetaModels().add(methodCallExprMetaModel.namePropertyMetaModel);
5491bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        methodCallExprMetaModel.scopePropertyMetaModel = new PropertyMetaModel(methodCallExprMetaModel, "scope", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false, false);
5500f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        methodCallExprMetaModel.getDeclaredPropertyMetaModels().add(methodCallExprMetaModel.scopePropertyMetaModel);
5511bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        methodCallExprMetaModel.typeArgumentsPropertyMetaModel = new PropertyMetaModel(methodCallExprMetaModel, "typeArguments", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), true, false, true, false, false);
5520f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        methodCallExprMetaModel.getDeclaredPropertyMetaModels().add(methodCallExprMetaModel.typeArgumentsPropertyMetaModel);
5532adf38a7f2ee394f648d2fe7fc3e9b25810cde9dDanny van Bruggen        methodCallExprMetaModel.usingDiamondOperatorPropertyMetaModel = new PropertyMetaModel(methodCallExprMetaModel, "usingDiamondOperator", boolean.class, Optional.empty(), false, false, false, false, false);
55492461fdf330856898bffa68f4e858e49b9c4c5abFederico Tomassetti        methodCallExprMetaModel.getDerivedPropertyMetaModels().add(methodCallExprMetaModel.usingDiamondOperatorPropertyMetaModel);
5551bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        methodReferenceExprMetaModel.identifierPropertyMetaModel = new PropertyMetaModel(methodReferenceExprMetaModel, "identifier", java.lang.String.class, Optional.empty(), false, true, false, false, false);
5560f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        methodReferenceExprMetaModel.getDeclaredPropertyMetaModels().add(methodReferenceExprMetaModel.identifierPropertyMetaModel);
5571bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        methodReferenceExprMetaModel.scopePropertyMetaModel = new PropertyMetaModel(methodReferenceExprMetaModel, "scope", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
5580f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        methodReferenceExprMetaModel.getDeclaredPropertyMetaModels().add(methodReferenceExprMetaModel.scopePropertyMetaModel);
5591bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        methodReferenceExprMetaModel.typeArgumentsPropertyMetaModel = new PropertyMetaModel(methodReferenceExprMetaModel, "typeArguments", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), true, false, true, false, false);
5600f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        methodReferenceExprMetaModel.getDeclaredPropertyMetaModels().add(methodReferenceExprMetaModel.typeArgumentsPropertyMetaModel);
5612adf38a7f2ee394f648d2fe7fc3e9b25810cde9dDanny van Bruggen        methodReferenceExprMetaModel.usingDiamondOperatorPropertyMetaModel = new PropertyMetaModel(methodReferenceExprMetaModel, "usingDiamondOperator", boolean.class, Optional.empty(), false, false, false, false, false);
56292461fdf330856898bffa68f4e858e49b9c4c5abFederico Tomassetti        methodReferenceExprMetaModel.getDerivedPropertyMetaModels().add(methodReferenceExprMetaModel.usingDiamondOperatorPropertyMetaModel);
5631bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        nameExprMetaModel.namePropertyMetaModel = new PropertyMetaModel(nameExprMetaModel, "name", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), false, false, false, false, false);
5640f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        nameExprMetaModel.getDeclaredPropertyMetaModels().add(nameExprMetaModel.namePropertyMetaModel);
565b4bb988f522d3f53c4405789a85cf08b51f23d97Danny van Bruggen        nameMetaModel.annotationsPropertyMetaModel = new PropertyMetaModel(nameMetaModel, "annotations", com.github.javaparser.ast.expr.AnnotationExpr.class, Optional.of(annotationExprMetaModel), false, false, true, false, false);
566b4bb988f522d3f53c4405789a85cf08b51f23d97Danny van Bruggen        nameMetaModel.getDeclaredPropertyMetaModels().add(nameMetaModel.annotationsPropertyMetaModel);
5671bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        nameMetaModel.identifierPropertyMetaModel = new PropertyMetaModel(nameMetaModel, "identifier", java.lang.String.class, Optional.empty(), false, true, false, false, false);
5680f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        nameMetaModel.getDeclaredPropertyMetaModels().add(nameMetaModel.identifierPropertyMetaModel);
5691bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        nameMetaModel.qualifierPropertyMetaModel = new PropertyMetaModel(nameMetaModel, "qualifier", com.github.javaparser.ast.expr.Name.class, Optional.of(nameMetaModel), true, false, false, false, false);
5700f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        nameMetaModel.getDeclaredPropertyMetaModels().add(nameMetaModel.qualifierPropertyMetaModel);
5711bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        normalAnnotationExprMetaModel.pairsPropertyMetaModel = new PropertyMetaModel(normalAnnotationExprMetaModel, "pairs", com.github.javaparser.ast.expr.MemberValuePair.class, Optional.of(memberValuePairMetaModel), false, false, true, false, false);
5720f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        normalAnnotationExprMetaModel.getDeclaredPropertyMetaModels().add(normalAnnotationExprMetaModel.pairsPropertyMetaModel);
5731bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        objectCreationExprMetaModel.anonymousClassBodyPropertyMetaModel = new PropertyMetaModel(objectCreationExprMetaModel, "anonymousClassBody", com.github.javaparser.ast.body.BodyDeclaration.class, Optional.of(bodyDeclarationMetaModel), true, false, true, false, true);
5740f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        objectCreationExprMetaModel.getDeclaredPropertyMetaModels().add(objectCreationExprMetaModel.anonymousClassBodyPropertyMetaModel);
5751bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        objectCreationExprMetaModel.argumentsPropertyMetaModel = new PropertyMetaModel(objectCreationExprMetaModel, "arguments", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, true, false, false);
5760f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        objectCreationExprMetaModel.getDeclaredPropertyMetaModels().add(objectCreationExprMetaModel.argumentsPropertyMetaModel);
5771bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        objectCreationExprMetaModel.scopePropertyMetaModel = new PropertyMetaModel(objectCreationExprMetaModel, "scope", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false, false);
5780f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        objectCreationExprMetaModel.getDeclaredPropertyMetaModels().add(objectCreationExprMetaModel.scopePropertyMetaModel);
5791bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        objectCreationExprMetaModel.typePropertyMetaModel = new PropertyMetaModel(objectCreationExprMetaModel, "type", com.github.javaparser.ast.type.ClassOrInterfaceType.class, Optional.of(classOrInterfaceTypeMetaModel), false, false, false, false, false);
5800f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        objectCreationExprMetaModel.getDeclaredPropertyMetaModels().add(objectCreationExprMetaModel.typePropertyMetaModel);
5811bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        objectCreationExprMetaModel.typeArgumentsPropertyMetaModel = new PropertyMetaModel(objectCreationExprMetaModel, "typeArguments", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), true, false, true, false, false);
5820f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        objectCreationExprMetaModel.getDeclaredPropertyMetaModels().add(objectCreationExprMetaModel.typeArgumentsPropertyMetaModel);
5832adf38a7f2ee394f648d2fe7fc3e9b25810cde9dDanny van Bruggen        objectCreationExprMetaModel.usingDiamondOperatorPropertyMetaModel = new PropertyMetaModel(objectCreationExprMetaModel, "usingDiamondOperator", boolean.class, Optional.empty(), false, false, false, false, false);
58492461fdf330856898bffa68f4e858e49b9c4c5abFederico Tomassetti        objectCreationExprMetaModel.getDerivedPropertyMetaModels().add(objectCreationExprMetaModel.usingDiamondOperatorPropertyMetaModel);
5851bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        simpleNameMetaModel.identifierPropertyMetaModel = new PropertyMetaModel(simpleNameMetaModel, "identifier", java.lang.String.class, Optional.empty(), false, true, false, false, false);
5860f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        simpleNameMetaModel.getDeclaredPropertyMetaModels().add(simpleNameMetaModel.identifierPropertyMetaModel);
5871bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        singleMemberAnnotationExprMetaModel.memberValuePropertyMetaModel = new PropertyMetaModel(singleMemberAnnotationExprMetaModel, "memberValue", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
5880f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        singleMemberAnnotationExprMetaModel.getDeclaredPropertyMetaModels().add(singleMemberAnnotationExprMetaModel.memberValuePropertyMetaModel);
5891bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        superExprMetaModel.classExprPropertyMetaModel = new PropertyMetaModel(superExprMetaModel, "classExpr", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false, false);
5900f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        superExprMetaModel.getDeclaredPropertyMetaModels().add(superExprMetaModel.classExprPropertyMetaModel);
5911bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        thisExprMetaModel.classExprPropertyMetaModel = new PropertyMetaModel(thisExprMetaModel, "classExpr", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false, false);
5920f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        thisExprMetaModel.getDeclaredPropertyMetaModels().add(thisExprMetaModel.classExprPropertyMetaModel);
5931bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        typeExprMetaModel.typePropertyMetaModel = new PropertyMetaModel(typeExprMetaModel, "type", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), false, false, false, false, false);
5940f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        typeExprMetaModel.getDeclaredPropertyMetaModels().add(typeExprMetaModel.typePropertyMetaModel);
5951bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        unaryExprMetaModel.expressionPropertyMetaModel = new PropertyMetaModel(unaryExprMetaModel, "expression", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
5960f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        unaryExprMetaModel.getDeclaredPropertyMetaModels().add(unaryExprMetaModel.expressionPropertyMetaModel);
5971bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        unaryExprMetaModel.operatorPropertyMetaModel = new PropertyMetaModel(unaryExprMetaModel, "operator", com.github.javaparser.ast.expr.UnaryExpr.Operator.class, Optional.empty(), false, false, false, false, false);
5980f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        unaryExprMetaModel.getDeclaredPropertyMetaModels().add(unaryExprMetaModel.operatorPropertyMetaModel);
5992adf38a7f2ee394f648d2fe7fc3e9b25810cde9dDanny van Bruggen        unaryExprMetaModel.postfixPropertyMetaModel = new PropertyMetaModel(unaryExprMetaModel, "postfix", boolean.class, Optional.empty(), false, false, false, false, false);
600aa1fa25286b18a31f1364745d48e7c656940170eFederico Tomassetti        unaryExprMetaModel.getDerivedPropertyMetaModels().add(unaryExprMetaModel.postfixPropertyMetaModel);
6012adf38a7f2ee394f648d2fe7fc3e9b25810cde9dDanny van Bruggen        unaryExprMetaModel.prefixPropertyMetaModel = new PropertyMetaModel(unaryExprMetaModel, "prefix", boolean.class, Optional.empty(), false, false, false, false, false);
6021ed45e15a0a3f114bb26033ae1fcdaf5032c7515Danny van Bruggen        unaryExprMetaModel.getDerivedPropertyMetaModels().add(unaryExprMetaModel.prefixPropertyMetaModel);
6031bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        variableDeclarationExprMetaModel.annotationsPropertyMetaModel = new PropertyMetaModel(variableDeclarationExprMetaModel, "annotations", com.github.javaparser.ast.expr.AnnotationExpr.class, Optional.of(annotationExprMetaModel), false, false, true, false, false);
6040f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        variableDeclarationExprMetaModel.getDeclaredPropertyMetaModels().add(variableDeclarationExprMetaModel.annotationsPropertyMetaModel);
6051bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        variableDeclarationExprMetaModel.modifiersPropertyMetaModel = new PropertyMetaModel(variableDeclarationExprMetaModel, "modifiers", com.github.javaparser.ast.Modifier.class, Optional.empty(), false, false, false, true, false);
6060f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        variableDeclarationExprMetaModel.getDeclaredPropertyMetaModels().add(variableDeclarationExprMetaModel.modifiersPropertyMetaModel);
607c44aa907991aa1e0ad5e3ce95a6b99463dc032caDanny van Bruggen        variableDeclarationExprMetaModel.variablesPropertyMetaModel = new PropertyMetaModel(variableDeclarationExprMetaModel, "variables", com.github.javaparser.ast.body.VariableDeclarator.class, Optional.of(variableDeclaratorMetaModel), false, true, true, false, false);
6080f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        variableDeclarationExprMetaModel.getDeclaredPropertyMetaModels().add(variableDeclarationExprMetaModel.variablesPropertyMetaModel);
609d7bb34fa5033f252060bcff360735967a4f3b02cDanny van Bruggen        variableDeclarationExprMetaModel.maximumCommonTypePropertyMetaModel = new PropertyMetaModel(variableDeclarationExprMetaModel, "maximumCommonType", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), true, false, false, false, false);
610bf54eabb1769dcf3c1675312f9cb8cc043335ee1Federico Tomassetti        variableDeclarationExprMetaModel.getDerivedPropertyMetaModels().add(variableDeclarationExprMetaModel.maximumCommonTypePropertyMetaModel);
6111bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        importDeclarationMetaModel.isAsteriskPropertyMetaModel = new PropertyMetaModel(importDeclarationMetaModel, "isAsterisk", boolean.class, Optional.empty(), false, false, false, false, false);
6120f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        importDeclarationMetaModel.getDeclaredPropertyMetaModels().add(importDeclarationMetaModel.isAsteriskPropertyMetaModel);
6131bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        importDeclarationMetaModel.isStaticPropertyMetaModel = new PropertyMetaModel(importDeclarationMetaModel, "isStatic", boolean.class, Optional.empty(), false, false, false, false, false);
6140f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        importDeclarationMetaModel.getDeclaredPropertyMetaModels().add(importDeclarationMetaModel.isStaticPropertyMetaModel);
6151bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        importDeclarationMetaModel.namePropertyMetaModel = new PropertyMetaModel(importDeclarationMetaModel, "name", com.github.javaparser.ast.expr.Name.class, Optional.of(nameMetaModel), false, false, false, false, false);
6160f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        importDeclarationMetaModel.getDeclaredPropertyMetaModels().add(importDeclarationMetaModel.namePropertyMetaModel);
6171bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        assertStmtMetaModel.checkPropertyMetaModel = new PropertyMetaModel(assertStmtMetaModel, "check", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
6180f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        assertStmtMetaModel.getDeclaredPropertyMetaModels().add(assertStmtMetaModel.checkPropertyMetaModel);
6191bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        assertStmtMetaModel.messagePropertyMetaModel = new PropertyMetaModel(assertStmtMetaModel, "message", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false, false);
6200f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        assertStmtMetaModel.getDeclaredPropertyMetaModels().add(assertStmtMetaModel.messagePropertyMetaModel);
6211bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        blockStmtMetaModel.statementsPropertyMetaModel = new PropertyMetaModel(blockStmtMetaModel, "statements", com.github.javaparser.ast.stmt.Statement.class, Optional.of(statementMetaModel), false, false, true, false, false);
6220f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        blockStmtMetaModel.getDeclaredPropertyMetaModels().add(blockStmtMetaModel.statementsPropertyMetaModel);
6231bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        breakStmtMetaModel.labelPropertyMetaModel = new PropertyMetaModel(breakStmtMetaModel, "label", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), true, false, false, false, false);
6240f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        breakStmtMetaModel.getDeclaredPropertyMetaModels().add(breakStmtMetaModel.labelPropertyMetaModel);
6251bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        catchClauseMetaModel.bodyPropertyMetaModel = new PropertyMetaModel(catchClauseMetaModel, "body", com.github.javaparser.ast.stmt.BlockStmt.class, Optional.of(blockStmtMetaModel), false, false, false, false, false);
6260f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        catchClauseMetaModel.getDeclaredPropertyMetaModels().add(catchClauseMetaModel.bodyPropertyMetaModel);
6271bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        catchClauseMetaModel.parameterPropertyMetaModel = new PropertyMetaModel(catchClauseMetaModel, "parameter", com.github.javaparser.ast.body.Parameter.class, Optional.of(parameterMetaModel), false, false, false, false, false);
6280f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        catchClauseMetaModel.getDeclaredPropertyMetaModels().add(catchClauseMetaModel.parameterPropertyMetaModel);
6291bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        continueStmtMetaModel.labelPropertyMetaModel = new PropertyMetaModel(continueStmtMetaModel, "label", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), true, false, false, false, false);
6300f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        continueStmtMetaModel.getDeclaredPropertyMetaModels().add(continueStmtMetaModel.labelPropertyMetaModel);
6311bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        doStmtMetaModel.bodyPropertyMetaModel = new PropertyMetaModel(doStmtMetaModel, "body", com.github.javaparser.ast.stmt.Statement.class, Optional.of(statementMetaModel), false, false, false, false, false);
6320f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        doStmtMetaModel.getDeclaredPropertyMetaModels().add(doStmtMetaModel.bodyPropertyMetaModel);
6331bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        doStmtMetaModel.conditionPropertyMetaModel = new PropertyMetaModel(doStmtMetaModel, "condition", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
6340f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        doStmtMetaModel.getDeclaredPropertyMetaModels().add(doStmtMetaModel.conditionPropertyMetaModel);
6351bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        explicitConstructorInvocationStmtMetaModel.argumentsPropertyMetaModel = new PropertyMetaModel(explicitConstructorInvocationStmtMetaModel, "arguments", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, true, false, false);
6360f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        explicitConstructorInvocationStmtMetaModel.getDeclaredPropertyMetaModels().add(explicitConstructorInvocationStmtMetaModel.argumentsPropertyMetaModel);
6371bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        explicitConstructorInvocationStmtMetaModel.expressionPropertyMetaModel = new PropertyMetaModel(explicitConstructorInvocationStmtMetaModel, "expression", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false, false);
6380f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        explicitConstructorInvocationStmtMetaModel.getDeclaredPropertyMetaModels().add(explicitConstructorInvocationStmtMetaModel.expressionPropertyMetaModel);
6391bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        explicitConstructorInvocationStmtMetaModel.isThisPropertyMetaModel = new PropertyMetaModel(explicitConstructorInvocationStmtMetaModel, "isThis", boolean.class, Optional.empty(), false, false, false, false, false);
6400f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        explicitConstructorInvocationStmtMetaModel.getDeclaredPropertyMetaModels().add(explicitConstructorInvocationStmtMetaModel.isThisPropertyMetaModel);
6411bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        explicitConstructorInvocationStmtMetaModel.typeArgumentsPropertyMetaModel = new PropertyMetaModel(explicitConstructorInvocationStmtMetaModel, "typeArguments", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), true, false, true, false, false);
6420f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        explicitConstructorInvocationStmtMetaModel.getDeclaredPropertyMetaModels().add(explicitConstructorInvocationStmtMetaModel.typeArgumentsPropertyMetaModel);
6432adf38a7f2ee394f648d2fe7fc3e9b25810cde9dDanny van Bruggen        explicitConstructorInvocationStmtMetaModel.usingDiamondOperatorPropertyMetaModel = new PropertyMetaModel(explicitConstructorInvocationStmtMetaModel, "usingDiamondOperator", boolean.class, Optional.empty(), false, false, false, false, false);
64492461fdf330856898bffa68f4e858e49b9c4c5abFederico Tomassetti        explicitConstructorInvocationStmtMetaModel.getDerivedPropertyMetaModels().add(explicitConstructorInvocationStmtMetaModel.usingDiamondOperatorPropertyMetaModel);
6451bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        expressionStmtMetaModel.expressionPropertyMetaModel = new PropertyMetaModel(expressionStmtMetaModel, "expression", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
6460f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        expressionStmtMetaModel.getDeclaredPropertyMetaModels().add(expressionStmtMetaModel.expressionPropertyMetaModel);
6471bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        foreachStmtMetaModel.bodyPropertyMetaModel = new PropertyMetaModel(foreachStmtMetaModel, "body", com.github.javaparser.ast.stmt.Statement.class, Optional.of(statementMetaModel), false, false, false, false, false);
6480f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        foreachStmtMetaModel.getDeclaredPropertyMetaModels().add(foreachStmtMetaModel.bodyPropertyMetaModel);
6491bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        foreachStmtMetaModel.iterablePropertyMetaModel = new PropertyMetaModel(foreachStmtMetaModel, "iterable", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
6500f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        foreachStmtMetaModel.getDeclaredPropertyMetaModels().add(foreachStmtMetaModel.iterablePropertyMetaModel);
6511bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        foreachStmtMetaModel.variablePropertyMetaModel = new PropertyMetaModel(foreachStmtMetaModel, "variable", com.github.javaparser.ast.expr.VariableDeclarationExpr.class, Optional.of(variableDeclarationExprMetaModel), false, false, false, false, false);
6520f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        foreachStmtMetaModel.getDeclaredPropertyMetaModels().add(foreachStmtMetaModel.variablePropertyMetaModel);
6531bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        forStmtMetaModel.bodyPropertyMetaModel = new PropertyMetaModel(forStmtMetaModel, "body", com.github.javaparser.ast.stmt.Statement.class, Optional.of(statementMetaModel), false, false, false, false, false);
6540f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        forStmtMetaModel.getDeclaredPropertyMetaModels().add(forStmtMetaModel.bodyPropertyMetaModel);
6551bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        forStmtMetaModel.comparePropertyMetaModel = new PropertyMetaModel(forStmtMetaModel, "compare", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false, false);
6560f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        forStmtMetaModel.getDeclaredPropertyMetaModels().add(forStmtMetaModel.comparePropertyMetaModel);
6571bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        forStmtMetaModel.initializationPropertyMetaModel = new PropertyMetaModel(forStmtMetaModel, "initialization", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, true, false, false);
6580f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        forStmtMetaModel.getDeclaredPropertyMetaModels().add(forStmtMetaModel.initializationPropertyMetaModel);
6591bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        forStmtMetaModel.updatePropertyMetaModel = new PropertyMetaModel(forStmtMetaModel, "update", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, true, false, false);
6600f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        forStmtMetaModel.getDeclaredPropertyMetaModels().add(forStmtMetaModel.updatePropertyMetaModel);
6611bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        ifStmtMetaModel.conditionPropertyMetaModel = new PropertyMetaModel(ifStmtMetaModel, "condition", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
6620f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        ifStmtMetaModel.getDeclaredPropertyMetaModels().add(ifStmtMetaModel.conditionPropertyMetaModel);
6631bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        ifStmtMetaModel.elseStmtPropertyMetaModel = new PropertyMetaModel(ifStmtMetaModel, "elseStmt", com.github.javaparser.ast.stmt.Statement.class, Optional.of(statementMetaModel), true, false, false, false, false);
6640f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        ifStmtMetaModel.getDeclaredPropertyMetaModels().add(ifStmtMetaModel.elseStmtPropertyMetaModel);
6651bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        ifStmtMetaModel.thenStmtPropertyMetaModel = new PropertyMetaModel(ifStmtMetaModel, "thenStmt", com.github.javaparser.ast.stmt.Statement.class, Optional.of(statementMetaModel), false, false, false, false, false);
6660f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        ifStmtMetaModel.getDeclaredPropertyMetaModels().add(ifStmtMetaModel.thenStmtPropertyMetaModel);
6678cd5d8369c4cc00a427bc01fa2df285e8db0bb7fDanny van Bruggen        ifStmtMetaModel.cascadingIfStmtPropertyMetaModel = new PropertyMetaModel(ifStmtMetaModel, "cascadingIfStmt", boolean.class, Optional.empty(), false, false, false, false, false);
6688cd5d8369c4cc00a427bc01fa2df285e8db0bb7fDanny van Bruggen        ifStmtMetaModel.getDerivedPropertyMetaModels().add(ifStmtMetaModel.cascadingIfStmtPropertyMetaModel);
6692adf38a7f2ee394f648d2fe7fc3e9b25810cde9dDanny van Bruggen        ifStmtMetaModel.elseBlockPropertyMetaModel = new PropertyMetaModel(ifStmtMetaModel, "elseBlock", boolean.class, Optional.empty(), false, false, false, false, false);
670bf54eabb1769dcf3c1675312f9cb8cc043335ee1Federico Tomassetti        ifStmtMetaModel.getDerivedPropertyMetaModels().add(ifStmtMetaModel.elseBlockPropertyMetaModel);
6712990332936265e85425de69fb03225f9b127fbd7Federico Tomassetti        ifStmtMetaModel.elseBranchPropertyMetaModel = new PropertyMetaModel(ifStmtMetaModel, "elseBranch", boolean.class, Optional.empty(), false, false, false, false, false);
6722990332936265e85425de69fb03225f9b127fbd7Federico Tomassetti        ifStmtMetaModel.getDerivedPropertyMetaModels().add(ifStmtMetaModel.elseBranchPropertyMetaModel);
6732adf38a7f2ee394f648d2fe7fc3e9b25810cde9dDanny van Bruggen        ifStmtMetaModel.thenBlockPropertyMetaModel = new PropertyMetaModel(ifStmtMetaModel, "thenBlock", boolean.class, Optional.empty(), false, false, false, false, false);
674db11430ec27b382b48f9392aaf1635ceb06571adDanny van Bruggen        ifStmtMetaModel.getDerivedPropertyMetaModels().add(ifStmtMetaModel.thenBlockPropertyMetaModel);
6751bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        labeledStmtMetaModel.labelPropertyMetaModel = new PropertyMetaModel(labeledStmtMetaModel, "label", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), false, false, false, false, false);
6760f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        labeledStmtMetaModel.getDeclaredPropertyMetaModels().add(labeledStmtMetaModel.labelPropertyMetaModel);
6771bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        labeledStmtMetaModel.statementPropertyMetaModel = new PropertyMetaModel(labeledStmtMetaModel, "statement", com.github.javaparser.ast.stmt.Statement.class, Optional.of(statementMetaModel), false, false, false, false, false);
6780f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        labeledStmtMetaModel.getDeclaredPropertyMetaModels().add(labeledStmtMetaModel.statementPropertyMetaModel);
6791bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        returnStmtMetaModel.expressionPropertyMetaModel = new PropertyMetaModel(returnStmtMetaModel, "expression", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false, false);
6800f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        returnStmtMetaModel.getDeclaredPropertyMetaModels().add(returnStmtMetaModel.expressionPropertyMetaModel);
6811bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        switchEntryStmtMetaModel.labelPropertyMetaModel = new PropertyMetaModel(switchEntryStmtMetaModel, "label", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false, false);
6820f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        switchEntryStmtMetaModel.getDeclaredPropertyMetaModels().add(switchEntryStmtMetaModel.labelPropertyMetaModel);
6831bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        switchEntryStmtMetaModel.statementsPropertyMetaModel = new PropertyMetaModel(switchEntryStmtMetaModel, "statements", com.github.javaparser.ast.stmt.Statement.class, Optional.of(statementMetaModel), false, false, true, false, false);
6840f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        switchEntryStmtMetaModel.getDeclaredPropertyMetaModels().add(switchEntryStmtMetaModel.statementsPropertyMetaModel);
6851bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        switchStmtMetaModel.entriesPropertyMetaModel = new PropertyMetaModel(switchStmtMetaModel, "entries", com.github.javaparser.ast.stmt.SwitchEntryStmt.class, Optional.of(switchEntryStmtMetaModel), false, false, true, false, false);
6860f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        switchStmtMetaModel.getDeclaredPropertyMetaModels().add(switchStmtMetaModel.entriesPropertyMetaModel);
6871bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        switchStmtMetaModel.selectorPropertyMetaModel = new PropertyMetaModel(switchStmtMetaModel, "selector", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
6880f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        switchStmtMetaModel.getDeclaredPropertyMetaModels().add(switchStmtMetaModel.selectorPropertyMetaModel);
6891bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        synchronizedStmtMetaModel.bodyPropertyMetaModel = new PropertyMetaModel(synchronizedStmtMetaModel, "body", com.github.javaparser.ast.stmt.BlockStmt.class, Optional.of(blockStmtMetaModel), false, false, false, false, false);
6900f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        synchronizedStmtMetaModel.getDeclaredPropertyMetaModels().add(synchronizedStmtMetaModel.bodyPropertyMetaModel);
6911bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        synchronizedStmtMetaModel.expressionPropertyMetaModel = new PropertyMetaModel(synchronizedStmtMetaModel, "expression", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
6920f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        synchronizedStmtMetaModel.getDeclaredPropertyMetaModels().add(synchronizedStmtMetaModel.expressionPropertyMetaModel);
6931bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        throwStmtMetaModel.expressionPropertyMetaModel = new PropertyMetaModel(throwStmtMetaModel, "expression", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
6940f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        throwStmtMetaModel.getDeclaredPropertyMetaModels().add(throwStmtMetaModel.expressionPropertyMetaModel);
6951bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        tryStmtMetaModel.catchClausesPropertyMetaModel = new PropertyMetaModel(tryStmtMetaModel, "catchClauses", com.github.javaparser.ast.stmt.CatchClause.class, Optional.of(catchClauseMetaModel), false, false, true, false, false);
6960f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        tryStmtMetaModel.getDeclaredPropertyMetaModels().add(tryStmtMetaModel.catchClausesPropertyMetaModel);
6971bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        tryStmtMetaModel.finallyBlockPropertyMetaModel = new PropertyMetaModel(tryStmtMetaModel, "finallyBlock", com.github.javaparser.ast.stmt.BlockStmt.class, Optional.of(blockStmtMetaModel), true, false, false, false, false);
6980f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        tryStmtMetaModel.getDeclaredPropertyMetaModels().add(tryStmtMetaModel.finallyBlockPropertyMetaModel);
6990c02965854e825d9a6895f813a5f922bf863502bDanny van Bruggen        tryStmtMetaModel.resourcesPropertyMetaModel = new PropertyMetaModel(tryStmtMetaModel, "resources", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, true, false, false);
7000f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        tryStmtMetaModel.getDeclaredPropertyMetaModels().add(tryStmtMetaModel.resourcesPropertyMetaModel);
701b49da8aedaa2e64b23315368568fdddfb58b4556Danny van Bruggen        tryStmtMetaModel.tryBlockPropertyMetaModel = new PropertyMetaModel(tryStmtMetaModel, "tryBlock", com.github.javaparser.ast.stmt.BlockStmt.class, Optional.of(blockStmtMetaModel), false, false, false, false, false);
7020f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        tryStmtMetaModel.getDeclaredPropertyMetaModels().add(tryStmtMetaModel.tryBlockPropertyMetaModel);
7031bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        localClassDeclarationStmtMetaModel.classDeclarationPropertyMetaModel = new PropertyMetaModel(localClassDeclarationStmtMetaModel, "classDeclaration", com.github.javaparser.ast.body.ClassOrInterfaceDeclaration.class, Optional.of(classOrInterfaceDeclarationMetaModel), false, false, false, false, false);
7040f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        localClassDeclarationStmtMetaModel.getDeclaredPropertyMetaModels().add(localClassDeclarationStmtMetaModel.classDeclarationPropertyMetaModel);
7051bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        whileStmtMetaModel.bodyPropertyMetaModel = new PropertyMetaModel(whileStmtMetaModel, "body", com.github.javaparser.ast.stmt.Statement.class, Optional.of(statementMetaModel), false, false, false, false, false);
7060f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        whileStmtMetaModel.getDeclaredPropertyMetaModels().add(whileStmtMetaModel.bodyPropertyMetaModel);
7071bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        whileStmtMetaModel.conditionPropertyMetaModel = new PropertyMetaModel(whileStmtMetaModel, "condition", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false);
7080f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        whileStmtMetaModel.getDeclaredPropertyMetaModels().add(whileStmtMetaModel.conditionPropertyMetaModel);
7091bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        arrayTypeMetaModel.componentTypePropertyMetaModel = new PropertyMetaModel(arrayTypeMetaModel, "componentType", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), false, false, false, false, false);
7100f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        arrayTypeMetaModel.getDeclaredPropertyMetaModels().add(arrayTypeMetaModel.componentTypePropertyMetaModel);
711473e23020b61bd78eb8e56c120c425734aed7df1Danny van Bruggen        arrayTypeMetaModel.originPropertyMetaModel = new PropertyMetaModel(arrayTypeMetaModel, "origin", com.github.javaparser.ast.type.ArrayType.Origin.class, Optional.empty(), false, false, false, false, false);
712473e23020b61bd78eb8e56c120c425734aed7df1Danny van Bruggen        arrayTypeMetaModel.getDeclaredPropertyMetaModels().add(arrayTypeMetaModel.originPropertyMetaModel);
7131bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        classOrInterfaceTypeMetaModel.namePropertyMetaModel = new PropertyMetaModel(classOrInterfaceTypeMetaModel, "name", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), false, false, false, false, false);
7140f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        classOrInterfaceTypeMetaModel.getDeclaredPropertyMetaModels().add(classOrInterfaceTypeMetaModel.namePropertyMetaModel);
7151bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        classOrInterfaceTypeMetaModel.scopePropertyMetaModel = new PropertyMetaModel(classOrInterfaceTypeMetaModel, "scope", com.github.javaparser.ast.type.ClassOrInterfaceType.class, Optional.of(classOrInterfaceTypeMetaModel), true, false, false, false, false);
7160f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        classOrInterfaceTypeMetaModel.getDeclaredPropertyMetaModels().add(classOrInterfaceTypeMetaModel.scopePropertyMetaModel);
7171bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        classOrInterfaceTypeMetaModel.typeArgumentsPropertyMetaModel = new PropertyMetaModel(classOrInterfaceTypeMetaModel, "typeArguments", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), true, false, true, false, false);
7180f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        classOrInterfaceTypeMetaModel.getDeclaredPropertyMetaModels().add(classOrInterfaceTypeMetaModel.typeArgumentsPropertyMetaModel);
7192adf38a7f2ee394f648d2fe7fc3e9b25810cde9dDanny van Bruggen        classOrInterfaceTypeMetaModel.usingDiamondOperatorPropertyMetaModel = new PropertyMetaModel(classOrInterfaceTypeMetaModel, "usingDiamondOperator", boolean.class, Optional.empty(), false, false, false, false, false);
72092461fdf330856898bffa68f4e858e49b9c4c5abFederico Tomassetti        classOrInterfaceTypeMetaModel.getDerivedPropertyMetaModels().add(classOrInterfaceTypeMetaModel.usingDiamondOperatorPropertyMetaModel);
721f1d5a0fa08b995d8080b5d6c82fabb0db05152a4Danny van Bruggen        intersectionTypeMetaModel.elementsPropertyMetaModel = new PropertyMetaModel(intersectionTypeMetaModel, "elements", com.github.javaparser.ast.type.ReferenceType.class, Optional.of(referenceTypeMetaModel), false, true, true, false, false);
7220f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        intersectionTypeMetaModel.getDeclaredPropertyMetaModels().add(intersectionTypeMetaModel.elementsPropertyMetaModel);
7231bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        primitiveTypeMetaModel.typePropertyMetaModel = new PropertyMetaModel(primitiveTypeMetaModel, "type", com.github.javaparser.ast.type.PrimitiveType.Primitive.class, Optional.empty(), false, false, false, false, false);
7240f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        primitiveTypeMetaModel.getDeclaredPropertyMetaModels().add(primitiveTypeMetaModel.typePropertyMetaModel);
7251bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        typeParameterMetaModel.namePropertyMetaModel = new PropertyMetaModel(typeParameterMetaModel, "name", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), false, false, false, false, false);
7260f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        typeParameterMetaModel.getDeclaredPropertyMetaModels().add(typeParameterMetaModel.namePropertyMetaModel);
7271bbbe6fbb061aac193116d3509fe5de798e816baDanny van Bruggen        typeParameterMetaModel.typeBoundPropertyMetaModel = new PropertyMetaModel(typeParameterMetaModel, "typeBound", com.github.javaparser.ast.type.ClassOrInterfaceType.class, Optional.of(classOrInterfaceTypeMetaModel), false, false, true, false, false);
7280f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        typeParameterMetaModel.getDeclaredPropertyMetaModels().add(typeParameterMetaModel.typeBoundPropertyMetaModel);
729f1d5a0fa08b995d8080b5d6c82fabb0db05152a4Danny van Bruggen        unionTypeMetaModel.elementsPropertyMetaModel = new PropertyMetaModel(unionTypeMetaModel, "elements", com.github.javaparser.ast.type.ReferenceType.class, Optional.of(referenceTypeMetaModel), false, true, true, false, false);
7300f679701291663fc5152c0519ecc5ba08094c842Danny van Bruggen        unionTypeMetaModel.getDeclaredPropertyMetaModels().add(unionTypeMetaModel.elementsPropertyMetaModel);
7313bebb49c27250043d2742039ff4241c636c9c83cFederico Tomassetti        wildcardTypeMetaModel.extendedTypePropertyMetaModel = new PropertyMetaModel(wildcardTypeMetaModel, "extendedType", com.github.javaparser.ast.type.ReferenceType.class, Optional.of(referenceTypeMetaModel), true, false, false, false, false);
7323bebb49c27250043d2742039ff4241c636c9c83cFederico Tomassetti        wildcardTypeMetaModel.getDeclaredPropertyMetaModels().add(wildcardTypeMetaModel.extendedTypePropertyMetaModel);
7333bebb49c27250043d2742039ff4241c636c9c83cFederico Tomassetti        wildcardTypeMetaModel.superTypePropertyMetaModel = new PropertyMetaModel(wildcardTypeMetaModel, "superType", com.github.javaparser.ast.type.ReferenceType.class, Optional.of(referenceTypeMetaModel), true, false, false, false, false);
7343bebb49c27250043d2742039ff4241c636c9c83cFederico Tomassetti        wildcardTypeMetaModel.getDeclaredPropertyMetaModels().add(wildcardTypeMetaModel.superTypePropertyMetaModel);
73588d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleRequiresStmtMetaModel.modifiersPropertyMetaModel = new PropertyMetaModel(moduleRequiresStmtMetaModel, "modifiers", com.github.javaparser.ast.Modifier.class, Optional.empty(), false, false, false, true, false);
73688d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleRequiresStmtMetaModel.getDeclaredPropertyMetaModels().add(moduleRequiresStmtMetaModel.modifiersPropertyMetaModel);
73788d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleRequiresStmtMetaModel.namePropertyMetaModel = new PropertyMetaModel(moduleRequiresStmtMetaModel, "name", com.github.javaparser.ast.expr.Name.class, Optional.of(nameMetaModel), false, false, false, false, false);
73888d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleRequiresStmtMetaModel.getDeclaredPropertyMetaModels().add(moduleRequiresStmtMetaModel.namePropertyMetaModel);
73988d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleExportsStmtMetaModel.moduleNamesPropertyMetaModel = new PropertyMetaModel(moduleExportsStmtMetaModel, "moduleNames", com.github.javaparser.ast.expr.Name.class, Optional.of(nameMetaModel), false, false, true, false, false);
74088d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleExportsStmtMetaModel.getDeclaredPropertyMetaModels().add(moduleExportsStmtMetaModel.moduleNamesPropertyMetaModel);
74188d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleExportsStmtMetaModel.namePropertyMetaModel = new PropertyMetaModel(moduleExportsStmtMetaModel, "name", com.github.javaparser.ast.expr.Name.class, Optional.of(nameMetaModel), false, false, false, false, false);
74288d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleExportsStmtMetaModel.getDeclaredPropertyMetaModels().add(moduleExportsStmtMetaModel.namePropertyMetaModel);
74388d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleProvidesStmtMetaModel.typePropertyMetaModel = new PropertyMetaModel(moduleProvidesStmtMetaModel, "type", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), false, false, false, false, false);
74488d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleProvidesStmtMetaModel.getDeclaredPropertyMetaModels().add(moduleProvidesStmtMetaModel.typePropertyMetaModel);
74588d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleProvidesStmtMetaModel.withTypesPropertyMetaModel = new PropertyMetaModel(moduleProvidesStmtMetaModel, "withTypes", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), false, false, true, false, false);
74688d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleProvidesStmtMetaModel.getDeclaredPropertyMetaModels().add(moduleProvidesStmtMetaModel.withTypesPropertyMetaModel);
74788d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleUsesStmtMetaModel.typePropertyMetaModel = new PropertyMetaModel(moduleUsesStmtMetaModel, "type", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), false, false, false, false, false);
74888d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleUsesStmtMetaModel.getDeclaredPropertyMetaModels().add(moduleUsesStmtMetaModel.typePropertyMetaModel);
74988d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleOpensStmtMetaModel.moduleNamesPropertyMetaModel = new PropertyMetaModel(moduleOpensStmtMetaModel, "moduleNames", com.github.javaparser.ast.expr.Name.class, Optional.of(nameMetaModel), false, false, true, false, false);
75088d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleOpensStmtMetaModel.getDeclaredPropertyMetaModels().add(moduleOpensStmtMetaModel.moduleNamesPropertyMetaModel);
75188d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleOpensStmtMetaModel.namePropertyMetaModel = new PropertyMetaModel(moduleOpensStmtMetaModel, "name", com.github.javaparser.ast.expr.Name.class, Optional.of(nameMetaModel), false, false, false, false, false);
75288d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen        moduleOpensStmtMetaModel.getDeclaredPropertyMetaModels().add(moduleOpensStmtMetaModel.namePropertyMetaModel);
7535751a1b29ee226ab89d1193a9b14ce093c064c53Danny van Bruggen    }
7545751a1b29ee226ab89d1193a9b14ce093c064c53Danny van Bruggen
755106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static Optional<BaseNodeMetaModel> getNodeMetaModel(Class<? extends Node> c) {
756968a83319e36ab864daf78398bf45afa1eb34de7Danny van Bruggen        for (BaseNodeMetaModel nodeMetaModel : nodeMetaModels) {
757a2152a8282754017f1c2d1eb5b45cfde7e89950bDanny van Bruggen            if (nodeMetaModel.getTypeNameGenerified().equals(c.getSimpleName())) {
758968a83319e36ab864daf78398bf45afa1eb34de7Danny van Bruggen                return Optional.of(nodeMetaModel);
759795fd7456f23d42e8cc3c1bcf006ba3fb8de7691Danny van Bruggen            }
760795fd7456f23d42e8cc3c1bcf006ba3fb8de7691Danny van Bruggen        }
761795fd7456f23d42e8cc3c1bcf006ba3fb8de7691Danny van Bruggen        return Optional.empty();
762795fd7456f23d42e8cc3c1bcf006ba3fb8de7691Danny van Bruggen    }
763795fd7456f23d42e8cc3c1bcf006ba3fb8de7691Danny van Bruggen
764106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final NodeMetaModel nodeMetaModel = new NodeMetaModel(Optional.empty());
7655751a1b29ee226ab89d1193a9b14ce093c064c53Danny van Bruggen
766106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final BodyDeclarationMetaModel bodyDeclarationMetaModel = new BodyDeclarationMetaModel(Optional.of(nodeMetaModel));
7678a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
7686084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen    public static final CallableDeclarationMetaModel callableDeclarationMetaModel = new CallableDeclarationMetaModel(Optional.of(bodyDeclarationMetaModel));
7696084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen
770106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final StatementMetaModel statementMetaModel = new StatementMetaModel(Optional.of(nodeMetaModel));
7718a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
772106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ExpressionMetaModel expressionMetaModel = new ExpressionMetaModel(Optional.of(nodeMetaModel));
7738a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
774106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final TypeMetaModel typeMetaModel = new TypeMetaModel(Optional.of(nodeMetaModel));
7758a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
776106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final AnnotationExprMetaModel annotationExprMetaModel = new AnnotationExprMetaModel(Optional.of(expressionMetaModel));
7778a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
778106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final TypeDeclarationMetaModel typeDeclarationMetaModel = new TypeDeclarationMetaModel(Optional.of(bodyDeclarationMetaModel));
7798a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
780083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen    public static final ReferenceTypeMetaModel referenceTypeMetaModel = new ReferenceTypeMetaModel(Optional.of(typeMetaModel));
781083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen
782106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final LiteralExprMetaModel literalExprMetaModel = new LiteralExprMetaModel(Optional.of(expressionMetaModel));
7838a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
784083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen    public static final LiteralStringValueExprMetaModel literalStringValueExprMetaModel = new LiteralStringValueExprMetaModel(Optional.of(literalExprMetaModel));
7858a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
786083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen    public static final StringLiteralExprMetaModel stringLiteralExprMetaModel = new StringLiteralExprMetaModel(Optional.of(literalStringValueExprMetaModel));
7878a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
78888d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen    public static final ModuleDeclarationMetaModel moduleDeclarationMetaModel = new ModuleDeclarationMetaModel(Optional.of(nodeMetaModel));
78988d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen
79088d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen    public static final ModuleStmtMetaModel moduleStmtMetaModel = new ModuleStmtMetaModel(Optional.of(nodeMetaModel));
79188d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen
792106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ArrayCreationLevelMetaModel arrayCreationLevelMetaModel = new ArrayCreationLevelMetaModel(Optional.of(nodeMetaModel));
7938a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
794106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final CompilationUnitMetaModel compilationUnitMetaModel = new CompilationUnitMetaModel(Optional.of(nodeMetaModel));
7958a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
796106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final PackageDeclarationMetaModel packageDeclarationMetaModel = new PackageDeclarationMetaModel(Optional.of(nodeMetaModel));
7978a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
798106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final AnnotationDeclarationMetaModel annotationDeclarationMetaModel = new AnnotationDeclarationMetaModel(Optional.of(typeDeclarationMetaModel));
7998a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
800106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final AnnotationMemberDeclarationMetaModel annotationMemberDeclarationMetaModel = new AnnotationMemberDeclarationMetaModel(Optional.of(bodyDeclarationMetaModel));
8018a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
802106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ClassOrInterfaceDeclarationMetaModel classOrInterfaceDeclarationMetaModel = new ClassOrInterfaceDeclarationMetaModel(Optional.of(typeDeclarationMetaModel));
8038a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
8046084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen    public static final ConstructorDeclarationMetaModel constructorDeclarationMetaModel = new ConstructorDeclarationMetaModel(Optional.of(callableDeclarationMetaModel));
8058a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
806106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final EnumConstantDeclarationMetaModel enumConstantDeclarationMetaModel = new EnumConstantDeclarationMetaModel(Optional.of(bodyDeclarationMetaModel));
8078a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
808106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final EnumDeclarationMetaModel enumDeclarationMetaModel = new EnumDeclarationMetaModel(Optional.of(typeDeclarationMetaModel));
8098a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
810106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final FieldDeclarationMetaModel fieldDeclarationMetaModel = new FieldDeclarationMetaModel(Optional.of(bodyDeclarationMetaModel));
8118a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
812106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final InitializerDeclarationMetaModel initializerDeclarationMetaModel = new InitializerDeclarationMetaModel(Optional.of(bodyDeclarationMetaModel));
8138a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
8146084184a80dcf7651411157cc0f40fa4b7e750ebDanny van Bruggen    public static final MethodDeclarationMetaModel methodDeclarationMetaModel = new MethodDeclarationMetaModel(Optional.of(callableDeclarationMetaModel));
8158a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
816106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ParameterMetaModel parameterMetaModel = new ParameterMetaModel(Optional.of(nodeMetaModel));
8178a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
8182e435be05d9200097a6edf9f89d83b9330fd5135Danny van Bruggen    public static final ReceiverParameterMetaModel receiverParameterMetaModel = new ReceiverParameterMetaModel(Optional.of(nodeMetaModel));
8192e435be05d9200097a6edf9f89d83b9330fd5135Danny van Bruggen
820106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final VariableDeclaratorMetaModel variableDeclaratorMetaModel = new VariableDeclaratorMetaModel(Optional.of(nodeMetaModel));
8218a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
822106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final CommentMetaModel commentMetaModel = new CommentMetaModel(Optional.of(nodeMetaModel));
8238a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
824106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final BlockCommentMetaModel blockCommentMetaModel = new BlockCommentMetaModel(Optional.of(commentMetaModel));
8258a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
826106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final JavadocCommentMetaModel javadocCommentMetaModel = new JavadocCommentMetaModel(Optional.of(commentMetaModel));
8278a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
828106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final LineCommentMetaModel lineCommentMetaModel = new LineCommentMetaModel(Optional.of(commentMetaModel));
8298a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
830106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ArrayAccessExprMetaModel arrayAccessExprMetaModel = new ArrayAccessExprMetaModel(Optional.of(expressionMetaModel));
8318a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
832106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ArrayCreationExprMetaModel arrayCreationExprMetaModel = new ArrayCreationExprMetaModel(Optional.of(expressionMetaModel));
8338a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
834106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ArrayInitializerExprMetaModel arrayInitializerExprMetaModel = new ArrayInitializerExprMetaModel(Optional.of(expressionMetaModel));
8358a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
836106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final AssignExprMetaModel assignExprMetaModel = new AssignExprMetaModel(Optional.of(expressionMetaModel));
8378a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
838106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final BinaryExprMetaModel binaryExprMetaModel = new BinaryExprMetaModel(Optional.of(expressionMetaModel));
8398a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
840106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final BooleanLiteralExprMetaModel booleanLiteralExprMetaModel = new BooleanLiteralExprMetaModel(Optional.of(literalExprMetaModel));
8418a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
842106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final CastExprMetaModel castExprMetaModel = new CastExprMetaModel(Optional.of(expressionMetaModel));
8438a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
844083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen    public static final CharLiteralExprMetaModel charLiteralExprMetaModel = new CharLiteralExprMetaModel(Optional.of(literalStringValueExprMetaModel));
8458a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
846106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ClassExprMetaModel classExprMetaModel = new ClassExprMetaModel(Optional.of(expressionMetaModel));
8478a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
848106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ConditionalExprMetaModel conditionalExprMetaModel = new ConditionalExprMetaModel(Optional.of(expressionMetaModel));
8498a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
850083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen    public static final DoubleLiteralExprMetaModel doubleLiteralExprMetaModel = new DoubleLiteralExprMetaModel(Optional.of(literalStringValueExprMetaModel));
8518a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
852106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final EnclosedExprMetaModel enclosedExprMetaModel = new EnclosedExprMetaModel(Optional.of(expressionMetaModel));
8538a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
854106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final FieldAccessExprMetaModel fieldAccessExprMetaModel = new FieldAccessExprMetaModel(Optional.of(expressionMetaModel));
8558a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
856106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final InstanceOfExprMetaModel instanceOfExprMetaModel = new InstanceOfExprMetaModel(Optional.of(expressionMetaModel));
8578a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
858083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen    public static final IntegerLiteralExprMetaModel integerLiteralExprMetaModel = new IntegerLiteralExprMetaModel(Optional.of(literalStringValueExprMetaModel));
8598a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
860106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final LambdaExprMetaModel lambdaExprMetaModel = new LambdaExprMetaModel(Optional.of(expressionMetaModel));
8618a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
862083a2e1a01fdd12b00c9de757e8b3a98d15b5599Danny van Bruggen    public static final LongLiteralExprMetaModel longLiteralExprMetaModel = new LongLiteralExprMetaModel(Optional.of(literalStringValueExprMetaModel));
8638a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
864106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final MarkerAnnotationExprMetaModel markerAnnotationExprMetaModel = new MarkerAnnotationExprMetaModel(Optional.of(annotationExprMetaModel));
8658a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
866106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final MemberValuePairMetaModel memberValuePairMetaModel = new MemberValuePairMetaModel(Optional.of(nodeMetaModel));
8678a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
868106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final MethodCallExprMetaModel methodCallExprMetaModel = new MethodCallExprMetaModel(Optional.of(expressionMetaModel));
8698a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
870106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final MethodReferenceExprMetaModel methodReferenceExprMetaModel = new MethodReferenceExprMetaModel(Optional.of(expressionMetaModel));
8718a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
872106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final NameExprMetaModel nameExprMetaModel = new NameExprMetaModel(Optional.of(expressionMetaModel));
8738a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
874106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final NameMetaModel nameMetaModel = new NameMetaModel(Optional.of(nodeMetaModel));
8758a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
876106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final NormalAnnotationExprMetaModel normalAnnotationExprMetaModel = new NormalAnnotationExprMetaModel(Optional.of(annotationExprMetaModel));
8778a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
878106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final NullLiteralExprMetaModel nullLiteralExprMetaModel = new NullLiteralExprMetaModel(Optional.of(literalExprMetaModel));
8798a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
880106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ObjectCreationExprMetaModel objectCreationExprMetaModel = new ObjectCreationExprMetaModel(Optional.of(expressionMetaModel));
8818a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
882106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final SimpleNameMetaModel simpleNameMetaModel = new SimpleNameMetaModel(Optional.of(nodeMetaModel));
8838a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
884106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final SingleMemberAnnotationExprMetaModel singleMemberAnnotationExprMetaModel = new SingleMemberAnnotationExprMetaModel(Optional.of(annotationExprMetaModel));
8858a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
886106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final SuperExprMetaModel superExprMetaModel = new SuperExprMetaModel(Optional.of(expressionMetaModel));
8878a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
888106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ThisExprMetaModel thisExprMetaModel = new ThisExprMetaModel(Optional.of(expressionMetaModel));
8898a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
890106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final TypeExprMetaModel typeExprMetaModel = new TypeExprMetaModel(Optional.of(expressionMetaModel));
8918a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
892106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final UnaryExprMetaModel unaryExprMetaModel = new UnaryExprMetaModel(Optional.of(expressionMetaModel));
8938a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
894106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final VariableDeclarationExprMetaModel variableDeclarationExprMetaModel = new VariableDeclarationExprMetaModel(Optional.of(expressionMetaModel));
8958a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
896106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ImportDeclarationMetaModel importDeclarationMetaModel = new ImportDeclarationMetaModel(Optional.of(nodeMetaModel));
8978a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
898106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final AssertStmtMetaModel assertStmtMetaModel = new AssertStmtMetaModel(Optional.of(statementMetaModel));
8998a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
900106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final BlockStmtMetaModel blockStmtMetaModel = new BlockStmtMetaModel(Optional.of(statementMetaModel));
9018a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
902106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final BreakStmtMetaModel breakStmtMetaModel = new BreakStmtMetaModel(Optional.of(statementMetaModel));
9038a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
904106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final CatchClauseMetaModel catchClauseMetaModel = new CatchClauseMetaModel(Optional.of(nodeMetaModel));
9058a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
906106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ContinueStmtMetaModel continueStmtMetaModel = new ContinueStmtMetaModel(Optional.of(statementMetaModel));
9078a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
908106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final DoStmtMetaModel doStmtMetaModel = new DoStmtMetaModel(Optional.of(statementMetaModel));
9098a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
910106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final EmptyStmtMetaModel emptyStmtMetaModel = new EmptyStmtMetaModel(Optional.of(statementMetaModel));
9118a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
912106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ExplicitConstructorInvocationStmtMetaModel explicitConstructorInvocationStmtMetaModel = new ExplicitConstructorInvocationStmtMetaModel(Optional.of(statementMetaModel));
9138a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
914106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ExpressionStmtMetaModel expressionStmtMetaModel = new ExpressionStmtMetaModel(Optional.of(statementMetaModel));
9158a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
916106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ForeachStmtMetaModel foreachStmtMetaModel = new ForeachStmtMetaModel(Optional.of(statementMetaModel));
9178a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
918106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ForStmtMetaModel forStmtMetaModel = new ForStmtMetaModel(Optional.of(statementMetaModel));
9198a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
920106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final IfStmtMetaModel ifStmtMetaModel = new IfStmtMetaModel(Optional.of(statementMetaModel));
9218a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
922106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final LabeledStmtMetaModel labeledStmtMetaModel = new LabeledStmtMetaModel(Optional.of(statementMetaModel));
9238a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
924106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ReturnStmtMetaModel returnStmtMetaModel = new ReturnStmtMetaModel(Optional.of(statementMetaModel));
9258a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
926106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final SwitchEntryStmtMetaModel switchEntryStmtMetaModel = new SwitchEntryStmtMetaModel(Optional.of(statementMetaModel));
9278a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
928106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final SwitchStmtMetaModel switchStmtMetaModel = new SwitchStmtMetaModel(Optional.of(statementMetaModel));
9298a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
930106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final SynchronizedStmtMetaModel synchronizedStmtMetaModel = new SynchronizedStmtMetaModel(Optional.of(statementMetaModel));
9318a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
932106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ThrowStmtMetaModel throwStmtMetaModel = new ThrowStmtMetaModel(Optional.of(statementMetaModel));
9338a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
934106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final TryStmtMetaModel tryStmtMetaModel = new TryStmtMetaModel(Optional.of(statementMetaModel));
9358a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
936106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final LocalClassDeclarationStmtMetaModel localClassDeclarationStmtMetaModel = new LocalClassDeclarationStmtMetaModel(Optional.of(statementMetaModel));
9378a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
938106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final WhileStmtMetaModel whileStmtMetaModel = new WhileStmtMetaModel(Optional.of(statementMetaModel));
939760bf1283727080cedb406065aa2b5f673f6830aDanny van Bruggen
9406e27cb0fbf02039407c001523f61a79c48af307dDanny van Bruggen    public static final UnparsableStmtMetaModel unparsableStmtMetaModel = new UnparsableStmtMetaModel(Optional.of(statementMetaModel));
9418a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
942106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ArrayTypeMetaModel arrayTypeMetaModel = new ArrayTypeMetaModel(Optional.of(referenceTypeMetaModel));
9438a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
944106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final ClassOrInterfaceTypeMetaModel classOrInterfaceTypeMetaModel = new ClassOrInterfaceTypeMetaModel(Optional.of(referenceTypeMetaModel));
9458a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
946106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final IntersectionTypeMetaModel intersectionTypeMetaModel = new IntersectionTypeMetaModel(Optional.of(typeMetaModel));
9478a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
948106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final PrimitiveTypeMetaModel primitiveTypeMetaModel = new PrimitiveTypeMetaModel(Optional.of(typeMetaModel));
9498a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
950106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final TypeParameterMetaModel typeParameterMetaModel = new TypeParameterMetaModel(Optional.of(referenceTypeMetaModel));
9518a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
952106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final UnionTypeMetaModel unionTypeMetaModel = new UnionTypeMetaModel(Optional.of(typeMetaModel));
9538a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
954106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final UnknownTypeMetaModel unknownTypeMetaModel = new UnknownTypeMetaModel(Optional.of(typeMetaModel));
9558a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
956106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final VoidTypeMetaModel voidTypeMetaModel = new VoidTypeMetaModel(Optional.of(typeMetaModel));
9578a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
958106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    public static final WildcardTypeMetaModel wildcardTypeMetaModel = new WildcardTypeMetaModel(Optional.of(typeMetaModel));
9598a89fb0a5acf97e8836d0aaf1ba9bd723fd700c2Danny van Bruggen
960d7bb34fa5033f252060bcff360735967a4f3b02cDanny van Bruggen    public static final VarTypeMetaModel varTypeMetaModel = new VarTypeMetaModel(Optional.of(typeMetaModel));
961d7bb34fa5033f252060bcff360735967a4f3b02cDanny van Bruggen
96288d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen    public static final ModuleRequiresStmtMetaModel moduleRequiresStmtMetaModel = new ModuleRequiresStmtMetaModel(Optional.of(moduleStmtMetaModel));
96388d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen
96488d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen    public static final ModuleExportsStmtMetaModel moduleExportsStmtMetaModel = new ModuleExportsStmtMetaModel(Optional.of(moduleStmtMetaModel));
96588d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen
96688d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen    public static final ModuleProvidesStmtMetaModel moduleProvidesStmtMetaModel = new ModuleProvidesStmtMetaModel(Optional.of(moduleStmtMetaModel));
96788d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen
96888d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen    public static final ModuleUsesStmtMetaModel moduleUsesStmtMetaModel = new ModuleUsesStmtMetaModel(Optional.of(moduleStmtMetaModel));
96988d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen
97088d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen    public static final ModuleOpensStmtMetaModel moduleOpensStmtMetaModel = new ModuleOpensStmtMetaModel(Optional.of(moduleStmtMetaModel));
97188d5ca079a9ca0f041c3275e47b7a1d69775d6ccDanny van Bruggen
972106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    static {
973106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen        initializeNodeMetaModels();
974106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen        initializePropertyMetaModels();
975106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen        initializeConstructorParameters();
976106211108b292dd5976287648c510706ee4dfa5eDanny van Bruggen    }
977795fd7456f23d42e8cc3c1bcf006ba3fb8de7691Danny van Bruggen}
978