From 6bc099a46f2a98eaf3cefc52bbc5cf7b9839c99e Mon Sep 17 00:00:00 2001
From: Jueun Park <jueun-park98>
Date: Sun, 19 Sep 2021 06:18:19 +0900
Subject: [PATCH] Update

---
 .../6.8/executionHistory/executionHistory.bin | Bin 5678547 -> 5678547 bytes
 .../executionHistory/executionHistory.lock    | Bin 17 -> 17 bytes
 .gradle/6.8/fileHashes/fileHashes.bin         | Bin 788390 -> 800949 bytes
 .gradle/6.8/fileHashes/fileHashes.lock        | Bin 17 -> 17 bytes
 .../6.8/fileHashes/resourceHashesCache.bin    | Bin 382109 -> 388093 bytes
 .gradle/6.8/javaCompile/classAnalysis.bin     | Bin 1326081 -> 1436386 bytes
 .gradle/6.8/javaCompile/jarAnalysis.bin       | Bin 1344409 -> 1459059 bytes
 .gradle/6.8/javaCompile/javaCompile.lock      | Bin 17 -> 17 bytes
 .gradle/6.8/javaCompile/taskHistory.bin       | Bin 29049 -> 29049 bytes
 .../buildOutputCleanup.lock                   | Bin 17 -> 17 bytes
 .../inf/st/openapi/OpenAPIMain.class          | Bin 4352 -> 3177 bytes
 .../ast/ASTNodeAnnotation$Attribute.class     | Bin 0 -> 804 bytes
 .../openapi/ast/ASTNodeAnnotation$Child.class | Bin 0 -> 597 bytes
 .../ast/ASTNodeAnnotation$Constructor.class   | Bin 0 -> 645 bytes
 .../openapi/ast/ASTNodeAnnotation$Kind.class  | Bin 0 -> 1277 bytes
 .../ast/ASTNodeAnnotation$ListChild.class     | Bin 0 -> 605 bytes
 .../ast/ASTNodeAnnotation$OptChild.class      | Bin 0 -> 603 bytes
 .../ast/ASTNodeAnnotation$Source.class        | Bin 0 -> 663 bytes
 .../openapi/ast/ASTNodeAnnotation$Token.class | Bin 0 -> 597 bytes
 .../st/openapi/ast/ASTNodeAnnotation.class    | Bin 0 -> 1013 bytes
 .../st/openapi/ast/ASTState$CircleState.class | Bin 0 -> 840 bytes
 .../openapi/ast/ASTState$CircularValue.class  | Bin 0 -> 606 bytes
 .../inf/st/openapi/ast/ASTState$Cycle.class   | Bin 0 -> 410 bytes
 .../inf/st/openapi/ast/ASTState.class         | Bin 0 -> 3478 bytes
 .../inf/st/openapi/ast/AllOfSchema.class      | Bin 0 -> 4498 bytes
 .../inf/st/openapi/ast/AnyOfSchema.class      | Bin 0 -> 4498 bytes
 .../inf/st/openapi/ast/AttributeValue.class   | Bin 0 -> 1485 bytes
 .../st/openapi/ast/AuthorizationCode.class    | Bin 0 -> 4578 bytes
 .../inf/st/openapi/ast/CallbackOb.class       | Bin 0 -> 5789 bytes
 .../inf/st/openapi/ast/CallbackObject.class   | Bin 0 -> 12058 bytes
 .../st/openapi/ast/CallbackReference.class    | Bin 0 -> 7122 bytes
 .../inf/st/openapi/ast/CallbackTuple.class    | Bin 0 -> 5108 bytes
 .../st/openapi/ast/ClientCredentials.class    | Bin 0 -> 4578 bytes
 .../inf/st/openapi/ast/ComponentsObject.class | Bin 0 -> 39807 bytes
 .../inf/st/openapi/ast/ContactObject.class    | Bin 0 -> 10125 bytes
 .../inf/st/openapi/ast/ContentTuple.class     | Bin 0 -> 5149 bytes
 .../tudresden/inf/st/openapi/ast/Delete.class | Bin 0 -> 4679 bytes
 .../st/openapi/ast/DiscriminatorObject.class  | Bin 0 -> 9612 bytes
 .../inf/st/openapi/ast/EncodingObject.class   | Bin 0 -> 14384 bytes
 .../inf/st/openapi/ast/EncodingTuple.class    | Bin 0 -> 5144 bytes
 .../tudresden/inf/st/openapi/ast/Enum.class   | Bin 0 -> 4323 bytes
 .../inf/st/openapi/ast/EnumObj.class          | Bin 0 -> 4294 bytes
 .../inf/st/openapi/ast/ExampleObject.class    | Bin 0 -> 10934 bytes
 .../inf/st/openapi/ast/ExampleTuple.class     | Bin 0 -> 5131 bytes
 .../inf/st/openapi/ast/Expression.class       | Bin 0 -> 5090 bytes
 .../inf/st/openapi/ast/Extension.class        | Bin 0 -> 4694 bytes
 .../st/openapi/ast/ExternalDocObject.class    | Bin 0 -> 9825 bytes
 .../de/tudresden/inf/st/openapi/ast/Get.class | Bin 0 -> 4667 bytes
 .../tudresden/inf/st/openapi/ast/Head.class   | Bin 0 -> 4671 bytes
 .../inf/st/openapi/ast/HeaderOb.class         | Bin 0 -> 7352 bytes
 .../inf/st/openapi/ast/HeaderObject.class     | Bin 0 -> 20402 bytes
 .../inf/st/openapi/ast/HeaderReference.class  | Bin 0 -> 7074 bytes
 .../inf/st/openapi/ast/HeaderTuple.class      | Bin 0 -> 5082 bytes
 .../inf/st/openapi/ast/Implicit.class         | Bin 0 -> 4542 bytes
 .../inf/st/openapi/ast/InfoObject.class       | Bin 0 -> 14648 bytes
 .../inf/st/openapi/ast/ItemsSchema.class      | Bin 0 -> 4498 bytes
 .../inf/st/openapi/ast/JastAddList.class      | Bin 0 -> 5748 bytes
 .../inf/st/openapi/ast/LicenseObject.class    | Bin 0 -> 9707 bytes
 .../tudresden/inf/st/openapi/ast/LinkOb.class | Bin 0 -> 6042 bytes
 .../inf/st/openapi/ast/LinkObject.class       | Bin 0 -> 17668 bytes
 .../st/openapi/ast/LinkParameterTuple.class   | Bin 0 -> 4805 bytes
 .../inf/st/openapi/ast/LinkReference.class    | Bin 0 -> 7010 bytes
 .../inf/st/openapi/ast/LinkTuple.class        | Bin 0 -> 5056 bytes
 .../inf/st/openapi/ast/MappingTuple.class     | Bin 0 -> 4677 bytes
 .../inf/st/openapi/ast/MediaTypeObject.class  | Bin 0 -> 18226 bytes
 .../inf/st/openapi/ast/NotSchema.class        | Bin 0 -> 4490 bytes
 .../inf/st/openapi/ast/OAuthFlowObject.class  | Bin 0 -> 13132 bytes
 .../inf/st/openapi/ast/OAuthFlowsObject.class | Bin 0 -> 15349 bytes
 .../inf/st/openapi/ast/OneOfSchema.class      | Bin 0 -> 4498 bytes
 .../inf/st/openapi/ast/OpenAPIObject.class    | Bin 0 -> 29048 bytes
 .../inf/st/openapi/ast/OperationOb.class      | Bin 0 -> 1898 bytes
 .../inf/st/openapi/ast/OperationObject.class  | Bin 0 -> 40602 bytes
 .../de/tudresden/inf/st/openapi/ast/Opt.class | Bin 0 -> 4048 bytes
 .../inf/st/openapi/ast/Options.class          | Bin 0 -> 4683 bytes
 .../inf/st/openapi/ast/ParameterOb.class      | Bin 0 -> 7777 bytes
 .../inf/st/openapi/ast/ParameterObject.class  | Bin 0 -> 22141 bytes
 .../st/openapi/ast/ParameterReference.class   | Bin 0 -> 7768 bytes
 .../inf/st/openapi/ast/ParameterTuple.class   | Bin 0 -> 5121 bytes
 .../inf/st/openapi/ast/Password.class         | Bin 0 -> 4542 bytes
 .../tudresden/inf/st/openapi/ast/Patch.class  | Bin 0 -> 4675 bytes
 .../inf/st/openapi/ast/PathItemOb.class       | Bin 0 -> 8830 bytes
 .../inf/st/openapi/ast/PathItemObject.class   | Bin 0 -> 27100 bytes
 .../st/openapi/ast/PathItemReference.class    | Bin 0 -> 7701 bytes
 .../inf/st/openapi/ast/PathsObject.class      | Bin 0 -> 7111 bytes
 .../tudresden/inf/st/openapi/ast/Post.class   | Bin 0 -> 4671 bytes
 .../inf/st/openapi/ast/PropertyItem.class     | Bin 0 -> 5080 bytes
 .../de/tudresden/inf/st/openapi/ast/Put.class | Bin 0 -> 4667 bytes
 .../inf/st/openapi/ast/RequestBodyOb.class    | Bin 0 -> 6104 bytes
 .../st/openapi/ast/RequestBodyObject.class    | Bin 0 -> 13406 bytes
 .../st/openapi/ast/RequestBodyReference.class | Bin 0 -> 7206 bytes
 .../inf/st/openapi/ast/RequestBodyTuple.class | Bin 0 -> 5147 bytes
 .../inf/st/openapi/ast/RequiredField.class    | Bin 0 -> 4343 bytes
 .../inf/st/openapi/ast/ResponseOb.class       | Bin 0 -> 7131 bytes
 .../inf/st/openapi/ast/ResponseObject.class   | Bin 0 -> 18344 bytes
 .../st/openapi/ast/ResponseReference.class    | Bin 0 -> 7122 bytes
 .../inf/st/openapi/ast/ResponseTuple.class    | Bin 0 -> 5108 bytes
 .../inf/st/openapi/ast/SchemaOb.class         | Bin 0 -> 11644 bytes
 .../inf/st/openapi/ast/SchemaObject.class     | Bin 0 -> 45085 bytes
 .../inf/st/openapi/ast/SchemaReference.class  | Bin 0 -> 7667 bytes
 .../inf/st/openapi/ast/SchemaTuple.class      | Bin 0 -> 5082 bytes
 .../inf/st/openapi/ast/ScopesTuple.class      | Bin 0 -> 4721 bytes
 .../ast/SecurityRequirementObject.class       | Bin 0 -> 9926 bytes
 .../ast/SecurityRequirementTuple.class        | Bin 0 -> 7603 bytes
 .../ast/SecurityRequirementValue.class        | Bin 0 -> 4387 bytes
 .../inf/st/openapi/ast/SecuritySchemeOb.class | Bin 0 -> 5527 bytes
 .../st/openapi/ast/SecuritySchemeObject.class | Bin 0 -> 13799 bytes
 .../openapi/ast/SecuritySchemeReference.class | Bin 0 -> 7290 bytes
 .../st/openapi/ast/SecuritySchemeTuple.class  | Bin 0 -> 5186 bytes
 .../inf/st/openapi/ast/ServerObject.class     | Bin 0 -> 13354 bytes
 .../st/openapi/ast/ServerVariableObject.class | Bin 0 -> 12565 bytes
 .../st/openapi/ast/ServerVariablesTuple.class | Bin 0 -> 5220 bytes
 .../de/tudresden/inf/st/openapi/ast/Tag.class | Bin 0 -> 4295 bytes
 .../inf/st/openapi/ast/TagObject.class        | Bin 0 -> 12041 bytes
 .../tudresden/inf/st/openapi/ast/Trace.class  | Bin 0 -> 4675 bytes
 .../inf/st/openapi/ast/XmlObject.class        | Bin 0 -> 10776 bytes
 .../java/test/openapi/OpenAPIMain_test.class  | Bin 5080 -> 5132 bytes
 .../classes/openapi.OpenAPIMain_test.html     | 104 +--
 build/reports/tests/test/index.html           |   8 +-
 .../reports/tests/test/packages/openapi.html  |   6 +-
 .../test/TEST-openapi.OpenAPIMain_test.xml    | 102 +--
 build/test-results/test/binary/output.bin     |  98 +--
 build/test-results/test/binary/output.bin.idx | Bin 36 -> 36 bytes
 build/test-results/test/binary/results.bin    | Bin 81 -> 81 bytes
 .../tudresden/inf/st/openapi/ast/ASTNode.java |   2 +-
 .../inf/st/openapi/ast/ASTNodeAnnotation.java |   2 +-
 .../inf/st/openapi/ast/ASTState.java          |   2 +-
 .../st/openapi/ast/AdditionalProperties.java  |   4 +-
 .../inf/st/openapi/ast/AllOfSchema.java       |   4 +-
 .../inf/st/openapi/ast/AnyOfSchema.java       |   4 +-
 .../inf/st/openapi/ast/AttributeValue.java    |   2 +-
 .../inf/st/openapi/ast/AuthorizationCode.java |   4 +-
 .../inf/st/openapi/ast/CallbackOb.java        |  30 +-
 .../inf/st/openapi/ast/CallbackObject.java    |  42 +-
 .../inf/st/openapi/ast/CallbackReference.java |  35 +-
 .../inf/st/openapi/ast/CallbackTuple.java     |   2 +-
 .../inf/st/openapi/ast/ClientCredentials.java |   4 +-
 .../inf/st/openapi/ast/ComponentsObject.java  | 131 ++--
 .../inf/st/openapi/ast/ContactObject.java     |   4 +-
 .../inf/st/openapi/ast/ContentTuple.java      |   4 +-
 .../tudresden/inf/st/openapi/ast/Delete.java  |  69 +-
 .../st/openapi/ast/DiscriminatorObject.java   |   8 +-
 .../inf/st/openapi/ast/EncodingObject.java    |  16 +-
 .../inf/st/openapi/ast/EncodingTuple.java     |   4 +-
 .../de/tudresden/inf/st/openapi/ast/Enum.java |   2 +-
 .../tudresden/inf/st/openapi/ast/EnumObj.java |   4 +-
 .../inf/st/openapi/ast/ExampleObject.java     |   8 +-
 .../inf/st/openapi/ast/ExampleTuple.java      |   2 +-
 .../inf/st/openapi/ast/Expression.java        |   4 +-
 .../inf/st/openapi/ast/Extension.java         |   4 +-
 .../inf/st/openapi/ast/ExternalDocObject.java |   8 +-
 .../de/tudresden/inf/st/openapi/ast/Get.java  |  69 +-
 .../de/tudresden/inf/st/openapi/ast/Head.java |  69 +-
 .../inf/st/openapi/ast/HeaderOb.java          |  52 +-
 .../inf/st/openapi/ast/HeaderObject.java      |  59 +-
 .../inf/st/openapi/ast/HeaderReference.java   |  35 +-
 .../inf/st/openapi/ast/HeaderTuple.java       |   2 +-
 .../inf/st/openapi/ast/Implicit.java          |   4 +-
 .../inf/st/openapi/ast/InfoObject.java        |  12 +-
 .../inf/st/openapi/ast/ItemsSchema.java       |   4 +-
 .../inf/st/openapi/ast/JastAddList.java       |   2 +-
 .../inf/st/openapi/ast/LicenseObject.java     |   4 +-
 .../tudresden/inf/st/openapi/ast/LinkOb.java  |  41 +-
 .../inf/st/openapi/ast/LinkObject.java        |  47 +-
 .../st/openapi/ast/LinkParameterTuple.java    |   4 +-
 .../inf/st/openapi/ast/LinkReference.java     |  35 +-
 .../inf/st/openapi/ast/LinkTuple.java         |   2 +-
 .../inf/st/openapi/ast/MappingTuple.java      |   4 +-
 .../inf/st/openapi/ast/MediaTypeObject.java   |  18 +-
 .../inf/st/openapi/ast/NotSchema.java         |   4 +-
 .../inf/st/openapi/ast/OAuthFlowObject.java   |   8 +-
 .../inf/st/openapi/ast/OAuthFlowsObject.java  |  23 +-
 .../inf/st/openapi/ast/OneOfSchema.java       |   4 +-
 .../inf/st/openapi/ast/OpenAPIObject.java     |  17 +-
 .../inf/st/openapi/ast/OperationOb.java       | 109 +++
 .../inf/st/openapi/ast/OperationObject.java   | 186 ++++-
 .../de/tudresden/inf/st/openapi/ast/Opt.java  |   2 +-
 .../tudresden/inf/st/openapi/ast/Options.java |  69 +-
 .../inf/st/openapi/ast/ParameterOb.java       |  74 +-
 .../inf/st/openapi/ast/ParameterObject.java   |  91 ++-
 .../st/openapi/ast/ParameterReference.java    |  59 +-
 .../inf/st/openapi/ast/ParameterTuple.java    |   2 +-
 .../inf/st/openapi/ast/Password.java          |   4 +-
 .../tudresden/inf/st/openapi/ast/Patch.java   |  69 +-
 .../inf/st/openapi/ast/PathItemOb.java        |  66 +-
 .../inf/st/openapi/ast/PathItemObject.java    |  81 +-
 .../inf/st/openapi/ast/PathItemReference.java |  57 +-
 .../inf/st/openapi/ast/PathsObject.java       |  25 +-
 .../de/tudresden/inf/st/openapi/ast/Post.java |  69 +-
 .../inf/st/openapi/ast/PropertyItem.java      |   4 +-
 .../de/tudresden/inf/st/openapi/ast/Put.java  |  69 +-
 .../inf/st/openapi/ast/RequestBodyOb.java     |  36 +-
 .../inf/st/openapi/ast/RequestBodyObject.java |  43 +-
 .../st/openapi/ast/RequestBodyReference.java  |  35 +-
 .../inf/st/openapi/ast/RequestBodyTuple.java  |   2 +-
 .../inf/st/openapi/ast/RequiredField.java     |   4 +-
 .../inf/st/openapi/ast/ResponseOb.java        |  46 +-
 .../inf/st/openapi/ast/ResponseObject.java    |  53 +-
 .../inf/st/openapi/ast/ResponseReference.java |  35 +-
 .../inf/st/openapi/ast/ResponseTuple.java     |   2 +-
 .../inf/st/openapi/ast/SchemaOb.java          | 146 +---
 .../inf/st/openapi/ast/SchemaObject.java      | 374 ++++++---
 .../inf/st/openapi/ast/SchemaReference.java   |  59 +-
 .../inf/st/openapi/ast/SchemaTuple.java       |   2 +-
 .../inf/st/openapi/ast/ScopesTuple.java       |   4 +-
 .../ast/SecurityRequirementObject.java        |   8 +-
 .../openapi/ast/SecurityRequirementTuple.java |   4 +-
 .../openapi/ast/SecurityRequirementValue.java |   4 +-
 .../inf/st/openapi/ast/SecuritySchemeOb.java  |  46 +-
 .../st/openapi/ast/SecuritySchemeObject.java  |  55 +-
 .../openapi/ast/SecuritySchemeReference.java  |  35 +-
 .../st/openapi/ast/SecuritySchemeTuple.java   |   2 +-
 .../inf/st/openapi/ast/ServerObject.java      |   4 +-
 .../st/openapi/ast/ServerVariableObject.java  |   4 +-
 .../st/openapi/ast/ServerVariablesTuple.java  |   2 +-
 .../de/tudresden/inf/st/openapi/ast/Tag.java  |   4 +-
 .../inf/st/openapi/ast/TagObject.java         |  10 +-
 .../tudresden/inf/st/openapi/ast/Trace.java   |  69 +-
 .../inf/st/openapi/ast/XmlObject.java         |  10 +-
 .../jastadd/{Composer.jadd => Composer.jrag}  | 723 +++++++++++-------
 src/main/jastadd/OpenAPISpecification.ast     |  21 +-
 src/main/jastadd/Parser.jrag                  | 177 +----
 ...rator.jadd => RandomRequestGenerator.jrag} |  91 +--
 src/main/jastadd/ReferenceGet.jrag            |  31 +
 .../tudresden/inf/st/openapi/OpenAPIMain.java |  11 +-
 src/test/java/openapi/OpenAPIMain_test.java   |   4 +-
 225 files changed, 2541 insertions(+), 1893 deletions(-)
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Attribute.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Child.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Constructor.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Kind.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$ListChild.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$OptChild.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Source.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Token.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState$CircleState.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState$CircularValue.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState$Cycle.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/AllOfSchema.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/AnyOfSchema.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/AttributeValue.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/AuthorizationCode.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackOb.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackReference.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ClientCredentials.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ComponentsObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContactObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContentTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Delete.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/DiscriminatorObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Enum.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/EnumObj.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Expression.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Extension.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExternalDocObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Get.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Head.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderOb.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderReference.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Implicit.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/InfoObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ItemsSchema.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/JastAddList.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/LicenseObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkOb.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkParameterTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkReference.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/MappingTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/MediaTypeObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/NotSchema.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/OAuthFlowObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/OAuthFlowsObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/OneOfSchema.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/OpenAPIObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/OperationOb.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/OperationObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Opt.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Options.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterOb.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterReference.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Password.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Patch.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathItemOb.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathItemObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathItemReference.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathsObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Post.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/PropertyItem.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Put.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyOb.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyReference.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequiredField.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseOb.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseReference.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaOb.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaReference.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ScopesTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecurityRequirementObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecurityRequirementTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecurityRequirementValue.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeOb.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeReference.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ServerObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ServerVariableObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ServerVariablesTuple.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Tag.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/TagObject.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Trace.class
 create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/XmlObject.class
 create mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/OperationOb.java
 rename src/main/jastadd/{Composer.jadd => Composer.jrag} (54%)
 rename src/main/jastadd/{RandomRequestGenerator.jadd => RandomRequestGenerator.jrag} (58%)
 create mode 100644 src/main/jastadd/ReferenceGet.jrag

diff --git a/.gradle/6.8/executionHistory/executionHistory.bin b/.gradle/6.8/executionHistory/executionHistory.bin
index b0f8fa06d7042159b56b76923ed39f37999d6cf1..567b9475ced1e91ffc14457422e1b68c71b94191 100644
GIT binary patch
delta 21894
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%0DR!s!&YeWSRYYb|c|`q2Wq~Ci^CPTm(6AdhauC
zDYtfk=~<gtpI%Gn+~2fn=G$A(!B%YxWt@z%f(h!d*9xXG{E2g#ZI)GAP1JDoXalS6
z)|fu=9+!yg<7qd%f^Ean{+-|O-L1~Bu=OS=93H8I7C6CHEkO->WOwt~4ufqs?#-C`
zYmfh-*U!LN`<e>ljOiP#c*W}(1a4ON-+m$!_1miS_>0FM&hEMoa<l$JAI2`w>LsW#
zKH&@jec7K6Tyjm^W0{a#eF1FaZWYFE(0U`N{{^@iO~Yqda=cAAv#4tKg0r(0fMajJ
z3S&P=6?okQ)Vv+@R*LQ^(E1_Zxn{}K?^5fVZh}3y!*cqCTO4BYg|82_FjwDR+Mp$P
z&DYaO;srP{ZJN)>I1Oadbi)T6!uc5!ZXU}L5-yCL8fX~3hjm)ReNZSYGG~OYfr8B9
zLM>!jc`Vl`u4vDWebayDP4fGF8f@P!b;f@9N+zgEhS`m~q)onhXnHBGjyIn0p%-lI
zKIQ2PlbJ<aw%H11N9~<kzQ)Eud+W>@FK2^gcN8&B0xd}>hRij?!ed!{Wrn`R?Y;7b
z>H6=u%_ZJ|gLcyN#ycEhqEkJr?eymV6Sk1o77Dl(ZFB@AIbGltw^XkEhV*`ohphXT
zPZ$4Is=a*LO0Xrby%~E!ONC$~_6!16#V0i`P1<j6rT+dKD^oS&F>o-=(r26qQ3sko
zhq+}+&HB>+`(#cA?ns=<t#-xm5ZKI?F2?EeUvbOS3;poAWxCxadb@<(tMBop-_L`k
zkE$|G0U3o+*n}_8-NkU8|G{wqtxFNipT6G(D}Q9hI02*_CFHZZd5n!B1DaTkOdO39
zWm<NC9eF^VaWc|srs;R?a&U@1=A3v+gIhcB#iB>|rbxYf-3%^u<6d*ixcpiaXtw_f
zOHskmNxQP{vdvfoj=xQPjEocf;H#OSF?hBp^=zNqOh@s)ojX3+m>vEJ3R(Rw<>?0=
zu}Mle{5d#(_vSlFucz*Rmw)&R^I34wdM0i9$46{Z5-Sq-_T;Rph_|r$u|3K1UiKTX
z$G(<NS9rrMDm5{K_q2eUV~3%XsQNOKyw|6}xoMIz<CN)!vsi?^7zCmXw+8SnwO&+~
z;dkzY!gJ}a2cSgx;}Ij{B;-X+P?w&ROcs{vpLc5RjQ6Jv<GoVug0s~tKE`R&H_l=a
zwPg^v{^RAn*QcjS{`{}my?n;AHyglZ&#b*nj9s9mO;B^TNZwmneDsIJ?7cU)xwE|H
zTnX~=^owt}MO-J=7af*2e^Gw<#l(E0j#Spk;5>O+g>e${awe!btJzl-3htH&(e-OI
z|C-$(_z0}{q0RII_c<h`Py8>mP+D`(^&9iG`tM2Sw*COi{$0b!ICHw=d=?2A27#c;
z+J9Ux*nU^G<z;^E$z$9G_WlhU#;Ma8AF+wm$61N);+klhBX~=?SkU64<8N>s(x}1M
z4`0v(b;_-+*H`Yly3jS$Goni-{&mn#a764=X6%8iXo4!!zvL7vov{1C(whu-SIp2}
zwHEBA!z!TFTJR-JP_<jWi?O!8x!tP2_+79^0i%iWWN>i*bD19Slug3tut?F%xKojx
zIR-^n{I;A<+6<PxbD5EG25fm0Mm|uLJn^CF*5|;M#qzrU__C~zfc-nwW_sgOHc`9Y
zH|ht}u5Qr?@lZQ`;8%R!EU@fxbH;A)VkfAx{vIycwK2LsiaVw{%kIi8{$F5w_p40*
z_l{dEXQ!9QhMca+A5Mun@7P%?c)1mv<Zh@lc7c{RL5+~S{4t?&e&K;n0Vfae*K9cO
z7Hq_B6~-y3%bTFeSIi7Ad$4L|khH?vnZL_R?w<!IsvG*#=ch7DOF4XbID2<X;^vL4
zYeN6@$ltjPcJ;js#@V2yO`?iWL+Z7^1}Cif_}l(?aO1w7_d6efl`XSioId?ys3d6J
z(C_q?p1m1yZ4)<h96eUG{nBJ`&Y!ITaTQ{H6V$*(osL$M<k~+egrqM0m#i%@8|>5X
zii{Is%Zv~u-!qw_CkdPXJWza6RXqI*)5ay>badOCaVkvh^c{uFeD!&6PhU%7Rd8&-
z?<Lgvl;_xIup?LWGcwMADa44=DKC}zn=V8+-2OC0r%6<JcH=`(76vt>U|LYhx8QgG
zFY^d_KfJ!CKWHV(+(&o7f%!$9u|GIj4YbG-;p$a0%hI`pSDe3)&t>ZM+574rP$OFZ
zPt^2=CmdqZtea}hH@olbU1_SlaeLdm`q`jNtUvbw6XUe$A2+dxx-$saAO18&{zUd&
z+Xnl&?0uKk_ko@E*&4QF3dLcbaoVCW@>V-8Bn9-(eRP2J9XO0`sZS5AViFa7J6}p5
z;qkdp$rB0eykF)0Zi0%z=?kB7s7ZV}UAeQUy=3F!p#JICivRrn3--}5-|6?Cawti$
zHJK)xUXA?_@WmnY%;X}!Zm_YNtr_P}SDeEmIbGlt8@t!Kw>;G|_Gi53w&(cWHZ728
z23XNzCC2HnRa4-aG8GXvY@ah?c1vV(m!CCDzvBPD|0FoEOxK>S|B6jcs`b0&lYQ+~
zNBX5g{4+Sd{hSN-`15SWdEk{zO0Zha=O@pZ9oxJM9<#n|3*1?Ld^1?xFAK(5lQ+H=
z0nKT#N-+p5E|a^k=1;N<d&##y@0m{?Uk$eFkj8ZXM_gi3KNWP_-=0i;VS4N&Yl_n%
z(JSC0Wfds>A6&pLI{iW^GrI)Wx!OIF;^kpkJG%}Cnbh9y28Yqqr0MTVndRz(-z)9)
zDrfjOUHEG7;u@cAzrnTD6Ai{L(5feBdiM>h=T!|~%sW&4dCHEy(Bi{jBaSOFPCzVs
zf+|&;$+T8)pI)X^uR}z<$EB_n;AGqx$Jhf|_XJhO_;Ov8dYF%-pPj@}pO}>#lDoi8
zKdizy0kQB2s&<KRLx|r)g+i0MD>~W}PoB65&TTV5i<J_d)a-l4vatP%(No2_PKQ2D
z|9ykUh~wOGP&T+PF@1d*vuM4dK(eOmLe2|rtx=9Y^X{kK1<SsaU}g|l9dxSblW5Y>
zV2LvUc2l)Pm>C3~nz`G)j%i?9ap9TtO^LSC%nSmC4<5}6dM%oK&Trq;+5YFAF*68Q
zzO8NZxm@K@d}!sHebEzBnHdE5FC@FZT|H6#{z<DhS9N`sGqmIvr89KpPd|B+$BFeX
z$kOQow|I0|J5PYRn~t}53|OavnIFrU-B`DQnFnw2sIwjdGar26R$x5~X7=A=S7*Hm
zW*UCwc4VD<5@Z77ZFV)*UI_CwhaT%Mu!8v8?0T%Lz@if>nI)$;yyg&K-3sO(xXtdv
zdK1hPyu+@@`UK3}_nu9I^%saa?Kzh|>lqMhI^TD0f7XeoK-L_5!=cT(5X}7ehC`iw
z4T!1#WctMqY{JtY+~pBq-3t<#&i8`Lfb}$(nfQ^%i}ekd>Da`iF#W<u9s$;$VE)1%
z+`6orPJ;}7aF54;bt#ys_mazkbq1Ju{vNw6YY&(yc%NO5bs3oX;3bzn>wYlv-B0cm
z*5)%H6CU1Yw_$w^5}lUCY{hyD#G0P?fZdq&JD92Pg-v#P!51C@)>&Znj=#ATrsqB6
z5nw$8;!k_XuEn|>#G0=EkX?^;6PTG$&uqzh6U<!jklljy8JL;yh)0w43z*sXhg+4k
z_Z-Lp7vFHHv(7&cVkSOfS7E&cW(s~|(_%ez79{HMjZK&JHJF+Bms^FkAIzMP!>q}A
z0nEJjmP?uSJDB<4FSjD=Gq4F09<!^keg-r3|8Xm^fLVec+0|H^z)B~6XH#Q63l_cj
zj!T{O0GOHhgk6=j@dC(R#{b-Etee1YWb9-To9_RVM}T!dnE&tzyB6ybuquJ4?24>&
zz@i_1@My3;12g}>=Tc?;0%i(4<56ba3br!v1D7FdBgmeqi9Fh@Yr(9EJj$$Rz$)*5
z;L>Kj31$|yFe|W523sKii%o&`4p_g#bDluf4PeprAGx$x4}+QaK62TyegHESKXDnb
z9=!;1z2k2-UDi8b=E3hA#;h;E%mbge%visGnG?UV8?gQXYcu%FWyIQW39OBoM~Af+
z%)I!6LyL7bn7NRdN0)UunEBu(k2VXKmH3lGpY<@9dEh0xChHxrS%t57^jXh?MfbDv
z>apGiGe3Ue(q(-CW;*`k(P#Y*W*V~c=(Dz72HC6lgI$YtGMKsWHIEAGd@z&oKaU~n
zY7leU8y-E@9U#{94X@dCSWkeN4_~uevR(x<1Anrcus;Sd^-oTJ_@7N`y1;iX0oD&7
zk?H^0cuZLTf|&=pm^E2DK{fI84{zADSv$djq41VnlXWUs^x|6{N7kKSQA18%HP+Q&
z=Eq;`TC7vS%))m(K>`|m$$f1yhrS;3pI>rG`|jcG6M1>97?~M<C{CZq#{INih?Tcp
zh?TEhh?T!xh*h9nh*hv%h*hXvh*h{<h*hLrh*h**h*hjzh*i8@h*hFph*h#(h*hdx
zh*i2>h*hRth*h>-h*hp#h*iE_h*hCoh*hy&h*hawh*h~=h*hOsh*h;+h*hm!h*iB^
zh*hIqh*h&)h*hgyh*i5?h*hUuh*h^;h*hs$h*iH`h}EE7h}E!Nh}EcFh}F1Vh}EQB
zh}E=Rh}EoJh}FDZh}EK9h}E)Ph}EiHh}F7Xh}EWDh}E`Th}EuLh}FJbh}EH8h}E%O
zh}EfGh}F4Wh}ETCh}E@Sh}ErKh}FGah}ENAh}Cnu5UbZE8}+m239eXWV`f+b-ncql
z!O1Jy*udDt(#SB;)I2pg&BDOUI4w2R*vKq7B_%P{+#oU4L}2YHp{qLS64lfDH>~Wr
z{_Y%9_x1uI-fxWCCFU{iViQ1LyfOWvtYn@d`XY@9#U+VJIjPQ|m8%7bB^fWK7cOPY
z!>U<fI{z}pP64H28AF-UXWsk^d~AQ$3q6D^tpYEeMIU5^ES^OlT?H+k-6*gqJ0zyH
zG`Zk$3cpafK;fh5g`I|4(=Vv1whFxE*)gd>?5IHIhVquFK|Bp0skH)&&F6m+h*Xi0
z>SuZ8BGt2G`$GlZL}mf>!PV^#GgzEh1keXdr+=Jict`+!oD|~r4F;;b)9dFl&k#T#
zECr3kt4?>YWo4hvvxRZ00Q!jO^o?5>Hw&N-mQH`D&AV9ueVlaqLOa$y0_a1e(>EHc
zT4Gs4j6OUHp2t96LySI33Yjdyw}u#fkQCb*V)S8B(87`37(=5Vo%;mP$3#IhN03Fu
z=;NW&9hWk16F?sa1+Di`o4#PSVW+^PZMHi;hYMPry%yZV?a}=Vw7^ww`r18=9Rld%
zp5T?p=tG^LmB>2;&_^^OD?JiYIeDjZ?`NzNKp)GT&gjdkGrfMkVGYLMC1?U`qX7E2
zCCI>S0_fwDkQE&ttR%Yx&<7_WF$Y@eJe_|nbF%>Yh$Lj%6t*&BBF1>+bkIs@fhh|=
zR?Pls`DV)AgP&)aPB8~fbS@FN{dK|Dl^RJ*XD{A(IHUi&<@CU%hB{alOv8p7VWW+Z
z2^hqJY4q_%><gyR2OJ?2Uf^XF*cMEq4>^Jtaex<03!slNLfo^ygq?GGfgNv)0Qx8+
zXo1Bh0rcTS(3}=zE%o$so0(e$&_@&@^80JJd8T`vVr&;cA65jdb;h>T8huz1loFw<
zF%V0w(Z>^~gO*wgpbsNLrsXD_VU)nN02_TI5#%V9>4*i`=);GQ<N{un0a}19fIen8
zec~x*CD6JI-syQem^%f~2M!^T240(uK28WSdaD5X_#jBb9s%@mL2yQgtj$Ir6a)u5
zcx`rC&vzsC+Yh#1n^vtUd4kU#vNn4!<D?F^{i3By6cyNdo4b-g7JwI5^a!Aj<AGAS
z()9im)>eV7JbI=2+xCc_`ro1=HFfrb=@)$^^|7wwMjyljy9ctk0&N{P`hXtRb=>Gf
zdY~vpUdN3-qz787fwYcW0DT~Dx?+IjDuK<ZX6tm#{vW@5)X#g)lF13+6+hENnAxU3
zkg{V1FG5CH_r2viE6UIvq*MVfwm7()xfs0e8+`x|<Pw7GzR^eUAPY!9D=@IF`$iwp
zgM=+?JqBdmw}8yot@Ub>i~5%<vcBkiaDFmq9m!e&^npA`LIte^7dW)}*j!`xYKF%v
zAKYP`wBs`*+7ntiSf+0Xkz}2Yxkwy+1P|*XarA*akk^nGiKCC;L0SW7i^S0f@jwZG
zmjL=$9msxDaIB#$9Y-IggTxxj(sA?=Ivh*K(Ff%~enDQMfmk|@J|2f_={Wje9Ha~e
zuh#%C9Y-II1H~8G(sA_RI8aUoFV?`mbR2y^4zvOUvUFSkeKZb~t_}*I55$4jk_(^@
zz=0NWoE1PHaRZ5(PK)N{#$0udKGX(^Qs}}Bv{mQm!)|z2ouiMvP2Y%R)j9gm8)%6I
z#;SAl5xD8#Rp;nKZs1kt0_a0+AW?(qA1*Ps2%rzJL9&&@A|96M7vg!F1<*&;K;^&E
z^!O{xodTERTV`8q+!H+8GCRbcGbwcX##fB1`O(JArW;msD}$G>3p{jmx_pggmhJI9
z9^IaY&NqXylHBy!*O+Gs^!fZ=_EExGc4zfzz4w0)2!WbakVWm=4<zx%1x$B);*~x5
zO}gRqYyZ8xrk{K2r8c=c!)&_NGq0k_hM5-Ar*L?CPnUo0#W{I*W(4ES=?mrgJg56f
zvvN*O$<p55sP46v3uEm$XidE9^n7ooB$AfP3tX^e<*M(Fbd#Lx6usxBUS9R<>5pE$
z1Fd?0z{J>}Us_U7TB4VfnWvYTQo$ggz1(*GrshAp9~H-{EMfY2_zPI23S&=EYH?{!
zNij$zgMhw|j98L!$DW+a8b!$!w-_7VgUkyAoy5e>@ae?GU9-%YpJc5#y6X|k>Y~(w
z{ORrGhV!(~cvRKjw{=<lVI}j8jB2*FWnf*~g+ZGsgOY-DuGz>sMDO~V;V76m-7$hm
zo%P7I#xMJ(H`;qCupR|77giXmNF;P0+do;rWsx?MLif*KOox_&jaeZ)T~J6;k@YxO
zVS$LMft_Rgtw-lG=bhNJ*W`chQSV0(`&J7uGYE)odZE0J_ZGwCZ2d<+3Xc^rGYAwl
zDnuvV%jhfbKJ{Rh%;%`-g_VX=1}@+j7lpV6hfH@bV3N08wxTKhuzl5O^>DSg#<hB#
zy<i_-WMyU$U|4@=yT|%hCW>7v7#dd|vjFWcJ$ol3GdES&$iUD-*T8hTfv|Vt<OQw1
z+j*G1XUT$2P>cW_nmAc!iRt!RirycXK_@3}f1~Q{$HR}d-vKGjrEZyYrphO@Iys!X
zCF4sFH%Q70<KQj$77Z4zdY6{j5+{CIU*0p}cu+>#C9~C+Cd}Wjzr_kO(apCKObl&l
zk7;r7)mdQu^U*f2O7ui$JxMlN=H2$7aF<hmSgVDu9t5ibCAt$TH*GX$#WmZr{dql^
z&$t|%=%%-o8_w6x4{q!GHMQ5L>uVnK%~R`{--9(x^<ZWYxU|K#deg~})hoO$CZ}F5
zD8iTK>T=5_^lP-KtWHf$*qO;@@eXXvYRojJl*x5x(TdO;ufndlAKrLc6{2u0D9!!c
z`0QS2^?i?hhZ(jU(G}gr%pjn8p!Udo(Kb0FR@IG5%$}!B4=iGuJb(cQPIS}V3YZk?
zQ%u7QZCyG(R{A`cw<n_S?m4iJH(D_>2)tt1c+w+iefz}J1D*B{uFYU!WMJgE#lNtr
zZ~lIL^jI@F`=r?D>J6FsN^!2|`4nOnfmQ8!!otiT(5N!;)A`(86YorPiH}s7d<1NL
zh;DvCYTk680w$??k8Md@+9H}ZvCHijGTeLSbqTDwe-<d^KbdrN&Ogg3KRwvKo{vh&
zbYo#)VB{?^JiKso*#8%x1KQACa=!nh<!hfH+fN_EizOE^>36>bse-tKcTWEO<ykw;
zqqnT}{V&$)4{-@N_ZdZAJ+M09;m*RB&yw0@-QskYgZ0g5068K^^7qSA(mAb4-V-);
zteEZqas;1H`$HMN_J=b3?GI%H+8@dYwm*~si3ztqlo4rvC?nebP)4l%p^W(UhcXh(
dH>MjHg(YtH{bNuOzujNO>pt)HRa3(>1ps!$sLB8U

delta 18217
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
W?;nGT`0f5GUiW#oubLXBDF6Uny^{R^

diff --git a/.gradle/6.8/executionHistory/executionHistory.lock b/.gradle/6.8/executionHistory/executionHistory.lock
index 75759160706ccfca8842ae6881f3863616c9ea9a..f82e7b15d4341af21b9edf049452ee38747f9be5 100644
GIT binary patch
literal 17
VcmZQp+O{L7ZHdZl1~3p&0{}Bu1Y-aI

literal 17
VcmZQp+O{L7ZHdZl1~3p-0RS^o1YiIF

diff --git a/.gradle/6.8/fileHashes/fileHashes.bin b/.gradle/6.8/fileHashes/fileHashes.bin
index 40f07f5b8fbdb1e4512cc7884c9d78ffc785e502..c4ed14887785e82d091e10e394c0f99baacaefc0 100644
GIT binary patch
delta 10260
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

delta 9813
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
E0HV%6w*UYD

diff --git a/.gradle/6.8/fileHashes/fileHashes.lock b/.gradle/6.8/fileHashes/fileHashes.lock
index 097def7561c010211d4f6826f2e401c600b66db5..38de8f6dee95cb023e0818f9007a830136aeedf0 100644
GIT binary patch
literal 17
WcmZP;t>XHyYn^sA0|+oPb^-t_Jp?EK

literal 17
WcmZP;t>XHyYn^sA0|+o(kp=)Qas-S3

diff --git a/.gradle/6.8/fileHashes/resourceHashesCache.bin b/.gradle/6.8/fileHashes/resourceHashesCache.bin
index 86ece78beeff721703fd037a2818542065894c56..df89e0dc0836dec9d4e86d3d5a71b45b28b1d736 100644
GIT binary patch
delta 8526
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

delta 1616
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

diff --git a/.gradle/6.8/javaCompile/classAnalysis.bin b/.gradle/6.8/javaCompile/classAnalysis.bin
index 2b82f0d61aaaf6bf44cdf3e74edcc22d88d1ff73..22c44c0448d6ba672e8350d60b2c8834bad4d24f 100644
GIT binary patch
delta 15872
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
O;OP`_5d@o<b_4)T*=Iul

delta 1306
zcmaEKHN5dhzy=cu#=Oa<5|x{eNvJbTW|fwlY$iQn^F8Sfrp<M7Ggv0ODOYU1rrg0X
zxlBi5@-iKR&F^$3Fi)OlFk!Nt;ep9|Mira)8L=}?zH4kaS<Pg^<Z~tolif^jOg1w!
zm|SNTzxk_~1oLE7tAm^WS-oUrQc9e@h@CHYx;h7+!Sr?xzJ%%jIr#La$8qv`PQT8{
zH(`1`7oWlO<6L|a)4y}^d2A2o=F4Dg?z3y}vtw-Uvt!!cXU9B6fiZ5nay;|F?SJB#
zS1?cClgym3-6w^)fpPkiROX89C27n8Oxx#VFwbDz?vurQfoZ!*E^`Ls_APnL{*2qD
z3z!2Lr?(U`8*D#Q$h?7Z`;=m41;*)TN|+C9Us4KEr&7+Gz&3qOEwjP&C$-E8(_`wG
zJ+|+uW42^wQg}H1L>zDEbklg=^67Wtc@3wlCh+P{f0DpkIlVNI*I@eIL|*afZxVSu
zr>7?IPMEHm%<Iw4)6Cq?)6CM&)6Ck=)6BM=r<vVUhS6!d(|mT%>5J#Huh^cvfW3oh
zJM&`p43_Q9%h>}Mm%m=Y&b(cE4f_wq>DueqKWsN%&)&c|{qzR*1Jf68WKWnby@|b&
z@0^SmU-e-I5MXcIw*A#6_DII<(OcLp7`Lz9$}Ye<{qipM3Dc{0vsY~A-oyTbal7<B
z_DDu1ImhY6p8RL0M|knynC{`tzhe98{p>8q8I!hOXyaJOG`+KvBVjsY7l*-i&n^xN
zmhCh9I5JqKOHSsHnC=N8DkpQ?n4UR><G^;usT>~6+ZWE@c)+-Q<}8jGjMF{ma8yjc
zIfo-*d*ED-4yNfJ=W`fLw_Lz+V7ul*4hPohjmtPBrf*!vabSDra*j$SCPl~Teggb|
zrzZ>YyH7tP$e%bpScu<%|CdM9yDJODKt5w&NmZPFNQghPJ#rOCd*mw4_Q+LS?UAdv
zw@0qx`L&EOV|qv+@5=3>LA(zbr}KvJuGoGygg1h9yKNM21LO3o(YyzyuZ`jL*v=cv
zyMSr>(Rkhi)8{7e>TiFNz`K)a`qpIL8`GDj@EUA?o5JhBI=!cz*<*Td7H`FL*=*kZ
z+rMP<7BX$G&Es`ontru__rvrjJ<Jof=N9qKV4R-P$1E}3w1juU^e=tPmQ0ElH!3>t
zZBJ<AeOkfjz1{5>uL8^Vx_`WijMKOO=XIYd#+SIYpYI3b_W4YFJ6NaZbMW2R9?!|g
z!MMDhi;sEwbY4F9$-efI)A{-MDkiV9zcIa^pYOo*bOAn(>Bj{?*+GD>VtczF-*Lvt
zN1Y6}uNUU4V4j@jYA`)tobSeDJGTSd%_aFHnV94yH!A)Rn4Zwc%d$O8i|_XhM!)Sr
z%=`}-w|leldoWL5&B32IU4@gsfBR`p{sN}$!94sY7^fTa@k>lk=HvI6ewdFxVYxLw
zKlAorA$|*%?Tf|uS1@l+mf}CbxZPQX-+^iR%uO5;(>KfUADG@P&u=jOvONEd>5^MG
zJf>SK@_(4FxRs+~`eh~l1Jeb!aY#(Rt<3+ENj`C-;s&Ujl8pIlcp0O&-*?~-WSs8d
z#Gf$zfD`|U<qgjK%+qJM@!#0q;m$vUal3^le+BdQ6F&S6jN82rvMVr7pW)BHVtYgY
ze*ok51A+V*jMEPvVXxf2Gnjun)Ao)q{ufNsyHB!<Z{Hrt&&a&}LJUYnKpg*p?Hcj?
y{7lpR6Zs9d&q(Co$;hNIbE9GfKRAfm-xu(=zb_DIe_tTj{=PtH`}+c6q0<1e4diwJ

diff --git a/.gradle/6.8/javaCompile/jarAnalysis.bin b/.gradle/6.8/javaCompile/jarAnalysis.bin
index 59f3e3ab4df52fc1808273d20b044c790b47b8ff..cbbc1d48efbff39848ae0ae08f7d668cfe919904 100644
GIT binary patch
delta 28777
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

delta 137
zcmey|7CEy$XoHCaW5{GviHglfB?_1(`$|uk%qz2E@>!V)n@eSPGEH_<Xk=plxKZ(k
z_(lT_fo4aKc1I7!c1I7Uc1I89c1I7Ec1I7^c1I7kc1I8Pc1I76c1I7+c1I7cc1I8H
qc1I7Mc1I81c1I7sc1I8Xc1I6^c1I7vc1I7Pc1I84?T#KI5!L|uj4V0;

diff --git a/.gradle/6.8/javaCompile/javaCompile.lock b/.gradle/6.8/javaCompile/javaCompile.lock
index 1fb439195f6356ffeadf2e3beab2ad3cba98388c..2d468154463985b80707fdbd7350b5b56142298e 100644
GIT binary patch
literal 17
VcmZS9_jn)L_pnKx0Sv^p0st^B1eyQ<

literal 17
VcmZS9_jn)L_pnKx0SrX90st^91epK;

diff --git a/.gradle/6.8/javaCompile/taskHistory.bin b/.gradle/6.8/javaCompile/taskHistory.bin
index d54deb4b355c86a3f63401bda63cb7760d93734b..d465bbe99eff90bb40dd5de033d5aade3a5550b4 100644
GIT binary patch
delta 56
zcmezQi1Ftm#trM!1g>~&J>+zM*O5=nxi6h=p4FMWKg~<PER~<Pwovd{n*1lu6Z1CA
OoXi+_YV+gtX`BFN9~{R3

delta 56
zcmezQi1Ftm#trM!1a^9C%4n7RefIOtj@P_fu8U6IpXMdd>htu}bBEmvSI9Hp=)LtV
Pe==j>sm+hmr*Q%Re|sLO

diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 6d1fb7eb8fade5cb127e36213b7fb427ced07581..c75ce7abd36e9c113e2c9299648023fff6aa9989 100644
GIT binary patch
literal 17
UcmZRMRkTpz>bjrL00wfV03bmF5dZ)H

literal 17
UcmZRMRkTpz>bjrL00uHU03g5vk^lez

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/OpenAPIMain.class b/build/classes/java/main/de/tudresden/inf/st/openapi/OpenAPIMain.class
index 0af7def6717cd6a2a817e016e4d6c64e2c343649..b0c4303d8642ede6332692e6859d50f0a97d8376 100644
GIT binary patch
delta 1086
zcmZordMQzV>ff$?3=9k=3~RU;G#SF!8N#_3m>9x17$VpiBDok?8KO8CqCs>Fh=}E8
z@MVbOWQb=-0I?Fe7?K#0L97&R27iWB5Rt~tkj~DK!NnlN5C$SLK|~fiLpB#f4nr;%
zLmopuJ3|2%gCs~=(u$#wgQ19np%`RR2^T{tLm7xD2N4w<43%6A0Sr~_4AmSAHCzlT
z3{mV1wOkD9Aa~YH{J(1QHOAG<1)0W^YngJG7>g%AXPTp6&(2WK&d|Wl(8$iv#Lm#n
z$iU@Vk(^pkl9``Z%+Am<c^R`3vlfH)<kQUNzFG{ej0_@r`o%@b`nidjdHO}E#rdU0
z$*ILW3~dbUJPaKSojeR(4BhMuJv<D(41GKd{R|V>87A^DOk$YK!!U(mDi6anhUq*E
zGZ<!0_Gi)Op2aYmhhYvwCnJOUWPc_ZY5#)MJjVb}-^9#3c80k;4D%S~vokE<VOYqp
zXz~FT4d%rROD4Z&QP-Ws(8|uRl!sv%!*U*m6$~qR7*>G{5hzG4DK5z`O4Thh(yL6&
z&Ea8K&CogdE$iIPyVzQp7<DK6GwDvY<;)f4OU}<N$S+QXTFA%{sWI7)Nq_PLZiUJD
zoSgNH3<Bw?d8tK-C8<HFg{7&*CB=*k?CGf`Zkai$42le544Moez{J4Fpv9ogz{sG(
zz`&r-z{tSJz`($&wVi=+BLf2i6N4@T0|OgaP?kZDfq{Vs%w}cKXE0!3VBlmhWH4f2
z0%>M?%D}?F$H2fCw3~rxayV~3W98)IyqWykI~WvvwYM=ShA;o$ETlAf2cKN1@^%I`
zEAHhCe7hM~BPBV(JW1~34D!1fR3djX2t{sZ5EfG1#vmfexs5?&8-wU}2DSaW8Pp@U
zGiX@xXziQFz@f!#WW@<`A`94wWel>DwfSx9A2L`lJY%q8c*$VH@Rq@z;U|Lw!yg7m
zMn(oFMj-|lMp*_oMkNM!MmvTWMt6odMjwWF#z2N7u-6tb2rxJ>@G=-Pm@x1#Ol1gU
zFl8`f;AU9J;L2dmV8Ot{u$@7l!IHs>ftR74A)UdP!Hj{6;SK{YgEfN<10%yj29A0L
zTLvozCQv9a*fH3HLWt3m!GXb%frWvW(Url8!Hj{GL4whW!I{B?fsH|#QJ=wu!GwW>
z;VnZdgDZm>11G~zhDfk=Tnv90!oZH<W^`xZW^iM0XW(J*U|?VnV_;(71e@#0zyg)?
zV&Gx$W{6;5aAe^4&tSyB!_MHtz`(%H;LFY+$j-pZz|O$R&fv$$$iVP}LE#UBC_97y
qFNXSm3>skh0ComeE`>h~LhKBI3_%PG3@i+c48aVH3?blD5DEYQx6;c1

delta 2010
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
Rks*bFks+0Vfq{u34FJ9;?I8dF

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Attribute.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Attribute.class
new file mode 100644
index 0000000000000000000000000000000000000000..89345c98f3c9e8bd060d71a10874505721b969af
GIT binary patch
literal 804
zcmX^0Z`VEs1_l!b1$G80b_N-C23bZ1mh8;D6m|wVMg|t|%)Asv1|HA6ywoD+oW$bd
z)M7>kD-BJblvMqa(v+gq;*``p{mi^H{o)e+{DRcH#DYxy#NrZt$KVjZ{FGG3yuAF9
z#FEVXJQa{p){G2XnZ?eTMaiW(iA9VI%o>_ej0}PZRW7M%iKRIu%nS?+42%q{nZ<q~
zj*JXk!TF^{$*FFcIjM{cVi-p2WhIs+GBQX8mFAUX=B9>a7H1~qAX#0^$e`c@Qlp=f
zn3t}f2zQfyP-;nP9>{gpj0~)0i8-aIj0|c7lm_JIWF}WyGcvFTh5Chf`nobQ$YR$L
zl30|UT4K$}poCrCH77MUHLoP3vLMx(k%7(EHN?Z;g^@uKyK0yG<Wi9G)D&xW26;vX
zYto~@v81FZGpV#Bm63rHi7kK#8~>!N)Z`LI26==KQg9*SiIKsKbn8JWfRVwFWQ}T!
z42%p+42%q*WWmhB$iTwD!N9=6$iT_K#lXnG&A`CG9L2!H!pOjjBEZ1Rz{kMAz{J4M
zAi%)DAkV<eAjrVTAe71=%pk%b3SvexFs3qyF^DrrFfcH%GcYg+F)%T(GDtG8IY=@v
LGDtE=t8oGVIwR!8

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Child.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Child.class
new file mode 100644
index 0000000000000000000000000000000000000000..0f514c8c80823f53dabfda990276f38e36526884
GIT binary patch
literal 597
zcmX^0Z`VEs1_l!b33dh{b_P*)1~Enkmb}E=R7M674Nae{#Ii*FoW#6z{os<K%)E4K
zMh33n{L-T2RJY8WR7M6d$KVjZ{FGG3yuAF9#FEVXJUx&WMh3~C(!7$)+|;nl;>@HR
zB>7@S1_dNz6X6>5gHlUU^FT&eGcvH2CFYc-GBT(UP#Tb*lbKv;&B(wW6zUh^>FdhK
zAd6i~NMccXYKb)?gA#Um*PPVc)Vz|A%7RpDMg}%t*ANeX7e)p}?5bVzlS@I$Q&X(j
z8N?YG%u`bJOG;CUQj1ek^Yk<G()5c<^z#c+^AZa(^%ILr^fAIo#W^E0CxwxL6-x7X
z=H;apIp-u67pE38G6;Zz5fbwLNm;4MC5#O62qC0ULxemdgCWVTP-A3ZWME=oWMF1s
zU|?inWME-nWnf@nW?*ArU|?ckXW(F9V322EX5eICWZ+6=;AY@q-~}<G85mO;_!#&Z
W1Q-|?L>L$txEMf22{H()aRLBn->mfj

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Constructor.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Constructor.class
new file mode 100644
index 0000000000000000000000000000000000000000..90ad906b470cca1df61cbcd152ff4633c4e6a930
GIT binary patch
literal 645
zcmX^0Z`VEs1_l!bDRu@Cb_Q{F1_?$6mb}E=R7M6-4b5nuti-ZJ{hY+Sbp7CxqRhN>
zYeoi^lFEWqMh2Gb%)Asv2Cm@z(xT*4x6GVWMg}p*;1Iw3lvKyOy!?{HlFa-(J&*y6
z43a^mc_o>-sbQJLnMpZF^2Lk{3P_eD!Zqp#rIw`TfsC+bWMC~z%qdM}WKbiZG$21G
zGr7{5k%2uZ)Gx%-*Oie$7Q2>^#G>@n5^F{VCG7I9IjOm+c_ks01*z7I4BXECe!(F@
zq0S-xL5vKF*tNLiCzpcsq^4N2Ge|Nr*rufFmz1Uyr52~8=ILkVrRf)!=;s%t<|P(n
z>L(VL=wk$yigSKmaY<2Wa!Gy>$Wmk;k7r(9YLRnJVsUY5F(ZQjC|n^C<DZn3nq0!j
zAde723Pwa!FftgD>>@Qr21W)Z21W*E1_lOZ7DfgZ237_J7Dfg(D9sL{8JHP37#J9s
z7&sZY7#JAj8JHQk85kLOQW<y|_!#&>%xDJ2R0aVCK?WfP1_m((1_mw$kkP^nqH3G~
Dz|^=%

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Kind.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Kind.class
new file mode 100644
index 0000000000000000000000000000000000000000..6174300b7919c6de937f1d509b8951196f9038a6
GIT binary patch
literal 1277
zcmX^0Z`VEs1_l!b3r+?W22CyoEe36N1~GO9T`mSb20aj=&%waY#lXU#4^m;k!5|Ex
z4LKM@K(rA%gE1omb8w^|BLj<fW?l*-1CM83UTTqZPGWI!YB3{&g-=SVeo1LcQEG8Y
zYMy>(UYdS!iGF@TYF=VNrhZ~^iN0fSh+lq6s$*VWeo10UW`3Ru$RKM*24+t`4@L$S
zXMZ0bMh143Fh`$I*I-5l%V_eAWGhR|DFr#pT0@fpV_2N?Q&Jfj_<b_-QvFJElTwR9
z5|eUL85!8Y=KH5HGWcltWF?j*>gOcprRxWm6lLb6TWgZ<a3P=k<iwn?#G*`)MNr#V
z@)C1X85x8yZDM3#v&qcMEU{x`5X0gSPt7n!29}bH%wk3c&fv`Syu^~yqEto(W(|-8
zhfQ)0RI?Y7(XM%=xi;kbz|NYHfh#z_v?w{%EfW+{Vi?h`2MRA922oJ*6XRhpVK8N9
zFk@seBQO2%Fi10)^DrndDDp7yGYIi82!jX_1|dcUK9EI_hynSDk%2WiCqFNhkwHX5
z6Uo2+Nm;4MCDx1#h9tXyk--!>)WMm-8p&vQdO&rFwSyr83j-em0|SeLB*@ha3=WbY
zhl6Pm1|bFp0Vz-bfmASXGKe!sFfcMmGB7YGF)%WK0M{l4#%&Bt2N;+)FfcGMGDtBn
zFtCB;+!;6-q#0zO>P;A!z@l72ELuAlSPw9;fYdXgsF!76VBmqMVvu8yXJBAp0tF`n
z6WB&W24)6k1_lOpEp3_Y3~U?0(#X~!w6ilPft=2u3|6DUz`>x(paOMBBm)b`-3*Sq
z8CW8P*qOI8aBODa1ar7pz#MKchldr+;bq&)z!J&4iGedXl4TPEcW@-@CI;T%%?ykn
h2cY_w8ET;#gF4t^4F*951_mw$Mg|rJ9R>jhNdR|oF2Dc)

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$ListChild.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$ListChild.class
new file mode 100644
index 0000000000000000000000000000000000000000..6af23ae6b4ccadd6579eac17b84e70ca99c3b498
GIT binary patch
literal 605
zcmX^0Z`VEs1_l!b33dh{b_P*)1~Enkmb}E=R7M674Nae{#Ii*FoW#6z{os<K%)E4K
zMh33n{L-T2RJY8WR7M6d$KVjZ{FGG3yuAF9#FEVXJUx&WMh3~C(!7$)+|;nl;>@HR
zB>7@S1_dNz6X6>5gHlUU^FT&eGcvH2CFYc-GBT(UP#Tb*lbKv;&B(wW6zUh^>FdhK
zAd6i~NMccXYKb)?gA#Um*PPVc)Vz|A%7RpDMg}%t*ANeX7e)p}?5bVzlS@I$Q&X(j
z8N?YGtW#3;OG;CUQj1ek^Yk<G()5c<^z#c+^AZa(^%ILr^fAIo#V514#5p4~CxwxL
z6N$~^nU|MZ<eZaOT%20W$RGd;PDl*+CuOB3moPHOBZQDb4-o^542C4TMvakyk%5VU
zk%5_kfq{{Qk%5JQm4ShQnSqUgfq{vEoq>aafkB>unSqmmk%23fft!JcffvM#W?)QZ
a;A7xt5MW?n5Mf|o;9>w7CCDJG#t8r&GO#rO

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$OptChild.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$OptChild.class
new file mode 100644
index 0000000000000000000000000000000000000000..d30eb6b958bf0bce354f3bcf92a2d0254e3f1682
GIT binary patch
literal 603
zcmX^0Z`VEs1_l!b33dh{b_P*)1~Enkmb}E=R7M674Nae{#Ii*FoW#6z{os<K%)E4K
zMh33n{L-T2RJY8WR7M6d$KVjZ{FGG3yuAF9#FEVXJUx&WMh3~C(!7$)+|;nl;>@HR
zB>7@S1_dNz6X6>5gHlUU^FT&eGcvH2CFYc-GBT(UP#Tb*lbKv;&B(wW6zUh^>FdhK
zAd6i~NMccXYKb)?gA#Um*PPVc)Vz|A%7RpDMg}%t*ANeX7e)p}?5bVzlS@I$Q&X(j
z8N?YGtWr|-OG;CUQj1ek^Yk<G()5c<^z#c+^AZa(^%ILr^fAIo#lN7$IU_SCg^_^+
z!Q}DG%S$bC&PgmTPAz6+5C8=xB>er8vQm>v7#ZXdLP%kU2!BQfLz3O1#>l|Pz{J4F
zz|6qFz{tYLz{0@Fz`(%Fz{bG9z{J4Lz`?-4AkV<ez{$YKz?I6t&A`LJ3t~nyFs3r_
ZG4L}8FfcHPFfcH1F@TH`WDr*41ORGSuVDZH

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Source.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Source.class
new file mode 100644
index 0000000000000000000000000000000000000000..7b34741fc83d181099b1515de84dc5fa24544487
GIT binary patch
literal 663
zcmX^0Z`VEs1_l!bX?6xtb_NM{21!N+w#4Fs)Z`LI1`!QSpRB~PME#t^ymbBGlA_GK
zbZbTiLC3tj{F20y%=|o;)U?FXoDxO`21W+1l+@&$#G=#`#}Y;cuHgLAqU2P!%$!t4
z1~JFr5WoDCRD?b~kg<#ml0l_;C7HRYVVT95NjXUJ#f%IJNLDApEz}Q6ElJG-S#8b8
zz*?4=Q<}=iphiGxKz>eUa-}sR1A9=YUx=r#D<gv}b}b=^Md_&}){G2F*yUYwQgc)D
zN<u0NQmq*o*nC|>Jp5f485FUrcF9jJ1u0KWv1VtGVq~yLN!2eYO({w(PD#zv&&*5H
zFD}u~FG$TxEXdSPEH2T<2qzUtFfuZ*!5BQAd3mWt&N+$2#i_-N3<98lgv5`3QWiMY
z<Pkzh;f4r%Mg~KY-J!<Fz{tSFz{tSNz`(%7!pOkFz{<eLz{bG9z+BA0&cevRfg-@b
z%)kj!$-u?H&A`AQ&%n&U!@$VEo65k)z|SB6Vn#DCrZNaJ2r&pVFffQSFfed2fGiPV
I5L4p>0E||<FaQ7m

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Token.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Token.class
new file mode 100644
index 0000000000000000000000000000000000000000..27ba154bd8fbb6183beb6ada07313df9b407f806
GIT binary patch
literal 597
zcmX^0Z`VEs1_l!b33dh{b_P*)1~Enkmb}E=R7M674Nae{#Ii*FoW#6z{os<K%)E4K
zMh33n{L-T2RJY8WR7M6d$KVjZ{FGG3yuAF9#FEVXJUx&WMh3~C(!7$)+|;nl;>@HR
zB>7@S1_dNz6X6>5gHlUU^FT&eGcvH2CFYc-GBT(UP#Tb*lbKv;&B(wW6zUh^>FdhK
zAd6i~NMccXYKb)?gA#Um*PPVc)Vz|A%7RpDMg}%t*ANeX7e)p}?5bVzlS@I$Q&X(j
z8N?YG%u`bJOG;CUQj1ek^Yk<G()5c<^z#c+^AZa(^%ILr^fAIoB_uyPHII>j6-x7X
z=H;apIp-u67pE38G6;Zz5fbwLNm;4MC5#O62qC0ULxemdgCWVTP-A3ZWME=oWMF1s
zU|?inWME-nWnf@nW?*ArU|?ckXW(F9V322EX5eICWZ+6=;AY@q-~}<G85mO;_!#&Z
W1Q-|?L>L$txEMf22{H()aRLCDAFVF{

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation.class
new file mode 100644
index 0000000000000000000000000000000000000000..3f1b78730828169c64c7d190a3f127af4d89dde9
GIT binary patch
literal 1013
zcmX^0Z`VEs1_l!bO)dsz203;Hd3FW`b_PX825#s4yyB9g(&Uo-B1Q%t&%C_UBIlgM
z;^Nd|b_OLz2Dae*(xT*4b_Qie1{UwkycBi@6-EY5$C8qw%%swiRCWecMh4c9{Or^`
zb_O*@1`hv%66cJ}oD_Bjbw&nGpUh$ySA&s(6)eNZz-E(~msw)R$iS?j8OF%K;+&t7
z%E-X)lbM(5SDKrYS`?C)l#|NHAmo#uoR|}qSd<CkLj_q%GBS%98H{~WQuRwpQ;JfH
zQ&RKvGxO5)i%azL3sUnE3o`W+i%aw!gG2oCQ&JuC^72a(OEUBGtQi@&Al`Ay1Q{=e
zp+YY!u`H2?L6kv^k-?B;^BEZgK>GD_67$ma{gbj%lS>#GY)Ljo1tm%>NY@YXBO`+u
z=~_WC%*bF(x<+_{U}P{ST{k%WFfv$?t`nBr$Z|A1b&}<1aAIaqWME=oW&i<321ZcI
zVPIqsXJBB^X8`dT7+AHoGcaysU|?WkkYHe7U}IopU|<kukYr$B-~qE)8KfAb!SXU-
zQkH>@fq}t^frEjCfr)`tjgx_$fr)`bjgx_sfr)|3L6U)+fr)`fjgx_wfr)`njgx_&
afr&vtjgvu;fr&v#jgvu`fr&vxjS~Q$QXy3U

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState$CircleState.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState$CircleState.class
new file mode 100644
index 0000000000000000000000000000000000000000..8767e0986079f90f0e3dcefb2e0428ceb03b8a15
GIT binary patch
literal 840
zcmX^0Z`VEs1_l!bT`mSr26;{f4h97fp$H<BI2n`~R6s0M5TVA-pw7;q!N|apms(N6
z$iVHKS(KcU8eEcClFG=y<C&M2TI8IQSX`W1%*bHolai`mQkqhfTAY%ar=OXZre9p5
zpI?xgmspUgpIBU??-(2c)~bSJj5Q+zTXIHXUV17c17j2;18+`ZRi$G|Nl|7}DaaB=
zPeumLoW$Z1=gQ=qR7M8YWDw2HpvlO<3KcRS!D5hRkd-!>d6^}4j0~0<Bxpu>-dZz^
zk%7fIKP8osf!`-HFV(L!Hz~C!Bryr(Mj@a4<iwn?#G*_PA1cUFl95@=$iNkxUs{x$
z>Xr#o$O{V*y{yEtL>>ll1}z>2J_dds1_1^^9tI%>es%_J9tIr-F&+kC5W&U3%gA6t
zPB=3%2!QO+&q>Tn*Y{7#N=+_dWY8ntBv8OHGB9g^Jgz~kHbw?cKYzb?=SXKCR|Z7}
z4hBvJ1_o9J0R}DxUIq~0W8eo-An$@{At+y%L5zWcfsuiQL7YK?fssLyfq@~1fr){M
zfq_9mYdZs@7V}mHCJ@04B3QIGF|clBVAImx%D}#nfq{XEL5hKaL5_i)fq}uFfrY_^
zfs?_VfsetHL72gZL5d-OL7pLyL7IVqK@4IhgACL~3ShS}GB7d7g3Xa*;9+235Mp3r
U;9yW@;AY@q5MfYe5M|&20QWn?1poj5

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState$CircularValue.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState$CircularValue.class
new file mode 100644
index 0000000000000000000000000000000000000000..e6a6e5982e4a729ef0387a2107dac15054c60eff
GIT binary patch
literal 606
zcmX^0Z`VEs1_l!bX)Xq422pkfadrj?Mh4ch#GKMpMg}3Dti-ZJ{hY+SbbbG%tkmQZ
zYeojv<jUlnRCWeQMg~@A5R;LC$1^W4wa7UqvA8(3n32K2CnZ(Cq%@@{wKyd;Pd_s+
zO~1HAKffR~FR>s~Ke4z(-!V8OxFoS8RRwH-H6sI?O=ezZi5(*Yvxa6EBLj<beo87M
z1HVsZUaDVdZc=JdNMceB*hTrti8*13MVTNzRFI`4BeR&1f!8^+D7iEzu_!DN?0O3l
zoPn&<nvsDkIKQ+gIn^x_WG64owR)h?;9=lq;9+NwVq`EQ-j~S6GcpK(%s~!SMg~3N
z&4L8E2C*6#6d9Npm>C!tm>3usSQuCtK!A;bi-CcGk%0x|83slMUIqpReFjDbMg|53
zR;}#}j2pok_!t-%*uaAF4EziX3_M^qD}w-o5LjLqOo}jYGB7X*F)%T(Gl(&8Fz_%i
LF^Dk;GVlNZ?)#hj

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState$Cycle.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState$Cycle.class
new file mode 100644
index 0000000000000000000000000000000000000000..cc3876bfb3c8b85c2ec98b731cf2ff106b9b6ba7
GIT binary patch
literal 410
zcmX^0Z`VEs1_l!b5iSO127Y!1L3RcqMg}&U%)HDJJ4Oa(4b3n{1{UZ1lvG9rexJ;|
zRKL>Pq|~C2#H5^5Mg}3D{N%)(u*9NF5FaYYQj(Eb%*ep%T$v0~!{eEkms;eUlUQ7w
zTFl5`;FFT7Us9S<lv<pUnx~(cm!@A_qMu)onwMCRsh?O}qVE_S5?qp4lBxnWz?zYP
zD>%QjC^^+F6J#7OOj<81u`H2?frWvUok5t9L60<J85smX`t@@X^V0SGld@8iOBfk6
zh&6*jk%5VUnE?bC8CXDWU|?imV_;y=XJBMtWME)m)!NR$xRHT@fr){gfq{VyEU3%C
l!N9=417@=_a5C_K<$1v*9|Jc70|OTWBLfqI00S2T4*(fUVT=F(

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState.class
new file mode 100644
index 0000000000000000000000000000000000000000..0befc72dd95a63482ef1ca0ea232f4dea0946006
GIT binary patch
literal 3478
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AllOfSchema.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AllOfSchema.class
new file mode 100644
index 0000000000000000000000000000000000000000..5e925f51f878c74a554d9b2edb995a35ad33f622
GIT binary patch
literal 4498
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
M4517y4CZQ_0AO;FGynhq

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AnyOfSchema.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AnyOfSchema.class
new file mode 100644
index 0000000000000000000000000000000000000000..1523089899da17e3d906bba97e6cea6cc7e037e4
GIT binary patch
literal 4498
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
M4517y4CZQ_0G!d0Z~y=R

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AttributeValue.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AttributeValue.class
new file mode 100644
index 0000000000000000000000000000000000000000..ebac92482c9179070b16dedc13d012e1979d23bc
GIT binary patch
literal 1485
zcmX^0Z`VEs1_l!bJuU`T1~pCwb_R7W26hGw5Lc6(K?@|J&Ca01$iU*~@8`<MAmo#k
zSeB@tlbDyT@1K;Fnp|Sd$iP~bm{Xd{$iNw#nVy$eQd*SC$iN&DV$I0FW|NthSz^b?
zAgY0>Q8SE@fyFsLC6$qZ-zPIK)vq)+DYYmhF)1e%WKn){Voq3MQ6`8F6=W&N$Sh`L
zFz`u9)h{VcDM~F)NzK#G%uCZRF44~~NX<(u$kb0PF41=^DJjZKDlJJ31G&takwMG{
z#kk6XRH%`rB${Ot5@Kx!@|i|Rh&9LuY^jB%i8;lL49OZK8f8tYdd(<C2BtDY5Mji~
zK)TDrz%J(vE=f$z_Dw8+hCs7Tm=$K^*pccRn-GxkBzg&=3FI$zEC~eDRUnnjAz{{x
z4DvW!9TH|85@roj$6=G415JI*8lafcunEEDQA}GH8MuP;ON)|I-7-N*Q5ZEf>49<p
z4+AfQ5)T6x11ArIID;IB&}C#007)Td4ju*$22Mr>J<`%Ej_eY}pvb_^z{<eDz{DU4
zGMIsZK@j8w21W*MuqY1$3j-qqF9RO~69Yd3149x669W?i0|S@Vb_PZ*?X3(<8yOfF
zm>C2Z7#R2%m>C!t)EHP8)EPJ#G#CUK7#PGLsu_eBgc(493u?Luikv7&iUB0Y1Gia>
zfs;X;K>})T3)EhDtz!)A+Q%9Aw6vEou(K>@U}0XPwS|F6dkX{84hH5m3=9k`NRH8E
z;9$^W5N0qya*RBKB-AnT3{nij42%p2$AILd!HxmRNi#4q$S^Q4ursi5a5ykBK*K~9
z>@qp1%le@%Q^V#m?WGLdTH4zfSZ2Z;i{?Oc1`Y-b24My(BnPT7NHTDO9ihe`#lVT;
zK#-g~TuvV9KyC(humgFR9bgfsz`((v$e_f)2#z*oa5OM5aPMYdjoi+_xS4?s6mN{+
XpkiZSWME(b`3Dl`$_y&txK{-L675Mn

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AuthorizationCode.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AuthorizationCode.class
new file mode 100644
index 0000000000000000000000000000000000000000..9ceba40b2469a0bf017f5a1e93211d89c86c051a
GIT binary patch
literal 4578
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
ZfkB9Yi9w&Cg~33LlOdF$g~42n69DfevnT)n

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackOb.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackOb.class
new file mode 100644
index 0000000000000000000000000000000000000000..970bc58f6aadfd5c4838b4d383005cf37b9dc275
GIT binary patch
literal 5789
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
Do9Gm^

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..63648a04e1487fe2241a4024a8b93ca08045e62c
GIT binary patch
literal 12058
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
I!#Ooh04eYt>;M1&

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackReference.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackReference.class
new file mode 100644
index 0000000000000000000000000000000000000000..b541234003fbc9665af4870396f6798cfd21bed1
GIT binary patch
literal 7122
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..6baa683417f96c1f11d1cd37f816976ea7dd8a95
GIT binary patch
literal 5108
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
E0DA=~{Qv*}

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ClientCredentials.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ClientCredentials.class
new file mode 100644
index 0000000000000000000000000000000000000000..b6c0ce9e44ea69a74f3b5e7d0378ccf67ddffe50
GIT binary patch
literal 4578
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
Xgcz6@^ch+h4AeLoLK#{Z%+)vnCaSWm

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ComponentsObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ComponentsObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..8c38d5ba1e6e464009869f02329fb2b769bf4692
GIT binary patch
literal 39807
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
LWxB(dr^X2YGN{ts

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContactObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContactObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..1ec670e4c50d0b588b1841ab6fb020ad4e30380e
GIT binary patch
literal 10125
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
Yp<a!XVHKkkL$?|y!$C$VhC^zc0IO0&$p8QV

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContentTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContentTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..69a60b96bfe44dd47c7de52721ef5632ca49e515
GIT binary patch
literal 5149
zcmX^0Z`VEs1_l#`bzBTg3`Oh=#heVB3?*C)oD8KPq6{Ql4k9W*L?t^z6-c-mq^gFC
zp_ZYJouQtcp@E&Dk)5H5i$Q>)h=ZXSM7MA;v@*1DF|;#ufViDp4EzjTAidonq6cJJ
zFNoC#V)cWF2_Qo!axhF{XP69<nF11=3SvzI5!2ZjW-v1Fm*i)s<^`7&W#*;Fd#6@1
zG6?x(C6*=X=OpH(>qEq?85!7YGV?M^>=+rCH8jH*8Cab2Q&Jfj_<b_-QvFJElTwR9
z5|eULL7MZE6LZ26i!wocs31#8MrJW1gPu=Hs(wjnN>OTYN@|{dW?q_pafyC@L26!N
zL8g9Uaf!ZjeqKpxUP(x4K~AbQBLgqUP8H{j%$$^>)I3H8Hw{du5j4{`H6=4Kq_QB@
zKPf9Uxx^aee5L{eMh2z=Lq-NelJzq(NCuVWm1O3ohGiCKCgr3$=H=y=B$j06=M}Rv
z%wlBVcFxZ$E-5NaF3B%qWZ?14%S$bC&PgmTPAz6+uqSArV{nLHehQMQDoEy8GcvH`
zCFZ6wGBAVViXY8)j0`L#l?ADc3~Z2?V`N~-&df_;WMB;eMKdD<D>yV68MyOGbHPk-
zz%pxSdNMNb<tA2oB$lNHrIr_EmVoTg(2Qba;7iLXEzWQ(DJgPJOwLGUWDo%hIOpf&
zq$Y#B4Hafh&dJY9Wn?hW&?M+dw1{TO11Bdg*NWuS0+5l#j0`Nv`304X42-Fa3~ETx
z?hLZTFTW(Xw4flrs3bK7t_PH0f=d#Uvwaf_pb3v7tu!ac8Eg)hOKL$;YI0&pY6>HR
z7?Obqacf2f;gX`%RFDS0{E(u=yyCR{qFhD>)?`o;WMm-hFKFahGcqt{GBPlFg5skn
zHI<Qp17<KI14m}DifdtMVh$sNjt0Syf|&@43AW<Y5^%JOV#x@gbj@0pm{SUh{dA~8
z5e-cwuR_v<H9Ny>c7{2O43@-Nj!5Au;ACXY$RJdlT7r@GObB}iO%FIX3Z-K)%b18%
zgl-r+!(8%w1<nc9j101vE<s5MoJEkV5t7fypiP7WVUfqkz?Gbs2hUfiu>viZ7#TQ&
zGt=`DOG=AU85uH(jT;+c6<XU_BP9iJHUbsV){G2X!TF^{$*FFcpaNVFIcw^HY62bx
z4F*j{26aM(H`KE{4D%T3c^IM@Vt5$lGc4d?aAnZsVQ>Qx?hM(C3_66&L3RKSgFAx<
z55q!+5O$EE?hLt%3|i4ddzq0z1>^%rT?Y0t){=vffghpFwWtVGZi^#CAlb&LG&3h9
zwTO{H9<0Jj0bJZE<mHzr6vN6Qg|z%41s;Y)42#(rmhdnvWmv|}u$+fs1w%X!!%7gL
z0Sc8Mke9qcL=ZzZ55p>k)jSLlAXX$p6c2+MgE}Jv10#bzp>RS={X7h7Kn7)j42l35
z?$6-C$RLdH2H5|gC}(F_%gA6$$arXUBISLgdWexh0AVmBd>9$bNjDN)oRFmxoMjmq
zIKV|SxDw+iPA!3o>Jl!9px(3g1eKd?1&Kwec_oYtY>5R0si68&7h4I7lz$+8hNcN?
zl;D8mXGR8&^wbh?z0b%Xj8Y7P1+7sM9axBwfjvF7#1CA(bCl#mtbm#Wsep7eJV~j8
zgh4I<=|m~S3`veA21N!=1||kZ22}<|1{P2XWnf^CVqgRn3=E76S_}*f#te)Mj0_A6
ztXkU{7&kI7FfcJ_GcYiKTAU0F@(e5t3Jf|73=BLFMGU$OdJN!1&Y%f3z#MD=0|TcP
z%U%YitqjcQhG;TyFlZqe!U;D-gTa7-3G9j}24)6k1_lNJkSnybw=uA2=`e3&U`3cE
z#J~b}EenGQ11Ezi13!Zq*h~e8KB$=t3<3;>4C-LV3NRQk7&9<2m@qJaMJyPY87!k2
zn2H&!iW#gKY`{!g5YrCKv@d3GU|?ZzWN?D|Oa~e?Oe|~Q;lc(s+8S&%Buto~Rx>g<
zGq|AZWJcHNgjJ_2JT#G`gAL((NOX8GurPQc8Ndp++6}7#?C1vgF|aWBV>Q5?!2=o<
zAm1~AQh?TW295&^oIctc;J$}ABZPs2Arx$i7z0=()EOKMObnh3dJK#VUJMKjEDVec
zd<={X-V7elP}#%40#@&=wT*$xN1Jgg1Gm-|2IgZ7g4!T@8w1Y)2Hvd<%-S1#b~Ert
z?q(2(+|D2<B(#k|SZf=D$TkMiZ4AQO7{s<Si0=nSg93vh10Mr3IKj#>urn|)#4xZj
z#4>O(#4!jm#52e<Br+&6Brzy4B!is`N-L}kGEhe<F(@+lF!+K^a)x@rkAZ<fl!56F
zgFHI}=YLTAvomlqFtUSv;?Lm0zzj~V`XCu_rrE|Ife0Q*;wS*y1xXyR7z$tj0Z>W=
zsR;yUp&)p`Y+zspr*2cNZ48n=ps+Z`pv7z}17hu4#2^o%WsLlEk1_D+Zex)0)7F*Q
z#=zRb#JK$bJ#g$mf<TRdlYxPuih-4(nt_L*hC!U6mO+l8jzNi`o<W_VfkBs{hQXMj
z1?)U61{MZ627ZQMh7bm320jK=hERquaO{{ugMyX8fFT?lo1j49Wnlixz{k$O$td@W
zft7)gAp-9D^-$NFAh})>;d(hOnQaWxFvrUvJN`a~<NFy{8746BFid0+XPCqw%P^Ti
zkzoph8pBiu9fpYvMhr9Ij+aGpyb9d$CUD2=V|BbN$nh);kqlALG#Smn1opLzmiBfA
z*_jNYT3Z<8v=1<FZefsH#=y?9oPh<Lhan*hiaZ8}`Cvyt(!LDTLI!ZM3SnSm0EHGS
z1Cx{ks9cR^h=E#U2epVzOM5GW9D2rF&cMpB0?Al5xUp;uvEb5+ks*#D9-2i#846Tp
z3xXVbjDZV8EoWdAk_RP4WS4FR8wp8@f>0wt?qg?Q;&WtYNC20O+zgBiNeqk(mc<NK
z42%rP3@K12+cPkO!-ic;8?`Kk6a%{%*ckSJEr0|CJJbRO26hHdXuXokkOp-#s3Zot
znNy2-8-w%#1_h8?A$1KTRF8m-g18k{MSwC4$axtM=UFo_GGsEOL7j(Uq9PU(&tfr=
zks*sA8)^U|7jI`!LU+zZB+al~%*c>KL=k@#Nhh>&5O8FOz+&w-24!?>rI0j3trc)&
z2*RovqvXM^*`FaB8V3juZ(~p)!e(&t0L4xq1A~AggEv-JND^U?fFpxDR#$Klp&3z|
zfQ`w;;u+G6VPIy+16OJJ3<Y4ikii_>E@EadWthoerpC#T$S{+^UX7C>ona<}gBm9Q
D;+s5C

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Delete.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Delete.class
new file mode 100644
index 0000000000000000000000000000000000000000..34b03cd82fb4962347b9e5dbe288a3a4d7f3babe
GIT binary patch
literal 4679
zcmX^0Z`VEs1_l#`SzHW?3<+EeYz&DYRuYIv1`#Rj45=XDG)@LKhI9~-!Nritkj2iB
z&CZa+&XCK_kjKTq$B@9mkPo5@xEKl<inthx8A?FhQZ5EwhBA-=<shPhi=mRC3dE`g
z5j7xgEy$WWkjeERRs%?)5kxexGc>a^v@kNLl;mfp=J^+-7A2Ns=I8k*Wu+#U#G~;U
z84P_=QuRwpQ;JfHQ&RKvGxO5)i%azL3sUnE3o`W+i%ay;v{*ATu-RnhWtP}6GB9gs
zhA}d*IOnINGBWV{Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9?P(hZGjLc$21`UGt
zx}@f$mZVxUGVp?IQ*qA7%t<Lq&0}ORA*>hO%^+to6&NrwNCuVWm1O3ohGiCKCgr3$
z=H=y=fWxPlouQ49f!jGhuehYBG`S?dh>?NEGcPZ-$T=smxHz?#k-?szlO2OY{PI(f
zOjSWL&zg~eB`+}-6jEr;V`N|{sVqokWMIk8%u8WpU=0C99U}vGUTH4E+sqo8o{S89
zxrvn?iDjulspUnPC8^*zh+<^mOUo%O&TuR#DRNFs&PZis5CID~=jY_4CWGQ1D$JUk
zlb@H$$e^X6Nzga&2w=$rM=+ObMRIBZ$gpBY2A1Uff=WgP##BZIHJ_}+vPAuy#JqHU
zXOQuJ`6a=n1qJy<C8;TJJ)npTE=f$z_Dw8+CIybP(wrP;usK{VsRc!;$%!SYDU1wa
zNCqOrtr;1FONvrcK^pw>Ly8jfiqrCoav2#|lR-&?k%6#}pz&kP$iSG%$iV0c3izVb
zR7M64n8Az;9GS%`u7#zEIgAWCgcBOfM9nBh2BG5A5{#H-ElbQP1?7cwERx1V!~&X$
z*6a-Jj0~0pBM<5@L;_a<Cn{@32F@Z#(h13DWY8wU0Z@~y85y{e6Z7EdPM-*^NN%@g
zWDwENM2c8Qfdn!&IKQ+gIn^x_RAg{N5}h6>Me#7GGN|z|1T*OJFxY}vb|Au@A%>Ab
zjZmQlF@}f1p22~Kp@YGPhoKWx_GW`bVi_5<qKOSaYeohYkYflXZ$<`wgfiEnB2f7u
zjt~hhDay=CcPh=yNl7hYWRM4|uu=f$Muoim5`|(|hEYh%FH+!P=wj$*XXxQ!=w;|*
zXXxi)n7}ZRhhY+kP-U3R!{7z-motL{JHr$ZCyIw*D#J7$hUpA5co+g0qIehr8G?8i
zlo?cb7$QO30FZij1_wq4Z9+kZ6lshM!U!*bvo@$8XJ?qn$Y4vz7-+IVN`OdZAtQr1
z>H5J5n2~|4Ah9SluY{3-1Dx-{RRUXLK|w00=+xCfN@9>ew?<BN5FuzhSTiyRAp8eO
zkc<o*>8T~)GM|w_7$wDm1+7sc8Z5-fz@DC3;s-9;QPViYHfvD%k`G}sGKgYxVHhKW
zI*|dw$iPvYS^};X7#VblFQGg^bs*SpkkV2|!;_Q((~wB#A>x}sk%5gtk%5sxiGh)U
z1(X&U7#O4(7(uz3fssL-fq}u8fsuicfq{WlYdZtuMg|53CI$@#1_mw$CI$uuc?K2+
z1qMw91_mC8A_gr6Z3YGgMg|=QHK+j)J_E95Hn3t%B#n%4jj9Z~3`}5~-58j_mT-Y=
z*3#a_z=W`#kAazifx(D@g~6DClfeXRk{Coa)FhA-^%ztb7#Z{#7#QRj7#WNim>Eo>
z85oNhOc~6ev^kizU|?aeWUzudSO@B3CgwG8??PN`3AP8~RVJuCj11NcHUxD#VAW|0
z4<zJJW=41u63T82EDY{Q2C%}dw!>-w3%UV53@i-3SPigeaDaxk69Xe8{Is?+upVGw
z^U>Y__dUcJK@1!W!C+HRLz;tuiNTRUn}LzRiGhKEg@F;A7@Qd#prNvdfdy=`v(`2S
zb{}oVtqdGmTNpTxF$ijd=xq#K2N<}wGH_~d@Y&748@Zc-FLFBrzmUK-20^WD3_{x&
zgtsvWZetMH&LFxUoNyEv6d8CJn8E2#j)9$lfgy^4l_8peiy?+VkRg^qo*^F8=x0!3
zNCZ1qfq|KUl|csTNF@eE1{Vfbuu0C)kaS~UU=U?s`okd4&cOB`6#wiDYz&O-V4t`%
zI504SQ=~pf2AmhRF^D082a-7Qz;;0r2P}p>7(f7&06}Uz!8yYV9xxjim>F0Y7#K{o
zwlRqNfWqP!gBG)`42ZRF5raI4mND|vJ;uPNyNyA@Pg_@J8-rvE6XWv#_rS3O2?8|+
zP6h^s3I<k&N(LT=Dh6?eY6dxm8U`hXS_XB7ItE>aDh6YQCb09g7+4tO82A~y8GIO+
z8Tc4f8GIT1z_DWr4GLBU0|tL^Y=Q!Xmx1{&10OpB8>8GW237_}h5)$h*F#-zg5-Kl
zgzM$BWVSI#!5lA*?D+c_j_+k)W$0tzVd!TNXPCes%P^5akzo>p8pC7;9fp1eBZld4
z$IBu)UIp%W6S(8`u{vHB<aicPg$qrS(a^F*MoW7;gUn0@QLQZuvf2k2*tRgpE@NP4
zS<b)$&i#-O21OnN!(6Z<#K55?1GSI=oUD8p7#TpJ#mc}W<p3%!gBf(87TG~9V$;&z
z${>rLF_$v1GAu(fmJMz!8$$@V@M2^LWe9_2QAG0F!XS&D{5FD(K}~+3gvZUm$PmH6
z$Y260_837e4XDcyrfp}CLpN<J7Sk9RqKPQ!b|UG7mXQLE3;_%=7}joMkVm&x3Q03G
z4+%IjcwyCykpZ!5c4vse2)=C$3Pjipt~fwZ@5#U*;K*Q))gX3a41$-7;E;%-BqXqD
zCORads1p*-4A@*DPDDt6gAto6NDfAOhFC0~A<Y;DCWbh09T(4F#K6EH#K6R0z|hKI
PsK&_<&d|zWp~eXSlFyc$

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/DiscriminatorObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/DiscriminatorObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..f5e8bdb4d0f8f6f43745036d5e9e27ba2b6944a4
GIT binary patch
literal 9612
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..4989da0795a8e0c7b37ab5b51179185e18df1352
GIT binary patch
literal 14384
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
S6oz$boDBCFQy3noaRLCp_0VAe

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..d2611a18ac60bd0c20b148b1086fc3d99a9b77aa
GIT binary patch
literal 5144
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
E0E@LcNdN!<

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Enum.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Enum.class
new file mode 100644
index 0000000000000000000000000000000000000000..3420fe4b532c0b0ffa02156d77e137f51c285d92
GIT binary patch
literal 4323
zcmX^0Z`VEs1_l#`Ia~}%3@Ka;Yz(O&RvL&%2N4<U44EL|EKUYChHMa#!^M!xkjKuD
z&(2W5&QQqCP{hT+$B@FoPz<6=xEM+q%D5QH87e^BN-hRohANN&)gYn<WMnOfRR<#K
zLEHuq(FiiRiG!gT#AyM^wStH?c7}F#h7Lvs(USb^)V$!5qRhPXc-Oqr+_1!)(o{wU
zA)l<ovPAuy#JqHUh^#du1Dj1|US^3MBLlOBW*8#_i*tTTDkB5GPi9`KUukYqYEejH
zQVv*iesW??SYlBohz}KHDaptzW@J$FNlDc&DNQL#Elx?z)6dLH(=RU3&o4;LODxFL
zPb@Cc2f4zUk%1Rvmx^;nW=={`Y91qls0OB!K(1gaFkobm3@Xhl$;?d+%Ph`J%1L$1
z%gZlGEXmBzD`sctVr1ZU&d)0@DJo4a$uDAL;PK4MOD%HFNh~f-EoNk}C+H%_;1Iw3
z6eLqskj%4YWMIil%uQuv-~_oG8h$J#l?ADc3~Z3FV`N~-&df_;WMB;e1veuDcV1~O
z!fVVLnx2dde7T909*JeCL8;|MnI);<P>y0`;7iLXEzWQ(DJgPJOwLGUWDo%hIOpf&
zq$Y#B2o+{c&dJY9Wn|FM&?M*~kVC=l21g*5YejNu0m!IgMh2GT{DMkG2F6rSR3XxU
zGstki{F30(f`a^_lGGHq9#B*Tmn0@<`z97ZqnabFG$+RyYz~)8YC%zIa$-qp3L}FU
zQVb%*tr;1FONvrcK^pw>Ly8jfiqrCoav2#|lR=Ts$UxXX&<L_-WMIr>WMK4UWMBcA
z$jHC}qCf^SGH_%TtGE`HCgw0Q=x7iOA()ApQH%^c#i=Er5Q9c7YZ)Yq@T8*%i)d&f
zc@Glr*6a-3><m4O43@-Nh)B6A;G|;B$iP_yNf06Vj11aDL@vzfj0{}KiFxqUgz7&3
zq^#8B5|HV^ndy0nC8b5Fj0~B?y3&SNh1Pb~NPz-QM4%$UnvsDkIKQ+gIn^x_RA7K}
zjvgqr@i3?{sPiy{GU)Lz*n?OOAi|L$mXSe)n1X|c!I8m<hoP6jkB6ZTRFvj}MB*74
zw4#Z2Gb4iv$SIJ*5A0^F37?UHAEC^(s0dWFh$BQGDZr^TGbbgrh><}atinnGoJ$q*
z@=FwoVOdEbEx$;ChoPTg0z1P*9)?K_li3-j@Gwkeh~QzE1|rlzq2UAamn(?yVTk2n
zn9eYRhhZkeEFOj+5I2}1goi<eL6wn#frlXmBoYKt>dD~5$e>Or;GijnkwF;Ye6YVk
zamCIsn~}kmNF$JvFH#Z7$RL0)7!odw4CbU83C<CW3~U97MX7luj0_y$0s>q+uq750
zq=HIVU2N3^QW}I<4~-UU6qiBr1S11SdTI%{c3@->M#<D*L2HzF2MaMWu&1Y%_<<_{
zj*@(c6^slV#i=FWLY|R9m-rIL6I7{zod7BQbTm9kDF6*g4ps(51~vvI21W*D21W)J
zP$FVrU=U|u1m#2qMg|QA1_omWMg~R(1_oBG?F@_?85kIt7&I9e7`Pai7#JAj8CVz;
z7_=BbDG#iOL7PE`fq{XML6<=tYJfJF&w#9%4Q!$&l14_jMl}XK1}3o0ZVXIdOSnKb
zYiVy|U_w~W$H2_Mz+l9{!eGq6$zTFDNerSIY7)qa`V6WJj0^@03=DD%j0`3W%nYW{
z42;DLW(?+F+JeCnOj|LqFjzC#Kpm_D^)VCk8n|~MF17^Q!vl6b6Vx6?23rO@f;t_r
z>a>Rk5^^XrBfJR-Wj6*E26rR_Sm9PXU^RdR-2fj376xCe1~@V}K||Y#fe{jZTH6^|
z4=}L#Xm5b~9^#B31`dW`uqmh^&B4IL;LHFDH5Ud31{MZJ22cpOGJs43rJy|wEMSwJ
zwYD*^`)D(6W#G`-!oYcqK~Nh+Z)4y(z`(tgfm3^f&u#|Z$lVNlk=q&gg#@-S2x@I(
z5ZcBdyp2I{8-vJp2GRZCpjTi}WZ+?72B$+g26hGphA0MBhG+&Zh8PAxhFAu9hIj@=
zh6DyBhD5M)6&RQqSQ%uXj#Oe$WN>3}2b<&!4M`6M1_n_Erauhw><n!GLGjPdz{bGH
z4)%#BgA)TYI7RA%WWaf08-o}kcp!-*4{R66>kJIA81iBO0Z;-2sqqHq1Rr?7Y+zt!
zU}0cjFxA?|AnpSSi(?F0%(gNh*1kmy@*rBq$WQke1E20T1_?iHU72kRk}XV(%m3d4
z#||V2)EGD!7#J!TSQ#oAco?b}#2Km?<QQrglo)Cm)EVj+bQ!7`j2W81&eLLGVUT0s
zXYgh4V_;_BV^C%AX9xhtjwv)KSQ!i$0>QBf3KU)j=D!Sl><ny-a=#c@85kLY;I3Z}
zb-f9a>opOsm(!Bj#vlcAyfm`o?_)T=mw}a`j{#H<iZe`LkY$+2pvW+ZL5*QDgAPMK
zgAv1YxZ`D!9Ipa*yb0X#`dA$=3vxUQLoh=KG^a*G%N7|e?d=RQGZ{p+wlK(QA7EhH
z!XUehft_VJ0}D9!LqZr7c?=A5!Hy6Ehn5V~LI!ZM@?&6R0EHGS1Cx{ksJIMe(1TiJ
z2epVzOM5GWEPBRV%D~F749QqFxUp;uVc^1xks+KR0-8lVpvg}V<k({jTp(&W1FMi6
zC@CVlbR*bENKzDp8VPbAI|CD+BRfMRxJcw?U}T79U}P`_m4}R=h6B{eh*Z9vK^|l@
zq{N2=!d4`sVX2&vA&!V5a3_*ZXyGZ~2x`G#Si6lu0o__DB+XE31soZC7-F$##>ko2
zHG49|Lc<l|;cX0xMA!@tK2UIYGcX7^GPq)Og*Xug2{<x1Vs!;O5t<p`r7hT)cr2bF
q%@_t|h6HetpU98|rjr?r85kIZ7?>Cg89Et^)HoTU7&;lO)HngopjsdR

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EnumObj.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EnumObj.class
new file mode 100644
index 0000000000000000000000000000000000000000..115f9ea4c64240bf5363d7775bff8cf6af9109fb
GIT binary patch
literal 4294
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..659351d7e01a4ec979a2b48366116e7bbc58978c
GIT binary patch
literal 10934
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
E0L))3J^%m!

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..1f882a77cee7eb20ecf3d2a6fd6c1f03f5291d56
GIT binary patch
literal 5131
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
G;{*U;zBQcy

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Expression.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Expression.class
new file mode 100644
index 0000000000000000000000000000000000000000..b310022591c4653aeee9b6bcdc54e0944262d033
GIT binary patch
literal 5090
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Extension.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Extension.class
new file mode 100644
index 0000000000000000000000000000000000000000..ba40763b0a3fcbcb0111a419cd1ec372c96b7c16
GIT binary patch
literal 4694
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
C{inbH

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExternalDocObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExternalDocObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..e36b08670e23e695429574e710f5024859da54b7
GIT binary patch
literal 9825
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
Zh6*)KhDD6L49#ks4BHub8Fr{~0sy9o7;gXo

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Get.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Get.class
new file mode 100644
index 0000000000000000000000000000000000000000..91c49cad19eda1d0958d4eb1dbbdb65fc025588f
GIT binary patch
literal 4667
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
O8Ye?ILo0)Y8Ych@+mXZo

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Head.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Head.class
new file mode 100644
index 0000000000000000000000000000000000000000..38699f9818c6599576e106ce1a65cba0395df9fb
GIT binary patch
literal 4671
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
N$q>%a%3z_!2>?i`lMny^

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderOb.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderOb.class
new file mode 100644
index 0000000000000000000000000000000000000000..c7a7bfac54442721d5ac25060bdbe5bbb16382bd
GIT binary patch
literal 7352
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
T7|t=2J4iBAF`Q$lR^tQ!?n?z%

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..47d5553f8ef848a098a427c485b23b042885cba6
GIT binary patch
literal 20402
zcmX^0Z`VEs1_l!*buNY~#$tBH5>5sY#!`01GA;%d#$ql85yo<M#tJS5b_k~uBvJ(;
zszF2zh^Pe-bs(Z1L^Oa*Y6KBYAflO_u>~aD3NpBji?N-tgPpOHow19Zv74Q-hl@d)
zv6zFg7ex1QG4?Y~;9{J}I0?j^%*7zZI0dA4Du|fI#lXZk9mJXeV$B2@J_}^%Y!ERA
zM9c*d^FYLW5U~J6ECdmYI2ad$bS?q;svJZt1ramY8JB^CmxG8EAWtp@u~vdut3bpI
zcE;5pdJTvu2N7VUYeA~ku`{j*(HlU-Ms~(c?2Mba7~C1Ra5F|RZUx!8jh%5j7lSuQ
zWC!C;cE(*CjJvrQ{1~TjGwxvA%Feiliy;UStb0MMeISGOb1^(&JOJVz1aS|6ScgHZ
zBOumM5bGF-bsWSx0b-p5u}-lwp5|gmf|zy&<j}L+j4_PoK*V`223y7pAmSny<0Zz+
z+>FtTS3sJsf{1He49*}~XU6MXj5io>f{eTclDG{b?r<@fG2R7<-2*xLJ}A&1fFvG*
zh)3*<kJ%ZYFfxdj<Y%Ym1(y_M=B3BGq!uR^WfqiV=I1do2>E0smL=-vB<7{-L*%U)
z8AQR#o$~W@QWNvygHj7iGmBDF7#W0-6hmdL85!hIRJ)`W6s0C7mZYXYRWLHhpeS(6
z$;mHw%`GUY3`@)@O=V;d1WQ9Kj}I=X%t>Wr5CMxpO^A1`D9FiANo8b^LJ<a=6qH(=
zT2uyh9az#oDJwO(B;K_mF}DC@60!#&a@LFt#>x4)1^LCP9;t~bsYUS+%0DUIH?bfd
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderReference.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderReference.class
new file mode 100644
index 0000000000000000000000000000000000000000..44cc8ba44f4ca5b61ad9bfc0e88ba24d01d18310
GIT binary patch
literal 7074
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..8705260ea74cb981669e140875ff9f15d150aaf9
GIT binary patch
literal 5082
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
A?*IS*

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Implicit.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Implicit.class
new file mode 100644
index 0000000000000000000000000000000000000000..be7d9da14cef49a592a48aa789a3eaad245ab365
GIT binary patch
literal 4542
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
NPKHp176x-QP5|JPq(A@w

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/InfoObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/InfoObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..90dce2ae27eb846b6f0f8bcd828a9eba31cfcd16
GIT binary patch
literal 14648
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
Uo-tN3JXhmn<Y261<W%DX0CB%lr~m)}

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ItemsSchema.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ItemsSchema.class
new file mode 100644
index 0000000000000000000000000000000000000000..5d1c5f7cfb5953e196759dc691f207c44652a7f7
GIT binary patch
literal 4498
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
JEez&roB)@Pk^}$%

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/JastAddList.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/JastAddList.class
new file mode 100644
index 0000000000000000000000000000000000000000..a750bbf87a493052886d3e9631cf6ff6f767f1d1
GIT binary patch
literal 5748
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LicenseObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LicenseObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..c696b5c333bf53955b311f953aec4e7062af1e6f
GIT binary patch
literal 9707
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkOb.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkOb.class
new file mode 100644
index 0000000000000000000000000000000000000000..ac3e3806fae0e434239c86fb114bd75e6395fbbe
GIT binary patch
literal 6042
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..d231d19fb9a85018159c7e46d9054f1a5632ba8f
GIT binary patch
literal 17668
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkParameterTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkParameterTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..84d7580f6ebdf9778c4f803fadbfa78990700521
GIT binary patch
literal 4805
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
C$<ZwU

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkReference.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkReference.class
new file mode 100644
index 0000000000000000000000000000000000000000..84a411a03be5cc5fa444860d36e3cc261e01b415
GIT binary patch
literal 7010
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
ZVdzogWawkK!qD#^$uNoG3d3YIP5?d-Qtbc$

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..ef21dee3c3fd21e1c2bda02f5bd8ae1c4dd2f18e
GIT binary patch
literal 5056
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/MappingTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/MappingTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..d2d11d70e8a6c81d2ded337e8ac6c85437021e56
GIT binary patch
literal 4677
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
ZfkB9YiNTa%GJ}~KCqn|mWCnXRP5_oSov8o-

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/MediaTypeObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/MediaTypeObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..174cc473eb6e6e00702fa23cc9246f9c607b9784
GIT binary patch
literal 18226
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
SK8CGooDAO?`xt(xaRLBWmKm%7

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/NotSchema.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/NotSchema.class
new file mode 100644
index 0000000000000000000000000000000000000000..1f4621b30600402ff5532014f2db277d14ec6f89
GIT binary patch
literal 4490
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
NoD881Eez&roB&aUj<^5-

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OAuthFlowObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OAuthFlowObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..c8b5524193698a08b08f772a98c56759053c08f6
GIT binary patch
literal 13132
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
ITvX!(0L2?4xc~qF

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OAuthFlowsObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OAuthFlowsObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..02411e9a3e5537dcb304fa780068306b9169d83f
GIT binary patch
literal 15349
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
IBZnF%0C-|7*#H0l

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OneOfSchema.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OneOfSchema.class
new file mode 100644
index 0000000000000000000000000000000000000000..98e28811d1f50bfd0e8d1e560564df1ad4da5211
GIT binary patch
literal 4498
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
JEez&roB&bokyro#

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OpenAPIObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OpenAPIObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..1c0a1292980234b98a82ddf953c369b43940b884
GIT binary patch
literal 29048
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OperationOb.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OperationOb.class
new file mode 100644
index 0000000000000000000000000000000000000000..a6c728c9c15828b106aa6221f38b5e244167c871
GIT binary patch
literal 1898
zcmX^0Z`VEs1_l!bYc2+E20aj=4<ZaegdsbF5r{VCVqj%30THGk!VE;1volz*GgvY*
zu-RnhWtP}6GB9gshA}d*IOnINGBWV{Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9?
zP(hZGjLc$223?<&RQ;0Dl%mw)l+--^%)B)H;u8J*g4Ddkf=vCy;u3xTg4CkKlFa-(
z|0HWh240YrD$W_1IVnY{d5jF)d8N4s9<zp~CnE!2ZepcJVp(cXYI#v+Nh;WVQH%_H
zX*s3E8IC0-Mb3%I8L5m6B47dM{G6QBWRL|=Vb<iF{Jc~~27L`p5*^2q2Mz%)*NWuS
z0+5Nt><m_n3>;~tIXTYx1(l2pTrQ~vMXAY&C8;Tl43a^mc_o>-sbQJLnMpaRj(K_c
zC19TxGct(zWF?j*>gOcprRyW~STiyRmlUO@f(-M^4=GB_D^ANV%4KBWfQd3Pa27$l
z9g@$;piP7q9D_sr@>5c+85y{e6Z7C<CZeH<<OKhutkmQZYeojn;LP;A#FEmYR7QqO
zg24kd+lE+$)^^rNmO6vt0hDAwZVS#YElN&x%LFAT0i-mc2MQ-123`g}9tKGeAq66&
z8PpjWv`I)>JPc|K>O2gp3^F_nDj-4uL`XBpFfynUG6w2PMh0P!TOe@;cRM443Yw^2
zeo1g?K|y{|Nooo_rLZV6urhEnFf#BkFfa%*FoHb9z{tSQz`$V4z{tSJz`($&wVi=+
zBLf2i6N3N)0|OTW69WT-JOc}Z0)rp}0|O645rYteFarYvBZCM7AJhPCFrNWgGaFd3
zCXz-*s74kBQ3f%nMjfclOw4QG)<SgZA?aj->SSaPXOJMM(-f;tNw{N?eanRITWbau
z1{)*;Sm9PnVKsmm-2g`h76vD*21ql=Fff6`+lhe@9JE|o+Zk96FtGY)Z-DzA66o#>
z91I>{Q^X)Dq0Zo7U}BJE5N2RxkYiwAU}0cnkY{0JPym~($N&OL3=9mQ5L9MhU||F$
zG%&5oAOnsfH3oHP_~}DK9u((n2<t&w85q*RR-?za1`&aujieJAZ32!As#vVu#=wql
ztrU`GXuu0NGN@qH%t4%H1qO9!pd&oIje(O0%?wB(Dd5N;jnyD7Vhn;u71$U}EbbxA
R7zQQ=EpU3#X3zoCx&TZwJ2e0R

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OperationObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OperationObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..6d10d5025ca5415cebb505c27efd1e254ccdb327
GIT binary patch
literal 40602
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
Tvw>M0%$&?zU=|NEFEbwipdUrT

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Opt.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Opt.class
new file mode 100644
index 0000000000000000000000000000000000000000..af24371584571e17008b878d857def0297aaf35c
GIT binary patch
literal 4048
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Options.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Options.class
new file mode 100644
index 0000000000000000000000000000000000000000..11912d6a57b1fc5acd2fd12e24aa86f45584379a
GIT binary patch
literal 4683
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
E0O$>w1ONa4

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterOb.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterOb.class
new file mode 100644
index 0000000000000000000000000000000000000000..895df8efdd1f5f07adc31121763daa422aba05de
GIT binary patch
literal 7777
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
aaGRlAjgz68;Wk5!gCs*e!)=BJHBJC%!it^%

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..dde8ec33959d68a73e43c1fb0ba0faff7e53f93c
GIT binary patch
literal 22141
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterReference.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterReference.class
new file mode 100644
index 0000000000000000000000000000000000000000..319274631499fc467fd6c00a41edbd01d7bc0924
GIT binary patch
literal 7768
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
DI`c!|

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..bf0737db712657b384c0184ab6405e3e0f9ef2d7
GIT binary patch
literal 5121
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
G8Ych&12K*O

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Password.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Password.class
new file mode 100644
index 0000000000000000000000000000000000000000..a27cd5673b420207f9a09a1001469b9efdfe919a
GIT binary patch
literal 4542
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
NPKHp176x-QP5>05q@Vx*

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Patch.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Patch.class
new file mode 100644
index 0000000000000000000000000000000000000000..0d02ec49c24d987f06bc8bdcaed0ba57da3b3451
GIT binary patch
literal 4675
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
PRO4g_XJ}=xP~!vub^VnL

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathItemOb.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathItemOb.class
new file mode 100644
index 0000000000000000000000000000000000000000..9dce10ddeb59a2757e2751cfbd4be475eab58ec9
GIT binary patch
literal 8830
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
CwY>rW

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathItemObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathItemObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..78f3b5435aacef52d343466010f63c6539362710
GIT binary patch
literal 27100
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
OAjx=uDU|V`8Ycj!hdt^5

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathItemReference.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathItemReference.class
new file mode 100644
index 0000000000000000000000000000000000000000..ccaeb653bc82e5cc54fc843c316addb4e0869ff8
GIT binary patch
literal 7701
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
E0H_Hh_W%F@

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathsObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathsObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..900bb7d01db895eb4383ae4be63cb2631db41a4b
GIT binary patch
literal 7111
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
V?K**hnPDQsB!-C$5Y{w?i2&Lcdei^_

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Post.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Post.class
new file mode 100644
index 0000000000000000000000000000000000000000..1ad28193ff5d6932d506db186a91a1acc50c7a12
GIT binary patch
literal 4671
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
N$q>%a%3z_!2><~_li&aV

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PropertyItem.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PropertyItem.class
new file mode 100644
index 0000000000000000000000000000000000000000..d981c163e11b8a2c1cd2752ba1c325a664cf173a
GIT binary patch
literal 5080
zcmX^0Z`VEs1_l#`wOkBL3`Oh=#heVB3?*C)oD8KPq6{Ql4k9W*L?t^z6-c-mq^gFC
zp_ZYJouQtcp@E&Dk)5H5i$Q>)h=ZXSM7MA;v@*1DF|;#ufViDp4EzjTAidonq6cJJ
zFNoC#V)cWF2_Qo!axhF{XP69<nF11=3SvzI5!2ZjW-u}cl;mfp<^`7&W#*;F`z7Y4
zGBODHWF?j*>gOcprRzf^tQi^DY%=pQOY9gKm^C!R7#Ucc^HWk88TfrN^HTjvbCXhw
zLK2g5z?$=u6LZ26i!wocs31#8MrJW1gPu=Hs(wjnN>OTYN@|{dW?q_pafyC@L26!N
zL8g9UafyCFQGP*cQAwp|NouY&BLgqUP8H{j%$$^>)I3H8dksvd5i~P6IU_YU(Lc!=
z<Zh+{14ag>0z*ayE#fsYGDrrM=9OgTriNt}XC~#OI_Bl&mn4>C=I0f&Gt6RS;C9Z>
zD=sN2O)kkVVr1a)%*#tHa?VLCE>10GWUwb_kz;U(Uw#UbsVYe3Su--Q<bmUb1rj|R
zFb^>@u#{95q%tzFL1KxKfh9XLFNKkTH3Sr=j0~*ckYi-v&MVCYGr@t#tfA@2$iSDI
zSm}{imKu~=UX)pq3Xaz(Mh3pLoYLY9$C8pF=fvcUR7M67uz+)ZPEKkv$iq-!*5sW0
zyi`U80}V}r-b0I2mOOCM;c~4=PAvc#S<J}5lAK>q$;iN%%E+LG6vfUUOZ@Unf=deu
z@{3ARQ{Z|)i6giqF*(~eu>hLLIMPaUa-6~DaJi%w6s0C7mZYXIGKe7=h!D4CWDqVX
zN=*f6@XHS=O3W)x%P-1hWMEAOB{xO}!v2Crn>8Z?V<sa5qbDdnic(V<88~1DGcs^w
z7OS`xmL}#fGU#X!3@Mn2no*1l?8T`ikO&vWlIlTenYAo2r!<w3fju3jQba=&$+M7D
zVa?7ko1I|}BZDQe)+1843OFHIGcs@&r<Nd+oi1UYz!ZZs9d|miZXF_$3|u=q!(8%Q
z4o>gZj0|E(cB8~IXAvajhvYLdXcOTiSllo&a3v?^!Lto&kozZPr6!kHGcs@nXQt;R
zmXsEyGBRWm8}K&7Dzvt<Mv7-}E&-Lc){G2X!TF^{$*FFcpt4vHIp^tt3UwX^4F*j{
z26aN^Fx0a=4D%T3c^IM@Vt5$lGc4d?aAnZsVQ>Qx?hM(C3_66&L3RKSgFAx<55q!+
z5O$EE?hLt%3|i4ddzq0z1>^%rwFLGu)`EeNfghpFwWtVGAd4eJAbG;6G&3h9wTO{H
z9<0Jj0bH6X<mHzr6vK)dg|z%41s;Y)42#(rmhdnvWmv|}u$+e>jv=0hVFifL0EJ2r
z$V=WJB8VZIhhZhdDjtRi5G#@)iibgsL7kC-fssLjP&mQTI}gKZkO^5J6CyyS`ZIVi
zG6*Bw5B4}HuGtyZFf!N@G8Y<;NI4p*W?^IyKo|@O7)Azj(v1Wc5@hKFXHrH64sekR
zuADfEQ%j(tM3gd6?^%0-ibJ-7#G=%^5=I8L#DaoUP(7%Nt>8q;I1oQW6N5EMa6mFL
zBLhczY6-X|XJimYDO|yV)+nhBECee3^C1R9bwjEX9Su)XY7}9Ry&#<^WtJhyk;9<K
zz{$YGz{sG=z{tP?N{|c;3{s#Z$)L%=$e_i*z+lY4$iT?Jz`&}toq=&90|NsSgEj*L
z1E{gcz#z}S!l1yQ!@$7615w1F%b>>qO4Isq1I)n|FfedxvFv4F+RDI;ZiprW2ZI)p
zA)IhSG#CsRn82=xVqj)qW?*0t0J%a-dm96bmJaha23CYwLJTZm*Rn8}FmN)MGVn8)
zfz4Ea=!2Tcz#zb2$e<2(tN?=%gE0dWg9!rzSj2*XnZYuefvK3ms+hr=!3NB<1u^Zw
zO#5O62L=`fM+PTo(C9#ehKXejJY3koMq7iehJ*<d)M`csX9gE^oy_Puov`Y3g@-0`
zbg&_O4~Y&B1{MZSBm-FCR=Z&}fF0ccKL!>Cf2;<$Gk8Fw0_1xpPzuo6&cJbifzwBO
z1KjrzXM`|tFoc3l5n}+WggS$Rfr-JBL63ov!Ha=`frWvQfscWa!JEMY8Y+7jSitI?
zwYD*E`Din4W#HD@!oYltK~Nh+Z)4y&z`(nefmwTl&u#|($lVMAk=q#rg@m>-2y1O)
z5ZT5cx{X128-v((2J!viXi#8KWZ+|91}9iK26hGph8PA`hFAtJhByX6hIj^fhC~KM
zh9m|hhGejFL1~4RK?dqbB?d(X9|m8rNzPC&_%Sdrh%zw!VUTBM;QSAYe|82=21a(U
zPy87?7?{DyRUae+&NSN?BoM&^NgM@WyC8`J7DE9HAOK2<AT@#DEEEI}m<<ff;M8rZ
zwT(g22NV{^7_^veWk9Tbix}iVw2YCT?lA^F-E9m~e%iV++Zb3|m>8G;zXy&TND!zo
za56A3R57qJR5S1})G&xM)H291)G;VA)HA3vG%)Bg)G!z`w1Azb#lXTK$H31J%n-uB
z%)rN>$`HyB296z5Xi%^+7%+r`V-pl8ybR2L8Ti;4I2q-BF|aZ)GDN^#zaHv(6C~Gb
zB3v)0C9{n|8s>NzWXIpfaC|=lE5if^9)^hw;tZ1*WEmziC^Af8P-B?Npu;ec!H8id
z-0`wVj#q&@-URM=eXNd`1v#FDA(9~qnkJ(en83c4(bC?|AUl&mRBH=^ob~|*&Mgdb
z%NW>MmNT$`^DrcYL6OJ6Fdys)NZOZyTF3xSRv`?G44}|rWnhwW0F|rJ3^7oP?4TC0
zX=!g|kVDUy%NbZ1Rv;P61~-<CAr@SEF@oA2&@2kdP@pnf5aifn3|t^;IRmSZJSZt5
zyL2<yNJvr?gc=EQA3FmRpCda%0=R7CW?*DUVqj#jEM~A`U}Q*UNP#-po`D%0Htbs3
zsAVyv7}(9g#;^x$0VF8cp%ySOurqi<>y=c7G^m?FB{9g&oLbD=7^Dv{D1h7wscRsi
zdIW3~#I3L@0+eAu&dY!}&zgaeA(J5u>O2$^6|tCj7K@3D3|S1>Py-OTcsqj<x^pff
zX@=!uMur?BiukKYI-!+=fFnZ$7HhXLD5F~|g`^p3t$-s#5LV3?B@cGZ{tVgBI6!!K
z8-ofFHiMG~D0TuF7z7*{ys^4Mk_dwY92wlPx`K-c&4}6rY)mc|&yZ#e12aP&xJt`s
mC;-!i4Cdf=5i^4+!%PM<HBN>^hM5fZYMcz|3^N%V)Hnec%pnN?

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Put.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Put.class
new file mode 100644
index 0000000000000000000000000000000000000000..7af25c1140c7f7d8448cfe6ba0aa11c2f3e796e6
GIT binary patch
literal 4667
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
O8Ye?ILo0)Y8Ycj*<dP@=

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyOb.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyOb.class
new file mode 100644
index 0000000000000000000000000000000000000000..90824535898c8675642db7912302cb08c77cebc2
GIT binary patch
literal 6104
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..d1ac1030ba2ed93cf7e92f95dc96790f84a7ce03
GIT binary patch
literal 13406
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyReference.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyReference.class
new file mode 100644
index 0000000000000000000000000000000000000000..24a550ffc69350f3d869371bca89ab486c8d4c69
GIT binary patch
literal 7206
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..985f2a3246d53b0b2fc9124ff00558cd3abc4176
GIT binary patch
literal 5147
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
KhM5cwYMcOkMLdQ8

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequiredField.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequiredField.class
new file mode 100644
index 0000000000000000000000000000000000000000..57c0201f320b44a49685f4e21131d41948d70a05
GIT binary patch
literal 4343
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseOb.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseOb.class
new file mode 100644
index 0000000000000000000000000000000000000000..1209e2d2e676d75d5b5f233dc580120108a82f8f
GIT binary patch
literal 7131
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
Ip;(O*0Cz&!LI3~&

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..6d17e85c513cc58b0c7d3b4c7128031b105eb7a1
GIT binary patch
literal 18344
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
TF!nPlI!H3AF!nR5s&N7Ux$QW|

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseReference.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseReference.class
new file mode 100644
index 0000000000000000000000000000000000000000..38e64be118b5643ca7426e21b821999384f87617
GIT binary patch
literal 7122
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..beaad7ffd3e6b6441c40ba74c759df7381de6dda
GIT binary patch
literal 5108
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
DS7a?$

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaOb.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaOb.class
new file mode 100644
index 0000000000000000000000000000000000000000..464086fdf5908fe889be7fdc4e994f51eb9e0c65
GIT binary patch
literal 11644
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
OgCxTZ#$1M*YMcP>lr)zB

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..326194d12dfd468baa77929deb00aa4731cd2dae
GIT binary patch
literal 45085
zcmX^0Z`VEs1_l!rOD=~0%nY0is?3b+%uFDfnVp%1i-DDyfr~+vnU$THjf;T;!eIxA
zaDWI-5Wxi^xIqLDh~Nbgd?11!L<oQgK@cGXB7{MN2#62`5n>=h97ITf2uTnj1tO$D
zgbav~1rc%}=gETz1rVXg&a4CyRt7m#g^O90S&f}pot;^OomrEeS&NH7hnazcSsO&_
za53vL>v1vbGaG=ohFlEV%tj!+#vsCki-DQh6vQ$EvCKh+TYwC;1QAvs!Wu-_fCyU<
zVFx1YL4*T{a0C%fAi^0$xPS;(5a9+Q+(Co~i0}jvULe97MEHORUl8F3BK$!_0LU4E
zpde=j5kVlrjGZ|cBpkxQ915bt*qOsYbOb0ef<UZD5Gx8qn6WcQgXkC#!3rWmKnh~n
znd3loJUep&h)!f@P6E-%AR>jGITb{wfrxZ=<_r*>2_mxCnX^H34v5HQXU+rB`5>Zz
zow*Q17qK%JgXj_vQOeF-#?D;M#Zbpw!OirTxf0}~Dt6{-E`}!N3U1~a=2~{<Iu7P~
zE{0ZSBM`rmow<RFp%ap%8bM|>aWRB3H-lI$Ac<CX<~A;d3Ct}Zk#>+s2Z+@PVs(L7
z-CT_Kn0r9nUJ$nr#OepJCV+^ETntgnlR#pVLEI@IVk#(9rg1YpVV({mW^geiFwX=j
znFW%a4Pwm!vF3tU^FXZmAl3p9YaxhO#Kn-xyci_51jJnmVl4x)mV<~DTny<T4|FoG
z1aVh^WLJY&Ye1~EAl5n%Ydwgy0mRw}Vr>GkHiKAOK&-7G);17pJBYOd#M%jB?E<lO
zgIIe&#9l6jOo(m!K-~Qx*#jWfK@jT@h;^8q`3M)oMNk;$fRyGi8*no{Wj+d0a15m2
zIEXmG#gNZ@5+rsC#61ln&Tuglfpl~-p9OKxfr#^545bjU3n1=A5OIl%p#may8N|H;
zGUY0Wbq&P24r1K^v2KD`w?M4hAl4la>n@0O4@BJOVyI$%01|r$;ywZqkGU9XnV*1&
zryz-EpfvNGgZTw0i@pRYcm*O}vopV8XMW4bpiz>aoto#ApP!SOm>2Jul9E}HnV*-K
z6Ht_2kXlrdnOf|alapVbn!?B+?30yPmZ+bTn3t{()nLuYAOSYOKPf9Uxg_2tH7&6;
zrz9*fr!<w3K?q3$M1eIUgE&}ya7j^SUV6MsYH@N=W&y}bROJwPYeoh+uyUw%@h+(a
zMXAY&C8;S;5k>}KumXtj@vaq#xdl0?j1011QK+JL*NWtv(&EgrRNusk%-qsk-13=u
z5P2c6euyjL-SUfa6H8!L`IY7-r544*jY9S%M9vyrDa=$+u&JJTC8_BU6Ff^&bBj?!
z7AkAa$bhCgGY_g-4BZr;)V%bP3`PbtiOf8hgcQ0CMC>v$ph;%tAxlDxgm^37w=}0D
zvmhtcKMm$MSOEK#=Hw(MfdU>99ngRaNGvHyEy_bz9h91w;-8mO33D;bl<=a=l2nL<
z0NBM)V?rtmQW+TpQG_x}K(;{=A54E}US?rwDm0Xglk;;6@{3c0lQU9t6XPM2e^R_}
zVnIAKwZuCHhxp~Eq{hdWWfo_afYLZWB*~VRWaj7xr<PbVGKds|4S;HaD`bpfWMH$&
z%*!mXV`N~~&<tZ_U~$e*No8c<_sPslg@jlLBus>S@{<#D!V-%zL42qnOG!p%F(ZSX
zPfDtONoh(^YH><xo_=OtntpMKettn}USdI}eqwQnKFsBy3}(&9zzecd#W^E0C#5Jg
zkCFM720;`23regZ{zA#SNJ0?bAuECeJ+cTil&y)gj*zds5{pY5Q&M~~i&5N$=@7WJ
zn1v5<E<xyn`H7I*(83E6m&ieZDFVy2NMTB2A($IT^bD5ZBsN%3qKuHWgHbUeC142!
zEJCn=LFmI2fomfaAmBtrND*?Vfr=ES0s}?{Rie^4BLh=`A&4*n5yl|G1VosE2s1_o
zU4o_{TMp7>4k9c-ge4;bbAh1&m^1{FMqttyOqzg6Q!r@;Ce6X51(*cuH3I830_!yb
z>oo%FH3I830_!yb>oo%FH3I830_!yf>oo@JH3sW72J1Bj>oo@JH8x{p5JN3xD+^Mg
zC2cH0pZgb-*br2Nt!-p&XU)hELr^PG=DTEq+CsURd5I<YMbL5(WPAic<B=kcus2-u
zN^|{_vcN8nB4{*GE_bZ})$)lsF8Rqw?hc`j;o#~VQU`+F97G*s{qjqY3?-aIND5<U
z3#t<2cCe%42s)Z1^Mg_gOEZg7Q`|CBb5g(-5Ke<6S>TwH<DZ5UKGZfouacI=`{$*i
z7*C}n6Oo&Pl)MS&9g;#El!x+)GxPJn(a9N{nVy$eQd*SC$mUB_1CMaV$5DPEwOHVF
z8KT02dKgI&WmO<yXJRh~shfWgWgwErFujT;Jm5lvYI3p*P9zt>f|@FJfy$y{c$P-8
z1=f&6L^`GjjoY$VjEA{_Dt<>U?2&v9k4%Kui4Ag+@-|v^K;5*AUKdc;bkvG~%4Va~
z0@O7dwF<x==XjC<X2L*-z_n2&i6U1n)C~&cng!ISkPIr#E6L1F4a+RfOv*`h%*)F!
zNd%3+6|*zHXJp`Z&d)0@DJo4a$uDAL;PK4MOD%HFNh~f-EoNk}C+IZjkP5<76(sYl
z85vme5_3}-8APzvMvM&7*o5H&kUXfvi`*!qhl1F~2C-Boj1271;vd9<jTZ`F4iO>=
z!N%_dL19^xht$$#WMG4h4ss)vu#61s@bN)*Uzm0d-^2>AB1Q%dU-)nyr*C2fY@m+Q
z7cpqZ>zh~sEjcnlVbAM}IyA?HJRHXfFX9*(I1r<8?C=pd9;i{^HYp<mFG{h&$iR)1
z(Lp>!)?{ShM#@Z#3>=8jJ5HnlI~K?w9cu_=V2&GQERGYNx)~WbL174P=`b>|lz>O}
zBtexWwwSkLWMGG8Ge!nBNCnNvzy>L#85tx%`mjW?9V3GXasdsEZ#zZ?F^~?B15hH-
zj*&qCBms^aNEK<v$iN1vf*2Xtq16*310P5gJf!Uy86=UdK@MR%Mg}QlIh5eGV`Pv(
zmP87B3@JoJpi3deiXGHx@L&dc71;)mm%(9f$H>5votc-y$iVDhP{PQ-8Uh;rXJlXj
z4a6}raOaig!iN??!<wFq41BqXl^%&@sX?jbpz&GoXlE2717BKBX>o>QNlB4&VsZv3
zOM?ZR^K)`ilR?D^RG2k6CqFNhk-<PilVITi342I9gUbr=fGU@3MRF>5j-Z&4fh9S=
zppub+F_n=)4XIdn23Z1%nbLxS{GyW76u2JHkZEv9Vsf@`VgYnOfFrFmC&w9V4i}=-
z0F59ZN_T`fcr?E#H5H`6FF&LxF|Rl+zbKcHfi)R42+PPo*k8~>(VCHgF_V#j(G!&N
zi&9e=88}Ly1~W2nWEQKq7M3RFFf!;6Zt=rR)Qn<ekSb0E4W(jC+<+rkgRohkkttBc
zz?=_C5eY<TAl#0}mY=QdtU(ru<8Uw|gC$|hv6>4q)r?^B!m5>#K|CX|7@HI$gLpdj
zkY!}BAR;wmGt-)pK?;YV;OJ5(!dy^%F*3vxr;_Z5VrTxq$iU%WPy#Lw7#WB#2r`?3
zRQ1DjTQf4K;`TL4rjo;vHsFl_F%6__53L-)sfx7>GV3UZ!zQ>1q8gf5j9_Q}$jD$x
zI1OQV5?q2>GcxcOr<R~LP(+cP3N6(@DV0ARU8M+$lb}i&8Ti0Pf`$db#UCRBiiwbF
z5bSq8u!%?tQ4NHuWM}>an$H4RjxmiY0yY6dSQ6v{%z;U8T8$^1SwZzB!63y_gF_1n
zG3>U3vL9Kdf&$-^ES-!DVi}3WSX|1;AO;FK%phW9Fef61VlmO0kwFr>k>F5|Bf?Y)
zf}N2;1*hdG85NW^p$#iY+rfZvazJX5fRimtPG)flBSSPvItdp<P-j6C5pQ~GiC<|h
zRFIKD0)>y_C$99=61X}Y4Nt-~J5;qbBLi1PVlkA*$iS7Dk^<)tQJq88f&+yVOGOd(
zpn9Yj$s@XigBNDMCn$%23KOURBxd!ANOH(g%g7K#nhsK;l%4rABLgSMVbF@nmSBd4
zHkOboCb)KJW<&BWN;rxl5(J7kH$uD^QUX9tC`M7n1&Rh(7ZaSgU>sqv4Em}RVUV#H
zYgJIy!a9?vYGI<FrWL5MkJ7&Zmm9H!Qvp%M28QX-Y$gKs5!yr$BZC=XYcWj(r9xwZ
z(Tb^$kwFBM3(=>e7#Tpd8-{X522&!EDTX%C8YXZ&q4^aY$}vQkNOmwYGAQA&7$wzl
z7N?fL1|>Mt5p2QY)DomFF4(={grkQj=OUR4O%I^@0ZA0p0VEisNb12wA>lb|WF3qQ
zd>M(wNFt03prQ;#fS95TNrN>bgJ3#lsD)80mXWOj&GpJ)ScVd_pz;Jhu7uJSgp5^y
z0}WKpz!jmk1EH!I8Ndd?$_%gu7>Bz!wFEIth0@rD4ugO#0TqA<WvDG`m^wxVuwn3l
zF0dXrj|XBAY~+h49c(Y03z9{Qg@I)eTmg_Q>gbpNL_c&420UN}R)sod23CbC#0xSD
zX<-|vxqv*f25Q!W1{NTzz(76ZP%7maxT(+_0}2ti7$buoVQb*3!EvHZFn=M`GcxdG
zBo@Q@j0~U<M&jxck;381L7g8^qY5^q4lY?jh%kYuq6J|MD2IT0&u|g{f)bSc0ZMO(
z!B0?nL-0UJ9zGfhO7d_HsD6c}8}R5TsByr^K*Tr*Qk#cx3kKN+XoL%a0<AO`S%#58
z7E=(#kD$&Yst!Y98mh=zK=GB4Sd1*h$iSbNl7cE?NH_r^YXGM~!pj*^v@kMAp;?RS
z*W%O?Wc7>;MkKlk+@J+Dm5_~rL@+S}D3ru7BLiq80^ME||A7)SvH}!IP+5g6S<J{F
zosJqFsI5&<3k+qP8RE}G!a+uoH&LvBreshE`<3RRNJ0FME{fqrG(ASdBxV#n){G1S
z8HvRxVvGy|i76>)LPVq;6dm9MtxvE}Mb*Q|AdPM_s+WsXOHgz$G8hw%AQT<e;6x2-
z(xM1MVmpC|Vwa-mW@M00NAm*6W)x3?(kY7DP-H<ZDiqmbMg~yB2UQG3ix6m35V0l+
zWFcq-lwjPD<Wr<+7-+Hvxzw*T7fAx*QdBV%mx5ZHDC!M}Nzh0-tRc-<BoRgizQmLi
z6agZ}T9DL(6EfkpG_npx21!&qQ9X$o9gGY_R29gkgA*{Q_Cpec#3?bOTNFepq<TfO
z6~$|yp*JLX6gg1UizHVJ9m_|gOVsihoM;jAcMuN}F=$Gf{}2|SC0c|8BGDqmP&@`s
zv<Nv+UyX>dFGqw9SfWLUKoc#p05ORcp`O@8i=+dZXb~c)o&+UYgdA~+7NH(e>Vgw3
zLJ$(C)K9bs8^Fr}L2W{$&<5Fx;x%xhMd(4111DO994yfyiJ&M4C0eAJWsp_WFKLl1
zKuxqr67WQeB!=QrP@+YWBQnt<>3}9$BoRoWMG+t((ITlQGSMRIfFxQZ5mZkWr<Nee
z5tV3>)FTotk{~2bsh((&Y=9?PBr%Y!C|(04S|oWCIZ&cSl7l8%WDykQpne}>SqiA%
zhv0#F)ky19K>b`KE_-om31sC8dpeB80TP2OW8nY^LYScOER;npp!A0#02(QPufPEJ
zfvGi805=tyTR?t-ixD+a09Or8p@c^Y5b7Z#1#muOqyULa%t!%TIjHBEo>~IugF}gG
zBL#3{!RZgwxq^$Jj}(B$hCm~`;6*W@q{+xY!~i)-H8b3JXrzJCG-w{Gq9he;E2Q;+
zEP|4zK?xOZ1SpP)sFC67ts$`n=QA?!fM$viRueI}1lLStl0m3vWDrNT4b@xFX#!{v
z=o9YyAj}0f8$sP-xDX`fh#7PzJL(|4ZWJ3)JOo-J0+&UR0gWWWWr`saj|e`hQk2cA
zj0{Bd*<ov?p!*WRJ63%Y3#>JL@{7`88%RyE^a~P;ic^d9bMsSDbM(uMq1#D8OOf&!
z8MFxYpy1XpGB6e}GH?~Z_l1LYx`NkB!L4RwU@T%}U`%9W;7NrgHQ&SnMg}&>9$L_n
zEn*#4%*en2(dD1S$iSQnGKM?8Ah9ShH?<_SsF;yK0J4Y!Y&$3&STizsA_@5>7T7?z
z;7za4B@n~~4rrj!6rveyJPxzKz6YBQU9kbu=Yv}xR29K6ht5}8+gY<Se_?0-%Fg_a
zo%uT>!#u*71s+}0bOn(~ik<lfBLgRBMPO!9X-O(0135FZaP8LY%s&|!SiHfD6)lJj
zGo(3QkWOnx2Ik;MKX&F{pk<@^rA5i9j0{#}7#0lHYt6{OmRMYnnq0!jz~KzpUtYw>
zz?G7koRe6Tn&Mc($Pnsk6_W&75t)-;q+61aTAW!N6P%eIl3HAXF0PxESX`2rk`hx~
zlpK?rn3)#?6M&hmmsOOQZe?y@$jHD0%MGA?;EW7H$lQ47(kGsv)U?#1)V$<W_tX+b
zh6rjn1=&c5a}13b890j|t3gBZ85y*R7;=IoX+{RF<itGqQc@ivw8E1#BLf#C8r(8L
zd;bMt5}*Ll1LZ{?MkPjN9!3R5MMeg7LaXwjF5+SS&8*JIpiD@)e?bWk^B?BFj11a@
zlp<9%JdEcVFYqv4W4zA8c#H8i5958t3p`A$jMsUX*g-5#5Fy5Rn}<o6Nri_=9Ykm{
zY4I@Wf(U&OVF)6OL4+xYFb64d0cmpsX<H6rtppLPLEN<<Vm-*p6`+t<2_jZ8{bgj(
zA>?S}z~o_E#kiV>`5)tUc4l=D=O!bARy47>#+s2q1r!^QgF<jG%w=TYM<{bGDgtdc
z5J!kW3T&s+%$$_eB1Q&zunH>$@M>a(y!;Y{V%Sn&g|z%41s>-AEDY={j65t%EX?dI
zEIcf%jCXlh*ck7EQpIf^#;uI2c^KD$h^<V&d05z4ICvO$GyUda+{3t+hmnzyiHDJy
zk%fnmm645yksZY40C71%EG`hi4U*tt<mF-H0}=d;0z8a@AVLU42!jX_5FrX8#6U{K
zLE0oh+9W|NDG(tI;>v&sSrGRG<4GPCPR6B-3?_tP2-|W}9u_VZ4n_tB9>$l9Cm9)x
z37LUqxfu`RZ^l17OpJ_wcv!eW4k4Ixpi5nNSa?`?d6<Mj78??>7}V}TS(C!UqyW-L
zFf$>|kn=D(g0yH7vI{;v$ioy0@>)3KA0jdU@>B~CQwB(57D%HmA?r|vt$CQLK{{(e
zItls>X)KY4sSl)Y0&)5fgEu@(3qkr86QvKS|IEX*lc=zScc6HfPJ%2t4YG(}41i)A
z+Q1hE=V)*%%CV>@u@cl$<6%@{;p1W9XA$6Glw*`<WDrCs@<=Ss2u>|wXA$IK5n>Tw
zWRL>Ofm>P7jZ5&Q{frFZ&Y4BYr8$X33Mr{+po38|^Yaw)(-aa*N{YaZ5CvGdriaqP
z)_@7?U^@;*Q;(5Bg_wpa593kB<vfhX7?1O?2s8cVVLH!rfrs%BiwGlwKA~g-aRIz`
z<zc+Uc$tUsJc}p~;|<1}JS<`?;yjFZKxLQ&$c|eql01wL7%%g%NP(0*1BpFne8Iya
z%_76YBFiGj!}x)5DGw7fC?CtSDDbc-GA`#~Q34sI3?fum#Ce$57;o}0v4U6}jF)+s
z*jYq*n7BYJP7q6gaXAl@Ad?Ueiz<s64~sgB1`m@s<6RymF&0T4CRvcI9Fsf`lN5^x
z50fgB8V{2)izW|~28g8&Vret!@GxnzXz?)VfmpgAmH~*R4`LaCScV{$35aD3Vwr(h
zrXZFD$P{ysDRv->?3o;Rn5;n-xq{s10&<@_$SrOlw|IdHDzsGNn^?fZqRpbi!=lTg
z$HNp03XL34Xy}8qC4saRfW+!S>9`bRax;iK3B>IHai@W}OF`V(Anpo~y~{!Nt^%=E
zf>>)nMy&=JwGPBu3u0{m$*u><ZUZ@dJJSvx76TST9u^}OV;-h`AVbfBoM8frOMOsO
zn6jAhu$Y4qw<YoE7rDKsp{d8i^b1sZ?FLn7n;2I!GH4K&;6S}8NS*{|DRA`+I+ci>
z#e$K+mXI0HMiWvi8)<hRBZC#``e9oH7#Yk-*9=~I&&VKvC?X)O21W*J(hUQZOwc8z
zd|(5?g%(JZkwFL{;8~Jd1UjLEk%1Q>2=3(~1#3t~QGPinSjln;ybr|4U`Dz>K>Z#@
z1`E<PLK@eM3>@HnO`yZ27(hdz&@drl6)`k*Kn9)J3KEM_^GZNHrh<Z0(2g@*<n0iU
zh_XiBi2)IUw)jA^`rz;dCsRnznUMiB9t+-#%E%y$vSk7+2pU~P=m85cGJwW){lI%p
zIZE;&RzS^x?A{`3nK#U5j0~W`Wk2X9IYtK1x(9Ihpp52#b_BrGph$2erlf$CleWhT
zbhelVc<_rkF(n0U7YHP1tU(*WkP>7tsQ<^2oS#>cn3-1$aW<sJ0Tlp#8pMr*5ZUo(
zWUxk#TKJ|M;w*uzMuhI1VPvpEHVWoBVohStEOyN;D5*p<1`_SW4~>D=1R^#7GBSuj
z8xJVWXGVr%!s9V0I-tHm9hxENDik9?*#do23?oA*q4-2KgXn1G$b=VmVzBH6E)`*g
zpfw`{J7^tYYDEcXYd4qzEjfmC5f~ZRLF2%ApaU0$p+N|08bUh)#f%IEghLQX19{<x
zWI!>fgn$k}BODPzDD+TFAUg0+5;An<Ezz1$G8Ak<Ez!D}3rb7Co1_q>AxhXGm8mEt
zFjNsE11JMPJ4BhFz31l8ObL#Bl17<9B{uXpP%dZ^h{(+$YDyX2_pl~0$3*1jfJW+y
z!4pl44Bmv|7o?u(uw_e6E%8pRgoF_&Wq><6#f%I>7-1B~$iP;Vnwwvi%E&;lhYYP^
z5KSuvMFv%d{|t<b3=C2XET9nz1_lNe&>#hvW@Tgp)9j2)V48!G1x#~7`CL$%8>)_n
zkryn_2c`KL1;BhkC@ln~g`u<vloo~3Vo-hJP;(`q=1M~OQczkNDlP-1WufA7jPhXn
z6c`m57#L15FoFi_7#JB<7#J9A7?>Cs85kJ2w6-%aYB6tRVA{yQz`(?)%D}+D$H2_M
zz#z}S!d}C`$)Lcf#=yY915wSW&Zxn_z`)3;$*2r5iIJay87#L}OMrJT1M^k}7OmY3
ztdZLp*qFC5u*29a5H?5Tb_PyX2pg=14T;T;#O8po!RiH|iXa@QDhLNf87HzHE(ix~
zi2yf*1JT2?je#BESvv-P1_lOA22KVo22loW21N!P23-bS21^D#23H1shCl`bhByX8
zhHM5Sh6)B_hE@g>hDi*j4D%Vx7}hYDBL&V{c;F~8YB4Z_f|+?Y12Y3C_<q8JSxXxn
zEIQj5xU_V)F>q^1vTS4E(UN4{#=xs3$p#K5Np^4$Npfss;M0=i+{VDKCCRmoK|o8A
z8ypmpJlhxqwIq4LK_SVvjX_9Dl7Ab6u$H92HU<$bNx^LlqFRzd+Ze>OB!#yzh-*oT
zY-5nnk`&#>AgLuOwv9nbOHv#hbdnO=7^Jl%CATriXh}*z0$Ng90AjF=07Q+f061hN
z<pjWiDk;B>K~_srVH<;-mZah~26-(>rELrfT9V4!7!<W6RUn})sVV>qXl8J#TEqZK
zIS$ZN<;cL#;KU%p;LIS&;KCr!;L4!N;KrcC;Lc#o;K5+Y;K^Xm;Kks|;LYH};KLBa
z;L8xn;KvZp;LniC5WtYl5Xex-5X4Z<5X?}^5W>*R5X#WW5XR8Y5Y8}-A%bBJLnOl@
zhA4(r4ABgm7-AT9F~l+)Vu)in#SqVMfgyq68bcz(9fl-^M-0gfFBno7J}{&*{9s4}
zMJ8h%B*LJP$-wZFQJYZ*oWg%H>M}Ahfb#xNMm<Ira4z}DsL#m804fK5G8!;4F|aa#
zbQm(~Fo4R6pNvL~#tiIWF%w1>1`aUGl#z*n6U;JWWMbd~v&<QF7`VYK3r02u9x%(2
zQHKFkg8XE(V&rAu1B+QR@`4lWPevO?0R~Wc@{`e)QGh`ZENjOoz#s%>*)s|-2!mM;
zi~<ZIV3s4J0D~x)<;2L#AO>bRGwLvigIO+&ObilWmMbG0gCv;c#%RnS1!lQ38Z$_P
zSsskW3^HJrC!;ZgESTlRXv`o7W_dF*F@Q>)pNu|?ObiNOF<(YD22cs~lhKcnjX?=4
z=FiB)pbTaOFzPUXN~E8RfsDoss*FJl3=Az$e`_-aLqpz>F$5l>q0kUDXAFaenI&U5
zREINT1k^unjFE7+N5S154R?DC-0iVYw+ArB!Cey1pvss4E)f$MlNcBnlNcBo(-@c;
z)1w(wiy1SD88eF+vx*tBiy3o@8FPyn^NJbsix~@w84HUUi;5YGiy2Fb8B2>9%ZeGx
ziy14587qq!tBM(`iy3Q*8EcCf>xvociy0e=85@fkn~E8miy2#r8C#1P+lm?6iy1qL
z89R#^yNVgRiy3<ud%<@06*Kl1GfpUGoCs!2DrTGv=JtcRQ^4X=iy5bZ(ez?QG&HT4
zaRylB#A3#o#f-Cx8D|$W&M9V`3l{7LYloOTub6Q@;{vdq3yT>SA)$rEjEhmZi;5Z1
z)F7)zmR$_i3nwv^EoNY0T*9~%QmZiNGBAQ;o>_o*4LBM=6%!j+C>xYbp%oG{G@CLq
zE@NB{)e6e2psJ0D8C_=)l1?VL&K0n#jKLUcDXZ3Y1|>ul!3ECq6$~s4l}HA#!VOr7
z)c|F51L_!980xVau!?at0~4seU~pn!1X~8GmQ@ZgsQPGcfcqZej1~qChE}jCVi1*3
zXK*kuF|J|MU|?ii3##-P7#Xw}7(ufy&`{aKzyen9thJ3n%}1MYD}%b$76z7M41(Gq
zdK-hr0S3*j3@q9ke0DQvNA70OiQLYhE2OuLL0@YdgTXci!)*-u+Zc?tGZ^m&M}q=`
zA_J(J14WD+I7jv{url;Aa53~T2r~3D$TLi2P-K|Ipu{j4>|6x~W(HOU8Hghplo%8l
z*E4Pao8%1f0wXBEL>ZX=FvznrsQw4V1v`T(10y@wCz}{oGl1(<27QnW0|NuA);0zc
zMDRco#{#fjkk$$`h8Q<9fSN2x3=9lx42+ChKpfEA6f|HqFffD5Z&R&p45mJyusFt`
z#cV4BV(nYRAP=HtjQn(uG4SbbV=(j6)|J`Dz}~{dxcvV;aO^;;H#KmPzKVgBVKoB}
z!x{#0hP4cG4C@$_7}hhWGi+ecWmv;t%&-OQJS_$m1~~?P#%+w-8JHRP7*rW|Fzy7$
zjwvK47+4t$7<YkV6BH=C49tHS_}Cd#8RdR4ure?*?q*yKb^Us%>rIecuZeKIoR-Ws
z26LF>Es!05AH(tc8CV$(Fz_%OWDsXK#30LXm_d=@2!k5KQ3f4`gA7ItC*h8lMRL3f
z-0>!G$LnKtye!D^ETGvxh~pXOGk~j8#yBnQ?F^PP8N;=<Fj#3HU{Kw{V6}|VQ)>%@
zHH2rqjL}+a3xf@WXS0k^S8EG{Ere&gj1d$^b`YN3GDbnIEe!S$p8YaLX00s@4iKKh
zGKQ~OTNoT6JjZ1W&$YHNI6-($%NTBIZDDYR@SK-1oYvaH-~!>fEMwTKwS~bI!gF25
zuwH8mgByhBwv1t+))oeL2+w^P!(^>33?2}k$1;Xitt||m5T55UhH|Yf3|<hP*D{7o
ztt|}R5T5rkhG?xV3_cK^&oTyItt||`5T5Tc279e741N%v-!cY6tt|}x5T5@s24$@+
z3;_^cz%m9=tt||J5MJOi26mR^3@qSM5RyhAS>!x88o{LpV;nTf7#QOi*D!8pU<7AE
zb_S;3j4=+342+EX823Yqra%T}a1v#Qv|vH$5@IT(T)M%)#&8p1G6OrzWCnJ|1E2;J
zxMGK7Opr)010%G8J;=bwc!=>ZBuy|lL9OA^+QtwBYAXkWY=U%5AT~W<;AD7+WD^(M
zCN9P`j7LDF189;6YMv{I&%nSS05WeIL&!`Vq4EN3BE)?H5EH>+!OFnI2M&p2jK`ry
znnC+cJRl>Pw=sksU<gAmhdv+~#{)5rfsye9<4I^CW(+lhQ;T^UgZTjlR&)b?A{oF5
zF#sA~r$7x725tsM#<L8JjOoRU84Qe!=NL~y;|ay&a7>dKnQ)uTzzAAB0rjRGBzH2f
zX=!g|utJLkMlJ?cMsBc4;FQF`25}>(kY&8c2<luig67wtjzW~#TNtd+yvisBHU<*(
zureD|T7$fJ72?HA21d}54s0&7Mt7MU11qCE*hp+HV*#ZH(0m^jmsz8`ObcubUYBJt
zFoM>ZU~`!by333hSQ(AMMq+arD0eb~<{zOh^8mS&fq?;3p4l8@-~ttZ%NbaOB0#Q$
zWId1;21Yxukq}o3LZShjblDl0_#D|8@4?dxG%&Ln7(uIIusPWl-N|kYtc>np^RYP@
z63q`7FGHP-9L=^MXF~EV#F;^0V<67N5zRRajEoPll{lboG015UZ-dJL#%KmM#u%`f
z5T_9;aYEoF&Laj!#>b3LpaFnf;zVLAaTt>sI2lurY(gz@o`T|u@fp1RiCp4D;x2I*
zk=wCYOPuG7FQ86DE^#6uB~BE2@D_s|2nk+9iSrUmiNk`m#9^#KG61#2c?C~F&=Mz?
zfsyewmJ)|$8w0iy2hv`JI1SBY21dp=jBlaI2dRny4S=9WcrODRV;|U&m=XSt(U^e|
zrHXmS7z&T@_Y91nxq4`58i68=fq{WTYa2uKHij6qZUW;}upJQRazOGE10&-{c;5tB
zf9y7fICTB<u<HNB_!(-y1GHcT)gRH)+Zf^xFeISI=5nwZ5P!mA6SU|E)KCP~%U`f2
zH;`{|RB(*z!6rg{g*CZ-W&8$pU>yS!cyL2fYYT(=aRyLT9J`!>9TZ%?I@;S95<xM;
z0v^=?j}<a*XAoxG!63o76Kn^lrO&`12@N?AYYpRf21W*91~x`eJTbxJ2_h28zyvR^
zoY@&T7#JCUz}=DzbqlxFHilS)?T~^1V*6eOR>pk{T#WmXZ0CmC&dmt1ofX4&h)5`?
zCT9G}_zUX!JZOs=96Nrx+A`Z1l0g1Nw(&RvE8__UZbn3l7!)^<u~85UVk3wJiZ9Tp
z5IflC%y6HxGJr%vL1U+&)nL$80mv<&@g;68R&XBWfb{<$Rzpg?iwvBMm%tu{Bo3HI
zIT@J1Rv<C~L<Eru{=#xG6KDW8y_hkNff2L_4Vw87?FLqGF6KZ_lDEOOLJ|;aF8<5F
z$i##-dB;j`V@Sr5ydQzhg7^SS@&>J`fjSFOrEFt}Mt9OHurUxP!KxI<s13+TER27!
z7!r$a$Y;EUurgkUCJdDJkR2#VKx#Kgy!>WhW&8s+3F0f%_7J$$!NkUR6T?AU80^p-
z#KaCZ2Gv(+?V)@IM$mFrY%a4$a~Tsq11pmN*hp+H16Scp99XMxdvupcgN?!KvH}K1
zCQil+*j(m-?lNTtRwfm&k+@yPh1F#a=q}R-8-v$ng$#^L+}IiypfPoj(~z<mlLZ4C
zlO@<ph|>r)F2Z1S4HFLoBNHzZA2a}v8y6|q8W&6s44h1kNH(D~E|~a1brq8U*3v!&
zcjJP|18gEBJg}Aaphag;Cn7g4QXq|sRP^8tKr#-NUl~CQQK1DFqVQk?7hLGw8Ky`i
z15gSNCJ|V%1nbTeF)%WTVrg8kfr}*!lap|p%)rPb#&{d*O_c2G2#Rl{?8}tJz{&(^
zkU`=bHT!}Zu#BLEdC=^O+%$KDG|e5cHO-mIkQ_%$)4Z60kx2qu8U@YBfZU9nM(Y{a
zm>R$qK-^3yjfTV1s3Zd;lN6IQG-Qy|Xd2cu+Rnhq)PZCZY8sURr%_p~X*3N_8tn(0
zh$oH8G08)nh@3{#AZaumJ&jIBG7gbO6|gjb*|Dcl<gr84G^&W6MoSnNnUt`kQFiQU
zbS0A0&`f4v1Z_lsdJ`p$I)UOFIgM^)U}f3_HVG2nsA-fJ91E&UYS1)_s5rMUIH8Bt
zUa&EcpodkQXjM!p10!g61U8pBqr2=V11r-pu#vc3rh(OE&gd??2sQ?<%gPuSnKYR|
z!`q;FBa|?6L3i0r23Dq9U?Z`)OaL5a+DtlF!psHTWlzDz;B{F!10!f33AQkEMR(a-
z23DqbU?Xw6Ob@HeT+v;IJXVAwHY*qyne?%TnH!qRm>C&ZnIVHjxLsy|)n#sIE@S2e
zdk}A!RWdL#8De*tJG#q68CaPiqeZw~W`xyc?&vO4B<!*(21X`h>@M>_cbO&wD>G!Y
z2)D~ju)53x-DRePT~^J&$YhG$WuE9Rvt?jqhKvy5c9|JgmwBSQ%#*OoY8V)q%$ZcM
z<p3{qmjyDgGD8N1u(=FUo>^cmHN4PW7E9P=wG50*me{IR&>{zr(~zoG<}?O2=5(-`
z5T_BUS|i|9s}%zylQokKGyssR)(mV_D{~$LCv!fMO{i6?Ex3TP!&<dw;I3Mkk=q?u
zn}7C94p1i|SFIV4sx=cmc<aCpgk)nx)#`|)YURLMwKBIO8Gu>=I-yssbqtJ5&RD8e
z4y;ux^90-`GcYo_VDE`|gW?;hYGt0mz{)%mY!W2CQL9!+AITMKPsAHNtd@X{frJ%~
z!nmG+k;x5v!_)`eWosB%nb(4i#O5+c!_=MeF0=weZkYN&8m2zj8m7!Uz(zt`Nle4E
zfq{|913pj}1f8Ve(9#C483H*PIr|)7U}ruEwgKX3*eDtU0|(k51w<qgo_#zS7@54V
zj<jWAj?^)q0NVla1<VdcCU30zvoS~Nn2{SB2>m`xzR<jZJW`hh8L7)bk8kAG1uSpC
zMt&F>7@7RAW?qnQaE#P3Lk346zQUS${h0!w4#YB2mkk-I%R-EmA&t~AzhV$(e$61k
z{01CySVroY0`ZL0MPiK9F$KZhf;>`}jj$b(F2Eyo%pVw7nLjdcF@Hj`9X5c)z`)J8
z25dWIT+WyQF-`~(i3E+*F$FV$2J%5IKje|REbJq7%)b~|nSV2IGed@EKojqvxIr4J
z1KS7^!#`3N2^y&bZEl2ic*EdhxS$MRet-dUsE&n&fs2I|>{CcCfTa#DjG;P+2qG7R
z!3ss#P+cPfBU3nhILibS5a7j|Aj`uKFrbgsvG9Sdg(M+pjRKiHWC~+oWQxF=z_TG^
zb?6D4MHFlnsuy4Z21?+OaCafP9NQSOHozCIfC?!F7Fn<{5GTRPMetZ1*hx`X4ar6~
zL=CSY(O3&8EL~?7JqC6b$dD1lU$D#%DUML55<o>(6uf|nVPFJpbc5zU<f(vM%mRwV
z49UGPI~bYbuoh5xm<1GzJy!kkObJl?kqf9?NCB0P9%hiCAc#L<Nf0^y60sIgAm899
zpjePcgRmA*NleL52VyCp@*o9NE~1D)Dxg>*7=&3O86;Suz&^)TK&9X*prSAfs8qOH
zkPE0hgzZQL6iXZfD@!~B7fS+??WhG5$aY9^gjqmEf$}9&8dEyd^T-8MF7^V7C4+&L
zC6j@hB@1jLwgL)dBP_mfPbEZw3#bgnKbQp+WVi!M0ae7n#R8c&L`@x#;s`kxKtvF^
zAQQcSYGPny%7W)%qyh>uB7#vsAx}1<7EqZCj7-^B6L=n^fWk=N&ETLz^#UxwKm}9|
z++D~8R4#fx=>{8vt$+eKDHp3DdFX~r!D~n!)&dGk2ZUt~13SxHuvrj)!3qyt1ynS=
zfC5bo6ksi23a}JV$gNeF9gIwcSoIfTDWD)tQ%Im8^cOJ|L$d&K0aXAgpo-ALY#Wk4
zu@z7ySPLkSZ*Ub*`@kkbT!poODrG8zIuJ_%RR}4d3J^sEashRWL73$@g9Hnt?TM{`
zD#uemMPn9F6>zs87f^)=+mQ>XGYqUOXBoIy&VhXhu^qL50@;qMfQkkeP?bzoP|qV5
zPz5*&sA~+YEY}&hS#E%B#8yCoY=q@E+yzuLxPYq0RzN{IjaUk(2Mk;+$V<IosRL3R
zVHQw`Tu_5vKs7TkGS$NKFj4^p=~rSDP{>n@s09>gh@%c`0xyIVP#6jPBRJ?F85!mU
zSb%{FsCu}&kPD~+^n8MCm=Dr|0y(Jxt09GGhOj~g_8?gUwHXF7q!DWY1={|B*2QDx
zVqj-QUjGHl{J09J7<d5%sw$eX7BIz_1r)0gIP4(qh1tQ#)Phxi31$JsiaceB(BI0`
z2F(J<1ynJlfGR}~Gvql+Z1LBQwSWTo21fzKs)OV!tOZmDQzz7cSPG~TNC8!hC?b#w
zC{_~&VOCQH306qk6H-K=EXH8!!c#!SU=~o_aJL{AP$dZ4kqRhQD+X3pYX&Y>8?X-{
zwxbqMAlq>jP%+>Fs)wl;>Urb>su+6##p=Sq%IeC%&FTiW5nBNTvJsZwa2HT9-~y@-
zTLHxh9@WAupjiDFxLEzc_M+x)Tm=*&7xbeSP%R9MOcUUF7^#5b1P^?n7f`GbU~3^6
z1GRwaXJBNSh&6$iKnf^~1Rf7I3)Ks-00R|Jli=<`E})9h^9f|c6yhY*vIXR%$yg03
zK{uoT>=s;xOu<?}f%c`L7f=-p?5vRe8W4ZMGC!^YDi&TqO=VzYnufK2DZ^4gL1thf
z?uFUG$TS_R{&Fk@R40;u5&CB^&4gwF<N~S;Qb1LphuI{s84!PBE1+g!EucWY!Bs%b
z0-Ff&71jc3Hq#ua1F;lP<&XlZ3{gZN7f_2Bgjp9eNU%cMo{%B}wSbz7r+|vZETHDW
z-GW>|l_P9NE}&L0u(GaX;9^|`_94V})B*}*JFWsM7F<BhXIcRDJaPe5hNFPm#K6kB
znSq-XvH1g(w~)u6KsJKJ@Q*>of(xjH*a|2vTm{q~1};{}WG`y!z*RsYa={|>0;-jP
zk!dkJ4<i*&T-XaJ$b>K?385BHix?Q0mS9cb<&XjjBY~d<M;59VU;zdypq9ejg<L?D
zq34sUU}GRoLM@;`PFjZ5kaBcG?%_3LIrbR`Ur_OcG~>YfjDeN)IoKqKudvNHtiU?s
z;EV1c$Y?66uh1s*+ZY&`R$_OVAG*taF|e}!Cg8GFSY76a<}x-murYXD*3Q7lv>N+d
zh(DUk*!UP&+4#XmVhc0SFe4+=8mx06{*bv4e{6FhY*Jt&A+985E~JBjk!dY<CkLQA
zS&4y_O&M%HZYQt9>f`{3lLN3iSr2R^@lNh!U}Rd4J^lmHoovRy$_Cljj?KxCxv&jb
z<3A8R{+*DV3CnM2DYJ`#k!d4*S{8X?3AAY+<Tgm*4PIr*=FPy)<^whq;x<@?398i5
zcNuXo9$<`vSL&M>7@0ORZGjfs$n&z5*yd%~f*Cm3LXd2NmSCV!cg8hLTfy_P+pt!v
zmAL0+*`mQFLgEc;wYr^Y2h@qk^RktYdD$xT@J&WC4p#3og3cL)4gw+-(%j%00)6!y
zTMm*5P%lC!3U<NDf7rUbZU#oC-SCN7RHL!1`e!S}Z8QTT(;lo1In*NqAaP#Hz|IDl
zfX0k-&~kFbif2$Nc*htIkMq3@jG)utpaF_JR$q<TkYhvMr2tD;j7<BnHsoqB8**%r
ztqG90Md&}k1lr#Qnyx}_$W=oca<%9Y3R%Mj@h2=ok?XlbSW_IxH#iz{Z1a&~0c(mo
z%ya}AKv)`bHIRl}HKHkn)R1Fa&LGUTf<b}}vb+t_ltOLD9mUg-i^pup9fP|Cxgl4B
zupLqsfF~2#)-tfNtz+O~gKTVo*pAwe1KEzNAr}vB$Q@@o0rfm`L#`ToLym1b11sAO
z25vUUHV14yO^}VS_`==Oj0ZR5PGW1w@qn`_W>1stAOjcMA#hxxrVd;UIYcgi?-ztk
zCiXBeGM$FEb&xVL57vep+i9@1kc5p|Mx0_`WIBU2f!9D9au^95dFukU1b!CoF64$>
zHF`dQOu9py1glseLt!8%ox^HK4Z0zZk^F^e$a$s<kW!Shfq@ltN(bwg-3)b+tlJst
z{dBc=GBhwTgzM@+Xss;_jmH`IwRST!MY3;aXx_@u2oloW$<V^YFq46IH$!WrP}_Ef
z_We-d4km{1-3*<P+Znp7SU~%Atyn=Pz;w@KumaIN+ZcMS*d*BwGN{gE5SL_;WIMp1
zD#@m^jiGNFLx1>k1`&wZ1hCjdkQhkYq+<+xk}P1>HipUJAjTB9(3EWqQ^7*hwlPef
z1yeX}8^a8+=uEi6ncEm<frVzzWDtTFH%Dg&!`y8Q^T5LMXEGRqj9##fVIjzoI~f)+
zGR$O<m1Nt=u$YnI07HTmyCjPw`!<Fp+ZdLHFaLiZq<R_L{AJr1mV*si0T)`ajbSBN
zXcb&&)i#FJV4*c|SFF|9!LV){!+Nmr24r7s*v7CCEV^kXgCEGY&D$8ZfCEn%;sFpJ
z6ojnX7(h%&KyD3R&Y*xSKLMsyXB)%BZ46t%Ms9;UY1=l2?O>rDaG@RB7<Ph%cEN>q
zZDZIC7TN<B+Ov&eFIZ?FTxj1mhW%in18|`O+ZYalg$}`m4sByN3>G>97do<y;V4+>
z7+mPsHiqM1p%YNwpWMc93fcD{KGgRhCdBur5xxfr9$*0b9>j$B{xsOgGjLnZY-2bJ
z7CMI<^5?cOoCk|un90z%o8e;Qc7{t<Y@l$=0woW2Np@)Rhyk&{$s@;#19Y;{Wv~lX
zB-ucmD<I-B$c-G^7%qbxxRc>3Geh`t21Qf_6Tk{VE`%!hzW|gKwlQ1-yW%=DZQcM`
z&IU@6XlXMamNsv0W4HxNo402&B!QfK2UV9JNI%%gMON&f^n4fWWLZe!z6)|K`!<HV
zAlGhVxEH>hK?*K20jwP4Ot8%Vbs*#KL#=s$%bHS%H4l-kc?h-UA;g+T2x}gKqKthT
z14w4#Hik#x%OTc0hFbFkmo*g-Yn~!o^Au{$Q;0Rs5Y{|}S_6`qxQ*c%%$n!$l<|BU
z!wYcezl00D+{W+<Ec6;VvAo{K@CGdU7FqP|Hima#(f4re@3%3001JJDXZ}w*I~YE1
zWB39V{yLMv10}J21Njw^*i_(&t=5VIl7PO063!1;qPYP{G(RO-tk|GM@-HTaa7nfe
zR-DLu&ixEb41TQFSf4O3us&gZ2BI0jO(4cw3}p-qZ0{L3**-7`vVCNbWc$RR!}giM
zlI;tFGut-?KeitX;cPz{V%dH(q_X{C$Y=Y@P|o&`p_`q7VGcVJ!xDC8hV|?$4BOdR
z84j_tF`Q**XSl)6!SH~cli@Wx7sF?EZbl|{9!4&9UPdi;K1K_60Y(RQK}K(OA;w^K
zVa7Oi5ymujQN}`cF~&-EamEgI3C79nl8p1%r5Km7OEYd^mtnlZF30$hU4ii@yCM?{
zyAl%*yE2nFy9$#$yDF0wyBd=byE>CCy9SdhyCzcryB1RfyEaoYyAD$}yDn21yB<>=
zyFODVy8+Wgc0;B)>_$vW*o~Psv70bmVmD)Y&u+o=o!yd|iQS5sm))9Kg58E$f!&r_
zliiNllii*<gx!I;l--GWGP^VLG<Fx}dF*b?%h=tSkFk3&Ut#xRzQgX#{D<9#g`M4(
zMUmZ~#ezM6#hN{c#hE>rC7C^hC67InrGq`3Wj=cZ%OdtDmR0Q0ET`CGSgx|ivb<-H
zXJungVC7^_VijahW|d)2VO3#IWz}a-W3^&WXLV)IU=3i;WQ}IeVohexX3b;IVJ&0N
zWo>28W9?<nXPw4gz`BjSko7cs5$h%PQr2ti6|4{0OIe?=SFnC$hm0C8Vh~`+XV7K3
z$aIN;jZuq%n{hqkcLsK5PX;fh%S?d`9L$;wrA$|tt}?JOA7kKVy2g~kz|Q=K!G`HN
zQ#k`WOEQ?%#lX&Tiou5IBGX(3(5Y@hjO&?>GH|d?W3XYm0n*D5&f3d#lj#-%3qvex
zJJW4O4bT~4tY2XJS6RO>-C?=}Iwyzq3)5Yus|-vGoUE^z?lIkGfb1q!U|@#2<N*U4
z)ZB-lv$DYIA3+=0dl+o~FzB!|Jr?`N;Lgs_$<Cn4&hY;igMg5bsF2tn20?bFC%+h!
zg@lB}L``LcV8B#HNc1m*6g$&XcBUtP7#!Ida(*$${$gPI#lQ~N1Y!JPuwrK@`o$pj
z3v`4J$ULw}DTYV|L_|nPR8&X|Zul<-tzQgm{}}`sSRif#+xeJ*k)7!ov`6|J+#{7{
zU}Ad3z{t2DmFX?hJEo5eOiZ7OnLaapDQ5c0z{vCsewI=Jbdf6PbQmUBBkVW05yrBW
zfl12;eC#38DL7J~P-AapU}tY*5M=LQ5M%FTkYMj(kY$G~4S_Vg<)JYn!NAV+9ezX)
zGXtX_9_Rf4IqxR}Bj^ZmXomyQzTM972d!z!j=VJr+B9WgWcmZ|{oy?0ihVLtqZWF`
zm4GATZl=E&)^20?i)Jl@6q07BwE~WeTd``!IC=@Y=1ok0p=*;79^S_Aj|iK=!3jOF
zNx+eD6;^}Ph%sm_>_jYZNc^TGB(P~FIwXEmCnVM}VRMBk5g`E%Mr^JiIT%-A*~+|)
zfiz<nn3(>77Kt+bXG~>aV6b9fXG~^($C#qV$#|Oi9pf1_PR1+D?-&=UaWej6e#iJ<
fjg#pG^E;-OYMe~3ncp$Jagbzs&-{+*gBm9QR7Mk{

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaReference.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaReference.class
new file mode 100644
index 0000000000000000000000000000000000000000..5eff814b32dd7e311983f1b983674e3323738fae
GIT binary patch
literal 7667
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..630614ff492f35406af5c248a4d7700b60596275
GIT binary patch
literal 5082
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
AR{#J2

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ScopesTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ScopesTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..3b734e82ab5d2ad00f0bf1372756e1e0e693b2cf
GIT binary patch
literal 4721
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecurityRequirementObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecurityRequirementObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..40245e5a2152bb1df6a844161241c2eeb9020347
GIT binary patch
literal 9926
zcmX^0Z`VEs1_l#Gb#{hrTnvm1+qoD-7<RBT?Brr#fpB(lF-S4&=4MD@*aIT=vNP;s
zXV}lhzzve-VmQFgaFC0EkKqtELo&l*E(R`!Bisy$3`aqR9b;!W4l-{$h;srYe3F~t
z6vJ+IhSTf}XF%qHWzK@M?gklh4kUISWXJ`OzKdK8$_(4t87^@$h%j6RiCh7RTm=!=
zK*V*B*bR{EO)iF847b@C?yxi5WoNj@&TyZLL7!ne2g3sp{g8{{5yN9Hh9?Y1K-{NX
z40;UbKzg5ni02@qUVvCHL9ACG;x&l-2IQQ#Al5q&>ph5g2_im#h$|q8k091Zkd99v
z?q?A3g`MFmBZE|Oer`d2acXdCa%oX!No7!KVQFSjYHn&?2_r+jhEGbWeo1LcQEG8Y
zYMy>(UYdS!iGF@TYF=VNrhZ~^i9Qy6{z+M>$tBi4S&3zd`lThAIr_ed1=gBA`9<k4
zttMIe1&Kw)sYUv^`6;P6`enx046<fqU~$e*No8c<_sPsl^()OyN-YXWOv*`RWDxSn
zPfpAUODxI+@u7l@WsD3~<TyDjF{d=unvsF648$mAWDr1dy-#Lwi8UhwV+omthm;oN
zfDGp;LWFHG$WN#N#K<67j2Q`#z+_~wCdXS4&DM+z%(;mLj10n9%x7dUCM#mZP{Y5n
zAQc)1Drg~R1L5Z+=B4WgmlS2@rCZxsGcveCgki}8iz*}qpcufS!VYYb50XOP!~$e>
zQ2!GQI>+D;zx<R`uyMS>C5g$|zKI23|FAQBV`uoz&hUegfipNWJuk7Ov?!I4VGs2(
z24(IgFIP!`Gar_$3(oSS=Tp=eu+}6P;8?7N#uX@MgYyM)f?;IPC1|8qVsVLMN(v~c
zfD(LmY9%8>CMmjX2r9<nYDmEWO3-^W$jC>i0Y_<4Aiu0;WMH$&%*!mXV`N~~&<tZ_
zU@6JSEM{cj1qrG+XJqE26s6`dG8hm}_sH=8GKs0cfF2P6DP%zrkwcOj$%=KDWg!1a
z29@TOWag%ZWfo^9<)k|1<>i+omSpDV6|*z^Vr1ZU&d)0@DJo4a$uDAL;PK4MOD%HF
zNh~f-EoNk}Cz#}*B@@C_6(sXO^<!RQZYm>#1eT-;b|fe!D+^K?8B~$t#RivZJ4ObU
z?999rMg|s8K4N6x&MVDD#6GizrY9o<Uv6ThM`BrOP-=NmW=SeI#Y8bO@TKLH7H2q?
zloUB9CTFBFGKhc$obz*XQj<a90TpIV&dJY9Wn{3`psbi+$pg0xxLhleQwu=m7c(-j
zB<B}YGBPlxGBT(^vKF`$aR%AwmtPWGT2PQ*RFawk*JI7dz>!v(lj985$K{e*P?VaS
zSdyB;$RLJf07BfFkwLhmC^Z$N!7o3gC^4@%Ex#z2k%2WClt~yF2zv?|rJxo?CL;r*
zCn$=FQd1cjIA8`dGH_%TtGE`HCgw0Q=nziMFcUSS7#ZY?Q%i6~FC<P`ax#lc7#ZZ!
zQ%n3xb8)F<WYEN~0LAyx>9}nLMYSj4V8P`OYeoj?jKpGG(u@q!i76?#Wo-!uA1=+-
zpzN)N$8^*nz!UI{40aSa!xQ8Vc|0KuiC29hG89rFV9m&oO_~mhib{5d-;4~LAeVy6
z6GjGGGRi)<c56lkEdl|85;<yk6r(7V!K1L4kwG1wG>So-MUdh#B%hH%n}~3R<zYq!
zuH?i#c-bnVp@~!u!P`iL8#Yk$2*(*zp|u^f!-gm^K^-e=Mh33n{L-T2RJTk}w@VI7
zW`Vd$57cU7WH2PT^~l4J%aF&zFq@%~kwFk-2&B*GkyxDJn^?fZu$EyN55pgZzdQ{8
z7@Bz){xfW1WUwHksROMKg%MUb78NB{g3=TZBLl-S@=OIc0C^Z08JTz(nHgDl7+FCq
zHb!<HMh-?!Mg~hVTnY(L9!4%kZXQM+MqYMCK1K!su)D#r1L;OFGH4Sr8!5Z<F!D1B
z@G#^u3WD4z1Y!yEFf3qL$jG2h$QWo6;b9bExWmIJ$|%Oe&;p9GRuIv~uz`o6jiH@~
zQJi5CJHs6iXA>iXRy48s+nSL<1>rZ`bu}XcKSG&nQ4y#;C5{k*1d3B>W==|K5hH^<
zScR1WxV52>mtUe#46FSW((;QGco-!ZCD|FJco?M_W!M>Ic^KswnRpl`Ftqb9bb*Ko
z3>$bD<rx)t7^Z=IIGtez55rQ1Wju_E42?Vtt3fO!hDIJnWkwYqMpcly^&oZAKze%_
z+8G%j2@M=!U{8Uv6C(pJ*u}7JFC&8xg6~<9T9gQGCh{Q!LCKSyQH_zomdIGb-c)2{
zuqItU$Zlw9&5;RroEWS~0(%1HXlq6W_Kd`0ztoBnMh2EVFomNq1!tLJMh1@b)Dke8
zkpZ=sgG42$7nhil!pI=1fmsBCnmX*D1`4?O%Un=e!pLBOMI9EMm_m#U{KcsyNF!gx
zj0`SN!@!;-fBcF+9o=9-l;8uI%*eo&omv^3TEfVHDjA##8h1iUF<>=(s75j}s6d?x
zPHNDwgVq{g*Mp+b8Z8)M%EA~KA_zB4palRC9ebn_$C{DB35&}J77NHmfLcBr;FdMG
z`^iz9S^`awy2QI0+<sy!NGt-6X|g326r_T>IJ#II2Mso)kc1W})+hxqq=1H`U~p%S
zkwF+1tzf-iL2Hx}3oHa`<mW@e9;zGCYtYdkqJ<2L1x5yLP|An)%orKOka#F<5RSx@
z6lidf(u)XVWDrh=1~iI!h9nmu42ldQ49X0Q44w=O3@Qwq3|<W03``6@3=E8^49pCi
z3=9k%yBQcGw=*#LYHed+p2<+Pn}H>AI|Hkq);0#VZ4B&IERrlc88{djW->&ASe%Ru
z2N<}lSa&mUM{Z}}v0{^C-NwKRQphgJ4pk@*Vu2O%S#e0RNpfss;NQt0z{C)~{Qq5D
zkOo0Xww(+@%pifqI=b5!gu`_<FfcH%F!(YsFz7LGGcYhHFmNy^G4L}eGl(;&Fqko@
zGT1YyF~l>dGvqU9Fw`<=GBhw~F|;x0GWantFnBPqGsH9SGWatDFmN!~GuSZ%G6XTO
zF_<y9GXyh)Ft9R+GvqUbGK4WOgZ#`8&Je)>0v!yI3}Fn63>*v%3{ecx3``6$V7r;2
zX2deEL3PGKbw)D8GcYnFFfcGEGqC<+P+(_ZWM@cZXGr?Tpux_-#m<n-&XDwrLG=fN
zz%K??h7<+{1}27722O@FhIDAq`!KLFa4;}1^zLR5iQLX03JQ9$V+>_l+Ze=lGKe!W
z>|~H&Wbo6424|e^P6lvjN?Nh(W{`^9&LC~YswK&?jX`E7gDfM16&olt!BM0LVnNli
zOS0}};ER-G-_9VnjX^$q`TyHGyBWA5C0Qg{w=*bgV^CcFf4;Vs4kRLw!e5Jl3pClo
zz`<a~z|UaLV8md-V9j935XWG}P{3f#P|sk)(8OTR(9Pfg4tqNWHikF`eg=Pr3<h=v
zYX%pFK!!{PRt6&mUxqA(3<egESHYnR3h`ceh_`}c0TSY33`|g+*$k{;^@wnmWnlTs
zAji%i0uE$Nb_Pjy1}ShLtN&mSgobbq10$#%%fJXq+ziGHj0}tn3=FJV+ZmKLf};SG
zvbY$S7#JAb7+4tG!7k^4C}PM5rv^rb0){-O0qzXUU^!7Omc0zhTNzZepdrt^jX@P*
zARjnUfRbDwg9t+qlA)q-LvtAl8JNMYiez90JAfPHDlKi8QOw{}4>2m5frTN4fr}v)
zY!oO|7#O&rMuAvG44Dj!;4}(xJ2yiSLoov*G!RM{N*Nd!<QNzkDjAp=s-hVfiy5jJ
zYQS_YLmil|XJBDyU}%K;QwJJQOe|~Qp~MFEc@o$K5L=j_E?{J6VrWL!$&9Wu6RXY^
zc-SIGjv68?A(4~Mz`{^~WB@DN>Q<}<sG}QD%D}=<hSh*JhIU8>WN>0&1V;py)^-Ms
z0}LWQ+Mv>h2^<d)XH+wAFw}refy4n9)EOKMObi_i5e$qBoeZGzijhH=ff3YTg@(!=
z1{Sc%&RW|TG<~!gw=!sHZDCM3#vrH-qPH<<A7Ieg%AlgX!DlyvUgT~D{mAVM21170
z7>u;GF&J-SFxkdnw2i@ZJA>JNa5N||C^G0WK$3_Y13Lo)Lo)*_Lkj~JLo0(ILmPuU
zLkEK*Lnnh0Ll@Y&3JlB)tPC<xM=CKWGITTafK76SdI3~)i83(#VUTBM5cv;^e|82D
zP$35LNiRb?G_mS~WWZTy8-qC_cp!;mI@m5q;(*0aA1HT&6Cg-UKLY~;Bd9qK4VVoK
z%;18+RBIc9g%2n!jxlI4+sc4g`xY_CgJ>BeKiy*te7f5hEd8`~WwtS>wlFa+|9=l0
zJCGny1J_v#8CV$>G4L=fW)Nps!XU@6ltGDM8G|~*at2+7#SF#_tHI9GVqjsAW8i0)
z$S{e4nSqZ%m0>c&6maaALW6>p!GK{ZI5t6n!pp$?mw}I+L4;8bRB|&iOk-$=x_&*>
z^(IKJ*F?BpPD^GRgB8s2*2s>(kKy=j46F>>8F(0WFo-kkWRPXp#h}Qrn?a3X4}%WF
z4hAEJ18~R7A~{|K?syZp<MpvRUKZqd7KZ5zGoX&QVqgOMnoUc4JA(~+ZaoIJ4wA~*
zphhz=urYKnOaiBXnGA){ToVW_zSz-=E=ZO+$H2yL9?39vxMA!Jv(SnykO*?I#RwXH
zfI8O*Y%K!=ht@U*+ieVX=nlRHwgZy(IG}bgGR%P&X~_ERw=p=N>%Wgx|6GQ7Q2QOA
z!NmizUwRvZ;{gUP^z{D%Yz8FIc%W`zVBi7A5vb;w4=*NNp}r9SnYN9=ZYBde%W?)5
zaG?oF(xBYJ!0-WVBE(k$P!mCkl9hpp&jDoQ0)~Z92i7q#fvX)!tt|{%#~HY^wlUZ*
zXJ7|e;H#s(jll_2Btn`}kV@qTgD}HS1__2=U^_r11OtO4)D94<gCT^0kwKV&4IEF9
z3K`@Qh)6L56S%p<&cMXy%+4Uiz{s!&?v`YzTev}vK-doP8N~K~46F?Q8Mqi3kZeb;
z(jd08V%QE50ol&Tu$W;9)bn}JoCuB`KV5B^Z4AyJ|03DQ$icwM$jQLX$OX0$R1ARP
z22#m`SP&aQEJ%UC$^c4_nGDSEiWMSK3~mH0WmpC+5<{UWgIkMv8-vvW1}R9r0kImK
z2^fVKI2nb()<O~o%%hwPOyIyp)ZGvfL?&1cE;_jx7#UVEFfvquDsD#5Fb6dA88a|}
zOL0z+-7W_hq|lNiqYT(qP_!{Ha6%&&()e7?z{s!$Yx1_2-p1gHnY<a5!Dc~xfGv5i
zWmpDv7IH0Ni|!<CurUxP!D<PFlh$E1#2(!c6TF73XV?Hu7zmeaXK+I|!~%;Uj0_v$
zxfI?E0_RIeLjasF8EuesLYqMXj-Vka3~RSBxT9IiAcdqE8UO;03=^=p8A~0DU2`wP
z1}s7EL4?iV^ab)%KLdk+BSRNfS6C2XkbomY8&+3n5}_H<ZUP&#35#b)Glqc~+W6hf
ium#+N-O5nGz`!8Hz{F6-@ROljjgw&o!%v2lYMcN#_{y9B

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecurityRequirementTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecurityRequirementTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..bd40c25ab01899cb67f45232a7f1579c60192b1d
GIT binary patch
literal 7603
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecurityRequirementValue.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecurityRequirementValue.class
new file mode 100644
index 0000000000000000000000000000000000000000..59c9af6c5c2816a27d8b0efb4467d3f5012a34f3
GIT binary patch
literal 4387
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
APyhe`

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeOb.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeOb.class
new file mode 100644
index 0000000000000000000000000000000000000000..4f726c24cf188f7d5f640ff67e62fcb57ce34a31
GIT binary patch
literal 5527
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
KFrOh=jS~QGG{ScP

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..07c696931a034c4ff683957fcfc0154ff58408fa
GIT binary patch
literal 13799
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeReference.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeReference.class
new file mode 100644
index 0000000000000000000000000000000000000000..f393b7d254ce8fb166781c5c5be4f2e2fcf08619
GIT binary patch
literal 7290
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..fc981036f7ebc07ba272bc536f7a3b8e696c2df3
GIT binary patch
literal 5186
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
L=?pU&9Mm`g58+H}

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ServerObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ServerObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..611c37b29e2d6c73528f74e5da588de9dc028a34
GIT binary patch
literal 13354
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ServerVariableObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ServerVariableObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..e48cc5f7e219052148141aca51ee820e9dcea851
GIT binary patch
literal 12565
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ServerVariablesTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ServerVariablesTuple.class
new file mode 100644
index 0000000000000000000000000000000000000000..a84d7b1be5b7c75266467a3760dfe156fc1e97e1
GIT binary patch
literal 5220
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Tag.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Tag.class
new file mode 100644
index 0000000000000000000000000000000000000000..6931ce2492a0feff2afde253b2fd88e0d9ae51be
GIT binary patch
literal 4295
zcmX^0Z`VEs1_l#`Ia~}%3@Ka;Yz(O&RvL&%2N4<U44EL|EKUYChHMa#!^M!xkjKuD
z&(2W5&QQqCP{hT+$B@FoPz<6=xEM+q%D5QH87e^BN-hRohANN&)gYn<WMnOfRR<#K
zLEHuq(FiiRiG!gT#AyM^wStH?c7}F#h7Lvs{*wIc)V$!5qRhPX_>jbOMg}3Dti-ZJ
z{hY+SbbW}pH6sI?O=ezZi5(*Yvxa6EBLj<beo87M1HVsZUaDVdZc=JdNMce>DoAsF
za$-(cVo@fD4;5r7$;d2bWKi`<N!2eYO({w(PD#zv&&*5HFD}u~FG$TxEXdSPEH2Rx
zNldq9WZ(r^rQ)2CnUhkKn#af>s)6YukRzB13>X<CgG%#CGILYIGK({la#9`h^72a(
zOEUBGirE>u7#X;o^Ye;Jib|79@{1T5cs%p+Qj45(5{rvdiy0a02|CCzIK(eM1<6zu
zB=f8p8CdcXb5j`^n85+ZQc_uv%E-V52{c9qmh8;D6h;Qt5Kss+GH~aW<{~`BtfA@2
z$iSDISm}{imKu~=UX)n^GD$--ijjdYEvK|N!?C2K$T=}NBbAXs1T5g3pOcfC4DuXQ
zm^C>kKQEP$L0v<WpjRMa%aR9<I4;+U<kSL?NyUr|EXnx=m5dCGsf-M2NFnVEGTSe|
zB)GJoAit<2H3hB*6i2}&iOJc%i3QLo=142e$#Djo!{w4%P?VaSSdyB;$RLJfAVS=l
zkwLhmC^Z$N!7o3gC^4@%Ex#z2k%2WC6zhx(guMfe8EZxc#!N;AMo&ft7LbXI3>+W|
zWH2KGM`p2#Yhh_(4kLq(2EhP=nFxviw&K(haGbK1CFYcZA~hW<Aflm(<RwT{TeCBC
zvorKCGFTF82_l)QfK!JxBLim<Bn^b*Gcsrs5uY&UGBR)_C+5Ku5UTt9ld@8iOF*Uv
zXQt;RmXsEyGBRWm>q;A96<XU_BLxaL;efKgH6sI8aDHh~a;jS<sBqv2Nle!R6)rps
zY7FW;4518qJPh_AmIH`zWQb*CP$r^`;9+oNaN=R;W$@!+=mQm(`5=*aMh2~DqFv0$
zpaOCUq?iM{7;92zWZ*|Ab1f<Yl_KH@5lH+ym1gFoq!uwU$b(f_DS)%3LSBA}LNP4!
zD5T{VDey4#GfZG-n8?F0iD5E3!xSEdsSFW34AVe_8YnP)K>l(C5k3sDJPgwrX7Dh~
zWSGUn5Cq}|GlcLks4%E9GBEHk#DGMCKuSFsoERC@356Rpy)ZHeBb*QRHz=mq8D=vw
z*b-?3QsPA_4H+2(5C%iSg^|IWbR)s}fsui&Ah9SluY{3-16(A4D+0E}f`U{~k*bTW
zMnFn|5bL4QVvXW5NRD7+;7Cs`0apZ!48kZ`8Z2my67OIkMh5ou)Dk~%dCyUj53z!g
zfulIJ1YD{!GUyUt#(0A2FR&9J<(-a(Cn-gqA<4nYpvb_+pv1t)pv=I?zyeA{3=9n7
z42+<R$iT>;!N9;^%)rRN$iTqBs<oYgaU%l*0~3QL0|NsW0}}%SgFFKZg93vV11RNz
z6)|Wt=rAxaFf!;es6!3V2J;z^HM4<D)I`$A2-m2_pvS-jw%Lt=32X@$$Yw3=Z468Z
z>-iX%85kIh7+4sL88{hCz$S@7R6|VyIZ>ZMm4T7LfPsNQj)9TEgn^mCG@602n8A#}
z986m<Sb}LQ1{MZu1{<h@b)Y_GVqOFHF2u!_V0(DLu4jVU!^mLEU`J4=16G~(@IXQi
zWoCpoA))NXz{22;WB@DNY6q+au%H{@!@$Dei`4)}1}A7}J25aq!cS{E1M2|>HXrQ`
zaNk3m5yZg35DYd2HKaKhm>8THK%wTsz`(%5z{mg!Ay)>FiJ%m;hk*rbva{AU26i89
z#;pt-T3Z-6k1+^pgXnDxTn8Aqw=!^QZ}8d8z#F-nfiH491HX{KHU>ehZ45%&7=*Vm
z2ySB#+0G!k9~|@w42ldq49wtkD96Cgz`zj2z{(KKz{L>5AjlBQAkPrbpvaKGpu~^}
zcCG>gGXpDw4AhZI42leH4DMi)oS`A<!N9;E%E0u8L7ts~?LR2~*%{av7}>!-@nmpf
zU<Rj1eUJ<|FKlBFLj(^bapZyR0(qT*0Tx4E3?KkXfFL#A;GEzC510)M%nU3H3=F1P
z+Ze=sKw)u=L5tZ|2E^L8h(R7i%NY6T9%JCs-Nqo{r>!fqjX|=7iE;V=d*IlC1c4d@
zCj$dR1p_NXB?Avb6@xfKHG>>O4TBOxErU8k9fK}I6@xKD6WDoL3@i+C4Ezkf41NsE
z415f#4E_uO;Mg&R1_djF0Ye}-HbH^H%fS4XfsdVmjZy9w11kd~LlE5c>!GeUL2|t&
z!u4`mGTRuWV2+nYcKm$|$M-U@GW0Qk>Opaa2@J9f6B!g4CNZcnOlHtw=w~oum=1Tm
zERy3@;Ep$eJ6<2F<7GjPXJH6t2!ZC*XlU6Yqouu_L1rd{sMZz+S?vQ1Y+D#)moc!j
zEN5T==YB{CgCdWCVJ_GaV&Kq{fm+A_PF8*lj0~XAVr5{GasU;Vp$vLZi|n8lv1w^<
zWspVBm`fR08I~a#%LX@=jUfzNcrh}BGekhMs0TFp34$DZjDZV8EoWdAk^?10WS4FP
z8wp8@f>0wt?qg?Q;&WtYhy)jj+zgBi(F}|Xrl9hW5!7&iIvJ75w=>9tjE0o>kU-dq
zWHc<5Gcv>xQ3UQp(g`g*1sp*w7z}H-F({y0D}|&PYOR1HgAYS27R?wr6T4<lhFEC0
zB0Ri}L6HcX!NCU#4sQkq0Y?T`tga9z!XN=h21l%}U?)N|1H7~a8xxPkGo%^Az|4>U
kF7gu@lE8E_gE0dGgAfA~gCRpFgOM61Lli?NgOwU50N$)lNB{r;

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/TagObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/TagObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..cb336da10990f80c4669ea4b6b5673675259c9cf
GIT binary patch
literal 12041
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
JHN#ysP5^G{nr8q2

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Trace.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Trace.class
new file mode 100644
index 0000000000000000000000000000000000000000..c075be5ee6cef999f67394049a505c0ef71b55f2
GIT binary patch
literal 4675
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
PRO4g_XJ}=xP~!vuJinC)

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/XmlObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/XmlObject.class
new file mode 100644
index 0000000000000000000000000000000000000000..8988bc5dc6f163b29460098019b0c3c30e4b3f4d
GIT binary patch
literal 10776
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/test/openapi/OpenAPIMain_test.class b/build/classes/java/test/openapi/OpenAPIMain_test.class
index 04775ae8ce77223a231a3e39668a9611e0b4b92a..35ecb72048ec09e359f5caff6592ed689a9fd214 100644
GIT binary patch
delta 887
zcmcbi-lI`}>ff$?3=9k=j4WIXjtmv-43%6AObitq3{~t5)m#j$3^g1KwII3<MAUOL
zBr!B_GBh$YfmqF43@r?;AXXbULkdGXi0EKv=wxT;;$jeDr~nb&Afktzp_hw6kf9Gm
z^m8yw;9?L1nLM$conaCe!(@gjTntkgrm-_j=VFit>62%e!ND+-gJBlPhS^*Ua~S4w
zF_bdQ1L>O&A{KBlEM!;&A{KKoEMZv6#UR754CKV+TnsB1R)Q2agNRie468x(8W6D-
zM66?HSkJ{^%CLchVI!9+Ln%WK2g4?iyEbz$Y~f(o%E7P=<mBxf3_G|Ob~5Z@XV|@2
znNfmCc@H~7EIY$qMg}g|isaOSlFa<PVs?go><s(a84j>B9AsxWv^kntg^}^_<OY^x
z?<0&1B6|A8MalZPiJ5u&MXAO4rA5i9#XJm08IJKV9A`Me!*G(}6g$Id9)>dvXL%UT
zF`Q>-xWL13k>L^#!)1mmJPcPEuJJHjXSgw0k5ym&Cc`ZrhT9A$7#W1J63Y_xGxPP`
zGILVHi!w`6i+C9BFr4RMxXW;Fato_1-+dm22MiC{86NR4JZ5+@`8=xz^HYXrlYg<Q
z$6jPO!p`uVhv5aoOCE+-AV<7rIKsp5hQXPg;VlotJBIf>3?CRivNL?*Vff7Og@+-R
zA&-aQE5kK*hHpF!-x+>@gnu$Ju$Cp}l&119{9^bG68Xc!@R#A*<T^GZv40Fd85x-J
z3m6&Ll#=rcDwTK`{xh7Ke2h(5?j|DxBZGiKVo|C>N@iMGYEf!li4_++BO?zZ6C?9v
zcJ}9!_p{3}xukBs&wh%HQEBrkzUz#Unhcx_S`54l+6)p5dJM`81`G}ih77(81`NRr
zMhpoICJglqrVLXV%oz4Em@_<OuweMeV9m(RV8f`!V8>|8V9#j5;L2#n;KAt35Xk7y
z5X2b55XzXv5VrZ2fF7ef4+ASh8bdlm216!87DF}z0|OfaBSQ`Y0|N`l^P5$LG8w({
z844H}85kIu7z!B*7?{AUB8FlHW(IbK-wY)T1q>_<i3|)3ybNrA7}(hvN{tN+42&33
U!KN@Wq%klulrb<cFfo(^0J6c=`Tzg`

delta 882
zcmeCtxS?Ku>ff$?3=9k=j7(e%jtu4O3>91qObq2543+E*Ra^|L4AmSAH6XecMAUIJ
zBr();GBhwWf>=#l49yHJAXY0kLkdG1h-hbL=wN5)<YEwFC<hT;AflU{p@)k>kf9eu
z^l>osb1{g4OrB8B&M=XSVG_e+E`})#Q`s4&aWTk)^vN?!=U|w@!7vkK!z?a_*$i{I
z7)luCg7nP;5%aki7BDOX5sSDO7Bej2Vvu223UcByE{5d{D?o~yK*UN8hE*VXHHcUP
zBG$4qtm9%ZWmwO_uz^dJp@gBEgJC1cU7I)<Hghm+;b7Pba`H9~hV5JoI~aDdGwj-|
z%qYR6u$!GBmYrb_BLkOfMRICENoIatF+0Ovc7}cI4Exy`4s4ENR$*j3IJuc6+4~S9
zgNUAfaZ$2<ZenJheo<<1erZv1YB3MPVTL0-3`ZG`@h}``IKj?vl850G!)YFdGYn_h
z8P4%AoM*Ve!*G$|5)Z>=hATV_R~fENHe}UTzs_)jhv6o}F-8WVti-ZJ{mguQx6GW>
z@S@C;)FK{+TMTD;7;ZD%ncU85D|nZO;U2?%c7_K$3=bI|F)}DmR$vmH{EAh8`7y(j
z$$weZW6v`jVrO{D!|;sZIS<1NkXv3d9O7Yk#o)}&@S2C=4Z~X=hIb6_*%?0YFnnbA
z#KVxokjumHnc)gM!xtWguMFQn!rvJgSj!S~N>h0lelYw5iTvVW_|0%-awD6O*dK=P
zj0{Zq1&j=AO3C>Jl}bDee;H0pKFOvmcb(xMBZGiKVo|C>N@iMGYEf!li4_++!+#z|
z21droT<p&`D{$;)V^rLHhwnOLqy_^ggC+wngBF7XgD!(IgFb@;g8_ptgFZtrgCRo#
zgE2!rg9*b_22+N;3}y^Z8O#|zGFUOPGgvdKG1xL1GuSa&Ft{+<F}O22GXyaDGXye*
zFoZB>F@$dB5!7Rp<zirANMlH6$Y981$YNk%U}Iop$Yx+*U;+7gbEHrvqgNh7J_92I
z10xed0Yg3m6PQ)VP{hE@z|QcSp_n0`frTNFfq{XSf$a|iJ3B*(v4Mes5ko526h?+L
O21bTb1_lNuhB5%TM$=OO

diff --git a/build/reports/tests/test/classes/openapi.OpenAPIMain_test.html b/build/reports/tests/test/classes/openapi.OpenAPIMain_test.html
index 54f3c15e..09cf38a3 100644
--- a/build/reports/tests/test/classes/openapi.OpenAPIMain_test.html
+++ b/build/reports/tests/test/classes/openapi.OpenAPIMain_test.html
@@ -41,7 +41,7 @@
 </td>
 <td>
 <div class="infoBox" id="duration">
-<div class="counter">11.952s</div>
+<div class="counter">0.620s</div>
 <p>duration</p>
 </div>
 </td>
@@ -79,7 +79,7 @@
 </thead>
 <tr>
 <td class="success">test()</td>
-<td class="success">11.952s</td>
+<td class="success">0.620s</td>
 <td class="success">passed</td>
 </tr>
 </table>
@@ -87,108 +87,12 @@
 <div id="tab1" class="tab">
 <h2>Standard output</h2>
 <span class="code">
-<pre>101
+<pre>5
 Loading expression DSL file '1password.com-events-1.0.0.json'.
-Loading expression DSL file '1password.local-connect-1.3.0.json'.
 Loading expression DSL file '6-dot-authentiqio.appspot.com-6.json'.
 Loading expression DSL file 'abstractapi.com-geolocation-1.0.0.json'.
-Loading expression DSL file 'adyen.com-AccountService-6.json'.
-Loading expression DSL file 'adyen.com-BalancePlatformService-1.json'.
-Loading expression DSL file 'adyen.com-BinLookupService-50.json'.
-Loading expression DSL file 'adyen.com-CheckoutService-67.json'.
 Loading expression DSL file 'adyen.com-CheckoutUtilityService-1.json'.
-Loading expression DSL file 'adyen.com-FundService-6.json'.
-Loading expression DSL file 'adyen.com-HopService-6.json'.
-Loading expression DSL file 'adyen.com-NotificationConfigurationService-6.json'.
-Loading expression DSL file 'adyen.com-PaymentService-64.json'.
-Loading expression DSL file 'adyen.com-PayoutService-64.json'.
-Loading expression DSL file 'amazonaws.com-accessanalyzer-2019-11-01.json'.
-Loading expression DSL file 'amazonaws.com-acm-2015-12-08.json'.
-Loading expression DSL file 'amazonaws.com-acm-pca-2017-08-22.json'.
-Loading expression DSL file 'amazonaws.com-alexaforbusiness-2017-11-09.json'.
-Loading expression DSL file 'amazonaws.com-amp-2020-08-01.json'.
-Loading expression DSL file 'amazonaws.com-amplify-2017-07-25.json'.
-Loading expression DSL file 'amazonaws.com-amplifybackend-2020-08-11.json'.
-Loading expression DSL file 'amazonaws.com-apigateway-2015-07-09.json'.
-Loading expression DSL file 'amazonaws.com-apigatewaymanagementapi-2018-11-29.json'.
-Loading expression DSL file 'amazonaws.com-apigatewayv2-2018-11-29.json'.
-Loading expression DSL file 'amazonaws.com-appconfig-2019-10-09.json'.
-Loading expression DSL file 'amazonaws.com-appflow-2020-08-23.json'.
-Loading expression DSL file 'amazonaws.com-appintegration-2020-07-29.json'.
-Loading expression DSL file 'amazonaws.com-application-autoscaling-2016-02-06.json'.
-Loading expression DSL file 'amazonaws.com-application-insights-2018-11-25.json'.
-Loading expression DSL file 'amazonaws.com-applicationcostprofiler-2020-09-10.json'.
-Loading expression DSL file 'amazonaws.com-appmesh-2019-01-25.json'.
-Loading expression DSL file 'amazonaws.com-apprunner-2020-05-15.json'.
-Loading expression DSL file 'amazonaws.com-appstream-2016-12-01.json'.
-Loading expression DSL file 'amazonaws.com-appsync-2017-07-25.json'.
-Loading expression DSL file 'amazonaws.com-athena-2017-05-18.json'.
-Loading expression DSL file 'amazonaws.com-auditmanager-2017-07-25.json'.
-Loading expression DSL file 'amazonaws.com-autoscaling-2011-01-01.json'.
-Loading expression DSL file 'amazonaws.com-autoscaling-plans-2018-01-06.json'.
-Loading expression DSL file 'amazonaws.com-AWSMigrationHub-2017-05-31.json'.
-Loading expression DSL file 'amazonaws.com-backup-2018-11-15.json'.
-Loading expression DSL file 'amazonaws.com-batch-2016-08-10.json'.
-Loading expression DSL file 'amazonaws.com-braket-2019-09-01.json'.
-Loading expression DSL file 'amazonaws.com-budgets-2016-10-20.json'.
-Loading expression DSL file 'amazonaws.com-ce-2017-10-25.json'.
-Loading expression DSL file 'amazonaws.com-chime-2018-05-01.json'.
-Loading expression DSL file 'amazonaws.com-cloud9-2017-09-23.json'.
-Loading expression DSL file 'amazonaws.com-cloudformation-2010-05-15.json'.
-Loading expression DSL file 'amazonaws.com-cloudfront-2020-05-31.json'.
-Loading expression DSL file 'amazonaws.com-cloudhsm-2014-05-30.json'.
-Loading expression DSL file 'amazonaws.com-cloudhsmv2-2017-04-28.json'.
-Loading expression DSL file 'amazonaws.com-cloudsearch-2013-01-01.json'.
-Loading expression DSL file 'amazonaws.com-cloudsearchdomain-2013-01-01.json'.
-Loading expression DSL file 'amazonaws.com-cloudtrail-2013-11-01.json'.
-Loading expression DSL file 'amazonaws.com-codeartifcat-2018-09-22.json'.
-Loading expression DSL file 'amazonaws.com-codebuild-2016-10-06.json'.
-Loading expression DSL file 'amazonaws.com-codecommit-2015-04-13.json'.
-Loading expression DSL file 'amazonaws.com-codedelpoy-2014-10-06.json'.
-Loading expression DSL file 'amazonaws.com-codeguru-reviewer-2019-09-19.json'.
-Loading expression DSL file 'amazonaws.com-codeguruprofiler-2019-07-18.json'.
-Loading expression DSL file 'amazonaws.com-codepipeline-2015-07-09.json'.
-Loading expression DSL file 'amazonaws.com-codestar-2017-04-19.json'.
-Loading expression DSL file 'amazonaws.com-codestar-connections-2019-12-01.json'.
-Loading expression DSL file 'amazonaws.com-codestar-notifications-2019-10-15.json'.
-Loading expression DSL file 'amazonaws.com-cognito-identity-2014-06-30.json'.
-Loading expression DSL file 'amazonaws.com-cognito-idp-2016-04-18.json'.
-Loading expression DSL file 'amazonaws.com-cognito-sync-2014-06-30.json'.
-Loading expression DSL file 'amazonaws.com-comprehend-2017-11-27.json'.
-Loading expression DSL file 'amazonaws.com-comprehendmedical-2018-10-30.json'.
-Loading expression DSL file 'amazonaws.com-compute-optimizer-2019-11-01.json'.
-Loading expression DSL file 'amazonaws.com-config-2014-11-12.json'.
-Loading expression DSL file 'amazonaws.com-connect-2017-08-08.json'.
-Loading expression DSL file 'amazonaws.com-connect-contact-lens-2020-08-21.json'.
-Loading expression DSL file 'amazonaws.com-connectparticipant-2018-09-07.json'.
-Loading expression DSL file 'amazonaws.com-cur-2017-01-06.json'.
-Loading expression DSL file 'amazonaws.com-customer-profiles-2020-08-15.json'.
-Loading expression DSL file 'amazonaws.com-databrew-2017-07-25.json'.
-Loading expression DSL file 'amazonaws.com-dataexchange-2017-07-25.json'.
-Loading expression DSL file 'amazonaws.com-datapipeline-2012-10-29.json'.
-Loading expression DSL file 'amazonaws.com-datasync-2018-11-09.json'.
-Loading expression DSL file 'amazonaws.com-dax-2017-04-19.json'.
-Loading expression DSL file 'amazonaws.com-detective-2018-10-26.json'.
-Loading expression DSL file 'amazonaws.com-devicefarm-2015-06-23.json'.
-Loading expression DSL file 'amazonaws.com-devops-guru-2020-12-01.json'.
-Loading expression DSL file 'amazonaws.com-directconnect-2012-10-25.json'.
-Loading expression DSL file 'amazonaws.com-discovery-2015-11-01.json'.
-Loading expression DSL file 'amazonaws.com-dlm-2018-01-12.json'.
-Loading expression DSL file 'amazonaws.com-dms-2016-01-01.json'.
-Loading expression DSL file 'amazonaws.com-docdb-2014-10-31.json'.
-Loading expression DSL file 'amazonaws.com-ds-2015-04-16.json'.
-Loading expression DSL file 'amazonaws.com-dynamodb.json'.
-Loading expression DSL file 'amazonaws.com-ebs-2019-11-02.json'.
-Loading expression DSL file 'amazonaws.com-ec2-2016-11-15.json'.
-Loading expression DSL file 'amazonaws.com-ec2-instance-connect-2018-04-02.json'.
-Loading expression DSL file 'amazonaws.com-ecr-2015-09-21.json'.
-Loading expression DSL file 'callback-example.json'.
-Loading expression DSL file 'link-example.json'.
-Loading expression DSL file 'petstore-expanded.json'.
 Loading expression DSL file 'petstore-v2.yaml'.
-Loading expression DSL file 'petstore.json'.
-Loading expression DSL file 'richard_mueller4-MatchinitAPI-1-swagger.json'.
-Loading expression DSL file 'uspto.json'.
 </pre>
 </span>
 </div>
@@ -200,7 +104,7 @@ Loading expression DSL file 'uspto.json'.
 <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
 </label>
 </div>Generated by 
-<a href="http://www.gradle.org">Gradle 6.8</a> at 2021. 9. 4. 오후 11:23:32</p>
+<a href="http://www.gradle.org">Gradle 6.8</a> at 2021. 9. 17. 오후 11:23:39</p>
 </div>
 </div>
 </body>
diff --git a/build/reports/tests/test/index.html b/build/reports/tests/test/index.html
index b1a9aea6..86e8ab55 100644
--- a/build/reports/tests/test/index.html
+++ b/build/reports/tests/test/index.html
@@ -38,7 +38,7 @@
 </td>
 <td>
 <div class="infoBox" id="duration">
-<div class="counter">11.952s</div>
+<div class="counter">0.620s</div>
 <p>duration</p>
 </div>
 </td>
@@ -85,7 +85,7 @@
 <td>1</td>
 <td>0</td>
 <td>0</td>
-<td>11.952s</td>
+<td>0.620s</td>
 <td class="success">100%</td>
 </tr>
 </tbody>
@@ -112,7 +112,7 @@
 <td>1</td>
 <td>0</td>
 <td>0</td>
-<td>11.952s</td>
+<td>0.620s</td>
 <td class="success">100%</td>
 </tr>
 </tbody>
@@ -126,7 +126,7 @@
 <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
 </label>
 </div>Generated by 
-<a href="http://www.gradle.org">Gradle 6.8</a> at 2021. 9. 4. 오후 11:23:32</p>
+<a href="http://www.gradle.org">Gradle 6.8</a> at 2021. 9. 17. 오후 11:23:39</p>
 </div>
 </div>
 </body>
diff --git a/build/reports/tests/test/packages/openapi.html b/build/reports/tests/test/packages/openapi.html
index 2c9b0c30..956d2ad3 100644
--- a/build/reports/tests/test/packages/openapi.html
+++ b/build/reports/tests/test/packages/openapi.html
@@ -40,7 +40,7 @@
 </td>
 <td>
 <div class="infoBox" id="duration">
-<div class="counter">11.952s</div>
+<div class="counter">0.620s</div>
 <p>duration</p>
 </div>
 </td>
@@ -83,7 +83,7 @@
 <td>1</td>
 <td>0</td>
 <td>0</td>
-<td>11.952s</td>
+<td>0.620s</td>
 <td class="success">100%</td>
 </tr>
 </table>
@@ -96,7 +96,7 @@
 <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
 </label>
 </div>Generated by 
-<a href="http://www.gradle.org">Gradle 6.8</a> at 2021. 9. 4. 오후 11:23:32</p>
+<a href="http://www.gradle.org">Gradle 6.8</a> at 2021. 9. 17. 오후 11:23:39</p>
 </div>
 </div>
 </body>
diff --git a/build/test-results/test/TEST-openapi.OpenAPIMain_test.xml b/build/test-results/test/TEST-openapi.OpenAPIMain_test.xml
index 60b5b8b9..4203a4d7 100644
--- a/build/test-results/test/TEST-openapi.OpenAPIMain_test.xml
+++ b/build/test-results/test/TEST-openapi.OpenAPIMain_test.xml
@@ -1,109 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<testsuite name="openapi.OpenAPIMain_test" tests="1" skipped="0" failures="0" errors="0" timestamp="2021-09-04T14:23:20" hostname="DESKTOP-RAH69DT" time="11.952">
+<testsuite name="openapi.OpenAPIMain_test" tests="1" skipped="0" failures="0" errors="0" timestamp="2021-09-17T14:23:38" hostname="DESKTOP-RAH69DT" time="0.62">
   <properties/>
-  <testcase name="test()" classname="openapi.OpenAPIMain_test" time="11.952"/>
-  <system-out><![CDATA[101
+  <testcase name="test()" classname="openapi.OpenAPIMain_test" time="0.62"/>
+  <system-out><![CDATA[5
 Loading expression DSL file '1password.com-events-1.0.0.json'.
-Loading expression DSL file '1password.local-connect-1.3.0.json'.
 Loading expression DSL file '6-dot-authentiqio.appspot.com-6.json'.
 Loading expression DSL file 'abstractapi.com-geolocation-1.0.0.json'.
-Loading expression DSL file 'adyen.com-AccountService-6.json'.
-Loading expression DSL file 'adyen.com-BalancePlatformService-1.json'.
-Loading expression DSL file 'adyen.com-BinLookupService-50.json'.
-Loading expression DSL file 'adyen.com-CheckoutService-67.json'.
 Loading expression DSL file 'adyen.com-CheckoutUtilityService-1.json'.
-Loading expression DSL file 'adyen.com-FundService-6.json'.
-Loading expression DSL file 'adyen.com-HopService-6.json'.
-Loading expression DSL file 'adyen.com-NotificationConfigurationService-6.json'.
-Loading expression DSL file 'adyen.com-PaymentService-64.json'.
-Loading expression DSL file 'adyen.com-PayoutService-64.json'.
-Loading expression DSL file 'amazonaws.com-accessanalyzer-2019-11-01.json'.
-Loading expression DSL file 'amazonaws.com-acm-2015-12-08.json'.
-Loading expression DSL file 'amazonaws.com-acm-pca-2017-08-22.json'.
-Loading expression DSL file 'amazonaws.com-alexaforbusiness-2017-11-09.json'.
-Loading expression DSL file 'amazonaws.com-amp-2020-08-01.json'.
-Loading expression DSL file 'amazonaws.com-amplify-2017-07-25.json'.
-Loading expression DSL file 'amazonaws.com-amplifybackend-2020-08-11.json'.
-Loading expression DSL file 'amazonaws.com-apigateway-2015-07-09.json'.
-Loading expression DSL file 'amazonaws.com-apigatewaymanagementapi-2018-11-29.json'.
-Loading expression DSL file 'amazonaws.com-apigatewayv2-2018-11-29.json'.
-Loading expression DSL file 'amazonaws.com-appconfig-2019-10-09.json'.
-Loading expression DSL file 'amazonaws.com-appflow-2020-08-23.json'.
-Loading expression DSL file 'amazonaws.com-appintegration-2020-07-29.json'.
-Loading expression DSL file 'amazonaws.com-application-autoscaling-2016-02-06.json'.
-Loading expression DSL file 'amazonaws.com-application-insights-2018-11-25.json'.
-Loading expression DSL file 'amazonaws.com-applicationcostprofiler-2020-09-10.json'.
-Loading expression DSL file 'amazonaws.com-appmesh-2019-01-25.json'.
-Loading expression DSL file 'amazonaws.com-apprunner-2020-05-15.json'.
-Loading expression DSL file 'amazonaws.com-appstream-2016-12-01.json'.
-Loading expression DSL file 'amazonaws.com-appsync-2017-07-25.json'.
-Loading expression DSL file 'amazonaws.com-athena-2017-05-18.json'.
-Loading expression DSL file 'amazonaws.com-auditmanager-2017-07-25.json'.
-Loading expression DSL file 'amazonaws.com-autoscaling-2011-01-01.json'.
-Loading expression DSL file 'amazonaws.com-autoscaling-plans-2018-01-06.json'.
-Loading expression DSL file 'amazonaws.com-AWSMigrationHub-2017-05-31.json'.
-Loading expression DSL file 'amazonaws.com-backup-2018-11-15.json'.
-Loading expression DSL file 'amazonaws.com-batch-2016-08-10.json'.
-Loading expression DSL file 'amazonaws.com-braket-2019-09-01.json'.
-Loading expression DSL file 'amazonaws.com-budgets-2016-10-20.json'.
-Loading expression DSL file 'amazonaws.com-ce-2017-10-25.json'.
-Loading expression DSL file 'amazonaws.com-chime-2018-05-01.json'.
-Loading expression DSL file 'amazonaws.com-cloud9-2017-09-23.json'.
-Loading expression DSL file 'amazonaws.com-cloudformation-2010-05-15.json'.
-Loading expression DSL file 'amazonaws.com-cloudfront-2020-05-31.json'.
-Loading expression DSL file 'amazonaws.com-cloudhsm-2014-05-30.json'.
-Loading expression DSL file 'amazonaws.com-cloudhsmv2-2017-04-28.json'.
-Loading expression DSL file 'amazonaws.com-cloudsearch-2013-01-01.json'.
-Loading expression DSL file 'amazonaws.com-cloudsearchdomain-2013-01-01.json'.
-Loading expression DSL file 'amazonaws.com-cloudtrail-2013-11-01.json'.
-Loading expression DSL file 'amazonaws.com-codeartifcat-2018-09-22.json'.
-Loading expression DSL file 'amazonaws.com-codebuild-2016-10-06.json'.
-Loading expression DSL file 'amazonaws.com-codecommit-2015-04-13.json'.
-Loading expression DSL file 'amazonaws.com-codedelpoy-2014-10-06.json'.
-Loading expression DSL file 'amazonaws.com-codeguru-reviewer-2019-09-19.json'.
-Loading expression DSL file 'amazonaws.com-codeguruprofiler-2019-07-18.json'.
-Loading expression DSL file 'amazonaws.com-codepipeline-2015-07-09.json'.
-Loading expression DSL file 'amazonaws.com-codestar-2017-04-19.json'.
-Loading expression DSL file 'amazonaws.com-codestar-connections-2019-12-01.json'.
-Loading expression DSL file 'amazonaws.com-codestar-notifications-2019-10-15.json'.
-Loading expression DSL file 'amazonaws.com-cognito-identity-2014-06-30.json'.
-Loading expression DSL file 'amazonaws.com-cognito-idp-2016-04-18.json'.
-Loading expression DSL file 'amazonaws.com-cognito-sync-2014-06-30.json'.
-Loading expression DSL file 'amazonaws.com-comprehend-2017-11-27.json'.
-Loading expression DSL file 'amazonaws.com-comprehendmedical-2018-10-30.json'.
-Loading expression DSL file 'amazonaws.com-compute-optimizer-2019-11-01.json'.
-Loading expression DSL file 'amazonaws.com-config-2014-11-12.json'.
-Loading expression DSL file 'amazonaws.com-connect-2017-08-08.json'.
-Loading expression DSL file 'amazonaws.com-connect-contact-lens-2020-08-21.json'.
-Loading expression DSL file 'amazonaws.com-connectparticipant-2018-09-07.json'.
-Loading expression DSL file 'amazonaws.com-cur-2017-01-06.json'.
-Loading expression DSL file 'amazonaws.com-customer-profiles-2020-08-15.json'.
-Loading expression DSL file 'amazonaws.com-databrew-2017-07-25.json'.
-Loading expression DSL file 'amazonaws.com-dataexchange-2017-07-25.json'.
-Loading expression DSL file 'amazonaws.com-datapipeline-2012-10-29.json'.
-Loading expression DSL file 'amazonaws.com-datasync-2018-11-09.json'.
-Loading expression DSL file 'amazonaws.com-dax-2017-04-19.json'.
-Loading expression DSL file 'amazonaws.com-detective-2018-10-26.json'.
-Loading expression DSL file 'amazonaws.com-devicefarm-2015-06-23.json'.
-Loading expression DSL file 'amazonaws.com-devops-guru-2020-12-01.json'.
-Loading expression DSL file 'amazonaws.com-directconnect-2012-10-25.json'.
-Loading expression DSL file 'amazonaws.com-discovery-2015-11-01.json'.
-Loading expression DSL file 'amazonaws.com-dlm-2018-01-12.json'.
-Loading expression DSL file 'amazonaws.com-dms-2016-01-01.json'.
-Loading expression DSL file 'amazonaws.com-docdb-2014-10-31.json'.
-Loading expression DSL file 'amazonaws.com-ds-2015-04-16.json'.
-Loading expression DSL file 'amazonaws.com-dynamodb.json'.
-Loading expression DSL file 'amazonaws.com-ebs-2019-11-02.json'.
-Loading expression DSL file 'amazonaws.com-ec2-2016-11-15.json'.
-Loading expression DSL file 'amazonaws.com-ec2-instance-connect-2018-04-02.json'.
-Loading expression DSL file 'amazonaws.com-ecr-2015-09-21.json'.
-Loading expression DSL file 'callback-example.json'.
-Loading expression DSL file 'link-example.json'.
-Loading expression DSL file 'petstore-expanded.json'.
 Loading expression DSL file 'petstore-v2.yaml'.
-Loading expression DSL file 'petstore.json'.
-Loading expression DSL file 'richard_mueller4-MatchinitAPI-1-swagger.json'.
-Loading expression DSL file 'uspto.json'.
 ]]></system-out>
   <system-err><![CDATA[]]></system-err>
 </testsuite>
diff --git a/build/test-results/test/binary/output.bin b/build/test-results/test/binary/output.bin
index 7733d797..bceca37f 100644
--- a/build/test-results/test/binary/output.bin
+++ b/build/test-results/test/binary/output.bin
@@ -1,102 +1,6 @@
-101
+5
 @Loading expression DSL file '1password.com-events-1.0.0.json'.
-CLoading expression DSL file '1password.local-connect-1.3.0.json'.
 ELoading expression DSL file '6-dot-authentiqio.appspot.com-6.json'.
 GLoading expression DSL file 'abstractapi.com-geolocation-1.0.0.json'.
-@Loading expression DSL file 'adyen.com-AccountService-6.json'.
-HLoading expression DSL file 'adyen.com-BalancePlatformService-1.json'.
-CLoading expression DSL file 'adyen.com-BinLookupService-50.json'.
-BLoading expression DSL file 'adyen.com-CheckoutService-67.json'.
 HLoading expression DSL file 'adyen.com-CheckoutUtilityService-1.json'.
-=Loading expression DSL file 'adyen.com-FundService-6.json'.
-<Loading expression DSL file 'adyen.com-HopService-6.json'.
-RLoading expression DSL file 'adyen.com-NotificationConfigurationService-6.json'.
-ALoading expression DSL file 'adyen.com-PaymentService-64.json'.
-@Loading expression DSL file 'adyen.com-PayoutService-64.json'.
-MLoading expression DSL file 'amazonaws.com-accessanalyzer-2019-11-01.json'.
-BLoading expression DSL file 'amazonaws.com-acm-2015-12-08.json'.
-FLoading expression DSL file 'amazonaws.com-acm-pca-2017-08-22.json'.
-OLoading expression DSL file 'amazonaws.com-alexaforbusiness-2017-11-09.json'.
-BLoading expression DSL file 'amazonaws.com-amp-2020-08-01.json'.
-FLoading expression DSL file 'amazonaws.com-amplify-2017-07-25.json'.
-MLoading expression DSL file 'amazonaws.com-amplifybackend-2020-08-11.json'.
-ILoading expression DSL file 'amazonaws.com-apigateway-2015-07-09.json'.
-VLoading expression DSL file 'amazonaws.com-apigatewaymanagementapi-2018-11-29.json'.
-KLoading expression DSL file 'amazonaws.com-apigatewayv2-2018-11-29.json'.
-HLoading expression DSL file 'amazonaws.com-appconfig-2019-10-09.json'.
-FLoading expression DSL file 'amazonaws.com-appflow-2020-08-23.json'.
-MLoading expression DSL file 'amazonaws.com-appintegration-2020-07-29.json'.
-VLoading expression DSL file 'amazonaws.com-application-autoscaling-2016-02-06.json'.
-SLoading expression DSL file 'amazonaws.com-application-insights-2018-11-25.json'.
-VLoading expression DSL file 'amazonaws.com-applicationcostprofiler-2020-09-10.json'.
-FLoading expression DSL file 'amazonaws.com-appmesh-2019-01-25.json'.
-HLoading expression DSL file 'amazonaws.com-apprunner-2020-05-15.json'.
-HLoading expression DSL file 'amazonaws.com-appstream-2016-12-01.json'.
-FLoading expression DSL file 'amazonaws.com-appsync-2017-07-25.json'.
-ELoading expression DSL file 'amazonaws.com-athena-2017-05-18.json'.
-KLoading expression DSL file 'amazonaws.com-auditmanager-2017-07-25.json'.
-JLoading expression DSL file 'amazonaws.com-autoscaling-2011-01-01.json'.
-PLoading expression DSL file 'amazonaws.com-autoscaling-plans-2018-01-06.json'.
-NLoading expression DSL file 'amazonaws.com-AWSMigrationHub-2017-05-31.json'.
-ELoading expression DSL file 'amazonaws.com-backup-2018-11-15.json'.
-DLoading expression DSL file 'amazonaws.com-batch-2016-08-10.json'.
-ELoading expression DSL file 'amazonaws.com-braket-2019-09-01.json'.
-FLoading expression DSL file 'amazonaws.com-budgets-2016-10-20.json'.
-ALoading expression DSL file 'amazonaws.com-ce-2017-10-25.json'.
-DLoading expression DSL file 'amazonaws.com-chime-2018-05-01.json'.
-ELoading expression DSL file 'amazonaws.com-cloud9-2017-09-23.json'.
-MLoading expression DSL file 'amazonaws.com-cloudformation-2010-05-15.json'.
-ILoading expression DSL file 'amazonaws.com-cloudfront-2020-05-31.json'.
-GLoading expression DSL file 'amazonaws.com-cloudhsm-2014-05-30.json'.
-ILoading expression DSL file 'amazonaws.com-cloudhsmv2-2017-04-28.json'.
-JLoading expression DSL file 'amazonaws.com-cloudsearch-2013-01-01.json'.
-PLoading expression DSL file 'amazonaws.com-cloudsearchdomain-2013-01-01.json'.
-ILoading expression DSL file 'amazonaws.com-cloudtrail-2013-11-01.json'.
-KLoading expression DSL file 'amazonaws.com-codeartifcat-2018-09-22.json'.
-HLoading expression DSL file 'amazonaws.com-codebuild-2016-10-06.json'.
-ILoading expression DSL file 'amazonaws.com-codecommit-2015-04-13.json'.
-ILoading expression DSL file 'amazonaws.com-codedelpoy-2014-10-06.json'.
-PLoading expression DSL file 'amazonaws.com-codeguru-reviewer-2019-09-19.json'.
-OLoading expression DSL file 'amazonaws.com-codeguruprofiler-2019-07-18.json'.
-KLoading expression DSL file 'amazonaws.com-codepipeline-2015-07-09.json'.
-GLoading expression DSL file 'amazonaws.com-codestar-2017-04-19.json'.
-SLoading expression DSL file 'amazonaws.com-codestar-connections-2019-12-01.json'.
-ULoading expression DSL file 'amazonaws.com-codestar-notifications-2019-10-15.json'.
-OLoading expression DSL file 'amazonaws.com-cognito-identity-2014-06-30.json'.
-JLoading expression DSL file 'amazonaws.com-cognito-idp-2016-04-18.json'.
-KLoading expression DSL file 'amazonaws.com-cognito-sync-2014-06-30.json'.
-ILoading expression DSL file 'amazonaws.com-comprehend-2017-11-27.json'.
-PLoading expression DSL file 'amazonaws.com-comprehendmedical-2018-10-30.json'.
-PLoading expression DSL file 'amazonaws.com-compute-optimizer-2019-11-01.json'.
-ELoading expression DSL file 'amazonaws.com-config-2014-11-12.json'.
-FLoading expression DSL file 'amazonaws.com-connect-2017-08-08.json'.
-SLoading expression DSL file 'amazonaws.com-connect-contact-lens-2020-08-21.json'.
-QLoading expression DSL file 'amazonaws.com-connectparticipant-2018-09-07.json'.
-BLoading expression DSL file 'amazonaws.com-cur-2017-01-06.json'.
-PLoading expression DSL file 'amazonaws.com-customer-profiles-2020-08-15.json'.
-GLoading expression DSL file 'amazonaws.com-databrew-2017-07-25.json'.
-KLoading expression DSL file 'amazonaws.com-dataexchange-2017-07-25.json'.
-KLoading expression DSL file 'amazonaws.com-datapipeline-2012-10-29.json'.
-GLoading expression DSL file 'amazonaws.com-datasync-2018-11-09.json'.
-BLoading expression DSL file 'amazonaws.com-dax-2017-04-19.json'.
-HLoading expression DSL file 'amazonaws.com-detective-2018-10-26.json'.
-ILoading expression DSL file 'amazonaws.com-devicefarm-2015-06-23.json'.
-JLoading expression DSL file 'amazonaws.com-devops-guru-2020-12-01.json'.
-LLoading expression DSL file 'amazonaws.com-directconnect-2012-10-25.json'.
-HLoading expression DSL file 'amazonaws.com-discovery-2015-11-01.json'.
-BLoading expression DSL file 'amazonaws.com-dlm-2018-01-12.json'.
-BLoading expression DSL file 'amazonaws.com-dms-2016-01-01.json'.
-DLoading expression DSL file 'amazonaws.com-docdb-2014-10-31.json'.
-ALoading expression DSL file 'amazonaws.com-ds-2015-04-16.json'.
-<Loading expression DSL file 'amazonaws.com-dynamodb.json'.
-BLoading expression DSL file 'amazonaws.com-ebs-2019-11-02.json'.
-BLoading expression DSL file 'amazonaws.com-ec2-2016-11-15.json'.
-SLoading expression DSL file 'amazonaws.com-ec2-instance-connect-2018-04-02.json'.
-BLoading expression DSL file 'amazonaws.com-ecr-2015-09-21.json'.
-6Loading expression DSL file 'callback-example.json'.
-2Loading expression DSL file 'link-example.json'.
-7Loading expression DSL file 'petstore-expanded.json'.
 1Loading expression DSL file 'petstore-v2.yaml'.
-.Loading expression DSL file 'petstore.json'.
-MLoading expression DSL file 'richard_mueller4-MatchinitAPI-1-swagger.json'.
-+Loading expression DSL file 'uspto.json'.
diff --git a/build/test-results/test/binary/output.bin.idx b/build/test-results/test/binary/output.bin.idx
index 4f5d5e86f3c326acf82407bd4c63696bcd6da902..75802f971af7f4f8a18ea7f2f23e65d594486cbf 100644
GIT binary patch
literal 36
ScmZQ%Vq|1M0gT%J(EtF8HV`5J

literal 36
ScmZQ%Vq|1M0kYly(EtFGju4&z

diff --git a/build/test-results/test/binary/results.bin b/build/test-results/test/binary/results.bin
index 478d4760456864b81712d1923848a1406ea31f19..ac68dcd16cad203c123299193c693b74ea4e1537 100644
GIT binary patch
delta 37
ncmWFxoM5Q%MaASWBV&6>YH^8%CX`}$!@|J8Sp7xCT%Q2|@XQOZ

delta 37
ncmWFxoM5Q1(a`A|BV&6>YH^8%CX`~>5X->8SiRA(a2W#t^3e=Z

diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNode.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNode.java
index 9696828e..27be9826 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNode.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNode.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @astdecl ASTNode;
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation.java
index 5b30111d..e5b762c9 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast class
  * @declaredat ASTNode:221
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTState.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTState.java
index 5d3191d7..5c6d5611 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTState.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTState.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /** @apilevel internal 
  * @ast class
  * @declaredat ASTState:34
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/AdditionalProperties.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/AdditionalProperties.java
index f3e5604c..33c0d6fe 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/AdditionalProperties.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/AdditionalProperties.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:108
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:109
  * @astdecl AdditionalProperties : ASTNode ::= SchemaOb;
  * @production AdditionalProperties : {@link ASTNode} ::= <span class="component">{@link SchemaOb}</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/AllOfSchema.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/AllOfSchema.java
index 7245edfb..5a39a789 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/AllOfSchema.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/AllOfSchema.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:114
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:115
  * @astdecl AllOfSchema : ASTNode ::= SchemaOb;
  * @production AllOfSchema : {@link ASTNode} ::= <span class="component">{@link SchemaOb}</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/AnyOfSchema.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/AnyOfSchema.java
index 83bcbd04..4ac5ae8d 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/AnyOfSchema.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/AnyOfSchema.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:115
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:116
  * @astdecl AnyOfSchema : ASTNode ::= SchemaOb;
  * @production AnyOfSchema : {@link ASTNode} ::= <span class="component">{@link SchemaOb}</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/AttributeValue.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/AttributeValue.java
index 7bf0478a..69e53dc8 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/AttributeValue.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/AttributeValue.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /** Wrapper class for storing nullable attribute values. 
  * @ast class
  * @declaredat ASTState:2
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/AuthorizationCode.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/AuthorizationCode.java
index d7a817ff..adec7a03 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/AuthorizationCode.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/AuthorizationCode.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:135
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:136
  * @astdecl AuthorizationCode : ASTNode ::= OAuthFlowObject;
  * @production AuthorizationCode : {@link ASTNode} ::= <span class="component">{@link OAuthFlowObject}</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackOb.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackOb.java
index 1b795f14..a158a166 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackOb.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackOb.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,34 +16,17 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:81
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:82
  * @astdecl CallbackOb : ASTNode;
  * @production CallbackOb : {@link ASTNode};
 
  */
 public abstract class CallbackOb extends ASTNode<ASTNode> implements Cloneable {
-  /**
-   * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:504
-   */
-  public static Callback composeCallback (CallbackObject callbackObject, Map<Object, ASTNode> map){
-        Callback callback = new Callback();
-
-        if( callbackObject.getNumExpression() != 0 ){
-        Map<String, Path> paths = new HashMap<>();
-        for( Expression e : callbackObject.getExpressions() )
-        paths.put( e.getName(), PathItem.composePath( e.getPathItem() ));
-        callback.setCallbackPaths(paths);
-        }
-
-        return callback;
-        }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:509
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:482
    */
   public static CallbackOb parseCallback(Callback callback, OAIContext context, Map<Object, ASTNode> map) throws DecodeException {
         CallbackObject callbackObject = new CallbackObject();
@@ -140,6 +124,14 @@ public abstract class CallbackOb extends ASTNode<ASTNode> implements Cloneable {
    * @declaredat ASTNode:58
    */
   public abstract CallbackOb treeCopy();
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:558
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:558")
+  public abstract Callback composeCallback(CallbackOb callbackOb, Map<Object, ASTNode> map);
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackObject.java
index f647a7a2..4e287ced 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:83
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:84
  * @astdecl CallbackObject : CallbackOb ::= Expression* Extension*;
  * @production CallbackObject : {@link CallbackOb} ::= <span class="component">{@link Expression}*</span> <span class="component">{@link Extension}*</span>;
 
@@ -380,6 +380,44 @@ public class CallbackObject extends CallbackOb implements Cloneable {
   public JastAddList<Extension> getExtensionsNoTransform() {
     return getExtensionListNoTransform();
   }
+/** @apilevel internal */
+protected java.util.Set composeCallback_CallbackOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:558
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:558")
+  public Callback composeCallback(CallbackOb callbackOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(callbackOb);
+    _parameters.add(map);
+    if (composeCallback_CallbackOb_Map_Object__ASTNode__visited == null) composeCallback_CallbackOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeCallback_CallbackOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute CallbackOb.composeCallback(CallbackOb,Map_Object__ASTNode_).");
+    }
+    composeCallback_CallbackOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            Callback callback = new Callback();
+            CallbackObject c = (CallbackObject) callbackOb;
+    
+            if( c.getNumExpression() != 0 ){
+            Map<String, Path> paths = new HashMap<>();
+            PathItemOb p;
+            for( Expression e : c.getExpressions() ) {
+            p = e.getPathItemOb();
+            paths.put(e.getName(), p.composePath(p, map));
+            }
+            callback.setCallbackPaths(paths);
+            }
+    
+            return callback;
+            }
+    finally {
+      composeCallback_CallbackOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackReference.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackReference.java
index 857ee09f..fbe5a083 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackReference.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackReference.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:82
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:83
  * @astdecl CallbackReference : CallbackOb ::= <Ref:String> <CallbackOb:CallbackOb>;
  * @production CallbackReference : {@link CallbackOb} ::= <span class="component">&lt;Ref:String&gt;</span> <span class="component">&lt;CallbackOb:CallbackOb&gt;</span>;
 
@@ -197,6 +197,37 @@ public class CallbackReference extends CallbackOb implements Cloneable {
   public CallbackOb getCallbackOb() {
     return tokenCallbackOb_CallbackOb;
   }
+/** @apilevel internal */
+protected java.util.Set composeCallback_CallbackOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:558
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:558")
+  public Callback composeCallback(CallbackOb callbackOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(callbackOb);
+    _parameters.add(map);
+    if (composeCallback_CallbackOb_Map_Object__ASTNode__visited == null) composeCallback_CallbackOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeCallback_CallbackOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute CallbackOb.composeCallback(CallbackOb,Map_Object__ASTNode_).");
+    }
+    composeCallback_CallbackOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            Callback callback = new Callback();
+            CallbackReference c = (CallbackReference) callbackOb;
+    
+            if( !c.getRef().isEmpty() )
+            callback.setRef(c.getRef());
+    
+            return callback;
+            }
+    finally {
+      composeCallback_CallbackOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackTuple.java
index 94eac9ed..7035a5e1 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:31
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ClientCredentials.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ClientCredentials.java
index cf339e64..adbc890b 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ClientCredentials.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ClientCredentials.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:134
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:135
  * @astdecl ClientCredentials : ASTNode ::= OAuthFlowObject;
  * @production ClientCredentials : {@link ASTNode} ::= <span class="component">{@link OAuthFlowObject}</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ComponentsObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ComponentsObject.java
index 34be42e3..7dc5938f 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ComponentsObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ComponentsObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:22
@@ -26,27 +26,39 @@ import org.openapi4j.core.exception.DecodeException;
 public class ComponentsObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:173
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:173
    */
   public static Components composeComponents (ComponentsObject componentsObject, Map<Object, ASTNode> map){
         Components components = new Components();
 
         if( componentsObject.getNumSchemaTuple() != 0 ){
         Map<String, org.openapi4j.parser.model.v3.Schema> schemaMap = new HashMap<>();
-        for( SchemaTuple t : componentsObject.getSchemaTuples() )
-        schemaMap.put(t.getKey(), SchemaOb.composeSchema(t.getSchemaOb(), map));
+        SchemaOb s;
+        for( SchemaTuple t : componentsObject.getSchemaTuples() ){
+        s = t.getSchemaOb();
+        if( s instanceof SchemaObject )
+        schemaMap.put(t.getKey(), ((SchemaObject)s).composeSchema(s, map));
+        else
+        schemaMap.put(t.getKey(), ((SchemaReference)s).composeSchema(s, map));
+        }
         components.setSchemas(schemaMap);
         }
         if( componentsObject.getNumResponseTuple() != 0 ){
         Map<String, Response> responseMap = new HashMap<>();
-        for( ResponseTuple t : componentsObject.getResponseTuples() )
-        responseMap.put(t.getKey(), ResponseOb.composeResponse(t.getResponseOb(), map));
+        ResponseOb r;
+        for( ResponseTuple t : componentsObject.getResponseTuples() ) {
+        r = t.getResponseOb();
+        responseMap.put(t.getKey(), r.composeResponse(r, map));
+        }
         components.setResponses(responseMap);
         }
         if( componentsObject.getNumParameterTuple() != 0 ){
         Map<String, Parameter> parameterMap = new HashMap<>();
-        for( ParameterTuple t : componentsObject.getParameterTuples() )
-        parameterMap.put(t.getKey(), ParameterOb.composeParameter(t.getParameterOb(), map));
+        ParameterOb p;
+        for( ParameterTuple t : componentsObject.getParameterTuples() ) {
+        p = t.getParameterOb();
+        parameterMap.put(t.getKey(), p.composeParameter(p, map));
+        }
         components.setParameters(parameterMap);
         }
         if( componentsObject.getNumExampleTuple() != 0 ){
@@ -57,33 +69,43 @@ public class ComponentsObject extends ASTNode<ASTNode> implements Cloneable {
         }
         if( componentsObject.getNumRequestBodyTuple() != 0 ){
         Map<String, RequestBody> requestBodyMap = new HashMap<>();
-        for( RequestBodyTuple t : componentsObject.getRequestBodyTuples() )
-        requestBodyMap.put(t.getKey(), RequestBodyOb.composeRequestBody(t.getRequestBodyOb(), map));
-        components.setRequestBodies(requestBodyMap);
+        RequestBodyOb r;
+        for( RequestBodyTuple t : componentsObject.getRequestBodyTuples() ) {
+        r = t.getRequestBodyOb();
+        requestBodyMap.put(t.getKey(), r.composeRequestBody(r, map));
+        }        components.setRequestBodies(requestBodyMap);
         }
         if( componentsObject.getNumHeaderTuple() != 0 ){
         Map<String, Header> headerMap = new HashMap<>();
-        for( HeaderTuple t : componentsObject.getHeaderTuples() )
-        headerMap.put(t.getKey(), HeaderOb.composeHeader(t.getHeaderOb(), map));
-        components.setHeaders(headerMap);
+        HeaderOb h;
+        for( HeaderTuple t : componentsObject.getHeaderTuples() ) {
+        h = t.getHeaderOb();
+        headerMap.put(t.getKey(), h.composeHeader(h, map));
+        }        components.setHeaders(headerMap);
         }
         if( componentsObject.getNumSecuritySchemeTuple() != 0 ){
         Map<String, SecurityScheme> securitySchemeMap = new HashMap<>();
-        for( SecuritySchemeTuple t : componentsObject.getSecuritySchemeTuples() )
-        securitySchemeMap.put(t.getKey(), SecuritySchemeOb.composeSecurityScheme(t.getSecuritySchemeOb(), map));
-        components.setSecuritySchemes(securitySchemeMap);
+        SecuritySchemeOb s;
+        for( SecuritySchemeTuple t : componentsObject.getSecuritySchemeTuples() ) {
+        s = t.getSecuritySchemeOb();
+        securitySchemeMap.put(t.getKey(), s.composeSecurityScheme(s, map));
+        }        components.setSecuritySchemes(securitySchemeMap);
         }
         if( componentsObject.getNumLinkTuple() != 0 ){
         Map<String, Link> linkMap = new HashMap<>();
-        for( LinkTuple t : componentsObject.getLinkTuples() )
-        linkMap.put(t.getKey(), LinkOb.composeLink(t.getLinkOb(), map));
-        components.setLinks(linkMap);
+        LinkOb l;
+        for( LinkTuple t : componentsObject.getLinkTuples() ) {
+        l = t.getLinkOb();
+        linkMap.put(t.getKey(), l.composeLink(l, map));
+        }        components.setLinks(linkMap);
         }
         if( componentsObject.getNumCallbackTuple() != 0 ){
         Map<String, Callback> callbackMap = new HashMap<>();
-        for( CallbackTuple t : componentsObject.getCallbackTuples() )
-        callbackMap.put(t.getKey(), CallbackOb.composeCallback(t.getCallbackOb(), map));
-        components.setCallbacks(callbackMap);
+        CallbackOb c;
+        for( CallbackTuple t : componentsObject.getCallbackTuples() ) {
+        c = t.getCallbackOb();
+        callbackMap.put(t.getKey(), c.composeCallback(c, map));
+        }        components.setCallbacks(callbackMap);
         }
         if( componentsObject.getNumExtension() != 0 ){
         Map<String, Object> extensions = new HashMap<>();
@@ -102,67 +124,40 @@ public class ComponentsObject extends ASTNode<ASTNode> implements Cloneable {
         ComponentsObject componentsObject = new ComponentsObject();
 
         if( components.getSchemas() != null ){
-        for( String key : components.getSchemas().keySet() ){
-        SchemaTuple schemaTuple = new SchemaTuple();
-        schemaTuple.setKey(key);
-        schemaTuple.setSchemaOb(SchemaOb.parseSchema(components.getSchema(key), context, map));
-        }
+        for( String key : components.getSchemas().keySet() )
+        componentsObject.addSchemaTuple(new SchemaTuple(key, SchemaOb.parseSchema(components.getSchema(key), context, map)));
         }
         if( components.getResponses() != null ){
-        for( String key : components.getResponses().keySet() ){
-        ResponseTuple responseTuple = new ResponseTuple();
-        responseTuple.setKey(key);
-        responseTuple.setResponseOb(ResponseOb.parseResponse(components.getResponse(key), context, map));
-        }
+        for( String key : components.getResponses().keySet() )
+        componentsObject.addResponseTuple(new ResponseTuple(key, ResponseOb.parseResponse(components.getResponse(key), context, map)));
         }
         if( components.getParameters() != null ){
-        for( String key : components.getParameters().keySet() ){
-        ParameterTuple parameterTuple = new ParameterTuple();
-        parameterTuple.setKey(key);
-        parameterTuple.setParameterOb(ParameterOb.parseParameter(components.getParameter(key), context, map));
-        }
+        for( String key : components.getParameters().keySet() )
+        componentsObject.addParameterTuple(new ParameterTuple(key, ParameterOb.parseParameter(components.getParameter(key), context, map)));
         }
         if( components.getExamples() != null ){
-        for( String key : components.getExamples().keySet() ){
-        ExampleTuple exampleTuple = new ExampleTuple();
-        exampleTuple.setKey(key);
-        exampleTuple.setExampleObject(ExampleObject.parseExample(components.getExample(key), context, map));
-        }
+        for( String key : components.getExamples().keySet() )
+        componentsObject.addExampleTuple(new ExampleTuple(key, ExampleObject.parseExample(components.getExample(key), context, map)));
         }
         if( components.getRequestBodies() != null ){
-        for( String key : components.getRequestBodies().keySet() ){
-        RequestBodyTuple requestBodyTuple = new RequestBodyTuple();
-        requestBodyTuple.setKey(key);
-        requestBodyTuple.setRequestBodyOb(RequestBodyOb.parseRequestBody(components.getRequestBody(key), context, map));
-        }
+        for( String key : components.getRequestBodies().keySet() )
+        componentsObject.addRequestBodyTuple(new RequestBodyTuple(key, RequestBodyOb.parseRequestBody(components.getRequestBody(key), context, map)));
         }
         if( components.getHeaders() != null ){
-        for( String key : components.getHeaders().keySet() ){
-        HeaderTuple headerTuple = new HeaderTuple();
-        headerTuple.setKey(key);
-        headerTuple.setHeaderOb(HeaderOb.parseHeader(components.getHeader(key), context, map));
-        }
+        for( String key : components.getHeaders().keySet() )
+        componentsObject.addHeaderTuple(new HeaderTuple(key, HeaderOb.parseHeader(components.getHeader(key), context, map)));
         }
         if( components.getSecuritySchemes() != null ){
-        for( String key : components.getSecuritySchemes().keySet() ){
-        SecuritySchemeTuple securitySchemeTuple = new SecuritySchemeTuple();
-        securitySchemeTuple.setKey(key);
-        securitySchemeTuple.setSecuritySchemeOb(SecuritySchemeOb.parseSecurityScheme(components.getSecurityScheme(key), context, map));
-        }
+        for( String key : components.getSecuritySchemes().keySet() )
+        componentsObject.addSecuritySchemeTuple(new SecuritySchemeTuple(key, SecuritySchemeOb.parseSecurityScheme(components.getSecurityScheme(key), context, map)));
         }
         if( components.getLinks() != null ){
-        for( String key : components.getLinks().keySet() ){
-        LinkTuple linkTuple = new LinkTuple();
-        linkTuple.setKey(key);
-        linkTuple.setLinkOb(LinkOb.parseLink(components.getLink(key), context, map));
-        }
+        for( String key : components.getLinks().keySet() )
+        componentsObject.addLinkTuple(new LinkTuple(key, LinkOb.parseLink(components.getLink(key), context, map)));
         }
         if( components.getCallbacks() != null ){
-        for( String key : components.getCallbacks().keySet() ){
-        CallbackTuple callbackTuple = new CallbackTuple();
-        callbackTuple.setKey(key);
-        callbackTuple.setCallbackOb(CallbackOb.parseCallback(components.getCallback(key), context, map));
-        }
+        for( String key : components.getCallbacks().keySet() )
+        componentsObject.addCallbackTuple(new CallbackTuple(key, CallbackOb.parseCallback(components.getCallback(key), context, map)));
         }
         if( components.getExtensions() != null ){
         for( String key : components.getExtensions().keySet() )
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ContactObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ContactObject.java
index b7dc8f8f..510b6589 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ContactObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ContactObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:8
@@ -26,7 +26,7 @@ import org.openapi4j.core.exception.DecodeException;
 public class ContactObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:87
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:87
    */
   public static Contact composeContact (ContactObject contactObject, Map<Object, ASTNode> map){
         Contact contact = new Contact();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ContentTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ContentTuple.java
index 79e5d80e..16f49cb0 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ContentTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ContentTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:61
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:62
  * @astdecl ContentTuple : ASTNode ::= <Key:String> MediaTypeObject;
  * @production ContentTuple : {@link ASTNode} ::= <span class="component">&lt;Key:String&gt;</span> <span class="component">{@link MediaTypeObject}</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Delete.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Delete.java
index af7e0f42..bf3baaf8 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Delete.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Delete.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,15 +16,14 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:44
- * @astdecl Delete : ASTNode ::= OperationObject;
- * @production Delete : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>;
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:48
+ * @astdecl Delete : OperationOb ::= <OperationObject:OperationObject>;
+ * @production Delete : {@link OperationOb} ::= <span class="component">&lt;OperationObject:OperationObject&gt;</span>;
 
  */
-public class Delete extends ASTNode<ASTNode> implements Cloneable {
+public class Delete extends OperationOb implements Cloneable {
   /**
    * @declaredat ASTNode:1
    */
@@ -38,53 +38,52 @@ public class Delete extends ASTNode<ASTNode> implements Cloneable {
    * @declaredat ASTNode:10
    */
   public void init$Children() {
-    children = new ASTNode[1];
   }
   /**
-   * @declaredat ASTNode:13
+   * @declaredat ASTNode:12
    */
   @ASTNodeAnnotation.Constructor(
     name = {"OperationObject"},
     type = {"OperationObject"},
-    kind = {"Child"}
+    kind = {"Token"}
   )
   public Delete(OperationObject p0) {
-    setChild(p0, 0);
+    setOperationObject(p0);
   }
   /** @apilevel low-level 
-   * @declaredat ASTNode:22
+   * @declaredat ASTNode:21
    */
   protected int numChildren() {
-    return 1;
+    return 0;
   }
   /**
    * @apilevel internal
-   * @declaredat ASTNode:28
+   * @declaredat ASTNode:27
    */
   public boolean mayHaveRewrite() {
     return false;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:32
+   * @declaredat ASTNode:31
    */
   public void flushAttrCache() {
     super.flushAttrCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:36
+   * @declaredat ASTNode:35
    */
   public void flushCollectionCache() {
     super.flushCollectionCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:40
+   * @declaredat ASTNode:39
    */
   public Delete clone() throws CloneNotSupportedException {
     Delete node = (Delete) super.clone();
     return node;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:45
+   * @declaredat ASTNode:44
    */
   public Delete copy() {
     try {
@@ -104,7 +103,7 @@ public class Delete extends ASTNode<ASTNode> implements Cloneable {
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
    * @deprecated Please use treeCopy or treeCopyNoTransform instead
-   * @declaredat ASTNode:64
+   * @declaredat ASTNode:63
    */
   @Deprecated
   public Delete fullCopy() {
@@ -115,7 +114,7 @@ public class Delete extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:74
+   * @declaredat ASTNode:73
    */
   public Delete treeCopyNoTransform() {
     Delete tree = (Delete) copy();
@@ -136,7 +135,7 @@ public class Delete extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:94
+   * @declaredat ASTNode:93
    */
   public Delete treeCopy() {
     Delete tree = (Delete) copy();
@@ -152,36 +151,30 @@ public class Delete extends ASTNode<ASTNode> implements Cloneable {
     return tree;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:108
+   * @declaredat ASTNode:107
    */
   protected boolean is$Equal(ASTNode node) {
-    return super.is$Equal(node);    
+    return super.is$Equal(node) && (tokenOperationObject_OperationObject == ((Delete) node).tokenOperationObject_OperationObject);    
   }
   /**
-   * Replaces the OperationObject child.
-   * @param node The new node to replace the OperationObject child.
+   * Replaces the lexeme OperationObject.
+   * @param value The new value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  public void setOperationObject(OperationObject node) {
-    setChild(node, 0);
+  public void setOperationObject(OperationObject value) {
+    tokenOperationObject_OperationObject = value;
   }
+  /** @apilevel internal 
+   */
+  protected OperationObject tokenOperationObject_OperationObject;
   /**
-   * Retrieves the OperationObject child.
-   * @return The current node used as the OperationObject child.
+   * Retrieves the value for the lexeme OperationObject.
+   * @return The value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  @ASTNodeAnnotation.Child(name="OperationObject")
+  @ASTNodeAnnotation.Token(name="OperationObject")
   public OperationObject getOperationObject() {
-    return (OperationObject) getChild(0);
-  }
-  /**
-   * Retrieves the OperationObject child.
-   * <p><em>This method does not invoke AST transformations.</em></p>
-   * @return The current node used as the OperationObject child.
-   * @apilevel low-level
-   */
-  public OperationObject getOperationObjectNoTransform() {
-    return (OperationObject) getChildNoTransform(0);
+    return tokenOperationObject_OperationObject;
   }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/DiscriminatorObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/DiscriminatorObject.java
index 1d18dc78..a4fdd64d 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/DiscriminatorObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/DiscriminatorObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:119
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:120
  * @astdecl DiscriminatorObject : ASTNode ::= <PropertyName:String> MappingTuple*;
  * @production DiscriminatorObject : {@link ASTNode} ::= <span class="component">&lt;PropertyName:String&gt;</span> <span class="component">{@link MappingTuple}*</span>;
 
@@ -26,7 +26,7 @@ import org.openapi4j.core.exception.DecodeException;
 public class DiscriminatorObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:717
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:840
    */
   public static Discriminator composeDiscriminator (DiscriminatorObject discriminatorObject, Map<Object, ASTNode> map) {
         Discriminator discriminator = new Discriminator();
@@ -44,7 +44,7 @@ public class DiscriminatorObject extends ASTNode<ASTNode> implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:891
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:752
    */
   public static DiscriminatorObject parseDiscriminator (Discriminator discriminator, Map<Object, ASTNode> map) {
         DiscriminatorObject discriminatorObject = new DiscriminatorObject();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingObject.java
index 9db9df14..65618cf6 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:73
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:74
  * @astdecl EncodingObject : ASTNode ::= <ContentType:String> HeaderTuple* <Style:String> <Explode:Boolean> <AllowReserved:Boolean> Extension*;
  * @production EncodingObject : {@link ASTNode} ::= <span class="component">&lt;ContentType:String&gt;</span> <span class="component">{@link HeaderTuple}*</span> <span class="component">&lt;Style:String&gt;</span> <span class="component">&lt;Explode:Boolean&gt;</span> <span class="component">&lt;AllowReserved:Boolean&gt;</span> <span class="component">{@link Extension}*</span>;
 
@@ -26,18 +26,20 @@ import org.openapi4j.core.exception.DecodeException;
 public class EncodingObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:450
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:493
    */
   public static EncodingProperty composeEncodingProperty (EncodingObject encodingObject, Map<Object, ASTNode> map){
         EncodingProperty encodingProperty = new EncodingProperty();
+        HeaderOb h;
 
         if( !encodingObject.getContentType().isEmpty() )
         encodingProperty.setContentType( encodingObject.getContentType() );
         if( encodingObject.getNumHeaderTuple() != 0 ){
         Map<String, Header> headers = new HashMap<>();
-        for( HeaderTuple t : encodingObject.getHeaderTuples() )
-        headers.put(t.getKey(), HeaderObject.composeHeader(t.getHeaderObject()));
-        encodingProperty.setHeaders(headers);
+        for( HeaderTuple t : encodingObject.getHeaderTuples() ) {
+        h = t.getHeaderOb();
+        headers.put(t.getKey(), h.composeHeader(h, map));
+        }        encodingProperty.setHeaders(headers);
         }
         if( !encodingObject.getStyle().isEmpty() )
         encodingProperty.setStyle(encodingObject.getStyle());
@@ -54,7 +56,7 @@ public class EncodingObject extends ASTNode<ASTNode> implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:454
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:427
    */
   public static EncodingObject parseEncoding(EncodingProperty encodingProperty, OAIContext context, Map<Object, ASTNode> map) throws DecodeException {
         EncodingObject encodingObject = new EncodingObject();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingTuple.java
index 63737219..8404db7e 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:70
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:71
  * @astdecl EncodingTuple : ASTNode ::= <Key:String> EncodingObject;
  * @production EncodingTuple : {@link ASTNode} ::= <span class="component">&lt;Key:String&gt;</span> <span class="component">{@link EncodingObject}</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Enum.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Enum.java
index 6638e03f..2f2aead6 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Enum.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Enum.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:19
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/EnumObj.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/EnumObj.java
index f07007b6..e6d5bba9 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/EnumObj.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/EnumObj.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:109
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:110
  * @astdecl EnumObj : ASTNode ::= <EnumOb:Object>;
  * @production EnumObj : {@link ASTNode} ::= <span class="component">&lt;EnumOb:Object&gt;</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleObject.java
index 4edb2d1c..bfa74789 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:88
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:89
  * @astdecl ExampleObject : ASTNode ::= <Summary:String> <Description:String> <Value:Object> <ExternalValue:String> Extension*;
  * @production ExampleObject : {@link ASTNode} ::= <span class="component">&lt;Summary:String&gt;</span> <span class="component">&lt;Description:String&gt;</span> <span class="component">&lt;Value:Object&gt;</span> <span class="component">&lt;ExternalValue:String&gt;</span> <span class="component">{@link Extension}*</span>;
 
@@ -26,7 +26,7 @@ import org.openapi4j.core.exception.DecodeException;
 public class ExampleObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:517
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:585
    */
   public static Example composeExample (ExampleObject exampleObject, Map<Object, ASTNode> map){
         Example example = new Example();
@@ -50,7 +50,7 @@ public class ExampleObject extends ASTNode<ASTNode> implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:532
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:505
    */
   public static ExampleObject parseExample(Example example, OAIContext context, Map<Object, ASTNode> map){
         ExampleObject exampleObject = new ExampleObject();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleTuple.java
index 541c579d..268a8669 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:26
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Expression.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Expression.java
index 116984d9..f82ffed8 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Expression.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Expression.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:84
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:85
  * @astdecl Expression : ASTNode ::= <Name:String> PathItemOb;
  * @production Expression : {@link ASTNode} ::= <span class="component">&lt;Name:String&gt;</span> <span class="component">{@link PathItemOb}</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Extension.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Extension.java
index 472d55a2..3562f3fa 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Extension.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Extension.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:85
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:86
  * @astdecl Extension : ASTNode ::= <Key:String> <Value:Object>;
  * @production Extension : {@link ASTNode} ::= <span class="component">&lt;Key:String&gt;</span> <span class="component">&lt;Value:Object&gt;</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExternalDocObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExternalDocObject.java
index 9fb1a748..67056a7f 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExternalDocObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExternalDocObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:55
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:56
  * @astdecl ExternalDocObject : ASTNode ::= <Description:String> <Url:String> Extension*;
  * @production ExternalDocObject : {@link ASTNode} ::= <span class="component">&lt;Description:String&gt;</span> <span class="component">&lt;Url:String&gt;</span> <span class="component">{@link Extension}*</span>;
 
@@ -26,7 +26,7 @@ import org.openapi4j.core.exception.DecodeException;
 public class ExternalDocObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:342
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:365
    */
   public static ExternalDocs composeExternalDocs (ExternalDocObject externalDocObject, Map<Object, ASTNode> map){
         ExternalDocs externalDocs = new ExternalDocs();
@@ -46,7 +46,7 @@ public class ExternalDocObject extends ASTNode<ASTNode> implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:339
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:312
    */
   public static ExternalDocObject parseExternalDocs(ExternalDocs externalDocs, Map<Object, ASTNode> map){
         ExternalDocObject externalDocObject = new ExternalDocObject();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Get.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Get.java
index 28b7bc25..8331ff41 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Get.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Get.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,15 +16,14 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:41
- * @astdecl Get : ASTNode ::= OperationObject;
- * @production Get : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>;
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:45
+ * @astdecl Get : OperationOb ::= <OperationObject:OperationObject>;
+ * @production Get : {@link OperationOb} ::= <span class="component">&lt;OperationObject:OperationObject&gt;</span>;
 
  */
-public class Get extends ASTNode<ASTNode> implements Cloneable {
+public class Get extends OperationOb implements Cloneable {
   /**
    * @declaredat ASTNode:1
    */
@@ -38,53 +38,52 @@ public class Get extends ASTNode<ASTNode> implements Cloneable {
    * @declaredat ASTNode:10
    */
   public void init$Children() {
-    children = new ASTNode[1];
   }
   /**
-   * @declaredat ASTNode:13
+   * @declaredat ASTNode:12
    */
   @ASTNodeAnnotation.Constructor(
     name = {"OperationObject"},
     type = {"OperationObject"},
-    kind = {"Child"}
+    kind = {"Token"}
   )
   public Get(OperationObject p0) {
-    setChild(p0, 0);
+    setOperationObject(p0);
   }
   /** @apilevel low-level 
-   * @declaredat ASTNode:22
+   * @declaredat ASTNode:21
    */
   protected int numChildren() {
-    return 1;
+    return 0;
   }
   /**
    * @apilevel internal
-   * @declaredat ASTNode:28
+   * @declaredat ASTNode:27
    */
   public boolean mayHaveRewrite() {
     return false;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:32
+   * @declaredat ASTNode:31
    */
   public void flushAttrCache() {
     super.flushAttrCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:36
+   * @declaredat ASTNode:35
    */
   public void flushCollectionCache() {
     super.flushCollectionCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:40
+   * @declaredat ASTNode:39
    */
   public Get clone() throws CloneNotSupportedException {
     Get node = (Get) super.clone();
     return node;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:45
+   * @declaredat ASTNode:44
    */
   public Get copy() {
     try {
@@ -104,7 +103,7 @@ public class Get extends ASTNode<ASTNode> implements Cloneable {
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
    * @deprecated Please use treeCopy or treeCopyNoTransform instead
-   * @declaredat ASTNode:64
+   * @declaredat ASTNode:63
    */
   @Deprecated
   public Get fullCopy() {
@@ -115,7 +114,7 @@ public class Get extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:74
+   * @declaredat ASTNode:73
    */
   public Get treeCopyNoTransform() {
     Get tree = (Get) copy();
@@ -136,7 +135,7 @@ public class Get extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:94
+   * @declaredat ASTNode:93
    */
   public Get treeCopy() {
     Get tree = (Get) copy();
@@ -152,36 +151,30 @@ public class Get extends ASTNode<ASTNode> implements Cloneable {
     return tree;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:108
+   * @declaredat ASTNode:107
    */
   protected boolean is$Equal(ASTNode node) {
-    return super.is$Equal(node);    
+    return super.is$Equal(node) && (tokenOperationObject_OperationObject == ((Get) node).tokenOperationObject_OperationObject);    
   }
   /**
-   * Replaces the OperationObject child.
-   * @param node The new node to replace the OperationObject child.
+   * Replaces the lexeme OperationObject.
+   * @param value The new value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  public void setOperationObject(OperationObject node) {
-    setChild(node, 0);
+  public void setOperationObject(OperationObject value) {
+    tokenOperationObject_OperationObject = value;
   }
+  /** @apilevel internal 
+   */
+  protected OperationObject tokenOperationObject_OperationObject;
   /**
-   * Retrieves the OperationObject child.
-   * @return The current node used as the OperationObject child.
+   * Retrieves the value for the lexeme OperationObject.
+   * @return The value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  @ASTNodeAnnotation.Child(name="OperationObject")
+  @ASTNodeAnnotation.Token(name="OperationObject")
   public OperationObject getOperationObject() {
-    return (OperationObject) getChild(0);
-  }
-  /**
-   * Retrieves the OperationObject child.
-   * <p><em>This method does not invoke AST transformations.</em></p>
-   * @return The current node used as the OperationObject child.
-   * @apilevel low-level
-   */
-  public OperationObject getOperationObjectNoTransform() {
-    return (OperationObject) getChildNoTransform(0);
+    return tokenOperationObject_OperationObject;
   }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Head.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Head.java
index 9c01e39d..4f9aafb4 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Head.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Head.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,15 +16,14 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:46
- * @astdecl Head : ASTNode ::= OperationObject;
- * @production Head : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>;
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:50
+ * @astdecl Head : OperationOb ::= <OperationObject:OperationObject>;
+ * @production Head : {@link OperationOb} ::= <span class="component">&lt;OperationObject:OperationObject&gt;</span>;
 
  */
-public class Head extends ASTNode<ASTNode> implements Cloneable {
+public class Head extends OperationOb implements Cloneable {
   /**
    * @declaredat ASTNode:1
    */
@@ -38,53 +38,52 @@ public class Head extends ASTNode<ASTNode> implements Cloneable {
    * @declaredat ASTNode:10
    */
   public void init$Children() {
-    children = new ASTNode[1];
   }
   /**
-   * @declaredat ASTNode:13
+   * @declaredat ASTNode:12
    */
   @ASTNodeAnnotation.Constructor(
     name = {"OperationObject"},
     type = {"OperationObject"},
-    kind = {"Child"}
+    kind = {"Token"}
   )
   public Head(OperationObject p0) {
-    setChild(p0, 0);
+    setOperationObject(p0);
   }
   /** @apilevel low-level 
-   * @declaredat ASTNode:22
+   * @declaredat ASTNode:21
    */
   protected int numChildren() {
-    return 1;
+    return 0;
   }
   /**
    * @apilevel internal
-   * @declaredat ASTNode:28
+   * @declaredat ASTNode:27
    */
   public boolean mayHaveRewrite() {
     return false;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:32
+   * @declaredat ASTNode:31
    */
   public void flushAttrCache() {
     super.flushAttrCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:36
+   * @declaredat ASTNode:35
    */
   public void flushCollectionCache() {
     super.flushCollectionCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:40
+   * @declaredat ASTNode:39
    */
   public Head clone() throws CloneNotSupportedException {
     Head node = (Head) super.clone();
     return node;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:45
+   * @declaredat ASTNode:44
    */
   public Head copy() {
     try {
@@ -104,7 +103,7 @@ public class Head extends ASTNode<ASTNode> implements Cloneable {
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
    * @deprecated Please use treeCopy or treeCopyNoTransform instead
-   * @declaredat ASTNode:64
+   * @declaredat ASTNode:63
    */
   @Deprecated
   public Head fullCopy() {
@@ -115,7 +114,7 @@ public class Head extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:74
+   * @declaredat ASTNode:73
    */
   public Head treeCopyNoTransform() {
     Head tree = (Head) copy();
@@ -136,7 +135,7 @@ public class Head extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:94
+   * @declaredat ASTNode:93
    */
   public Head treeCopy() {
     Head tree = (Head) copy();
@@ -152,36 +151,30 @@ public class Head extends ASTNode<ASTNode> implements Cloneable {
     return tree;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:108
+   * @declaredat ASTNode:107
    */
   protected boolean is$Equal(ASTNode node) {
-    return super.is$Equal(node);    
+    return super.is$Equal(node) && (tokenOperationObject_OperationObject == ((Head) node).tokenOperationObject_OperationObject);    
   }
   /**
-   * Replaces the OperationObject child.
-   * @param node The new node to replace the OperationObject child.
+   * Replaces the lexeme OperationObject.
+   * @param value The new value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  public void setOperationObject(OperationObject node) {
-    setChild(node, 0);
+  public void setOperationObject(OperationObject value) {
+    tokenOperationObject_OperationObject = value;
   }
+  /** @apilevel internal 
+   */
+  protected OperationObject tokenOperationObject_OperationObject;
   /**
-   * Retrieves the OperationObject child.
-   * @return The current node used as the OperationObject child.
+   * Retrieves the value for the lexeme OperationObject.
+   * @return The value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  @ASTNodeAnnotation.Child(name="OperationObject")
+  @ASTNodeAnnotation.Token(name="OperationObject")
   public OperationObject getOperationObject() {
-    return (OperationObject) getChild(0);
-  }
-  /**
-   * Retrieves the OperationObject child.
-   * <p><em>This method does not invoke AST transformations.</em></p>
-   * @return The current node used as the OperationObject child.
-   * @apilevel low-level
-   */
-  public OperationObject getOperationObjectNoTransform() {
-    return (OperationObject) getChildNoTransform(0);
+    return tokenOperationObject_OperationObject;
   }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderOb.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderOb.java
index 874f7a4f..31756e12 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderOb.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderOb.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,56 +16,17 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:97
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:98
  * @astdecl HeaderOb : ASTNode;
  * @production HeaderOb : {@link ASTNode};
 
  */
 public abstract class HeaderOb extends ASTNode<ASTNode> implements Cloneable {
-  /**
-   * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:562
-   */
-  public static Header composeHeader (HeaderObject headerObject, Map<Object, ASTNode> map){
-        Header header = new Header();
-
-        if( !headerObject.getRef().isEmpty() )
-        header.setRef(headerObject.getRef());
-        if( headerObject.getRequired() != null )
-        header.setRequired(headerObject.getRequired());
-        if( !headerObject.getDescription().isEmpty() )
-        header.setDescription( headerObject.getDescription() );
-        if( !headerObject.getStyle().isEmpty() )
-        header.setStyle(headerObject.getStyle());
-        if( headerObject.getExplode() != null )
-        header.setExplode(headerObject.getExplode());
-        if( headerObject.getAllowReserved() != null )
-        header.setAllowReserved(headerObject.getAllowReserved());
-        if( headerObject.getExample() != null )
-        header.setExample(headerObject.getExample());
-        if( headerObject.getNumExampleTuple() != 0 ){
-        Map<String, Example> examples = new HashMap<>();
-        for( ExampleTuple t : headerObject.getExampleTuples() )
-        examples.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject()));
-        header.setExample(examples);
-        }
-        if( headerObject.getNumContentTuple() != 0 ){
-        Map<String, MediaType> contents = new HashMap<>();
-        for( ContentTuple t : headerObject.getContentTuples() )
-        contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject()));
-        header.setContentMediaTypes(contents);
-        }
-        if( headerObject.hasSchemaObject() )
-            header.setSchema(SchemaObject.composeSchema(headerObject.getSchemaObject()));
-
-        return header;
-        }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:588
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:561
    */
   public static HeaderOb parseHeader(Header header, OAIContext context, Map<Object, ASTNode> map) throws DecodeException {
         HeaderObject headerObject = new HeaderObject();
@@ -182,6 +144,14 @@ public abstract class HeaderOb extends ASTNode<ASTNode> implements Cloneable {
    * @declaredat ASTNode:58
    */
   public abstract HeaderOb treeCopy();
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:638
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:638")
+  public abstract Header composeHeader(HeaderOb headerOb, Map<Object, ASTNode> map);
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderObject.java
index cb262f86..72f22bdc 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:99
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:100
  * @astdecl HeaderObject : HeaderOb ::= <Description:String> <Required:Boolean> <DeprecatedBoolean:Boolean> <AllowEmptyValue:Boolean> <Style:String> <Explode:Boolean> <AllowReserved:Boolean> [SchemaOb] <Example:Object> ExampleTuple* ContentTuple* Extension*;
  * @production HeaderObject : {@link HeaderOb} ::= <span class="component">&lt;Description:String&gt;</span> <span class="component">&lt;Required:Boolean&gt;</span> <span class="component">&lt;DeprecatedBoolean:Boolean&gt;</span> <span class="component">&lt;AllowEmptyValue:Boolean&gt;</span> <span class="component">&lt;Style:String&gt;</span> <span class="component">&lt;Explode:Boolean&gt;</span> <span class="component">&lt;AllowReserved:Boolean&gt;</span> <span class="component">[{@link SchemaOb}]</span> <span class="component">&lt;Example:Object&gt;</span> <span class="component">{@link ExampleTuple}*</span> <span class="component">{@link ContentTuple}*</span> <span class="component">{@link Extension}*</span>;
 
@@ -713,6 +713,61 @@ public class HeaderObject extends HeaderOb implements Cloneable {
   public JastAddList<Extension> getExtensionsNoTransform() {
     return getExtensionListNoTransform();
   }
+/** @apilevel internal */
+protected java.util.Set composeHeader_HeaderOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:638
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:638")
+  public Header composeHeader(HeaderOb headerOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(headerOb);
+    _parameters.add(map);
+    if (composeHeader_HeaderOb_Map_Object__ASTNode__visited == null) composeHeader_HeaderOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeHeader_HeaderOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute HeaderOb.composeHeader(HeaderOb,Map_Object__ASTNode_).");
+    }
+    composeHeader_HeaderOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            Header header = new Header();
+            HeaderObject h = (HeaderObject) headerOb;
+    
+            if( h.getRequired() != null )
+            header.setRequired(h.getRequired());
+            if( !h.getDescription().isEmpty() )
+            header.setDescription( h.getDescription() );
+            if( !h.getStyle().isEmpty() )
+            header.setStyle(h.getStyle());
+            if( h.getExplode() != null )
+            header.setExplode(h.getExplode());
+            if( h.getAllowReserved() != null )
+            header.setAllowReserved(h.getAllowReserved());
+            if( h.getExample() != null )
+            header.setExample(h.getExample());
+            if( h.getNumExampleTuple() != 0 ){
+            Map<String, Example> examples = new HashMap<>();
+            for( ExampleTuple t : h.getExampleTuples() )
+            examples.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject(), map));
+            header.setExample(examples);
+            }
+            if( h.getNumContentTuple() != 0 ){
+            Map<String, MediaType> contents = new HashMap<>();
+            for( ContentTuple t : h.getContentTuples() )
+            contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject(), map));
+            header.setContentMediaTypes(contents);
+            }
+            if( h.hasSchemaOb() )
+            header.setSchema(h.getSchemaOb().composeSchema(h.getSchemaOb(), map));
+    
+            return header;
+            }
+    finally {
+      composeHeader_HeaderOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderReference.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderReference.java
index 998cb765..930c373a 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderReference.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderReference.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:98
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:99
  * @astdecl HeaderReference : HeaderOb ::= <Ref:String> <HeaderOb:HeaderOb>;
  * @production HeaderReference : {@link HeaderOb} ::= <span class="component">&lt;Ref:String&gt;</span> <span class="component">&lt;HeaderOb:HeaderOb&gt;</span>;
 
@@ -197,6 +197,37 @@ public class HeaderReference extends HeaderOb implements Cloneable {
   public HeaderOb getHeaderOb() {
     return tokenHeaderOb_HeaderOb;
   }
+/** @apilevel internal */
+protected java.util.Set composeHeader_HeaderOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:638
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:638")
+  public Header composeHeader(HeaderOb headerOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(headerOb);
+    _parameters.add(map);
+    if (composeHeader_HeaderOb_Map_Object__ASTNode__visited == null) composeHeader_HeaderOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeHeader_HeaderOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute HeaderOb.composeHeader(HeaderOb,Map_Object__ASTNode_).");
+    }
+    composeHeader_HeaderOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            Header header = new Header();
+            HeaderReference h = new HeaderReference();
+    
+            if( !h.getRef().isEmpty() )
+            header.setRef(h.getRef());
+    
+            return header;
+            }
+    finally {
+      composeHeader_HeaderOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderTuple.java
index 853e8013..f42e2912 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:28
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Implicit.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Implicit.java
index b75810f8..b477bbae 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Implicit.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Implicit.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:132
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:133
  * @astdecl Implicit : ASTNode ::= OAuthFlowObject;
  * @production Implicit : {@link ASTNode} ::= <span class="component">{@link OAuthFlowObject}</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/InfoObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/InfoObject.java
index 3ae1c0d1..981174b2 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/InfoObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/InfoObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:5
@@ -26,23 +26,23 @@ import org.openapi4j.core.exception.DecodeException;
 public class InfoObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:61
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:61
    */
   public static Info composeInfo (InfoObject infoObject, Map<Object, ASTNode> map){
         Info info = new Info();
 
         if( !infoObject.getTitle().isEmpty() )
-            info.setTitle(infoObject.getTitle());
+        info.setTitle(infoObject.getTitle());
         if( !infoObject.getVersion().isEmpty() )
-            info.setVersion(infoObject.getVersion());
+        info.setVersion(infoObject.getVersion());
         if( !infoObject.getDescription().isEmpty() )
         info.setDescription(infoObject.getDescription());
         if( !infoObject.getTermsOfService().isEmpty() )
         info.setTermsOfService(infoObject.getTermsOfService());
         if( infoObject.hasContactObject() )
-        info.setContact(ContactObject.composeContact(infoObject.getContactObject()));
+        info.setContact(ContactObject.composeContact(infoObject.getContactObject(), map));
         if( infoObject.hasLicenseObject() )
-        info.setLicense(LicenseObject.composeLicense(infoObject.getLicenseObject()));
+        info.setLicense(LicenseObject.composeLicense(infoObject.getLicenseObject(), map));
         if( infoObject.getNumExtension() != 0 ){
         Map<String, Object> extension = new HashMap<>();
         for( Extension e : infoObject.getExtensions() )
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ItemsSchema.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ItemsSchema.java
index 9f8db58d..87a3c379 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ItemsSchema.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ItemsSchema.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:110
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:111
  * @astdecl ItemsSchema : ASTNode ::= SchemaOb;
  * @production ItemsSchema : {@link ASTNode} ::= <span class="component">{@link SchemaOb}</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/JastAddList.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/JastAddList.java
index a0b94ece..8c97e780 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/JastAddList.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/JastAddList.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @astdecl JastAddList : ASTNode;
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/LicenseObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/LicenseObject.java
index 556db903..000bc13e 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/LicenseObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/LicenseObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:11
@@ -26,7 +26,7 @@ import org.openapi4j.core.exception.DecodeException;
 public class LicenseObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:107
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:107
    */
   public static License composeLicense (LicenseObject licenseObject, Map<Object, ASTNode> map){
         License license = new License();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkOb.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkOb.java
index cd44ab26..b76ca69f 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkOb.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkOb.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,45 +16,17 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:91
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:92
  * @astdecl LinkOb : ASTNode;
  * @production LinkOb : {@link ASTNode};
 
  */
 public abstract class LinkOb extends ASTNode<ASTNode> implements Cloneable {
-  /**
-   * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:538
-   */
-  public static Link composeLink (LinkObject linkObject, Map<Object, ASTNode> map){
-        Link link = new Link();
-
-
-        if( !linkObject.getRef().isEmpty() )
-        link.setRef(linkObject.getRef());
-        if( !linkObject.getOperationRef().isEmpty() )
-        link.setOperationRef( linkObject.getOperationRef() );
-        if( !linkObject.getOperationID().isEmpty() )
-        link.setOperationId( linkObject.getOperationID() );
-        if( linkObject.getNumLinkParameterTuple() != 0 ){
-        Map<String, String> parameters = new HashMap<>();
-        for( LinkParameterTuple t : linkObject.getLinkParameterTuples() )
-        parameters.put( t.getLinkParameterKey(), t.getLinkParameterValue() );
-        link.setParameters(parameters);
-        }
-        if( !linkObject.getDescription().isEmpty() )
-        link.setDescription( linkObject.getDescription() );
-        if( linkObject.hasServerObject() )
-        link.setServer( ServerObject.composeServer(linkObject.getServerObject()) );
-
-        return link;
-        }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:557
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:530
    */
   public static LinkOb parseLink(Link link, OAIContext context, Map<Object, ASTNode> map) throws DecodeException {
         LinkObject linkObject = new LinkObject();
@@ -159,6 +132,14 @@ public abstract class LinkOb extends ASTNode<ASTNode> implements Cloneable {
    * @declaredat ASTNode:58
    */
   public abstract LinkOb treeCopy();
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:606
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:606")
+  public abstract Link composeLink(LinkOb linkOb, Map<Object, ASTNode> map);
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkObject.java
index f6b0a1fa..098bfc36 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:93
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:94
  * @astdecl LinkObject : LinkOb ::= <OperationRef:String> <OperationID:String> LinkParameterTuple* HeaderTuple* <Description:String> [ServerObject] Extension*;
  * @production LinkObject : {@link LinkOb} ::= <span class="component">&lt;OperationRef:String&gt;</span> <span class="component">&lt;OperationID:String&gt;</span> <span class="component">{@link LinkParameterTuple}*</span> <span class="component">{@link HeaderTuple}*</span> <span class="component">&lt;Description:String&gt;</span> <span class="component">[{@link ServerObject}]</span> <span class="component">{@link Extension}*</span>;
 
@@ -608,6 +608,49 @@ public class LinkObject extends LinkOb implements Cloneable {
   public JastAddList<Extension> getExtensionsNoTransform() {
     return getExtensionListNoTransform();
   }
+/** @apilevel internal */
+protected java.util.Set composeLink_LinkOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:606
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:606")
+  public Link composeLink(LinkOb linkOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(linkOb);
+    _parameters.add(map);
+    if (composeLink_LinkOb_Map_Object__ASTNode__visited == null) composeLink_LinkOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeLink_LinkOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute LinkOb.composeLink(LinkOb,Map_Object__ASTNode_).");
+    }
+    composeLink_LinkOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            Link link = new Link();
+            LinkObject l = (LinkObject) linkOb;
+    
+            if( !l.getOperationRef().isEmpty() )
+            link.setOperationRef( l.getOperationRef() );
+            if( !l.getOperationID().isEmpty() )
+            link.setOperationId( l.getOperationID() );
+            if( l.getNumLinkParameterTuple() != 0 ){
+            Map<String, String> parameters = new HashMap<>();
+            for( LinkParameterTuple t : l.getLinkParameterTuples() )
+            parameters.put( t.getLinkParameterKey(), t.getLinkParameterValue() );
+            link.setParameters(parameters);
+            }
+            if( !l.getDescription().isEmpty() )
+            link.setDescription( l.getDescription() );
+            if( l.hasServerObject() )
+            link.setServer( ServerObject.composeServer(l.getServerObject(), map) );
+    
+            return link;
+            }
+    finally {
+      composeLink_LinkOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkParameterTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkParameterTuple.java
index c5ae2f3e..cb7ca683 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkParameterTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkParameterTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:94
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:95
  * @astdecl LinkParameterTuple : ASTNode ::= <LinkParameterKey:String> <LinkParameterValue:String>;
  * @production LinkParameterTuple : {@link ASTNode} ::= <span class="component">&lt;LinkParameterKey:String&gt;</span> <span class="component">&lt;LinkParameterValue:String&gt;</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkReference.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkReference.java
index 3873f68e..dce5b148 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkReference.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkReference.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:92
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:93
  * @astdecl LinkReference : LinkOb ::= <Ref:String> <LinkOb:LinkOb>;
  * @production LinkReference : {@link LinkOb} ::= <span class="component">&lt;Ref:String&gt;</span> <span class="component">&lt;LinkOb:LinkOb&gt;</span>;
 
@@ -197,6 +197,37 @@ public class LinkReference extends LinkOb implements Cloneable {
   public LinkOb getLinkOb() {
     return tokenLinkOb_LinkOb;
   }
+/** @apilevel internal */
+protected java.util.Set composeLink_LinkOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:606
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:606")
+  public Link composeLink(LinkOb linkOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(linkOb);
+    _parameters.add(map);
+    if (composeLink_LinkOb_Map_Object__ASTNode__visited == null) composeLink_LinkOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeLink_LinkOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute LinkOb.composeLink(LinkOb,Map_Object__ASTNode_).");
+    }
+    composeLink_LinkOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            Link link = new Link();
+            LinkReference l = (LinkReference) linkOb;
+    
+            if( !l.getRef().isEmpty() )
+            link.setRef(l.getRef());
+    
+            return link;
+            }
+    finally {
+      composeLink_LinkOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkTuple.java
index 26e00bf7..129378c8 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:30
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/MappingTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/MappingTuple.java
index ec92ee2e..8a0c2d31 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/MappingTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/MappingTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:120
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:121
  * @astdecl MappingTuple : ASTNode ::= <Key:String> <Value:String>;
  * @production MappingTuple : {@link ASTNode} ::= <span class="component">&lt;Key:String&gt;</span> <span class="component">&lt;Value:String&gt;</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/MediaTypeObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/MediaTypeObject.java
index b540eecc..b1d92644 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/MediaTypeObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/MediaTypeObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:69
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:70
  * @astdecl MediaTypeObject : ASTNode ::= [SchemaOb] <Example:Object> ExampleTuple* EncodingTuple* Extension*;
  * @production MediaTypeObject : {@link ASTNode} ::= <span class="component">[{@link SchemaOb}]</span> <span class="component">&lt;Example:Object&gt;</span> <span class="component">{@link ExampleTuple}*</span> <span class="component">{@link EncodingTuple}*</span> <span class="component">{@link Extension}*</span>;
 
@@ -26,25 +26,27 @@ import org.openapi4j.core.exception.DecodeException;
 public class MediaTypeObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:427
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:468
    */
   public static MediaType composeMediaType (MediaTypeObject mediaTypeObject, Map<Object, ASTNode> map){
         MediaType mediaType = new MediaType();
+        SchemaOb s;
 
-        if( mediaTypeObject.getSchemaObject() != null )
-        mediaType.setSchema(SchemaObject.composeSchema(mediaTypeObject.getSchemaObject()));
+        if( mediaTypeObject.getSchemaOb() != null ){
+        s = mediaTypeObject.getSchemaOb();
+        mediaType.setSchema(s.composeSchema(s, map));}
         if( mediaTypeObject.getExample() != null )
         mediaType.setExample(mediaTypeObject.getExample());
         if( mediaTypeObject.getNumExampleTuple() != 0 ){
         Map<String, Example> exampleMap = new HashMap<>();
         for( ExampleTuple t : mediaTypeObject.getExampleTuples() )
-        exampleMap.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject()));
+        exampleMap.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject(), map));
         mediaType.setExamples(exampleMap);
         }
         if( mediaTypeObject.getNumEncodingTuple() != 0 ){
         Map<String, EncodingProperty> encodingMap = new HashMap<>();
         for( EncodingTuple t : mediaTypeObject.getEncodingTuples() )
-        encodingMap.put(t.getKey(), EncodingObject.composeEncodingProperty(t.getEncodingObject()));
+        encodingMap.put(t.getKey(), EncodingObject.composeEncodingProperty(t.getEncodingObject(), map));
         mediaType.setEncodings(encodingMap);
         }
 
@@ -52,7 +54,7 @@ public class MediaTypeObject extends ASTNode<ASTNode> implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:430
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:403
    */
   public static MediaTypeObject parseMediaType(MediaType mediaType, OAIContext context, Map<Object, ASTNode> map) throws DecodeException {
         MediaTypeObject mediaTypeObject = new MediaTypeObject();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/NotSchema.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/NotSchema.java
index 9604b485..7df53b01 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/NotSchema.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/NotSchema.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:111
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:112
  * @astdecl NotSchema : ASTNode ::= SchemaOb;
  * @production NotSchema : {@link ASTNode} ::= <span class="component">{@link SchemaOb}</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowObject.java
index 5d1c5577..0c7cfd07 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:138
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:139
  * @astdecl OAuthFlowObject : ASTNode ::= <AuthorizationUrl:String> <TokenUrl:String> <RefreshUrl:String> ScopesTuple* <Configuration:String> Extension*;
  * @production OAuthFlowObject : {@link ASTNode} ::= <span class="component">&lt;AuthorizationUrl:String&gt;</span> <span class="component">&lt;TokenUrl:String&gt;</span> <span class="component">&lt;RefreshUrl:String&gt;</span> <span class="component">{@link ScopesTuple}*</span> <span class="component">&lt;Configuration:String&gt;</span> <span class="component">{@link Extension}*</span>;
 
@@ -26,7 +26,7 @@ import org.openapi4j.core.exception.DecodeException;
 public class OAuthFlowObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:798
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:927
    */
   public static OAuthFlow composeOAuthFlow (OAuthFlowObject oAuthFlowObject, Map<Object, ASTNode> map){
         OAuthFlow oAuthFlow = new OAuthFlow();
@@ -47,7 +47,7 @@ public class OAuthFlowObject extends ASTNode<ASTNode> implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:991
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:852
    */
   public static OAuthFlowObject parseOAuthFlow(OAuthFlow oAuthFlow, Map<Object, ASTNode> map){
         OAuthFlowObject oAuthFlowObject = new OAuthFlowObject();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowsObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowsObject.java
index f229e734..15faf4ab 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowsObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowsObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:131
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:132
  * @astdecl OAuthFlowsObject : ASTNode ::= [Implicit] [Password] [ClientCredentials] [AuthorizationCode] Extension*;
  * @production OAuthFlowsObject : {@link ASTNode} ::= <span class="component">[{@link Implicit}]</span> <span class="component">[{@link Password}]</span> <span class="component">[{@link ClientCredentials}]</span> <span class="component">[{@link AuthorizationCode}]</span> <span class="component">{@link Extension}*</span>;
 
@@ -26,30 +26,25 @@ import org.openapi4j.core.exception.DecodeException;
 public class OAuthFlowsObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:778
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:912
    */
   public static OAuthFlows composeOAuthFlows (OAuthFlowsObject oAuthFlowsObject, Map<Object, ASTNode> map){
         OAuthFlows oAuthFlows = new OAuthFlows();
 
         if( oAuthFlowsObject.hasImplicit() )
-        oAuthFlows.setImplicit( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getImplicit().getOAuthFlowObject()) );
-        if( oAuthFlowsObject.hasPassword() ){
-        System.out.println("Password eingegangen : " + oAuthFlowsObject.getPassword().getOAuthFlowObject().getAuthorizationUrl() );
-        System.out.println("Password eingegangen : " + oAuthFlowsObject.getPassword().getOAuthFlowObject().getConfiguration() );
-        System.out.println("Password eingegangen : " + oAuthFlowsObject.getPassword().getOAuthFlowObject().getTokenUrl() );
-        System.out.println("Password eingegangen : " + oAuthFlowsObject.getPassword().getOAuthFlowObject().getRefreshUrl() );
-        oAuthFlows.setPassword( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getPassword().getOAuthFlowObject()) );
-        }
+        oAuthFlows.setImplicit( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getImplicit().getOAuthFlowObject(), map) );
+        if( oAuthFlowsObject.hasPassword() )
+        oAuthFlows.setPassword( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getPassword().getOAuthFlowObject(), map) );
         if( oAuthFlowsObject.hasClientCredentials() )
-        oAuthFlows.setClientCredentials( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getClientCredentials().getOAuthFlowObject()) );
+        oAuthFlows.setClientCredentials( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getClientCredentials().getOAuthFlowObject(), map) );
         if( oAuthFlowsObject.hasAuthorizationCode() )
-        oAuthFlows.setAuthorizationCode( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getAuthorizationCode().getOAuthFlowObject()) );
+        oAuthFlows.setAuthorizationCode( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getAuthorizationCode().getOAuthFlowObject(), map) );
 
         return oAuthFlows;
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:959
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:820
    */
   public static OAuthFlowsObject parseOAuthFlows(OAuthFlows oAuthFlows, Map<Object, ASTNode> map){
         OAuthFlowsObject oAuthFlowsObject = new OAuthFlowsObject();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/OneOfSchema.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/OneOfSchema.java
index dec3b029..c16177ec 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/OneOfSchema.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/OneOfSchema.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:116
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:117
  * @astdecl OneOfSchema : ASTNode ::= SchemaOb;
  * @production OneOfSchema : {@link ASTNode} ::= <span class="component">{@link SchemaOb}</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/OpenAPIObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/OpenAPIObject.java
index 6cb8aa2e..317efd5b 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/OpenAPIObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/OpenAPIObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:2
@@ -26,7 +26,7 @@ import org.openapi4j.core.exception.DecodeException;
 public class OpenAPIObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:13
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:13
    */
   public static OpenApi3 composeOpenAPI (OpenAPIObject openapi){
         OpenApi3 api3 = new OpenApi3();
@@ -45,7 +45,7 @@ public class OpenAPIObject extends ASTNode<ASTNode> implements Cloneable {
         if( openapi.getNumPathsObject() != 0 ){
         Map<String, Path> paths = new HashMap<>();
         for( PathsObject p : openapi.getPathsObjects() )
-        paths.put( p.getRef(), PathItemOb.composePath(p.getPathItemOb(), map) );
+        paths.put( p.getRef(), p.getPathItemOb().composePath(p.getPathItemOb(), map) );
         api3.setPaths(paths);
         }
         if( openapi.hasComponentsObject() )
@@ -117,6 +117,17 @@ public class OpenAPIObject extends ASTNode<ASTNode> implements Cloneable {
         map.put(api, openapi);
         return openapi;
         }
+  /**
+   * @aspect RandomRequestGenerator
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\RandomRequestGenerator.jrag:25
+   */
+  public String generateRequests() throws Exception {
+        String baseUrl = this.getServerObject(0).getUrl();
+
+        for( PathsObject p : this.getPathsObjects() )
+        p.sendRandomRequests(baseUrl);
+        return "";
+    }
   /**
    * @declaredat ASTNode:1
    */
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/OperationOb.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/OperationOb.java
new file mode 100644
index 00000000..bcf7c57f
--- /dev/null
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/OperationOb.java
@@ -0,0 +1,109 @@
+/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */
+package de.tudresden.inf.st.openapi.ast;
+import org.openapi4j.core.exception.ResolutionException;
+import org.openapi4j.core.validation.ValidationException;
+import org.openapi4j.parser.model.v3.*;
+import org.openapi4j.core.model.reference.Reference;
+import org.openapi4j.core.model.OAIContext;
+import java.io.IOException;
+import java.util.*;
+import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
+import java.io.BufferedReader;
+import java.io.DataOutputStream;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import javax.net.ssl.HttpsURLConnection;
+import java.util.Random;
+import java.util.stream.IntStream;
+/**
+ * @ast node
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:43
+ * @astdecl OperationOb : ASTNode;
+ * @production OperationOb : {@link ASTNode};
+
+ */
+public abstract class OperationOb extends ASTNode<ASTNode> implements Cloneable {
+  /**
+   * @declaredat ASTNode:1
+   */
+  public OperationOb() {
+    super();
+  }
+  /**
+   * Initializes the child array to the correct size.
+   * Initializes List and Opt nta children.
+   * @apilevel internal
+   * @ast method
+   * @declaredat ASTNode:10
+   */
+  public void init$Children() {
+  }
+  /** @apilevel low-level 
+   * @declaredat ASTNode:13
+   */
+  protected int numChildren() {
+    return 0;
+  }
+  /**
+   * @apilevel internal
+   * @declaredat ASTNode:19
+   */
+  public boolean mayHaveRewrite() {
+    return false;
+  }
+  /** @apilevel internal 
+   * @declaredat ASTNode:23
+   */
+  public void flushAttrCache() {
+    super.flushAttrCache();
+  }
+  /** @apilevel internal 
+   * @declaredat ASTNode:27
+   */
+  public void flushCollectionCache() {
+    super.flushCollectionCache();
+  }
+  /** @apilevel internal 
+   * @declaredat ASTNode:31
+   */
+  public OperationOb clone() throws CloneNotSupportedException {
+    OperationOb node = (OperationOb) super.clone();
+    return node;
+  }
+  /**
+   * Create a deep copy of the AST subtree at this node.
+   * The copy is dangling, i.e. has no parent.
+   * @return dangling copy of the subtree at this node
+   * @apilevel low-level
+   * @deprecated Please use treeCopy or treeCopyNoTransform instead
+   * @declaredat ASTNode:42
+   */
+  @Deprecated
+  public abstract OperationOb fullCopy();
+  /**
+   * Create a deep copy of the AST subtree at this node.
+   * The copy is dangling, i.e. has no parent.
+   * @return dangling copy of the subtree at this node
+   * @apilevel low-level
+   * @declaredat ASTNode:50
+   */
+  public abstract OperationOb treeCopyNoTransform();
+  /**
+   * Create a deep copy of the AST subtree at this node.
+   * The subtree of this node is traversed to trigger rewrites before copy.
+   * The copy is dangling, i.e. has no parent.
+   * @return dangling copy of the subtree at this node
+   * @apilevel low-level
+   * @declaredat ASTNode:58
+   */
+  public abstract OperationOb treeCopy();
+  /** @apilevel internal */
+  public ASTNode rewriteTo() {
+    return super.rewriteTo();
+  }
+  /** @apilevel internal */
+  public boolean canRewrite() {
+    return false;
+  }
+}
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/OperationObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/OperationObject.java
index 91d4aa02..6a9eebd8 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/OperationObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/OperationObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,23 +16,21 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:51
- * @astdecl OperationObject : ASTNode ::= Tag* <Summary:String> <Description:String> [ExternalDocObject] <OperationID:String> ParameterOb* [RequestBodyOb] ResponseTuple* CallbackTuple* <DeprecatedBoolean:Boolean> SecurityRequirementObject* ServerObject* <Required:Boolean> Extension*;
- * @production OperationObject : {@link ASTNode} ::= <span class="component">{@link Tag}*</span> <span class="component">&lt;Summary:String&gt;</span> <span class="component">&lt;Description:String&gt;</span> <span class="component">[{@link ExternalDocObject}]</span> <span class="component">&lt;OperationID:String&gt;</span> <span class="component">{@link ParameterOb}*</span> <span class="component">[{@link RequestBodyOb}]</span> <span class="component">{@link ResponseTuple}*</span> <span class="component">{@link CallbackTuple}*</span> <span class="component">&lt;DeprecatedBoolean:Boolean&gt;</span> <span class="component">{@link SecurityRequirementObject}*</span> <span class="component">{@link ServerObject}*</span> <span class="component">&lt;Required:Boolean&gt;</span> <span class="component">{@link Extension}*</span>;
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:44
+ * @astdecl OperationObject : OperationOb ::= Tag* <Summary:String> <Description:String> [ExternalDocObject] <OperationID:String> ParameterOb* [RequestBodyOb] ResponseTuple* CallbackTuple* <DeprecatedBoolean:Boolean> SecurityRequirementObject* ServerObject* <Required:Boolean> Extension*;
+ * @production OperationObject : {@link OperationOb} ::= <span class="component">{@link Tag}*</span> <span class="component">&lt;Summary:String&gt;</span> <span class="component">&lt;Description:String&gt;</span> <span class="component">[{@link ExternalDocObject}]</span> <span class="component">&lt;OperationID:String&gt;</span> <span class="component">{@link ParameterOb}*</span> <span class="component">[{@link RequestBodyOb}]</span> <span class="component">{@link ResponseTuple}*</span> <span class="component">{@link CallbackTuple}*</span> <span class="component">&lt;DeprecatedBoolean:Boolean&gt;</span> <span class="component">{@link SecurityRequirementObject}*</span> <span class="component">{@link ServerObject}*</span> <span class="component">&lt;Required:Boolean&gt;</span> <span class="component">{@link Extension}*</span>;
 
  */
-public class OperationObject extends ASTNode<ASTNode> implements Cloneable {
+public class OperationObject extends OperationOb implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:281
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:312
    */
   public static Operation composeOperation (OperationObject operationObject, Map<Object, ASTNode> map){
         Operation operation = new Operation();
 
-
         if( operationObject.getNumTag() != 0 ){
         for( de.tudresden.inf.st.openapi.ast.Tag t : operationObject.getTags() )
         operation.addTag(t.getTag());
@@ -41,43 +40,36 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable {
         if( !operationObject.getDescription().isEmpty() )
         operation.setDescription( operationObject.getDescription() );
         if( operationObject.hasExternalDocObject() )
-        operation.setExternalDocs( ExternalDocObject.composeExternalDocs(operationObject.getExternalDocObject()) );
+        operation.setExternalDocs( ExternalDocObject.composeExternalDocs(operationObject.getExternalDocObject(), map) );
         if( !operationObject.getOperationID().isEmpty() )
         operation.setOperationId( operationObject.getOperationID() );
-        if( operationObject.getNumParameterObject() != 0 ){
-        for( ParameterObject p : operationObject.getParameterObjects() )
-        operation.addParameter( ParameterObject.composeParameter(p) );
+        if( operationObject.getNumParameterOb() != 0 ){
+        for( ParameterOb p : operationObject.getParameterObs() )
+        operation.addParameter(p.composeParameter(p, map));
         }
-        if( operationObject.hasRequestBodyObject() )
-        operation.setRequestBody( RequestBodyObject.composeRequestBody(operationObject.getRequestBodyObject()));
+        if( operationObject.hasRequestBodyOb() )
+        operation.setRequestBody(operationObject.getRequestBodyOb().composeRequestBody(operationObject.getRequestBodyOb(), map));
         if( operationObject.getNumResponseTuple() != 0){
         Map<String, Response> responseMap = new HashMap<>();
         for( ResponseTuple t : operationObject.getResponseTuples() )
-        responseMap.put(t.getKey(), ResponseObject.composeResponse(t.getResponseObject()));
+        responseMap.put(t.getKey(), t.getResponseOb().composeResponse(t.getResponseOb(), map));
         operation.setResponses(responseMap);
         }
         if( operationObject.getNumCallbackTuple() != 0 ){
         Map<String, Callback> callbacks = new HashMap<>();
-        for( CallbackTuple t : operationObject.getCallbackTuples() ) {
-        if( !t.getCallbackObject().getRef().isEmpty() ){
-        Callback callback = new Callback();
-        callback.setRef(t.getCallbackObject().getRef());
-        callbacks.put(t.getKey(), callback);
-        }
-        else
-        callbacks.put(t.getKey(), CallbackObject.composeCallback(t.getCallbackObject()));
+        for( CallbackTuple t : operationObject.getCallbackTuples() )
+        callbacks.put(t.getKey(), t.getCallbackOb().composeCallback(t.getCallbackOb(), map));
         operation.setCallbacks(callbacks);
         }
-        }
         if( operationObject.getDeprecatedBoolean() != null )
         operation.setDeprecated(operationObject.getDeprecatedBoolean());
         if( operationObject.getSecurityRequirementObjects() != null ){
         for( SecurityRequirementObject s : operationObject.getSecurityRequirementObjects() )
-        operation.addSecurityRequirement( SecurityRequirementObject.composeSecurityRequirement(s) );
+        operation.addSecurityRequirement( SecurityRequirementObject.composeSecurityRequirement(s, map) );
         }
         if( operationObject.getNumServerObject() != 0 ){
         for( ServerObject s : operationObject.getServerObjects() )
-        operation.addServer( ServerObject.composeServer(s) );
+        operation.addServer( ServerObject.composeServer(s, map) );
         }
         if( operationObject.getNumExtension() != 0 ){
         Map<String, Object> extensionMap = new HashMap<>();
@@ -90,7 +82,7 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:288
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:261
    */
   public static OperationObject parseOperation(Operation operation, OAIContext context, Map<Object, ASTNode> map) throws DecodeException{
         OperationObject operationObject = new OperationObject();
@@ -142,6 +134,148 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable {
         map.put(operation, operationObject);
         return operationObject;
         }
+  /**
+   * @aspect RandomRequestGenerator
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\RandomRequestGenerator.jrag:53
+   */
+  public void sendRandomGET(String targetUrl) throws Exception {
+        Random rand = new Random();
+
+        for( ParameterOb o : this.getParameterObs() ){
+        ParameterObject p = o.parameterObject();
+        SchemaObject s = p.getSchemaOb().schemaObject();
+        if( p.getIn().equals("path") ){
+        String pathPart = targetUrl.substring(targetUrl.indexOf("{") ,targetUrl.indexOf("}") + 1);
+
+        if( s.getType().equals("string") )
+        targetUrl = targetUrl.replace(pathPart, this.generateRandomString(rand, s.getEnumObjs()));
+        else if( s.getType().equals("integer") )
+        targetUrl = targetUrl.replace(pathPart, this.generateRandomInt( rand,
+        -1, // s.getMinimum() != null ? s.getMinimum().intValue() : -1,
+        10 // s.getMaximum() != null ? s.getMaximum().intValue() : -1
+        ));
+        }
+        else if( p.getIn().equals("query") ){
+
+        if( s.getType().equals("string") )
+        targetUrl = targetUrl + "&" + p.getName() + "=" + this.generateRandomString(rand, s.getEnumObjs());
+        else if( s.getType().equals("integer") )
+        targetUrl = targetUrl + "&" + p.getName() + "=" + this.generateRandomInt(  rand,
+        -1, // s.getMinimum() != null ? s.getMinimum().intValue() : -1,
+        10); // s.getMaximum() != null ? s.getMaximum().intValue() : -1
+        else if( s.getType().equals("array") ){
+        if( s.getItemsSchema().getSchemaOb().schemaObject().getType().equals("string") ){
+        for( EnumObj e : s.getItemsSchema().getSchemaOb().schemaObject().getEnumObjs() )
+        targetUrl=rand.nextDouble()< 0.5?targetUrl+"&"+p.getName()+"="+e.getEnumOb():targetUrl;
+        }
+        else if( s.getItemsSchema().getSchemaOb().schemaObject().getType().equals("integer") ){
+        for( int i = 0 ; i < 5 ; i++ )
+        targetUrl = targetUrl + "&" + p.getName() + "=" + this.generateRandomInt(  rand,
+        -1, // s.getMinimum() != null ? s.getMinimum().intValue() : -1,
+        10); // s.getMaximum() != null ? s.getMaximum().intValue() : -1
+        }
+
+        }
+        }
+        }
+        targetUrl = targetUrl.replaceFirst("&", "?");
+        System.out.println(targetUrl);
+
+        URL url = new URL(targetUrl);
+        HttpURLConnection con = (HttpURLConnection) url.openConnection();
+
+        con.setRequestMethod("GET"); // optional default is GET
+        int responseCode = con.getResponseCode();
+
+        // print result
+        System.out.println("HTTP status code (GET) : " + responseCode);
+    }
+  /**
+   * @aspect RandomRequestGenerator
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\RandomRequestGenerator.jrag:106
+   */
+  public void sendRandomPOST(String targetUrl) throws Exception {
+        Random rand = new Random();
+
+        for( ParameterOb o : this.getParameterObs() ){
+        ParameterObject p = o.parameterObject();
+        SchemaObject s = p.getSchemaOb().schemaObject();
+        if( p.getIn().equals("path") ){
+        String pathPart = targetUrl.substring(targetUrl.indexOf("{") ,targetUrl.indexOf("}") + 1);
+
+        if( s.getType().equals("string") )
+        targetUrl = targetUrl.replace(pathPart, this.generateRandomString(rand, s.getEnumObjs()));
+        else if( s.getType().equals("integer") )
+        targetUrl = targetUrl.replace(pathPart, this.generateRandomInt( rand,
+        -1, // s.getMinimum() != null ? s.getMinimum().intValue() : -1,
+        10 // s.getMaximum() != null ? s.getMaximum().intValue() : -1
+        ));
+        }
+        else if( p.getIn().equals("query") ){
+
+        if( s.getType().equals("string") )
+        targetUrl = targetUrl + "&" + p.getName() + "=" + this.generateRandomString(rand, s.getEnumObjs());
+        else if( s.getType().equals("integer") )
+        targetUrl = targetUrl + "&" + p.getName() + "=" + this.generateRandomInt(  rand,
+        -1, // s.getMinimum() != null ? s.getMinimum().intValue() : -1,
+        10); // s.getMaximum() != null ? s.getMaximum().intValue() : -1
+        else if( s.getType().equals("array") ){
+        if( s.getItemsSchema().getSchemaOb().schemaObject().getType().equals("string") ){
+        for( EnumObj e : s.getItemsSchema().getSchemaOb().schemaObject().getEnumObjs() )
+        targetUrl=rand.nextDouble()< 0.5?targetUrl+"&"+p.getName()+"="+e.getEnumOb():targetUrl;
+        }
+        else if( s.getItemsSchema().getSchemaOb().schemaObject().getType().equals("integer") ){
+        for( int i = 0 ; i < 5 ; i++ )
+        targetUrl = targetUrl + "&" + p.getName() + "=" + this.generateRandomInt(  rand,
+        -1, // s.getMinimum() != null ? s.getMinimum().intValue() : -1,
+        10); // s.getMaximum() != null ? s.getMaximum().intValue() : -1
+        }
+
+        }
+        }
+        }
+        targetUrl = targetUrl.replaceFirst("&", "?");
+        System.out.println(targetUrl);
+
+        URL url = new URL(targetUrl);
+        HttpURLConnection con = (HttpURLConnection) url.openConnection();
+
+        con.setRequestMethod("POST"); // HTTP POST
+        con.setDoOutput(true); // POST
+
+        int responseCode = con.getResponseCode();
+
+        // print result
+        System.out.println("HTTP status code (POST) : " + responseCode);
+    }
+  /**
+   * @aspect RandomRequestGenerator
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\RandomRequestGenerator.jrag:161
+   */
+  public String generateRandomString(Random rand, JastAddList<EnumObj> objs) {
+        if( objs.getNumChild() != 0 )
+        return objs.getChild(rand.nextInt(objs.getNumChild())).getEnumOb().toString();
+
+
+        return rand
+        .ints(97, 123)
+        .limit(10)
+        .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
+        .toString();
+    }
+  /**
+   * @aspect RandomRequestGenerator
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\RandomRequestGenerator.jrag:173
+   */
+  public String generateRandomInt(Random rand, int minimum, int maximum){
+        if( minimum > -1 && maximum > 0 )
+        return String.valueOf(rand.nextInt(minimum+maximum)-minimum);
+        else if( minimum > -1 )
+        return String.valueOf(rand.nextInt()+minimum);
+        else if( maximum > 0 )
+        return String.valueOf(rand.nextInt(maximum));
+        return String.valueOf(rand.nextInt());
+        }
   /**
    * @declaredat ASTNode:1
    */
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Opt.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Opt.java
index 3f2981bd..c98cb099 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Opt.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Opt.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @astdecl Opt : ASTNode;
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Options.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Options.java
index 58ab4a34..980b67a5 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Options.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Options.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,15 +16,14 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:45
- * @astdecl Options : ASTNode ::= OperationObject;
- * @production Options : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>;
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:49
+ * @astdecl Options : OperationOb ::= <OperationObject:OperationObject>;
+ * @production Options : {@link OperationOb} ::= <span class="component">&lt;OperationObject:OperationObject&gt;</span>;
 
  */
-public class Options extends ASTNode<ASTNode> implements Cloneable {
+public class Options extends OperationOb implements Cloneable {
   /**
    * @declaredat ASTNode:1
    */
@@ -38,53 +38,52 @@ public class Options extends ASTNode<ASTNode> implements Cloneable {
    * @declaredat ASTNode:10
    */
   public void init$Children() {
-    children = new ASTNode[1];
   }
   /**
-   * @declaredat ASTNode:13
+   * @declaredat ASTNode:12
    */
   @ASTNodeAnnotation.Constructor(
     name = {"OperationObject"},
     type = {"OperationObject"},
-    kind = {"Child"}
+    kind = {"Token"}
   )
   public Options(OperationObject p0) {
-    setChild(p0, 0);
+    setOperationObject(p0);
   }
   /** @apilevel low-level 
-   * @declaredat ASTNode:22
+   * @declaredat ASTNode:21
    */
   protected int numChildren() {
-    return 1;
+    return 0;
   }
   /**
    * @apilevel internal
-   * @declaredat ASTNode:28
+   * @declaredat ASTNode:27
    */
   public boolean mayHaveRewrite() {
     return false;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:32
+   * @declaredat ASTNode:31
    */
   public void flushAttrCache() {
     super.flushAttrCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:36
+   * @declaredat ASTNode:35
    */
   public void flushCollectionCache() {
     super.flushCollectionCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:40
+   * @declaredat ASTNode:39
    */
   public Options clone() throws CloneNotSupportedException {
     Options node = (Options) super.clone();
     return node;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:45
+   * @declaredat ASTNode:44
    */
   public Options copy() {
     try {
@@ -104,7 +103,7 @@ public class Options extends ASTNode<ASTNode> implements Cloneable {
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
    * @deprecated Please use treeCopy or treeCopyNoTransform instead
-   * @declaredat ASTNode:64
+   * @declaredat ASTNode:63
    */
   @Deprecated
   public Options fullCopy() {
@@ -115,7 +114,7 @@ public class Options extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:74
+   * @declaredat ASTNode:73
    */
   public Options treeCopyNoTransform() {
     Options tree = (Options) copy();
@@ -136,7 +135,7 @@ public class Options extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:94
+   * @declaredat ASTNode:93
    */
   public Options treeCopy() {
     Options tree = (Options) copy();
@@ -152,36 +151,30 @@ public class Options extends ASTNode<ASTNode> implements Cloneable {
     return tree;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:108
+   * @declaredat ASTNode:107
    */
   protected boolean is$Equal(ASTNode node) {
-    return super.is$Equal(node);    
+    return super.is$Equal(node) && (tokenOperationObject_OperationObject == ((Options) node).tokenOperationObject_OperationObject);    
   }
   /**
-   * Replaces the OperationObject child.
-   * @param node The new node to replace the OperationObject child.
+   * Replaces the lexeme OperationObject.
+   * @param value The new value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  public void setOperationObject(OperationObject node) {
-    setChild(node, 0);
+  public void setOperationObject(OperationObject value) {
+    tokenOperationObject_OperationObject = value;
   }
+  /** @apilevel internal 
+   */
+  protected OperationObject tokenOperationObject_OperationObject;
   /**
-   * Retrieves the OperationObject child.
-   * @return The current node used as the OperationObject child.
+   * Retrieves the value for the lexeme OperationObject.
+   * @return The value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  @ASTNodeAnnotation.Child(name="OperationObject")
+  @ASTNodeAnnotation.Token(name="OperationObject")
   public OperationObject getOperationObject() {
-    return (OperationObject) getChild(0);
-  }
-  /**
-   * Retrieves the OperationObject child.
-   * <p><em>This method does not invoke AST transformations.</em></p>
-   * @return The current node used as the OperationObject child.
-   * @apilevel low-level
-   */
-  public OperationObject getOperationObjectNoTransform() {
-    return (OperationObject) getChildNoTransform(0);
+    return tokenOperationObject_OperationObject;
   }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterOb.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterOb.java
index 64483b63..27ef3d85 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterOb.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterOb.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,70 +16,17 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:58
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:59
  * @astdecl ParameterOb : ASTNode;
  * @production ParameterOb : {@link ASTNode};
 
  */
 public abstract class ParameterOb extends ASTNode<ASTNode> implements Cloneable {
-  /**
-   * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:359
-   */
-  public static Parameter composeParameter (ParameterOb parameterObject, Map<Object, ASTNode> map){
-        Parameter parameter = new Parameter();
-
-        if( !parameterObject.getRef().isEmpty() )
-        parameter.setRef(parameterObject.getRef());
-        if( !parameterObject.getName().isEmpty() )
-        parameter.setName(parameterObject.getName());
-        if( !parameterObject.getIn().isEmpty() )
-        parameter.setIn(parameterObject.getIn());
-        if( parameterObject.getRequired() != null )
-        parameter.setRequired(parameterObject.getRequired());
-        if( !parameterObject.getDescription().isEmpty() )
-        parameter.setDescription(parameterObject.getDescription());
-        if( parameterObject.getDeprecatedBoolean() != null )
-        parameter.setDeprecated(parameterObject.getDeprecatedBoolean());
-        if( !parameterObject.getStyle().isEmpty() )
-        parameter.setStyle(parameterObject.getStyle());
-        if( parameterObject.getAllowReserved() != null )
-        parameter.setAllowReserved(parameterObject.getAllowReserved());
-        if( parameterObject.getExplode() != null )
-        parameter.setExplode(parameterObject.getExplode());
-        if( parameterObject.getSchemaObject() != null )
-        parameter.setSchema(SchemaObject.composeSchema(parameterObject.getSchemaObject()));
-        if( parameterObject.getExample() != null )
-        parameter.setExample(parameterObject.getExample());
-        if( parameterObject.getNumExampleTuple() != 0 ){
-        Map<String, Example> exampleMap = new HashMap<>();
-        for( ExampleTuple t : parameterObject.getExampleTuples() )
-        exampleMap.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject()));
-        parameter.setExamples(exampleMap);
-        }
-        if( parameterObject.getNumContentTuple() != 0 ){
-        Map<String, MediaType> contentMap = new HashMap<>();
-        for( ContentTuple t : parameterObject.getContentTuples() )
-        contentMap.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject()));
-        parameter.setContentMediaTypes(contentMap);
-        }
-        if( parameterObject.getRequired() != null )
-            parameter.setRequired(parameterObject.getRequired());
-        if( parameterObject.getNumExtension() != 0 ){
-        Map<String, Object> extensionMap = new HashMap<>();
-        for( Extension e : parameterObject.getExtensions() )
-        extensionMap.put(e.getKey(), e.getValue());
-        parameter.setExtensions(extensionMap);
-        }
-
-        return parameter;
-        }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:356
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:329
    */
   public static ParameterOb parseParameter(Parameter parameter, OAIContext context, Map<Object, ASTNode> map) throws DecodeException {
         ParameterObject parameterObject = new ParameterObject();
@@ -200,6 +148,22 @@ public abstract class ParameterOb extends ASTNode<ASTNode> implements Cloneable
    * @declaredat ASTNode:58
    */
   public abstract ParameterOb treeCopy();
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:382
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:382")
+  public abstract Parameter composeParameter(ParameterOb parameterOb, Map<Object, ASTNode> map);
+  /**
+   * @attribute syn
+   * @aspect ReferenceGet
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:3
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="ReferenceGet", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:3")
+  public abstract ParameterObject parameterObject();
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterObject.java
index 0a879f38..6a13631e 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:60
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:61
  * @astdecl ParameterObject : ParameterOb ::= <Name:String> <In:String> <Description:String> <Required:Boolean> <DeprecatedBoolean:Boolean> <AllowEmptyValue:Boolean> <Style:String> <Explode:Boolean> <AllowReserved:Boolean> [SchemaOb] <Example:Object> ExampleTuple* ContentTuple* Extension*;
  * @production ParameterObject : {@link ParameterOb} ::= <span class="component">&lt;Name:String&gt;</span> <span class="component">&lt;In:String&gt;</span> <span class="component">&lt;Description:String&gt;</span> <span class="component">&lt;Required:Boolean&gt;</span> <span class="component">&lt;DeprecatedBoolean:Boolean&gt;</span> <span class="component">&lt;AllowEmptyValue:Boolean&gt;</span> <span class="component">&lt;Style:String&gt;</span> <span class="component">&lt;Explode:Boolean&gt;</span> <span class="component">&lt;AllowReserved:Boolean&gt;</span> <span class="component">[{@link SchemaOb}]</span> <span class="component">&lt;Example:Object&gt;</span> <span class="component">{@link ExampleTuple}*</span> <span class="component">{@link ContentTuple}*</span> <span class="component">{@link Extension}*</span>;
 
@@ -755,6 +755,93 @@ public class ParameterObject extends ParameterOb implements Cloneable {
   public JastAddList<Extension> getExtensionsNoTransform() {
     return getExtensionListNoTransform();
   }
+/** @apilevel internal */
+protected java.util.Set composeParameter_ParameterOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:382
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:382")
+  public Parameter composeParameter(ParameterOb parameterOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(parameterOb);
+    _parameters.add(map);
+    if (composeParameter_ParameterOb_Map_Object__ASTNode__visited == null) composeParameter_ParameterOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeParameter_ParameterOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute ParameterOb.composeParameter(ParameterOb,Map_Object__ASTNode_).");
+    }
+    composeParameter_ParameterOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            Parameter parameter = new Parameter();
+            ParameterObject p = (ParameterObject) parameterOb;
+    
+            if( !p.getName().isEmpty() )
+            parameter.setName(p.getName());
+            if( !p.getIn().isEmpty() )
+            parameter.setIn(p.getIn());
+            if( p.getRequired() != null )
+            parameter.setRequired(p.getRequired());
+            if( !p.getDescription().isEmpty() )
+            parameter.setDescription(p.getDescription());
+            if( p.getDeprecatedBoolean() != null )
+            parameter.setDeprecated(p.getDeprecatedBoolean());
+            if( !p.getStyle().isEmpty() )
+            parameter.setStyle(p.getStyle());
+            if( p.getAllowReserved() != null )
+            parameter.setAllowReserved(p.getAllowReserved());
+            if( p.getExplode() != null )
+            parameter.setExplode(p.getExplode());
+            if( p.getSchemaOb() != null )
+            parameter.setSchema(p.getSchemaOb().composeSchema(p.getSchemaOb(), map));
+            if( p.getExample() != null )
+            parameter.setExample(p.getExample());
+            if( p.getNumExampleTuple() != 0 ){
+            Map<String, Example> exampleMap = new HashMap<>();
+            for( ExampleTuple t : p.getExampleTuples() )
+            exampleMap.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject(), map));
+            parameter.setExamples(exampleMap);
+            }
+            if( p.getNumContentTuple() != 0 ){
+            Map<String, MediaType> contentMap = new HashMap<>();
+            for( ContentTuple t : p.getContentTuples() )
+            contentMap.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject(), map));
+            parameter.setContentMediaTypes(contentMap);
+            }
+            if( p.getRequired() != null )
+            parameter.setRequired(p.getRequired());
+            if( p.getNumExtension() != 0 ){
+            Map<String, Object> extensionMap = new HashMap<>();
+            for( Extension e : p.getExtensions() )
+            extensionMap.put(e.getKey(), e.getValue());
+            parameter.setExtensions(extensionMap);
+            }
+    
+            return parameter;
+            }
+    finally {
+      composeParameter_ParameterOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
+/** @apilevel internal */
+protected boolean parameterObject_visited = false;
+  /**
+   * @attribute syn
+   * @aspect ReferenceGet
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:4
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="ReferenceGet", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:3")
+  public ParameterObject parameterObject() {
+    if (parameterObject_visited) {
+      throw new RuntimeException("Circular definition of attribute ParameterOb.parameterObject().");
+    }
+    parameterObject_visited = true;
+    ParameterObject parameterObject_value = this;
+    parameterObject_visited = false;
+    return parameterObject_value;
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterReference.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterReference.java
index a890925a..c276dbe9 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterReference.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterReference.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:59
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:60
  * @astdecl ParameterReference : ParameterOb ::= <Ref:String> <ParameterOb:ParameterOb>;
  * @production ParameterReference : {@link ParameterOb} ::= <span class="component">&lt;Ref:String&gt;</span> <span class="component">&lt;ParameterOb:ParameterOb&gt;</span>;
 
@@ -197,6 +197,61 @@ public class ParameterReference extends ParameterOb implements Cloneable {
   public ParameterOb getParameterOb() {
     return tokenParameterOb_ParameterOb;
   }
+/** @apilevel internal */
+protected java.util.Set composeParameter_ParameterOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:382
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:382")
+  public Parameter composeParameter(ParameterOb parameterOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(parameterOb);
+    _parameters.add(map);
+    if (composeParameter_ParameterOb_Map_Object__ASTNode__visited == null) composeParameter_ParameterOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeParameter_ParameterOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute ParameterOb.composeParameter(ParameterOb,Map_Object__ASTNode_).");
+    }
+    composeParameter_ParameterOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            Parameter parameter = new Parameter();
+            ParameterReference p = (ParameterReference) parameterOb;
+    
+            if( !p.getRef().isEmpty() )
+            parameter.setRef(p.getRef());
+    
+            return parameter;
+            }
+    finally {
+      composeParameter_ParameterOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
+/** @apilevel internal */
+protected boolean parameterObject_visited = false;
+  /**
+   * @attribute syn
+   * @aspect ReferenceGet
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:3
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="ReferenceGet", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:3")
+  public ParameterObject parameterObject() {
+    if (parameterObject_visited) {
+      throw new RuntimeException("Circular definition of attribute ParameterOb.parameterObject().");
+    }
+    parameterObject_visited = true;
+    try {
+            if( getParameterOb() instanceof ParameterObject )
+            return (ParameterObject) getParameterOb();
+            else
+            return getParameterOb().parameterObject();
+        }
+    finally {
+      parameterObject_visited = false;
+    }
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterTuple.java
index c32ea789..c24e9955 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:25
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Password.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Password.java
index ebdd0ccc..d8f1b0c4 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Password.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Password.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:133
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:134
  * @astdecl Password : ASTNode ::= OAuthFlowObject;
  * @production Password : {@link ASTNode} ::= <span class="component">{@link OAuthFlowObject}</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Patch.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Patch.java
index 798289b8..2116c0ed 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Patch.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Patch.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,15 +16,14 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:47
- * @astdecl Patch : ASTNode ::= OperationObject;
- * @production Patch : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>;
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:51
+ * @astdecl Patch : OperationOb ::= <OperationObject:OperationObject>;
+ * @production Patch : {@link OperationOb} ::= <span class="component">&lt;OperationObject:OperationObject&gt;</span>;
 
  */
-public class Patch extends ASTNode<ASTNode> implements Cloneable {
+public class Patch extends OperationOb implements Cloneable {
   /**
    * @declaredat ASTNode:1
    */
@@ -38,53 +38,52 @@ public class Patch extends ASTNode<ASTNode> implements Cloneable {
    * @declaredat ASTNode:10
    */
   public void init$Children() {
-    children = new ASTNode[1];
   }
   /**
-   * @declaredat ASTNode:13
+   * @declaredat ASTNode:12
    */
   @ASTNodeAnnotation.Constructor(
     name = {"OperationObject"},
     type = {"OperationObject"},
-    kind = {"Child"}
+    kind = {"Token"}
   )
   public Patch(OperationObject p0) {
-    setChild(p0, 0);
+    setOperationObject(p0);
   }
   /** @apilevel low-level 
-   * @declaredat ASTNode:22
+   * @declaredat ASTNode:21
    */
   protected int numChildren() {
-    return 1;
+    return 0;
   }
   /**
    * @apilevel internal
-   * @declaredat ASTNode:28
+   * @declaredat ASTNode:27
    */
   public boolean mayHaveRewrite() {
     return false;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:32
+   * @declaredat ASTNode:31
    */
   public void flushAttrCache() {
     super.flushAttrCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:36
+   * @declaredat ASTNode:35
    */
   public void flushCollectionCache() {
     super.flushCollectionCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:40
+   * @declaredat ASTNode:39
    */
   public Patch clone() throws CloneNotSupportedException {
     Patch node = (Patch) super.clone();
     return node;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:45
+   * @declaredat ASTNode:44
    */
   public Patch copy() {
     try {
@@ -104,7 +103,7 @@ public class Patch extends ASTNode<ASTNode> implements Cloneable {
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
    * @deprecated Please use treeCopy or treeCopyNoTransform instead
-   * @declaredat ASTNode:64
+   * @declaredat ASTNode:63
    */
   @Deprecated
   public Patch fullCopy() {
@@ -115,7 +114,7 @@ public class Patch extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:74
+   * @declaredat ASTNode:73
    */
   public Patch treeCopyNoTransform() {
     Patch tree = (Patch) copy();
@@ -136,7 +135,7 @@ public class Patch extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:94
+   * @declaredat ASTNode:93
    */
   public Patch treeCopy() {
     Patch tree = (Patch) copy();
@@ -152,36 +151,30 @@ public class Patch extends ASTNode<ASTNode> implements Cloneable {
     return tree;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:108
+   * @declaredat ASTNode:107
    */
   protected boolean is$Equal(ASTNode node) {
-    return super.is$Equal(node);    
+    return super.is$Equal(node) && (tokenOperationObject_OperationObject == ((Patch) node).tokenOperationObject_OperationObject);    
   }
   /**
-   * Replaces the OperationObject child.
-   * @param node The new node to replace the OperationObject child.
+   * Replaces the lexeme OperationObject.
+   * @param value The new value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  public void setOperationObject(OperationObject node) {
-    setChild(node, 0);
+  public void setOperationObject(OperationObject value) {
+    tokenOperationObject_OperationObject = value;
   }
+  /** @apilevel internal 
+   */
+  protected OperationObject tokenOperationObject_OperationObject;
   /**
-   * Retrieves the OperationObject child.
-   * @return The current node used as the OperationObject child.
+   * Retrieves the value for the lexeme OperationObject.
+   * @return The value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  @ASTNodeAnnotation.Child(name="OperationObject")
+  @ASTNodeAnnotation.Token(name="OperationObject")
   public OperationObject getOperationObject() {
-    return (OperationObject) getChild(0);
-  }
-  /**
-   * Retrieves the OperationObject child.
-   * <p><em>This method does not invoke AST transformations.</em></p>
-   * @return The current node used as the OperationObject child.
-   * @apilevel low-level
-   */
-  public OperationObject getOperationObjectNoTransform() {
-    return (OperationObject) getChildNoTransform(0);
+    return tokenOperationObject_OperationObject;
   }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItemOb.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItemOb.java
index 60827432..58aa00b2 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItemOb.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItemOb.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:38
@@ -24,55 +24,9 @@ import org.openapi4j.core.exception.DecodeException;
 
  */
 public abstract class PathItemOb extends ASTNode<ASTNode> implements Cloneable {
-  /**
-   * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:240
-   */
-  public static Path composePath (PathItemOb pathItem, Map<Object, ASTNode> map){
-        Path path = new Path();
-
-        
-
-        if( !pathItem.getRef().isEmpty() )
-        path.setRef(pathItem.getRef());
-        if( !pathItem.getSummary().isEmpty())
-        path.setSummary(pathItem.getSummary());
-        if( !pathItem.getDescription().isEmpty() )
-        path.setDescription(pathItem.getDescription());
-        if( pathItem.hasGet() )
-        path.setGet( OperationObject.composeOperation(pathItem.getGet().getOperationObject()) );
-        if( pathItem.hasPut() )
-        path.setPut( OperationObject.composeOperation(pathItem.getPut().getOperationObject()) );
-        if( pathItem.hasPost() )
-        path.setPost( OperationObject.composeOperation(pathItem.getPost().getOperationObject()) );
-        if( pathItem.hasDelete() )
-        path.setDelete( OperationObject.composeOperation(pathItem.getDelete().getOperationObject()) );
-        if( pathItem.hasOptions() )
-        path.setOptions( OperationObject.composeOperation(pathItem.getOptions().getOperationObject()) );
-        if( pathItem.hasHead() )
-        path.setHead( OperationObject.composeOperation(pathItem.getHead().getOperationObject()) );
-        if( pathItem.hasPatch() )
-        path.setPatch( OperationObject.composeOperation(pathItem.getPatch().getOperationObject()) );
-        if( pathItem.getNumServerObject() != 0 ){
-        for( ServerObject s : pathItem.getServerObjects() )
-        path.addServer( ServerObject.composeServer(s) );
-        }
-        if( pathItem.getNumParameterObject() != 0 ){
-        for( ParameterObject p : pathItem.getParameterObjects() )
-        path.addParameter( ParameterObject.composeParameter(p) );
-        }
-        if( pathItem.getNumExtension() != 0 ){
-        Map<String, Object> extensionMap = new HashMap<>();
-        for( Extension e : pathItem.getExtensions() )
-        extensionMap.put(e.getKey(), e.getValue());
-        path.setExtensions(extensionMap);
-        }
-
-        return path;
-        }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:217
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:190
    */
   public static PathItemOb parsePath(Path path, OAIContext context, Map<Object, ASTNode> map) throws DecodeException {
         PathItemObject pathItem = new PathItemObject();
@@ -218,6 +172,22 @@ public abstract class PathItemOb extends ASTNode<ASTNode> implements Cloneable {
    * @declaredat ASTNode:58
    */
   public abstract PathItemOb treeCopy();
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:262
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:262")
+  public abstract Path composePath(PathItemOb pathItem, Map<Object, ASTNode> map);
+  /**
+   * @attribute syn
+   * @aspect ReferenceGet
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:21
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="ReferenceGet", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:21")
+  public abstract PathItemObject pathItemObject();
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItemObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItemObject.java
index 0538f454..fe538e29 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItemObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItemObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:40
@@ -958,6 +958,85 @@ public class PathItemObject extends PathItemOb implements Cloneable {
   public JastAddList<Extension> getExtensionsNoTransform() {
     return getExtensionListNoTransform();
   }
+/** @apilevel internal */
+protected java.util.Set composePath_PathItemOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:262
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:262")
+  public Path composePath(PathItemOb pathItem, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(pathItem);
+    _parameters.add(map);
+    if (composePath_PathItemOb_Map_Object__ASTNode__visited == null) composePath_PathItemOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composePath_PathItemOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute PathItemOb.composePath(PathItemOb,Map_Object__ASTNode_).");
+    }
+    composePath_PathItemOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            Path path = new Path();
+            PathItemObject p = (PathItemObject) pathItem;
+    
+            if( !p.getSummary().isEmpty())
+            path.setSummary(p.getSummary());
+            if( !p.getDescription().isEmpty() )
+            path.setDescription(p.getDescription());
+            if( p.hasGet() )
+            path.setGet( OperationObject.composeOperation(p.getGet().getOperationObject(), map) );
+            if( p.hasPut() )
+            path.setPut( OperationObject.composeOperation(p.getPut().getOperationObject(), map) );
+            if( p.hasPost() )
+            path.setPost( OperationObject.composeOperation(p.getPost().getOperationObject(), map) );
+            if( p.hasDelete() )
+            path.setDelete( OperationObject.composeOperation(p.getDelete().getOperationObject(), map) );
+            if( p.hasOptions() )
+            path.setOptions( OperationObject.composeOperation(p.getOptions().getOperationObject(), map) );
+            if( p.hasHead() )
+            path.setHead( OperationObject.composeOperation(p.getHead().getOperationObject(), map) );
+            if( p.hasPatch() )
+            path.setPatch( OperationObject.composeOperation(p.getPatch().getOperationObject(), map) );
+            if( p.getNumServerObject() != 0 ){
+            for( ServerObject s : p.getServerObjects() )
+            path.addServer( ServerObject.composeServer(s, map) );
+            }
+            if( p.getNumParameterOb() != 0 ){
+            for( ParameterOb e : p.getParameterObs() )
+            path.addParameter( e.composeParameter(e, map) );
+            }
+            if( p.getNumExtension() != 0 ){
+            Map<String, Object> extensionMap = new HashMap<>();
+            for( Extension e : p.getExtensions() )
+            extensionMap.put(e.getKey(), e.getValue());
+            path.setExtensions(extensionMap);
+            }
+    
+            return path;
+            }
+    finally {
+      composePath_PathItemOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
+/** @apilevel internal */
+protected boolean pathItemObject_visited = false;
+  /**
+   * @attribute syn
+   * @aspect ReferenceGet
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:22
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="ReferenceGet", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:21")
+  public PathItemObject pathItemObject() {
+    if (pathItemObject_visited) {
+      throw new RuntimeException("Circular definition of attribute PathItemOb.pathItemObject().");
+    }
+    pathItemObject_visited = true;
+    PathItemObject pathItemObject_value = this;
+    pathItemObject_visited = false;
+    return pathItemObject_value;
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItemReference.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItemReference.java
index 303aacec..48008a75 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItemReference.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItemReference.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:39
@@ -197,6 +197,61 @@ public class PathItemReference extends PathItemOb implements Cloneable {
   public PathItemOb getPathItemOb() {
     return tokenPathItemOb_PathItemOb;
   }
+/** @apilevel internal */
+protected java.util.Set composePath_PathItemOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:262
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:262")
+  public Path composePath(PathItemOb pathItem, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(pathItem);
+    _parameters.add(map);
+    if (composePath_PathItemOb_Map_Object__ASTNode__visited == null) composePath_PathItemOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composePath_PathItemOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute PathItemOb.composePath(PathItemOb,Map_Object__ASTNode_).");
+    }
+    composePath_PathItemOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+                Path path = new Path();
+            PathItemReference p = (PathItemReference) pathItem;
+    
+            if( !p.getRef().isEmpty() )
+            path.setRef(p.getRef());
+    
+            return path;
+            }
+    finally {
+      composePath_PathItemOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
+/** @apilevel internal */
+protected boolean pathItemObject_visited = false;
+  /**
+   * @attribute syn
+   * @aspect ReferenceGet
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:21
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="ReferenceGet", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:21")
+  public PathItemObject pathItemObject() {
+    if (pathItemObject_visited) {
+      throw new RuntimeException("Circular definition of attribute PathItemOb.pathItemObject().");
+    }
+    pathItemObject_visited = true;
+    try {
+            if( getPathItemOb() instanceof PathItemObject )
+                return (PathItemObject) getPathItemOb();
+            else
+                return getPathItemOb().pathItemObject();
+        }
+    finally {
+      pathItemObject_visited = false;
+    }
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/PathsObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/PathsObject.java
index df3f78af..276f7a0f 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/PathsObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/PathsObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:35
@@ -24,6 +24,29 @@ import org.openapi4j.core.exception.DecodeException;
 
  */
 public class PathsObject extends ASTNode<ASTNode> implements Cloneable {
+  /**
+   * @aspect RandomRequestGenerator
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\RandomRequestGenerator.jrag:33
+   */
+  public void sendRandomRequests(String baseUrl) throws Exception {
+        if( this.getPathItemOb().pathItemObject().hasGet() ){
+        IntStream.range(0, 1).forEach( i -> {
+        try {
+        this.getPathItemOb().pathItemObject().getGet().getOperationObject().sendRandomGET(baseUrl+this.getRef());
+        } catch (Exception e) {
+        e.printStackTrace();
+        }
+        });
+        }
+        if( this.getPathItemOb().pathItemObject().hasPost() ){
+        IntStream.range(0, 1).forEach( i -> {
+        try {
+        this.getPathItemOb().pathItemObject().getPost().getOperationObject().sendRandomPOST(baseUrl+this.getRef());
+        } catch (Exception e) {
+        e.printStackTrace();
+        }
+        });}
+    }
   /**
    * @declaredat ASTNode:1
    */
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Post.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Post.java
index 6e23a5cf..fe284e01 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Post.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Post.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,15 +16,14 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:43
- * @astdecl Post : ASTNode ::= OperationObject;
- * @production Post : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>;
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:47
+ * @astdecl Post : OperationOb ::= <OperationObject:OperationObject>;
+ * @production Post : {@link OperationOb} ::= <span class="component">&lt;OperationObject:OperationObject&gt;</span>;
 
  */
-public class Post extends ASTNode<ASTNode> implements Cloneable {
+public class Post extends OperationOb implements Cloneable {
   /**
    * @declaredat ASTNode:1
    */
@@ -38,53 +38,52 @@ public class Post extends ASTNode<ASTNode> implements Cloneable {
    * @declaredat ASTNode:10
    */
   public void init$Children() {
-    children = new ASTNode[1];
   }
   /**
-   * @declaredat ASTNode:13
+   * @declaredat ASTNode:12
    */
   @ASTNodeAnnotation.Constructor(
     name = {"OperationObject"},
     type = {"OperationObject"},
-    kind = {"Child"}
+    kind = {"Token"}
   )
   public Post(OperationObject p0) {
-    setChild(p0, 0);
+    setOperationObject(p0);
   }
   /** @apilevel low-level 
-   * @declaredat ASTNode:22
+   * @declaredat ASTNode:21
    */
   protected int numChildren() {
-    return 1;
+    return 0;
   }
   /**
    * @apilevel internal
-   * @declaredat ASTNode:28
+   * @declaredat ASTNode:27
    */
   public boolean mayHaveRewrite() {
     return false;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:32
+   * @declaredat ASTNode:31
    */
   public void flushAttrCache() {
     super.flushAttrCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:36
+   * @declaredat ASTNode:35
    */
   public void flushCollectionCache() {
     super.flushCollectionCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:40
+   * @declaredat ASTNode:39
    */
   public Post clone() throws CloneNotSupportedException {
     Post node = (Post) super.clone();
     return node;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:45
+   * @declaredat ASTNode:44
    */
   public Post copy() {
     try {
@@ -104,7 +103,7 @@ public class Post extends ASTNode<ASTNode> implements Cloneable {
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
    * @deprecated Please use treeCopy or treeCopyNoTransform instead
-   * @declaredat ASTNode:64
+   * @declaredat ASTNode:63
    */
   @Deprecated
   public Post fullCopy() {
@@ -115,7 +114,7 @@ public class Post extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:74
+   * @declaredat ASTNode:73
    */
   public Post treeCopyNoTransform() {
     Post tree = (Post) copy();
@@ -136,7 +135,7 @@ public class Post extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:94
+   * @declaredat ASTNode:93
    */
   public Post treeCopy() {
     Post tree = (Post) copy();
@@ -152,36 +151,30 @@ public class Post extends ASTNode<ASTNode> implements Cloneable {
     return tree;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:108
+   * @declaredat ASTNode:107
    */
   protected boolean is$Equal(ASTNode node) {
-    return super.is$Equal(node);    
+    return super.is$Equal(node) && (tokenOperationObject_OperationObject == ((Post) node).tokenOperationObject_OperationObject);    
   }
   /**
-   * Replaces the OperationObject child.
-   * @param node The new node to replace the OperationObject child.
+   * Replaces the lexeme OperationObject.
+   * @param value The new value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  public void setOperationObject(OperationObject node) {
-    setChild(node, 0);
+  public void setOperationObject(OperationObject value) {
+    tokenOperationObject_OperationObject = value;
   }
+  /** @apilevel internal 
+   */
+  protected OperationObject tokenOperationObject_OperationObject;
   /**
-   * Retrieves the OperationObject child.
-   * @return The current node used as the OperationObject child.
+   * Retrieves the value for the lexeme OperationObject.
+   * @return The value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  @ASTNodeAnnotation.Child(name="OperationObject")
+  @ASTNodeAnnotation.Token(name="OperationObject")
   public OperationObject getOperationObject() {
-    return (OperationObject) getChild(0);
-  }
-  /**
-   * Retrieves the OperationObject child.
-   * <p><em>This method does not invoke AST transformations.</em></p>
-   * @return The current node used as the OperationObject child.
-   * @apilevel low-level
-   */
-  public OperationObject getOperationObjectNoTransform() {
-    return (OperationObject) getChildNoTransform(0);
+    return tokenOperationObject_OperationObject;
   }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/PropertyItem.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/PropertyItem.java
index 48a6e438..3cb1b6bb 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/PropertyItem.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/PropertyItem.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:112
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:113
  * @astdecl PropertyItem : ASTNode ::= <Name:String> SchemaOb;
  * @production PropertyItem : {@link ASTNode} ::= <span class="component">&lt;Name:String&gt;</span> <span class="component">{@link SchemaOb}</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Put.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Put.java
index 8142057f..9b0e0803 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Put.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Put.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,15 +16,14 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:42
- * @astdecl Put : ASTNode ::= OperationObject;
- * @production Put : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>;
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:46
+ * @astdecl Put : OperationOb ::= <OperationObject:OperationObject>;
+ * @production Put : {@link OperationOb} ::= <span class="component">&lt;OperationObject:OperationObject&gt;</span>;
 
  */
-public class Put extends ASTNode<ASTNode> implements Cloneable {
+public class Put extends OperationOb implements Cloneable {
   /**
    * @declaredat ASTNode:1
    */
@@ -38,53 +38,52 @@ public class Put extends ASTNode<ASTNode> implements Cloneable {
    * @declaredat ASTNode:10
    */
   public void init$Children() {
-    children = new ASTNode[1];
   }
   /**
-   * @declaredat ASTNode:13
+   * @declaredat ASTNode:12
    */
   @ASTNodeAnnotation.Constructor(
     name = {"OperationObject"},
     type = {"OperationObject"},
-    kind = {"Child"}
+    kind = {"Token"}
   )
   public Put(OperationObject p0) {
-    setChild(p0, 0);
+    setOperationObject(p0);
   }
   /** @apilevel low-level 
-   * @declaredat ASTNode:22
+   * @declaredat ASTNode:21
    */
   protected int numChildren() {
-    return 1;
+    return 0;
   }
   /**
    * @apilevel internal
-   * @declaredat ASTNode:28
+   * @declaredat ASTNode:27
    */
   public boolean mayHaveRewrite() {
     return false;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:32
+   * @declaredat ASTNode:31
    */
   public void flushAttrCache() {
     super.flushAttrCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:36
+   * @declaredat ASTNode:35
    */
   public void flushCollectionCache() {
     super.flushCollectionCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:40
+   * @declaredat ASTNode:39
    */
   public Put clone() throws CloneNotSupportedException {
     Put node = (Put) super.clone();
     return node;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:45
+   * @declaredat ASTNode:44
    */
   public Put copy() {
     try {
@@ -104,7 +103,7 @@ public class Put extends ASTNode<ASTNode> implements Cloneable {
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
    * @deprecated Please use treeCopy or treeCopyNoTransform instead
-   * @declaredat ASTNode:64
+   * @declaredat ASTNode:63
    */
   @Deprecated
   public Put fullCopy() {
@@ -115,7 +114,7 @@ public class Put extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:74
+   * @declaredat ASTNode:73
    */
   public Put treeCopyNoTransform() {
     Put tree = (Put) copy();
@@ -136,7 +135,7 @@ public class Put extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:94
+   * @declaredat ASTNode:93
    */
   public Put treeCopy() {
     Put tree = (Put) copy();
@@ -152,36 +151,30 @@ public class Put extends ASTNode<ASTNode> implements Cloneable {
     return tree;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:108
+   * @declaredat ASTNode:107
    */
   protected boolean is$Equal(ASTNode node) {
-    return super.is$Equal(node);    
+    return super.is$Equal(node) && (tokenOperationObject_OperationObject == ((Put) node).tokenOperationObject_OperationObject);    
   }
   /**
-   * Replaces the OperationObject child.
-   * @param node The new node to replace the OperationObject child.
+   * Replaces the lexeme OperationObject.
+   * @param value The new value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  public void setOperationObject(OperationObject node) {
-    setChild(node, 0);
+  public void setOperationObject(OperationObject value) {
+    tokenOperationObject_OperationObject = value;
   }
+  /** @apilevel internal 
+   */
+  protected OperationObject tokenOperationObject_OperationObject;
   /**
-   * Retrieves the OperationObject child.
-   * @return The current node used as the OperationObject child.
+   * Retrieves the value for the lexeme OperationObject.
+   * @return The value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  @ASTNodeAnnotation.Child(name="OperationObject")
+  @ASTNodeAnnotation.Token(name="OperationObject")
   public OperationObject getOperationObject() {
-    return (OperationObject) getChild(0);
-  }
-  /**
-   * Retrieves the OperationObject child.
-   * <p><em>This method does not invoke AST transformations.</em></p>
-   * @return The current node used as the OperationObject child.
-   * @apilevel low-level
-   */
-  public OperationObject getOperationObjectNoTransform() {
-    return (OperationObject) getChildNoTransform(0);
+    return tokenOperationObject_OperationObject;
   }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyOb.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyOb.java
index 752bf611..3e5820ed 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyOb.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyOb.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,40 +16,17 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:64
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:65
  * @astdecl RequestBodyOb : ASTNode;
  * @production RequestBodyOb : {@link ASTNode};
 
  */
 public abstract class RequestBodyOb extends ASTNode<ASTNode> implements Cloneable {
-  /**
-   * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:408
-   */
-  public static org.openapi4j.parser.model.v3.RequestBody composeRequestBody (RequestBodyOb requestBodyObject, Map<Object, ASTNode> map){
-        org.openapi4j.parser.model.v3.RequestBody requestBody = new org.openapi4j.parser.model.v3.RequestBody();
-
-        if( requestBodyObject.getNumContentTuple() != 0 ){
-        Map<String, MediaType> contents = new HashMap<>();
-        for( ContentTuple t : requestBodyObject.getContentTuples())
-        contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject()));
-        requestBody.setContentMediaTypes(contents);
-        }
-        if( !requestBodyObject.getDescription().isEmpty() )
-        requestBody.setDescription(requestBodyObject.getDescription());
-        if( requestBodyObject.getRequired() != null )
-        requestBody.setRequired(requestBodyObject.getRequired());
-        if( !requestBodyObject.getRef().isEmpty() )
-        requestBody.setRef(requestBodyObject.getRef());
-
-        return requestBody;
-        }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:403
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:376
    */
   public static RequestBodyOb parseRequestBody(org.openapi4j.parser.model.v3.RequestBody requestBody, OAIContext context, Map<Object, ASTNode> map) throws DecodeException {
         RequestBodyObject requestBodyObject = new RequestBodyObject();
@@ -150,6 +128,14 @@ public abstract class RequestBodyOb extends ASTNode<ASTNode> implements Cloneabl
    * @declaredat ASTNode:58
    */
   public abstract RequestBodyOb treeCopy();
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:440
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:440")
+  public abstract RequestBody composeRequestBody(RequestBodyOb requestBodyOb, Map<Object, ASTNode> map);
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyObject.java
index c3370f24..52fa5978 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:66
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:67
  * @astdecl RequestBodyObject : RequestBodyOb ::= <Description:String> ContentTuple* <Required:Boolean> Extension*;
  * @production RequestBodyObject : {@link RequestBodyOb} ::= <span class="component">&lt;Description:String&gt;</span> <span class="component">{@link ContentTuple}*</span> <span class="component">&lt;Required:Boolean&gt;</span> <span class="component">{@link Extension}*</span>;
 
@@ -422,6 +422,45 @@ public class RequestBodyObject extends RequestBodyOb implements Cloneable {
   public JastAddList<Extension> getExtensionsNoTransform() {
     return getExtensionListNoTransform();
   }
+/** @apilevel internal */
+protected java.util.Set composeRequestBody_RequestBodyOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:440
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:440")
+  public RequestBody composeRequestBody(RequestBodyOb requestBodyOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(requestBodyOb);
+    _parameters.add(map);
+    if (composeRequestBody_RequestBodyOb_Map_Object__ASTNode__visited == null) composeRequestBody_RequestBodyOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeRequestBody_RequestBodyOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute RequestBodyOb.composeRequestBody(RequestBodyOb,Map_Object__ASTNode_).");
+    }
+    composeRequestBody_RequestBodyOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            RequestBody requestBody = new RequestBody();
+            RequestBodyObject r = (RequestBodyObject) requestBodyOb;
+    
+            if( r.getNumContentTuple() != 0 ){
+            Map<String, MediaType> contents = new HashMap<>();
+            for( ContentTuple t : r.getContentTuples())
+            contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject(), map));
+            requestBody.setContentMediaTypes(contents);
+            }
+            if( !r.getDescription().isEmpty() )
+            requestBody.setDescription(r.getDescription());
+            if( r.getRequired() != null )
+            requestBody.setRequired(r.getRequired());
+    
+            return requestBody;
+            }
+    finally {
+      composeRequestBody_RequestBodyOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyReference.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyReference.java
index cfc63430..8e030b1b 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyReference.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyReference.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:65
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:66
  * @astdecl RequestBodyReference : RequestBodyOb ::= <Ref:String> <RequestBodyOb:RequestBodyOb>;
  * @production RequestBodyReference : {@link RequestBodyOb} ::= <span class="component">&lt;Ref:String&gt;</span> <span class="component">&lt;RequestBodyOb:RequestBodyOb&gt;</span>;
 
@@ -197,6 +197,37 @@ public class RequestBodyReference extends RequestBodyOb implements Cloneable {
   public RequestBodyOb getRequestBodyOb() {
     return tokenRequestBodyOb_RequestBodyOb;
   }
+/** @apilevel internal */
+protected java.util.Set composeRequestBody_RequestBodyOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:440
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:440")
+  public RequestBody composeRequestBody(RequestBodyOb requestBodyOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(requestBodyOb);
+    _parameters.add(map);
+    if (composeRequestBody_RequestBodyOb_Map_Object__ASTNode__visited == null) composeRequestBody_RequestBodyOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeRequestBody_RequestBodyOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute RequestBodyOb.composeRequestBody(RequestBodyOb,Map_Object__ASTNode_).");
+    }
+    composeRequestBody_RequestBodyOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            RequestBody requestBody = new RequestBody();
+            RequestBodyReference r = (RequestBodyReference) requestBodyOb;
+    
+            if( !r.getRef().isEmpty() )
+            requestBody.setRef(r.getRef());
+    
+            return requestBody;
+            }
+    finally {
+      composeRequestBody_RequestBodyOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyTuple.java
index 26a42b85..de0d31a7 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:27
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequiredField.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequiredField.java
index 32ca219c..5d6f2c1a 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequiredField.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequiredField.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:113
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:114
  * @astdecl RequiredField : ASTNode ::= <Value:String>;
  * @production RequiredField : {@link ASTNode} ::= <span class="component">&lt;Value:String&gt;</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseOb.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseOb.java
index f2b7ee50..b76b3a6d 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseOb.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseOb.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,50 +16,17 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:76
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:77
  * @astdecl ResponseOb : ASTNode;
  * @production ResponseOb : {@link ASTNode};
 
  */
 public abstract class ResponseOb extends ASTNode<ASTNode> implements Cloneable {
-  /**
-   * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:475
-   */
-  public static Response composeResponse (ResponseObject responseObject, Map<Object, ASTNode> map){
-        Response response = new Response();
-
-        if( !responseObject.getRef().isEmpty() )
-        response.setRef(responseObject.getRef());
-        if( !responseObject.getDescription().isEmpty() )
-        response.setDescription(responseObject.getDescription());
-        if( responseObject.getNumHeaderTuple() != 0 ){
-        Map<String, Header> headers = new HashMap<>();
-        for( HeaderTuple t : responseObject.getHeaderTuples() )
-        headers.put(t.getKey(), HeaderObject.composeHeader(t.getHeaderObject()));
-        response.setHeaders(headers);
-        }
-        if( responseObject.getNumContentTuple() != 0 ){
-        Map<String, MediaType> contents = new HashMap<>();
-        for( ContentTuple t : responseObject.getContentTuples() )
-        contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject()));
-        response.setContentMediaTypes(contents);
-        }
-        if( responseObject.getNumLinkTuple() != 0 ){
-        Map<String, Link> links = new HashMap<>();
-        for( LinkTuple t : responseObject.getLinkTuples() )
-        links.put(t.getKey(), LinkObject.composeLink(t.getLinkObject()));
-        response.setLinks(links);
-        }
-
-        return response;
-        }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:476
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:449
    */
   public static ResponseOb parseResponse(Response response, OAIContext context, Map<Object, ASTNode> map) throws DecodeException {
         ResponseObject responseObject = new ResponseObject();
@@ -166,6 +134,14 @@ public abstract class ResponseOb extends ASTNode<ASTNode> implements Cloneable {
    * @declaredat ASTNode:58
    */
   public abstract ResponseOb treeCopy();
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:520
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:520")
+  public abstract Response composeResponse(ResponseOb responseOb, Map<Object, ASTNode> map);
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseObject.java
index c6bbc62b..85cf50d7 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:78
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:79
  * @astdecl ResponseObject : ResponseOb ::= <Description:String> HeaderTuple* ContentTuple* LinkTuple* Extension*;
  * @production ResponseObject : {@link ResponseOb} ::= <span class="component">&lt;Description:String&gt;</span> <span class="component">{@link HeaderTuple}*</span> <span class="component">{@link ContentTuple}*</span> <span class="component">{@link LinkTuple}*</span> <span class="component">{@link Extension}*</span>;
 
@@ -625,6 +625,55 @@ public class ResponseObject extends ResponseOb implements Cloneable {
   public JastAddList<Extension> getExtensionsNoTransform() {
     return getExtensionListNoTransform();
   }
+/** @apilevel internal */
+protected java.util.Set composeResponse_ResponseOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:520
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:520")
+  public Response composeResponse(ResponseOb responseOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(responseOb);
+    _parameters.add(map);
+    if (composeResponse_ResponseOb_Map_Object__ASTNode__visited == null) composeResponse_ResponseOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeResponse_ResponseOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute ResponseOb.composeResponse(ResponseOb,Map_Object__ASTNode_).");
+    }
+    composeResponse_ResponseOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            Response response = new Response();
+            ResponseObject r = (ResponseObject) responseOb;
+    
+            if( !r.getDescription().isEmpty() )
+            response.setDescription(r.getDescription());
+            if( r.getNumHeaderTuple() != 0 ){
+            Map<String, Header> headers = new HashMap<>();
+            for( HeaderTuple t : r.getHeaderTuples() )
+            headers.put(t.getKey(), t.getHeaderOb().composeHeader(t.getHeaderOb(), map));
+            response.setHeaders(headers);
+            }
+            if( r.getNumContentTuple() != 0 ){
+            Map<String, MediaType> contents = new HashMap<>();
+            for( ContentTuple t : r.getContentTuples() )
+            contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject(), map));
+            response.setContentMediaTypes(contents);
+            }
+            if( r.getNumLinkTuple() != 0 ){
+            Map<String, Link> links = new HashMap<>();
+            for( LinkTuple t : r.getLinkTuples() )
+            links.put(t.getKey(), t.getLinkOb().composeLink(t.getLinkOb(), map));
+            response.setLinks(links);
+            }
+    
+            return response;
+            }
+    finally {
+      composeResponse_ResponseOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseReference.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseReference.java
index 8596d1c7..ce89ba14 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseReference.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseReference.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:77
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:78
  * @astdecl ResponseReference : ResponseOb ::= <Ref:String> <ResponseOb:ResponseOb>;
  * @production ResponseReference : {@link ResponseOb} ::= <span class="component">&lt;Ref:String&gt;</span> <span class="component">&lt;ResponseOb:ResponseOb&gt;</span>;
 
@@ -197,6 +197,37 @@ public class ResponseReference extends ResponseOb implements Cloneable {
   public ResponseOb getResponseOb() {
     return tokenResponseOb_ResponseOb;
   }
+/** @apilevel internal */
+protected java.util.Set composeResponse_ResponseOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:520
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:520")
+  public Response composeResponse(ResponseOb responseOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(responseOb);
+    _parameters.add(map);
+    if (composeResponse_ResponseOb_Map_Object__ASTNode__visited == null) composeResponse_ResponseOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeResponse_ResponseOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute ResponseOb.composeResponse(ResponseOb,Map_Object__ASTNode_).");
+    }
+    composeResponse_ResponseOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            Response response = new Response();
+            ResponseReference r = (ResponseReference) responseOb;
+    
+            if( !r.getRef().isEmpty() )
+            response.setRef(r.getRef());
+    
+            return response;
+            }
+    finally {
+      composeResponse_ResponseOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseTuple.java
index 2fa0f990..0cb216ff 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:24
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaOb.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaOb.java
index 41389456..030f2995 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaOb.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaOb.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,28 +16,17 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:105
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:106
  * @astdecl SchemaOb : ASTNode;
  * @production SchemaOb : {@link ASTNode};
 
  */
 public abstract class SchemaOb extends ASTNode<ASTNode> implements Cloneable {
-  /**
-   * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:616
-   */
-  public static org.openapi4j.parser.model.v3.Schema composeSchema (SchemaOb schemaOb, Map<Object, ASTNode> map){
-        org.openapi4j.parser.model.v3.Schema schema = new org.openapi4j.parser.model.v3.Schema();
-
-
-        return schema;
-        }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:653
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:626
    */
   public static SchemaOb parseSchema (org.openapi4j.parser.model.v3.Schema schema, OAIContext context, Map<Object, ASTNode> map) throws DecodeException {
         SchemaObject schemaObject = new SchemaObject();
@@ -48,7 +38,7 @@ public abstract class SchemaOb extends ASTNode<ASTNode> implements Cloneable {
         return s;
         } else {
         if( schema.getAdditionalProperties() != null )
-        schemaObject.setAdditionalProperties(parseSchema(schema.getAdditionalProperties(), context, map));
+        schemaObject.setAdditionalProperties(new AdditionalProperties(parseSchema(schema.getAdditionalProperties(), context, map)));
         if( schema.getAdditionalProperties() == null && schema.getAdditionalPropertiesAllowed() != null )
         schemaObject.setAdditionalPropertiesAllowed(schema.getAdditionalPropertiesAllowed());
         if( schema.getDefault() != null )
@@ -160,118 +150,6 @@ public abstract class SchemaOb extends ASTNode<ASTNode> implements Cloneable {
         }
         }
 
-        if( schema.getAdditionalProperties() != null )
-        schemaObject.setAdditionalProperties(parseSchema(schema.getAdditionalProperties(), context, map));
-        if( schema.getAdditionalProperties() == null && schema.getAdditionalPropertiesAllowed() != null )
-        schemaObject.setAdditionalPropertiesAllowed(schema.getAdditionalPropertiesAllowed());
-        if( schema.getDefault() != null )
-        schemaObject.setDefaultValue(schema.getDefault());
-        if( schema.getDescription() != null )
-        schemaObject.setDescription(schema.getDescription());
-        if( schema.getDeprecated() != null )
-        schemaObject.setDeprecatedBoolean(schema.getDeprecated());
-        if( schema.getDiscriminator() != null )
-        schemaObject.setDiscriminatorObject(DiscriminatorObject.parseDiscriminator(schema.getDiscriminator(), map));
-        if( schema.getEnums() != null ){
-        for( Object o : schema.getEnums() ){
-        EnumObj enumObj = new EnumObj();
-        enumObj.setEnumOb(o);
-        schemaObject.addEnumObj(enumObj);
-        }
-        }
-        if( schema.getExample() != null )
-        schemaObject.setExample(schema.getExample());
-        if( schema.getExclusiveMaximum() != null )
-        schemaObject.setExclusiveMaximum(schema.getExclusiveMaximum());
-        if( schema.getExclusiveMinimum() != null )
-        schemaObject.setExclusiveMinimum(schema.getExclusiveMinimum());
-        if( schema.getExternalDocs() != null )
-        schemaObject.setExternalDocObject(ExternalDocObject.parseExternalDocs(schema.getExternalDocs(), map));
-        if( schema.getFormat() != null )
-        schemaObject.setFormat(schema.getFormat());
-        if( schema.getItemsSchema() != null ){
-        ItemsSchema itemsSchema = new ItemsSchema();
-        itemsSchema.setSchemaOb(parseSchema(schema.getItemsSchema(), context, map));
-        schemaObject.setItemsSchema(itemsSchema);
-        }
-        if( schema.getMaximum() != null )
-        schemaObject.setMaximum(schema.getMaximum());
-        if( schema.getMinimum() != null )
-        schemaObject.setMinimum(schema.getMinimum());
-        if( schema.getMaxItems() != null )
-        schemaObject.setMaxItems(schema.getMaxItems());
-        if( schema.getMinItems() != null )
-        schemaObject.setMinItems(schema.getMinItems());
-        if( schema.getMaxLength() != null )
-        schemaObject.setMaxLength(schema.getMaxLength());
-        if( schema.getMinLength() != null )
-        schemaObject.setMinLength(schema.getMinLength());
-        if( schema.getMaxProperties() != null )
-        schemaObject.setMaxProperties(schema.getMaxProperties());
-        if( schema.getMinProperties() != null )
-        schemaObject.setMinProperties(schema.getMinProperties());
-        if( schema.getMultipleOf() != null )
-        schemaObject.setMultipleOf(schema.getMultipleOf());
-        if( schema.getNotSchema() != null ){
-        NotSchema notSchema = new NotSchema();
-        notSchema.setSchemaOb(parseSchema(schema.getNotSchema(), context, map));
-        schemaObject.setNotSchema(notSchema);
-        }
-        if( schema.getNullable() != null )
-        schemaObject.setNullable(schema.getNullable());
-        if( schema.getPattern() != null )
-        schemaObject.setPattern(schema.getPattern());
-        if( schema.getProperties() != null  ){
-        for( String key : schema.getProperties().keySet() ){
-        PropertyItem propertyItem = new PropertyItem();
-        schemaObject.addPropertyItem(new PropertyItem(key, parseSchema(schema.getProperty(key), context, map)));
-        }
-        }
-        if( schema.getRequiredFields() != null ){
-        for( String s : schema.getRequiredFields() ){
-        RequiredField requiredField = new RequiredField();
-        requiredField.setValue(s);
-        schemaObject.addRequiredField(requiredField);
-        }
-        }
-        if( schema.getAllOfSchemas() != null ){
-        for(org.openapi4j.parser.model.v3.Schema schemaItem : schema.getAllOfSchemas()){
-        AllOfSchema allOfSchema = new AllOfSchema();
-        allOfSchema.setSchemaOb(parseSchema(schemaItem, context, map));
-        schemaObject.addAllOfSchema(allOfSchema);
-        }
-        }
-        if( schema.getAnyOfSchemas() != null ){
-        for(org.openapi4j.parser.model.v3.Schema schemaItem : schema.getAnyOfSchemas()){
-        AnyOfSchema anyOfSchema = new AnyOfSchema();
-        anyOfSchema.setSchemaOb(parseSchema(schemaItem, context, map));
-        schemaObject.addAnyOfSchema(anyOfSchema);
-        }
-        }
-        if( schema.getOneOfSchemas() != null ){
-        for(org.openapi4j.parser.model.v3.Schema schemaItem : schema.getOneOfSchemas()){
-        OneOfSchema oneOfSchema = new OneOfSchema();
-        oneOfSchema.setSchemaOb(parseSchema(schemaItem, context, map));
-        schemaObject.addOneOfSchema(oneOfSchema);
-        }
-        }
-        if( schema.getReadOnly() != null )
-        schemaObject.setReadOnly(schema.getReadOnly());
-        if( schema.getWriteOnly() != null )
-        schemaObject.setWriteOnly(schema.getWriteOnly());
-        if( schema.getType() != null )
-        schemaObject.setType(schema.getType());
-        if( schema.getTitle() != null )
-        schemaObject.setTitle(schema.getTitle());
-        if( schema.getUniqueItems() != null )
-        schemaObject.setUniqueItems(schema.getUniqueItems());
-        if( schema.getXml() != null )
-        schemaObject.setXmlObject(XmlObject.parseXml(schema.getXml(), map));
-        if( schema.getExtensions() != null ){
-        for( String key : schema.getExtensions().keySet() )
-        schemaObject.addExtension(new Extension(key, schema.getExtensions().get(key)));
-        }
-
         map.put(schema, schemaObject);
         return schemaObject;
         }
@@ -349,6 +227,22 @@ public abstract class SchemaOb extends ASTNode<ASTNode> implements Cloneable {
    * @declaredat ASTNode:58
    */
   public abstract SchemaOb treeCopy();
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:701
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:701")
+  public abstract org.openapi4j.parser.model.v3.Schema composeSchema(SchemaOb schemaOb, Map<Object, ASTNode> map);
+  /**
+   * @attribute syn
+   * @aspect ReferenceGet
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:12
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="ReferenceGet", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:12")
+  public abstract SchemaObject schemaObject();
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaObject.java
index 3fdfc999..a9e89221 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,12 +16,11 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:107
- * @astdecl SchemaObject : SchemaOb ::= <AdditionalProperties:SchemaOb> <AdditionalPropertiesAllowed:Boolean> <DefaultValue:Object> <Description:String> <DeprecatedBoolean:Boolean> [DiscriminatorObject] EnumObj* <Example:Object> <ExclusiveMaximum:Boolean> <ExclusiveMinimum:Boolean> [ExternalDocObject] <Format:String> [ItemsSchema] <Maximum:Number> <Minimum:Number> <MaxItems:Integer> <MinItems:Integer> <MaxLength:Integer> <MinLength:Integer> <MaxProperties:Integer> <MinProperties:Integer> <MultipleOf:Number> [NotSchema] <Nullable:Boolean> <Pattern:String> PropertyItem* RequiredField* AllOfSchema* AnyOfSchema* OneOfSchema* <ReadOnly:Boolean> <WriteOnly:Boolean> <Type:String> <Title:String> <UniqueItems:Boolean> [XmlObject] Extension*;
- * @production SchemaObject : {@link SchemaOb} ::= <span class="component">&lt;AdditionalProperties:SchemaOb&gt;</span> <span class="component">&lt;AdditionalPropertiesAllowed:Boolean&gt;</span> <span class="component">&lt;DefaultValue:Object&gt;</span> <span class="component">&lt;Description:String&gt;</span> <span class="component">&lt;DeprecatedBoolean:Boolean&gt;</span> <span class="component">[{@link DiscriminatorObject}]</span> <span class="component">{@link EnumObj}*</span> <span class="component">&lt;Example:Object&gt;</span> <span class="component">&lt;ExclusiveMaximum:Boolean&gt;</span> <span class="component">&lt;ExclusiveMinimum:Boolean&gt;</span> <span class="component">[{@link ExternalDocObject}]</span> <span class="component">&lt;Format:String&gt;</span> <span class="component">[{@link ItemsSchema}]</span> <span class="component">&lt;Maximum:Number&gt;</span> <span class="component">&lt;Minimum:Number&gt;</span> <span class="component">&lt;MaxItems:Integer&gt;</span> <span class="component">&lt;MinItems:Integer&gt;</span> <span class="component">&lt;MaxLength:Integer&gt;</span> <span class="component">&lt;MinLength:Integer&gt;</span> <span class="component">&lt;MaxProperties:Integer&gt;</span> <span class="component">&lt;MinProperties:Integer&gt;</span> <span class="component">&lt;MultipleOf:Number&gt;</span> <span class="component">[{@link NotSchema}]</span> <span class="component">&lt;Nullable:Boolean&gt;</span> <span class="component">&lt;Pattern:String&gt;</span> <span class="component">{@link PropertyItem}*</span> <span class="component">{@link RequiredField}*</span> <span class="component">{@link AllOfSchema}*</span> <span class="component">{@link AnyOfSchema}*</span> <span class="component">{@link OneOfSchema}*</span> <span class="component">&lt;ReadOnly:Boolean&gt;</span> <span class="component">&lt;WriteOnly:Boolean&gt;</span> <span class="component">&lt;Type:String&gt;</span> <span class="component">&lt;Title:String&gt;</span> <span class="component">&lt;UniqueItems:Boolean&gt;</span> <span class="component">[{@link XmlObject}]</span> <span class="component">{@link Extension}*</span>;
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:108
+ * @astdecl SchemaObject : SchemaOb ::= [AdditionalProperties] <AdditionalPropertiesAllowed:Boolean> <DefaultValue:Object> <Description:String> <DeprecatedBoolean:Boolean> [DiscriminatorObject] EnumObj* <Example:Object> <ExclusiveMaximum:Boolean> <ExclusiveMinimum:Boolean> [ExternalDocObject] <Format:String> [ItemsSchema] <Maximum:Number> <Minimum:Number> <MaxItems:Integer> <MinItems:Integer> <MaxLength:Integer> <MinLength:Integer> <MaxProperties:Integer> <MinProperties:Integer> <MultipleOf:Number> [NotSchema] <Nullable:Boolean> <Pattern:String> PropertyItem* RequiredField* AllOfSchema* AnyOfSchema* OneOfSchema* <ReadOnly:Boolean> <WriteOnly:Boolean> <Type:String> <Title:String> <UniqueItems:Boolean> [XmlObject] Extension*;
+ * @production SchemaObject : {@link SchemaOb} ::= <span class="component">[{@link AdditionalProperties}]</span> <span class="component">&lt;AdditionalPropertiesAllowed:Boolean&gt;</span> <span class="component">&lt;DefaultValue:Object&gt;</span> <span class="component">&lt;Description:String&gt;</span> <span class="component">&lt;DeprecatedBoolean:Boolean&gt;</span> <span class="component">[{@link DiscriminatorObject}]</span> <span class="component">{@link EnumObj}*</span> <span class="component">&lt;Example:Object&gt;</span> <span class="component">&lt;ExclusiveMaximum:Boolean&gt;</span> <span class="component">&lt;ExclusiveMinimum:Boolean&gt;</span> <span class="component">[{@link ExternalDocObject}]</span> <span class="component">&lt;Format:String&gt;</span> <span class="component">[{@link ItemsSchema}]</span> <span class="component">&lt;Maximum:Number&gt;</span> <span class="component">&lt;Minimum:Number&gt;</span> <span class="component">&lt;MaxItems:Integer&gt;</span> <span class="component">&lt;MinItems:Integer&gt;</span> <span class="component">&lt;MaxLength:Integer&gt;</span> <span class="component">&lt;MinLength:Integer&gt;</span> <span class="component">&lt;MaxProperties:Integer&gt;</span> <span class="component">&lt;MinProperties:Integer&gt;</span> <span class="component">&lt;MultipleOf:Number&gt;</span> <span class="component">[{@link NotSchema}]</span> <span class="component">&lt;Nullable:Boolean&gt;</span> <span class="component">&lt;Pattern:String&gt;</span> <span class="component">{@link PropertyItem}*</span> <span class="component">{@link RequiredField}*</span> <span class="component">{@link AllOfSchema}*</span> <span class="component">{@link AnyOfSchema}*</span> <span class="component">{@link OneOfSchema}*</span> <span class="component">&lt;ReadOnly:Boolean&gt;</span> <span class="component">&lt;WriteOnly:Boolean&gt;</span> <span class="component">&lt;Type:String&gt;</span> <span class="component">&lt;Title:String&gt;</span> <span class="component">&lt;UniqueItems:Boolean&gt;</span> <span class="component">[{@link XmlObject}]</span> <span class="component">{@link Extension}*</span>;
 
  */
 public class SchemaObject extends SchemaOb implements Cloneable {
@@ -38,42 +38,43 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @declaredat ASTNode:10
    */
   public void init$Children() {
-    children = new ASTNode[12];
+    children = new ASTNode[13];
     setChild(new Opt(), 0);
-    setChild(new JastAddList(), 1);
-    setChild(new Opt(), 2);
+    setChild(new Opt(), 1);
+    setChild(new JastAddList(), 2);
     setChild(new Opt(), 3);
     setChild(new Opt(), 4);
-    setChild(new JastAddList(), 5);
+    setChild(new Opt(), 5);
     setChild(new JastAddList(), 6);
     setChild(new JastAddList(), 7);
     setChild(new JastAddList(), 8);
     setChild(new JastAddList(), 9);
-    setChild(new Opt(), 10);
-    setChild(new JastAddList(), 11);
+    setChild(new JastAddList(), 10);
+    setChild(new Opt(), 11);
+    setChild(new JastAddList(), 12);
   }
   /**
-   * @declaredat ASTNode:25
+   * @declaredat ASTNode:26
    */
   @ASTNodeAnnotation.Constructor(
     name = {"AdditionalProperties", "AdditionalPropertiesAllowed", "DefaultValue", "Description", "DeprecatedBoolean", "DiscriminatorObject", "EnumObj", "Example", "ExclusiveMaximum", "ExclusiveMinimum", "ExternalDocObject", "Format", "ItemsSchema", "Maximum", "Minimum", "MaxItems", "MinItems", "MaxLength", "MinLength", "MaxProperties", "MinProperties", "MultipleOf", "NotSchema", "Nullable", "Pattern", "PropertyItem", "RequiredField", "AllOfSchema", "AnyOfSchema", "OneOfSchema", "ReadOnly", "WriteOnly", "Type", "Title", "UniqueItems", "XmlObject", "Extension"},
-    type = {"SchemaOb", "Boolean", "Object", "String", "Boolean", "Opt<DiscriminatorObject>", "JastAddList<EnumObj>", "Object", "Boolean", "Boolean", "Opt<ExternalDocObject>", "String", "Opt<ItemsSchema>", "Number", "Number", "Integer", "Integer", "Integer", "Integer", "Integer", "Integer", "Number", "Opt<NotSchema>", "Boolean", "String", "JastAddList<PropertyItem>", "JastAddList<RequiredField>", "JastAddList<AllOfSchema>", "JastAddList<AnyOfSchema>", "JastAddList<OneOfSchema>", "Boolean", "Boolean", "String", "String", "Boolean", "Opt<XmlObject>", "JastAddList<Extension>"},
-    kind = {"Token", "Token", "Token", "Token", "Token", "Opt", "List", "Token", "Token", "Token", "Opt", "Token", "Opt", "Token", "Token", "Token", "Token", "Token", "Token", "Token", "Token", "Token", "Opt", "Token", "Token", "List", "List", "List", "List", "List", "Token", "Token", "Token", "Token", "Token", "Opt", "List"}
+    type = {"Opt<AdditionalProperties>", "Boolean", "Object", "String", "Boolean", "Opt<DiscriminatorObject>", "JastAddList<EnumObj>", "Object", "Boolean", "Boolean", "Opt<ExternalDocObject>", "String", "Opt<ItemsSchema>", "Number", "Number", "Integer", "Integer", "Integer", "Integer", "Integer", "Integer", "Number", "Opt<NotSchema>", "Boolean", "String", "JastAddList<PropertyItem>", "JastAddList<RequiredField>", "JastAddList<AllOfSchema>", "JastAddList<AnyOfSchema>", "JastAddList<OneOfSchema>", "Boolean", "Boolean", "String", "String", "Boolean", "Opt<XmlObject>", "JastAddList<Extension>"},
+    kind = {"Opt", "Token", "Token", "Token", "Token", "Opt", "List", "Token", "Token", "Token", "Opt", "Token", "Opt", "Token", "Token", "Token", "Token", "Token", "Token", "Token", "Token", "Token", "Opt", "Token", "Token", "List", "List", "List", "List", "List", "Token", "Token", "Token", "Token", "Token", "Opt", "List"}
   )
-  public SchemaObject(SchemaOb p0, Boolean p1, Object p2, String p3, Boolean p4, Opt<DiscriminatorObject> p5, JastAddList<EnumObj> p6, Object p7, Boolean p8, Boolean p9, Opt<ExternalDocObject> p10, String p11, Opt<ItemsSchema> p12, Number p13, Number p14, Integer p15, Integer p16, Integer p17, Integer p18, Integer p19, Integer p20, Number p21, Opt<NotSchema> p22, Boolean p23, String p24, JastAddList<PropertyItem> p25, JastAddList<RequiredField> p26, JastAddList<AllOfSchema> p27, JastAddList<AnyOfSchema> p28, JastAddList<OneOfSchema> p29, Boolean p30, Boolean p31, String p32, String p33, Boolean p34, Opt<XmlObject> p35, JastAddList<Extension> p36) {
-    setAdditionalProperties(p0);
+  public SchemaObject(Opt<AdditionalProperties> p0, Boolean p1, Object p2, String p3, Boolean p4, Opt<DiscriminatorObject> p5, JastAddList<EnumObj> p6, Object p7, Boolean p8, Boolean p9, Opt<ExternalDocObject> p10, String p11, Opt<ItemsSchema> p12, Number p13, Number p14, Integer p15, Integer p16, Integer p17, Integer p18, Integer p19, Integer p20, Number p21, Opt<NotSchema> p22, Boolean p23, String p24, JastAddList<PropertyItem> p25, JastAddList<RequiredField> p26, JastAddList<AllOfSchema> p27, JastAddList<AnyOfSchema> p28, JastAddList<OneOfSchema> p29, Boolean p30, Boolean p31, String p32, String p33, Boolean p34, Opt<XmlObject> p35, JastAddList<Extension> p36) {
+    setChild(p0, 0);
     setAdditionalPropertiesAllowed(p1);
     setDefaultValue(p2);
     setDescription(p3);
     setDeprecatedBoolean(p4);
-    setChild(p5, 0);
-    setChild(p6, 1);
+    setChild(p5, 1);
+    setChild(p6, 2);
     setExample(p7);
     setExclusiveMaximum(p8);
     setExclusiveMinimum(p9);
-    setChild(p10, 2);
+    setChild(p10, 3);
     setFormat(p11);
-    setChild(p12, 3);
+    setChild(p12, 4);
     setMaximum(p13);
     setMinimum(p14);
     setMaxItems(p15);
@@ -83,56 +84,56 @@ public class SchemaObject extends SchemaOb implements Cloneable {
     setMaxProperties(p19);
     setMinProperties(p20);
     setMultipleOf(p21);
-    setChild(p22, 4);
+    setChild(p22, 5);
     setNullable(p23);
     setPattern(p24);
-    setChild(p25, 5);
-    setChild(p26, 6);
-    setChild(p27, 7);
-    setChild(p28, 8);
-    setChild(p29, 9);
+    setChild(p25, 6);
+    setChild(p26, 7);
+    setChild(p27, 8);
+    setChild(p28, 9);
+    setChild(p29, 10);
     setReadOnly(p30);
     setWriteOnly(p31);
     setType(p32);
     setTitle(p33);
     setUniqueItems(p34);
-    setChild(p35, 10);
-    setChild(p36, 11);
+    setChild(p35, 11);
+    setChild(p36, 12);
   }
   /** @apilevel low-level 
-   * @declaredat ASTNode:70
+   * @declaredat ASTNode:71
    */
   protected int numChildren() {
-    return 12;
+    return 13;
   }
   /**
    * @apilevel internal
-   * @declaredat ASTNode:76
+   * @declaredat ASTNode:77
    */
   public boolean mayHaveRewrite() {
     return false;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:80
+   * @declaredat ASTNode:81
    */
   public void flushAttrCache() {
     super.flushAttrCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:84
+   * @declaredat ASTNode:85
    */
   public void flushCollectionCache() {
     super.flushCollectionCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:88
+   * @declaredat ASTNode:89
    */
   public SchemaObject clone() throws CloneNotSupportedException {
     SchemaObject node = (SchemaObject) super.clone();
     return node;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:93
+   * @declaredat ASTNode:94
    */
   public SchemaObject copy() {
     try {
@@ -152,7 +153,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
    * @deprecated Please use treeCopy or treeCopyNoTransform instead
-   * @declaredat ASTNode:112
+   * @declaredat ASTNode:113
    */
   @Deprecated
   public SchemaObject fullCopy() {
@@ -163,7 +164,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:122
+   * @declaredat ASTNode:123
    */
   public SchemaObject treeCopyNoTransform() {
     SchemaObject tree = (SchemaObject) copy();
@@ -184,7 +185,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:142
+   * @declaredat ASTNode:143
    */
   public SchemaObject treeCopy() {
     SchemaObject tree = (SchemaObject) copy();
@@ -200,30 +201,61 @@ public class SchemaObject extends SchemaOb implements Cloneable {
     return tree;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:156
+   * @declaredat ASTNode:157
    */
   protected boolean is$Equal(ASTNode node) {
-    return super.is$Equal(node) && (tokenSchemaOb_AdditionalProperties == ((SchemaObject) node).tokenSchemaOb_AdditionalProperties) && (tokenBoolean_AdditionalPropertiesAllowed == ((SchemaObject) node).tokenBoolean_AdditionalPropertiesAllowed) && (tokenObject_DefaultValue == ((SchemaObject) node).tokenObject_DefaultValue) && (tokenString_Description == ((SchemaObject) node).tokenString_Description) && (tokenBoolean_DeprecatedBoolean == ((SchemaObject) node).tokenBoolean_DeprecatedBoolean) && (tokenObject_Example == ((SchemaObject) node).tokenObject_Example) && (tokenBoolean_ExclusiveMaximum == ((SchemaObject) node).tokenBoolean_ExclusiveMaximum) && (tokenBoolean_ExclusiveMinimum == ((SchemaObject) node).tokenBoolean_ExclusiveMinimum) && (tokenString_Format == ((SchemaObject) node).tokenString_Format) && (tokenNumber_Maximum == ((SchemaObject) node).tokenNumber_Maximum) && (tokenNumber_Minimum == ((SchemaObject) node).tokenNumber_Minimum) && (tokenInteger_MaxItems == ((SchemaObject) node).tokenInteger_MaxItems) && (tokenInteger_MinItems == ((SchemaObject) node).tokenInteger_MinItems) && (tokenInteger_MaxLength == ((SchemaObject) node).tokenInteger_MaxLength) && (tokenInteger_MinLength == ((SchemaObject) node).tokenInteger_MinLength) && (tokenInteger_MaxProperties == ((SchemaObject) node).tokenInteger_MaxProperties) && (tokenInteger_MinProperties == ((SchemaObject) node).tokenInteger_MinProperties) && (tokenNumber_MultipleOf == ((SchemaObject) node).tokenNumber_MultipleOf) && (tokenBoolean_Nullable == ((SchemaObject) node).tokenBoolean_Nullable) && (tokenString_Pattern == ((SchemaObject) node).tokenString_Pattern) && (tokenBoolean_ReadOnly == ((SchemaObject) node).tokenBoolean_ReadOnly) && (tokenBoolean_WriteOnly == ((SchemaObject) node).tokenBoolean_WriteOnly) && (tokenString_Type == ((SchemaObject) node).tokenString_Type) && (tokenString_Title == ((SchemaObject) node).tokenString_Title) && (tokenBoolean_UniqueItems == ((SchemaObject) node).tokenBoolean_UniqueItems);    
+    return super.is$Equal(node) && (tokenBoolean_AdditionalPropertiesAllowed == ((SchemaObject) node).tokenBoolean_AdditionalPropertiesAllowed) && (tokenObject_DefaultValue == ((SchemaObject) node).tokenObject_DefaultValue) && (tokenString_Description == ((SchemaObject) node).tokenString_Description) && (tokenBoolean_DeprecatedBoolean == ((SchemaObject) node).tokenBoolean_DeprecatedBoolean) && (tokenObject_Example == ((SchemaObject) node).tokenObject_Example) && (tokenBoolean_ExclusiveMaximum == ((SchemaObject) node).tokenBoolean_ExclusiveMaximum) && (tokenBoolean_ExclusiveMinimum == ((SchemaObject) node).tokenBoolean_ExclusiveMinimum) && (tokenString_Format == ((SchemaObject) node).tokenString_Format) && (tokenNumber_Maximum == ((SchemaObject) node).tokenNumber_Maximum) && (tokenNumber_Minimum == ((SchemaObject) node).tokenNumber_Minimum) && (tokenInteger_MaxItems == ((SchemaObject) node).tokenInteger_MaxItems) && (tokenInteger_MinItems == ((SchemaObject) node).tokenInteger_MinItems) && (tokenInteger_MaxLength == ((SchemaObject) node).tokenInteger_MaxLength) && (tokenInteger_MinLength == ((SchemaObject) node).tokenInteger_MinLength) && (tokenInteger_MaxProperties == ((SchemaObject) node).tokenInteger_MaxProperties) && (tokenInteger_MinProperties == ((SchemaObject) node).tokenInteger_MinProperties) && (tokenNumber_MultipleOf == ((SchemaObject) node).tokenNumber_MultipleOf) && (tokenBoolean_Nullable == ((SchemaObject) node).tokenBoolean_Nullable) && (tokenString_Pattern == ((SchemaObject) node).tokenString_Pattern) && (tokenBoolean_ReadOnly == ((SchemaObject) node).tokenBoolean_ReadOnly) && (tokenBoolean_WriteOnly == ((SchemaObject) node).tokenBoolean_WriteOnly) && (tokenString_Type == ((SchemaObject) node).tokenString_Type) && (tokenString_Title == ((SchemaObject) node).tokenString_Title) && (tokenBoolean_UniqueItems == ((SchemaObject) node).tokenBoolean_UniqueItems);    
   }
   /**
-   * Replaces the lexeme AdditionalProperties.
-   * @param value The new value for the lexeme AdditionalProperties.
-   * @apilevel high-level
+   * Replaces the optional node for the AdditionalProperties child. This is the <code>Opt</code>
+   * node containing the child AdditionalProperties, not the actual child!
+   * @param opt The new node to be used as the optional node for the AdditionalProperties child.
+   * @apilevel low-level
    */
-  public void setAdditionalProperties(SchemaOb value) {
-    tokenSchemaOb_AdditionalProperties = value;
+  public void setAdditionalPropertiesOpt(Opt<AdditionalProperties> opt) {
+    setChild(opt, 0);
   }
-  /** @apilevel internal 
+  /**
+   * Replaces the (optional) AdditionalProperties child.
+   * @param node The new node to be used as the AdditionalProperties child.
+   * @apilevel high-level
    */
-  protected SchemaOb tokenSchemaOb_AdditionalProperties;
+  public void setAdditionalProperties(AdditionalProperties node) {
+    getAdditionalPropertiesOpt().setChild(node, 0);
+  }
   /**
-   * Retrieves the value for the lexeme AdditionalProperties.
-   * @return The value for the lexeme AdditionalProperties.
+   * Check whether the optional AdditionalProperties child exists.
+   * @return {@code true} if the optional AdditionalProperties child exists, {@code false} if it does not.
    * @apilevel high-level
    */
-  @ASTNodeAnnotation.Token(name="AdditionalProperties")
-  public SchemaOb getAdditionalProperties() {
-    return tokenSchemaOb_AdditionalProperties;
+  public boolean hasAdditionalProperties() {
+    return getAdditionalPropertiesOpt().getNumChild() != 0;
+  }
+  /**
+   * Retrieves the (optional) AdditionalProperties child.
+   * @return The AdditionalProperties child, if it exists. Returns {@code null} otherwise.
+   * @apilevel low-level
+   */
+  public AdditionalProperties getAdditionalProperties() {
+    return (AdditionalProperties) getAdditionalPropertiesOpt().getChild(0);
+  }
+  /**
+   * Retrieves the optional node for the AdditionalProperties child. This is the <code>Opt</code> node containing the child AdditionalProperties, not the actual child!
+   * @return The optional node for child the AdditionalProperties child.
+   * @apilevel low-level
+   */
+  @ASTNodeAnnotation.OptChild(name="AdditionalProperties")
+  public Opt<AdditionalProperties> getAdditionalPropertiesOpt() {
+    return (Opt<AdditionalProperties>) getChild(0);
+  }
+  /**
+   * Retrieves the optional node for child AdditionalProperties. This is the <code>Opt</code> node containing the child AdditionalProperties, not the actual child!
+   * <p><em>This method does not invoke AST transformations.</em></p>
+   * @return The optional node for child AdditionalProperties.
+   * @apilevel low-level
+   */
+  public Opt<AdditionalProperties> getAdditionalPropertiesOptNoTransform() {
+    return (Opt<AdditionalProperties>) getChildNoTransform(0);
   }
   /**
    * Replaces the lexeme AdditionalPropertiesAllowed.
@@ -312,7 +344,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public void setDiscriminatorObjectOpt(Opt<DiscriminatorObject> opt) {
-    setChild(opt, 0);
+    setChild(opt, 1);
   }
   /**
    * Replaces the (optional) DiscriminatorObject child.
@@ -345,7 +377,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    */
   @ASTNodeAnnotation.OptChild(name="DiscriminatorObject")
   public Opt<DiscriminatorObject> getDiscriminatorObjectOpt() {
-    return (Opt<DiscriminatorObject>) getChild(0);
+    return (Opt<DiscriminatorObject>) getChild(1);
   }
   /**
    * Retrieves the optional node for child DiscriminatorObject. This is the <code>Opt</code> node containing the child DiscriminatorObject, not the actual child!
@@ -354,7 +386,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public Opt<DiscriminatorObject> getDiscriminatorObjectOptNoTransform() {
-    return (Opt<DiscriminatorObject>) getChildNoTransform(0);
+    return (Opt<DiscriminatorObject>) getChildNoTransform(1);
   }
   /**
    * Replaces the EnumObj list.
@@ -362,7 +394,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel high-level
    */
   public void setEnumObjList(JastAddList<EnumObj> list) {
-    setChild(list, 1);
+    setChild(list, 2);
   }
   /**
    * Retrieves the number of children in the EnumObj list.
@@ -430,7 +462,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    */
   @ASTNodeAnnotation.ListChild(name="EnumObj")
   public JastAddList<EnumObj> getEnumObjList() {
-    JastAddList<EnumObj> list = (JastAddList<EnumObj>) getChild(1);
+    JastAddList<EnumObj> list = (JastAddList<EnumObj>) getChild(2);
     return list;
   }
   /**
@@ -440,7 +472,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public JastAddList<EnumObj> getEnumObjListNoTransform() {
-    return (JastAddList<EnumObj>) getChildNoTransform(1);
+    return (JastAddList<EnumObj>) getChildNoTransform(2);
   }
   /**
    * @return the element at index {@code i} in the EnumObj list without
@@ -533,7 +565,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public void setExternalDocObjectOpt(Opt<ExternalDocObject> opt) {
-    setChild(opt, 2);
+    setChild(opt, 3);
   }
   /**
    * Replaces the (optional) ExternalDocObject child.
@@ -566,7 +598,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    */
   @ASTNodeAnnotation.OptChild(name="ExternalDocObject")
   public Opt<ExternalDocObject> getExternalDocObjectOpt() {
-    return (Opt<ExternalDocObject>) getChild(2);
+    return (Opt<ExternalDocObject>) getChild(3);
   }
   /**
    * Retrieves the optional node for child ExternalDocObject. This is the <code>Opt</code> node containing the child ExternalDocObject, not the actual child!
@@ -575,7 +607,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public Opt<ExternalDocObject> getExternalDocObjectOptNoTransform() {
-    return (Opt<ExternalDocObject>) getChildNoTransform(2);
+    return (Opt<ExternalDocObject>) getChildNoTransform(3);
   }
   /**
    * Replaces the lexeme Format.
@@ -604,7 +636,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public void setItemsSchemaOpt(Opt<ItemsSchema> opt) {
-    setChild(opt, 3);
+    setChild(opt, 4);
   }
   /**
    * Replaces the (optional) ItemsSchema child.
@@ -637,7 +669,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    */
   @ASTNodeAnnotation.OptChild(name="ItemsSchema")
   public Opt<ItemsSchema> getItemsSchemaOpt() {
-    return (Opt<ItemsSchema>) getChild(3);
+    return (Opt<ItemsSchema>) getChild(4);
   }
   /**
    * Retrieves the optional node for child ItemsSchema. This is the <code>Opt</code> node containing the child ItemsSchema, not the actual child!
@@ -646,7 +678,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public Opt<ItemsSchema> getItemsSchemaOptNoTransform() {
-    return (Opt<ItemsSchema>) getChildNoTransform(3);
+    return (Opt<ItemsSchema>) getChildNoTransform(4);
   }
   /**
    * Replaces the lexeme Maximum.
@@ -835,7 +867,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public void setNotSchemaOpt(Opt<NotSchema> opt) {
-    setChild(opt, 4);
+    setChild(opt, 5);
   }
   /**
    * Replaces the (optional) NotSchema child.
@@ -868,7 +900,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    */
   @ASTNodeAnnotation.OptChild(name="NotSchema")
   public Opt<NotSchema> getNotSchemaOpt() {
-    return (Opt<NotSchema>) getChild(4);
+    return (Opt<NotSchema>) getChild(5);
   }
   /**
    * Retrieves the optional node for child NotSchema. This is the <code>Opt</code> node containing the child NotSchema, not the actual child!
@@ -877,7 +909,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public Opt<NotSchema> getNotSchemaOptNoTransform() {
-    return (Opt<NotSchema>) getChildNoTransform(4);
+    return (Opt<NotSchema>) getChildNoTransform(5);
   }
   /**
    * Replaces the lexeme Nullable.
@@ -925,7 +957,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel high-level
    */
   public void setPropertyItemList(JastAddList<PropertyItem> list) {
-    setChild(list, 5);
+    setChild(list, 6);
   }
   /**
    * Retrieves the number of children in the PropertyItem list.
@@ -993,7 +1025,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    */
   @ASTNodeAnnotation.ListChild(name="PropertyItem")
   public JastAddList<PropertyItem> getPropertyItemList() {
-    JastAddList<PropertyItem> list = (JastAddList<PropertyItem>) getChild(5);
+    JastAddList<PropertyItem> list = (JastAddList<PropertyItem>) getChild(6);
     return list;
   }
   /**
@@ -1003,7 +1035,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public JastAddList<PropertyItem> getPropertyItemListNoTransform() {
-    return (JastAddList<PropertyItem>) getChildNoTransform(5);
+    return (JastAddList<PropertyItem>) getChildNoTransform(6);
   }
   /**
    * @return the element at index {@code i} in the PropertyItem list without
@@ -1035,7 +1067,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel high-level
    */
   public void setRequiredFieldList(JastAddList<RequiredField> list) {
-    setChild(list, 6);
+    setChild(list, 7);
   }
   /**
    * Retrieves the number of children in the RequiredField list.
@@ -1103,7 +1135,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    */
   @ASTNodeAnnotation.ListChild(name="RequiredField")
   public JastAddList<RequiredField> getRequiredFieldList() {
-    JastAddList<RequiredField> list = (JastAddList<RequiredField>) getChild(6);
+    JastAddList<RequiredField> list = (JastAddList<RequiredField>) getChild(7);
     return list;
   }
   /**
@@ -1113,7 +1145,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public JastAddList<RequiredField> getRequiredFieldListNoTransform() {
-    return (JastAddList<RequiredField>) getChildNoTransform(6);
+    return (JastAddList<RequiredField>) getChildNoTransform(7);
   }
   /**
    * @return the element at index {@code i} in the RequiredField list without
@@ -1145,7 +1177,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel high-level
    */
   public void setAllOfSchemaList(JastAddList<AllOfSchema> list) {
-    setChild(list, 7);
+    setChild(list, 8);
   }
   /**
    * Retrieves the number of children in the AllOfSchema list.
@@ -1213,7 +1245,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    */
   @ASTNodeAnnotation.ListChild(name="AllOfSchema")
   public JastAddList<AllOfSchema> getAllOfSchemaList() {
-    JastAddList<AllOfSchema> list = (JastAddList<AllOfSchema>) getChild(7);
+    JastAddList<AllOfSchema> list = (JastAddList<AllOfSchema>) getChild(8);
     return list;
   }
   /**
@@ -1223,7 +1255,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public JastAddList<AllOfSchema> getAllOfSchemaListNoTransform() {
-    return (JastAddList<AllOfSchema>) getChildNoTransform(7);
+    return (JastAddList<AllOfSchema>) getChildNoTransform(8);
   }
   /**
    * @return the element at index {@code i} in the AllOfSchema list without
@@ -1255,7 +1287,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel high-level
    */
   public void setAnyOfSchemaList(JastAddList<AnyOfSchema> list) {
-    setChild(list, 8);
+    setChild(list, 9);
   }
   /**
    * Retrieves the number of children in the AnyOfSchema list.
@@ -1323,7 +1355,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    */
   @ASTNodeAnnotation.ListChild(name="AnyOfSchema")
   public JastAddList<AnyOfSchema> getAnyOfSchemaList() {
-    JastAddList<AnyOfSchema> list = (JastAddList<AnyOfSchema>) getChild(8);
+    JastAddList<AnyOfSchema> list = (JastAddList<AnyOfSchema>) getChild(9);
     return list;
   }
   /**
@@ -1333,7 +1365,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public JastAddList<AnyOfSchema> getAnyOfSchemaListNoTransform() {
-    return (JastAddList<AnyOfSchema>) getChildNoTransform(8);
+    return (JastAddList<AnyOfSchema>) getChildNoTransform(9);
   }
   /**
    * @return the element at index {@code i} in the AnyOfSchema list without
@@ -1365,7 +1397,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel high-level
    */
   public void setOneOfSchemaList(JastAddList<OneOfSchema> list) {
-    setChild(list, 9);
+    setChild(list, 10);
   }
   /**
    * Retrieves the number of children in the OneOfSchema list.
@@ -1433,7 +1465,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    */
   @ASTNodeAnnotation.ListChild(name="OneOfSchema")
   public JastAddList<OneOfSchema> getOneOfSchemaList() {
-    JastAddList<OneOfSchema> list = (JastAddList<OneOfSchema>) getChild(9);
+    JastAddList<OneOfSchema> list = (JastAddList<OneOfSchema>) getChild(10);
     return list;
   }
   /**
@@ -1443,7 +1475,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public JastAddList<OneOfSchema> getOneOfSchemaListNoTransform() {
-    return (JastAddList<OneOfSchema>) getChildNoTransform(9);
+    return (JastAddList<OneOfSchema>) getChildNoTransform(10);
   }
   /**
    * @return the element at index {@code i} in the OneOfSchema list without
@@ -1576,7 +1608,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public void setXmlObjectOpt(Opt<XmlObject> opt) {
-    setChild(opt, 10);
+    setChild(opt, 11);
   }
   /**
    * Replaces the (optional) XmlObject child.
@@ -1609,7 +1641,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    */
   @ASTNodeAnnotation.OptChild(name="XmlObject")
   public Opt<XmlObject> getXmlObjectOpt() {
-    return (Opt<XmlObject>) getChild(10);
+    return (Opt<XmlObject>) getChild(11);
   }
   /**
    * Retrieves the optional node for child XmlObject. This is the <code>Opt</code> node containing the child XmlObject, not the actual child!
@@ -1618,7 +1650,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public Opt<XmlObject> getXmlObjectOptNoTransform() {
-    return (Opt<XmlObject>) getChildNoTransform(10);
+    return (Opt<XmlObject>) getChildNoTransform(11);
   }
   /**
    * Replaces the Extension list.
@@ -1626,7 +1658,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel high-level
    */
   public void setExtensionList(JastAddList<Extension> list) {
-    setChild(list, 11);
+    setChild(list, 12);
   }
   /**
    * Retrieves the number of children in the Extension list.
@@ -1694,7 +1726,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    */
   @ASTNodeAnnotation.ListChild(name="Extension")
   public JastAddList<Extension> getExtensionList() {
-    JastAddList<Extension> list = (JastAddList<Extension>) getChild(11);
+    JastAddList<Extension> list = (JastAddList<Extension>) getChild(12);
     return list;
   }
   /**
@@ -1704,7 +1736,7 @@ public class SchemaObject extends SchemaOb implements Cloneable {
    * @apilevel low-level
    */
   public JastAddList<Extension> getExtensionListNoTransform() {
-    return (JastAddList<Extension>) getChildNoTransform(11);
+    return (JastAddList<Extension>) getChildNoTransform(12);
   }
   /**
    * @return the element at index {@code i} in the Extension list without
@@ -1730,6 +1762,174 @@ public class SchemaObject extends SchemaOb implements Cloneable {
   public JastAddList<Extension> getExtensionsNoTransform() {
     return getExtensionListNoTransform();
   }
+/** @apilevel internal */
+protected java.util.Set composeSchema_SchemaOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:701
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:701")
+  public org.openapi4j.parser.model.v3.Schema composeSchema(SchemaOb schemaOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(schemaOb);
+    _parameters.add(map);
+    if (composeSchema_SchemaOb_Map_Object__ASTNode__visited == null) composeSchema_SchemaOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeSchema_SchemaOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute SchemaOb.composeSchema(SchemaOb,Map_Object__ASTNode_).");
+    }
+    composeSchema_SchemaOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            org.openapi4j.parser.model.v3.Schema schema = new org.openapi4j.parser.model.v3.Schema();
+            SchemaObject s = (SchemaObject) schemaOb;
+    
+            if( s.hasAdditionalProperties() ) {
+            SchemaOb o = s.getAdditionalProperties().getSchemaOb();
+            if ( o instanceof SchemaObject )
+            schema.setAdditionalProperties(((SchemaObject) o).composeSchema(o, map));
+            else
+            schema.setAdditionalProperties(((SchemaReference) o).composeSchema(o, map));
+            }
+            if( s.getAdditionalPropertiesAllowed() != null )
+            schema.setAdditionalPropertiesAllowed(s.getAdditionalPropertiesAllowed());
+            if( s.getDefaultValue() != null )
+            schema.setDefault(s.getDefaultValue());
+            if( !s.getDescription().isEmpty() )
+            schema.setDescription(s.getDescription());
+            if( s.getDeprecatedBoolean() != null )
+            schema.setDeprecated(s.getDeprecatedBoolean());
+            if( s.hasDiscriminatorObject() )
+            schema.setDiscriminator(DiscriminatorObject.composeDiscriminator(s.getDiscriminatorObject(), map));
+            if( s.getNumEnumObj() != 0 ){
+            for( EnumObj e : s.getEnumObjs() )
+            schema.addEnum(e.getEnumOb());
+            }
+            if( s.getExample() != null )
+            schema.setExample(s.getExample());
+            if( s.getExclusiveMaximum() != null )
+            schema.setExclusiveMaximum(s.getExclusiveMaximum());
+            if( s.getExclusiveMinimum() != null )
+            schema.setExclusiveMinimum(s.getExclusiveMinimum());
+            if( s.hasExternalDocObject() )
+            schema.setExternalDocs(ExternalDocObject.composeExternalDocs(s.getExternalDocObject(), map));
+            if( !s.getFormat().isEmpty() )
+            schema.setFormat(s.getFormat());
+            if( s.hasItemsSchema() ) {
+            if (s.getItemsSchema().getSchemaOb() instanceof SchemaObject)
+            schema.setItemsSchema(((SchemaObject) s.getItemsSchema().getSchemaOb()).composeSchema(s.getItemsSchema().getSchemaOb(), map));
+            else
+            schema.setItemsSchema(((SchemaReference) s.getItemsSchema().getSchemaOb()).composeSchema(s.getItemsSchema().getSchemaOb(), map));
+            }
+            if( s.getMaximum() != null )
+            schema.setMaximum(s.getMaximum());
+            if( s.getMinimum() != null )
+            schema.setMinimum(s.getMinimum());
+            if( s.getMaxItems() != null )
+            schema.setMaxItems(s.getMaxItems());
+            if( s.getMinItems() != null )
+            schema.setMinItems(s.getMinItems());
+            if( s.getMaxLength() != null )
+            schema.setMaxLength(s.getMaxLength());
+            if( s.getMinLength() != null )
+            schema.setMinLength(s.getMinLength());
+            if( s.getMaxProperties() != null )
+            schema.setMaxProperties(s.getMaxProperties());
+            if( s.getMinProperties() != null )
+            schema.setMinProperties(s.getMinProperties());
+            if( s.getMultipleOf() != null )
+            schema.setMultipleOf(s.getMultipleOf());
+            if( s.hasNotSchema() ) {
+            if( s.getNotSchema().getSchemaOb() instanceof SchemaObject )
+            schema.setNotSchema(((SchemaObject) s.getNotSchema().getSchemaOb()).composeSchema(s.getNotSchema().getSchemaOb(), map));
+            else
+            schema.setNotSchema(((SchemaReference) s.getNotSchema().getSchemaOb()).composeSchema(s.getNotSchema().getSchemaOb(), map));
+            }
+            if( s.getNullable() != null )
+            schema.setNullable(s.getNullable());
+            if( !s.getPattern().isEmpty() )
+            schema.setPattern(s.getPattern());
+            if( s.getNumPropertyItem() != 0 ){
+            Map<String, org.openapi4j.parser.model.v3.Schema> properties = new HashMap<>();
+            for( PropertyItem p : s.getPropertyItemList() ) {
+            if( p.getSchemaOb() instanceof SchemaObject )
+            properties.put(p.getName(), ((SchemaObject) p.getSchemaOb()).composeSchema(p.getSchemaOb(), map));
+            else
+            properties.put(p.getName(), ((SchemaReference) p.getSchemaOb()).composeSchema(p.getSchemaOb(), map));
+            }
+            schema.setProperties(properties);
+            }
+            if( s.getNumRequiredField() != 0 ){
+            for( RequiredField r : s.getRequiredFields() )
+            schema.addRequiredField(r.getValue());
+            }
+            if( s.getNumAllOfSchema() != 0 ){
+            for( AllOfSchema a : s.getAllOfSchemas() ) {
+            if( a.getSchemaOb() instanceof SchemaObject )
+            schema.addAllOfSchema(((SchemaObject) a.getSchemaOb()).composeSchema(a.getSchemaOb(), map));
+            else
+            schema.addAllOfSchema(((SchemaReference) a.getSchemaOb()).composeSchema(a.getSchemaOb(), map));
+            }
+            }
+            if( s.getNumAnyOfSchema() != 0 ){
+            for( AnyOfSchema a : s.getAnyOfSchemas() ) {
+            if( a.getSchemaOb() instanceof SchemaObject )
+            schema.addAnyOfSchema(((SchemaObject) a.getSchemaOb()).composeSchema(a.getSchemaOb(), map));
+            else
+            schema.addAnyOfSchema(((SchemaReference) a.getSchemaOb()).composeSchema(a.getSchemaOb(), map));
+            }
+            }
+            if( s.getNumOneOfSchema() != 0 ){
+            for( OneOfSchema o : s.getOneOfSchemas() ) {
+            if( o.getSchemaOb() instanceof SchemaObject )
+            schema.addOneOfSchema(((SchemaObject) o.getSchemaOb()).composeSchema(o.getSchemaOb(), map));
+            else
+            schema.addOneOfSchema(((SchemaReference) o.getSchemaOb()).composeSchema(o.getSchemaOb(), map));
+            }
+            }
+            if( s.getReadOnly() != null )
+            schema.setReadOnly(s.getReadOnly());
+            if( s.getWriteOnly() != null )
+            schema.setWriteOnly(s.getWriteOnly());
+            if( !s.getType().isEmpty() )
+            schema.setType(s.getType());
+            if( !s.getTitle().isEmpty() )
+            schema.setTitle(s.getTitle());
+            if( s.getUniqueItems() != null )
+            schema.setUniqueItems(s.getUniqueItems());
+            if( s.hasXmlObject() )
+            schema.setXml(XmlObject.composeXml(s.getXmlObject(), map));
+            if( s.getNumExtension() != 0 ){
+            Map<String, Object> extensionMap = new HashMap<>();
+            for( Extension e : s.getExtensions() )
+            extensionMap.put(e.getKey(), e.getValue());
+            schema.setExtensions(extensionMap);
+            }
+    
+            return schema;
+            }
+    finally {
+      composeSchema_SchemaOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
+/** @apilevel internal */
+protected boolean schemaObject_visited = false;
+  /**
+   * @attribute syn
+   * @aspect ReferenceGet
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:13
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="ReferenceGet", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:12")
+  public SchemaObject schemaObject() {
+    if (schemaObject_visited) {
+      throw new RuntimeException("Circular definition of attribute SchemaOb.schemaObject().");
+    }
+    schemaObject_visited = true;
+    SchemaObject schemaObject_value = this;
+    schemaObject_visited = false;
+    return schemaObject_value;
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaReference.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaReference.java
index 083b0d37..c1cf7ef1 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaReference.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaReference.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:106
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:107
  * @astdecl SchemaReference : SchemaOb ::= <Ref:String> <SchemaOb:SchemaOb>;
  * @production SchemaReference : {@link SchemaOb} ::= <span class="component">&lt;Ref:String&gt;</span> <span class="component">&lt;SchemaOb:SchemaOb&gt;</span>;
 
@@ -197,6 +197,61 @@ public class SchemaReference extends SchemaOb implements Cloneable {
   public SchemaOb getSchemaOb() {
     return tokenSchemaOb_SchemaOb;
   }
+/** @apilevel internal */
+protected java.util.Set composeSchema_SchemaOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:701
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:701")
+  public org.openapi4j.parser.model.v3.Schema composeSchema(SchemaOb schemaOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(schemaOb);
+    _parameters.add(map);
+    if (composeSchema_SchemaOb_Map_Object__ASTNode__visited == null) composeSchema_SchemaOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeSchema_SchemaOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute SchemaOb.composeSchema(SchemaOb,Map_Object__ASTNode_).");
+    }
+    composeSchema_SchemaOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            org.openapi4j.parser.model.v3.Schema schema = new org.openapi4j.parser.model.v3.Schema();
+            SchemaReference s = (SchemaReference) schemaOb;
+    
+            if( !s.getRef().isEmpty() )
+            schema.setRef(s.getRef());
+    
+            return schema;
+            }
+    finally {
+      composeSchema_SchemaOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
+/** @apilevel internal */
+protected boolean schemaObject_visited = false;
+  /**
+   * @attribute syn
+   * @aspect ReferenceGet
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:12
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="ReferenceGet", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\ReferenceGet.jrag:12")
+  public SchemaObject schemaObject() {
+    if (schemaObject_visited) {
+      throw new RuntimeException("Circular definition of attribute SchemaOb.schemaObject().");
+    }
+    schemaObject_visited = true;
+    try {
+        if( getSchemaOb() instanceof SchemaObject )
+            return (SchemaObject) getSchemaOb();
+        else
+            return getSchemaOb().schemaObject();
+        }
+    finally {
+      schemaObject_visited = false;
+    }
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaTuple.java
index 897390f9..c93b736d 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:23
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ScopesTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ScopesTuple.java
index b20603ca..3b63598e 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ScopesTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ScopesTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:139
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:140
  * @astdecl ScopesTuple : ASTNode ::= <ScopesKey:String> <ScopesValue:String>;
  * @production ScopesTuple : {@link ASTNode} ::= <span class="component">&lt;ScopesKey:String&gt;</span> <span class="component">&lt;ScopesValue:String&gt;</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementObject.java
index b78ae40f..36a250d2 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:142
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:143
  * @astdecl SecurityRequirementObject : ASTNode ::= SecurityRequirementTuple*;
  * @production SecurityRequirementObject : {@link ASTNode} ::= <span class="component">{@link SecurityRequirementTuple}*</span>;
 
@@ -26,7 +26,7 @@ import org.openapi4j.core.exception.DecodeException;
 public class SecurityRequirementObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:816
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:945
    */
   public static SecurityRequirement composeSecurityRequirement (SecurityRequirementObject securityRequirementObject, Map<Object, ASTNode> map){
         SecurityRequirement securityRequirement = new SecurityRequirement();
@@ -46,7 +46,7 @@ public class SecurityRequirementObject extends ASTNode<ASTNode> implements Clone
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:1011
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:872
    */
   public static SecurityRequirementObject parseSecurityRequirement(SecurityRequirement securityRequirement, Map<Object, ASTNode> map){
         SecurityRequirementObject securityRequirementObject = new SecurityRequirementObject();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementTuple.java
index 85d694a7..aa0abfdf 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:143
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:144
  * @astdecl SecurityRequirementTuple : ASTNode ::= <Name:String> SecurityRequirementValue*;
  * @production SecurityRequirementTuple : {@link ASTNode} ::= <span class="component">&lt;Name:String&gt;</span> <span class="component">{@link SecurityRequirementValue}*</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementValue.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementValue.java
index c54b8743..78e17b7a 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementValue.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementValue.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:144
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:145
  * @astdecl SecurityRequirementValue : ASTNode ::= <Value:String>;
  * @production SecurityRequirementValue : {@link ASTNode} ::= <span class="component">&lt;Value:String&gt;</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeOb.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeOb.java
index cc3ca189..192db233 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeOb.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeOb.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,50 +16,17 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:126
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:127
  * @astdecl SecuritySchemeOb : ASTNode;
  * @production SecuritySchemeOb : {@link ASTNode};
 
  */
 public abstract class SecuritySchemeOb extends ASTNode<ASTNode> implements Cloneable {
-  /**
-   * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:749
-   */
-  public static SecurityScheme composeSecurityScheme (SecuritySchemeObject securitySchemeObject, Map<Object, ASTNode> map){
-        SecurityScheme securityScheme = new SecurityScheme();
-
-        if( !securitySchemeObject.getType().isEmpty() )
-        securityScheme.setType(securitySchemeObject.getType());
-        if( !securitySchemeObject.getName().isEmpty() )
-        securityScheme.setName(securitySchemeObject.getName());
-        if( !securitySchemeObject.getIn().isEmpty() )
-        securityScheme.setIn(securitySchemeObject.getIn());
-        if( !securitySchemeObject.getScheme().isEmpty() )
-        securityScheme.setScheme(securitySchemeObject.getScheme());
-        if( !securitySchemeObject.getOpenIdConnectUrl().isEmpty() )
-        securityScheme.setOpenIdConnectUrl(securitySchemeObject.getOpenIdConnectUrl());
-        if( securitySchemeObject.getOAuthFlowsObject() != null )
-        securityScheme.setFlows(OAuthFlowsObject.composeOAuthFlows(securitySchemeObject.getOAuthFlowsObject()));
-        if( !securitySchemeObject.getDescription().isEmpty() )
-        securityScheme.setDescription( securitySchemeObject.getDescription() );
-        if( !securitySchemeObject.getBearerFormat().isEmpty() )
-        securityScheme.setBearerFormat( securitySchemeObject.getBearerFormat() );
-        if( securitySchemeObject.getNumExtension() != 0 ){
-        Map<String, Object> extensionMap = new HashMap<>();
-        for( Extension e : securitySchemeObject.getExtensions() )
-        extensionMap.put(e.getKey(), e.getValue());
-        securityScheme.setExtensions(extensionMap);
-        }
-
-        return securityScheme;
-        }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:931
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:792
    */
   public static SecuritySchemeOb parseSecurityScheme(SecurityScheme securityScheme, OAIContext context, Map<Object, ASTNode> map){
         SecuritySchemeObject securitySchemeObject = new SecuritySchemeObject();
@@ -161,6 +129,14 @@ public abstract class SecuritySchemeOb extends ASTNode<ASTNode> implements Clone
    * @declaredat ASTNode:58
    */
   public abstract SecuritySchemeOb treeCopy();
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:872
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:872")
+  public abstract SecurityScheme composeSecurityScheme(SecuritySchemeOb securitySchemeOb, Map<Object, ASTNode> map);
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeObject.java
index f11878c9..ac31f8f1 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:128
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:129
  * @astdecl SecuritySchemeObject : SecuritySchemeOb ::= <Type:String> <Description:String> <Name:String> <In:String> <Scheme:String> <BearerFormat:String> OAuthFlowsObject <OpenIdConnectUrl:String> Extension*;
  * @production SecuritySchemeObject : {@link SecuritySchemeOb} ::= <span class="component">&lt;Type:String&gt;</span> <span class="component">&lt;Description:String&gt;</span> <span class="component">&lt;Name:String&gt;</span> <span class="component">&lt;In:String&gt;</span> <span class="component">&lt;Scheme:String&gt;</span> <span class="component">&lt;BearerFormat:String&gt;</span> <span class="component">{@link OAuthFlowsObject}</span> <span class="component">&lt;OpenIdConnectUrl:String&gt;</span> <span class="component">{@link Extension}*</span>;
 
@@ -442,6 +442,57 @@ public class SecuritySchemeObject extends SecuritySchemeOb implements Cloneable
   public JastAddList<Extension> getExtensionsNoTransform() {
     return getExtensionListNoTransform();
   }
+/** @apilevel internal */
+protected java.util.Set composeSecurityScheme_SecuritySchemeOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:872
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:872")
+  public SecurityScheme composeSecurityScheme(SecuritySchemeOb securitySchemeOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(securitySchemeOb);
+    _parameters.add(map);
+    if (composeSecurityScheme_SecuritySchemeOb_Map_Object__ASTNode__visited == null) composeSecurityScheme_SecuritySchemeOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeSecurityScheme_SecuritySchemeOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute SecuritySchemeOb.composeSecurityScheme(SecuritySchemeOb,Map_Object__ASTNode_).");
+    }
+    composeSecurityScheme_SecuritySchemeOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            SecurityScheme securityScheme = new SecurityScheme();
+            SecuritySchemeObject s = (SecuritySchemeObject) securitySchemeOb;
+    
+            if( !s.getType().isEmpty() )
+            securityScheme.setType(s.getType());
+            if( !s.getName().isEmpty() )
+            securityScheme.setName(s.getName());
+            if( !s.getIn().isEmpty() )
+            securityScheme.setIn(s.getIn());
+            if( !s.getScheme().isEmpty() )
+            securityScheme.setScheme(s.getScheme());
+            if( !s.getOpenIdConnectUrl().isEmpty() )
+            securityScheme.setOpenIdConnectUrl(s.getOpenIdConnectUrl());
+            if( s.getOAuthFlowsObject() != null )
+            securityScheme.setFlows(OAuthFlowsObject.composeOAuthFlows(s.getOAuthFlowsObject(), map));
+            if( !s.getDescription().isEmpty() )
+            securityScheme.setDescription( s.getDescription() );
+            if( !s.getBearerFormat().isEmpty() )
+            securityScheme.setBearerFormat( s.getBearerFormat() );
+            if( s.getNumExtension() != 0 ){
+            Map<String, Object> extensionMap = new HashMap<>();
+            for( Extension e : s.getExtensions() )
+            extensionMap.put(e.getKey(), e.getValue());
+            securityScheme.setExtensions(extensionMap);
+            }
+    
+            return securityScheme;
+            }
+    finally {
+      composeSecurityScheme_SecuritySchemeOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeReference.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeReference.java
index de48f205..0c7f7dc0 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeReference.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeReference.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:127
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:128
  * @astdecl SecuritySchemeReference : SecuritySchemeOb ::= <Ref:String> <SecuritySchemeOb:SecuritySchemeOb>;
  * @production SecuritySchemeReference : {@link SecuritySchemeOb} ::= <span class="component">&lt;Ref:String&gt;</span> <span class="component">&lt;SecuritySchemeOb:SecuritySchemeOb&gt;</span>;
 
@@ -197,6 +197,37 @@ public class SecuritySchemeReference extends SecuritySchemeOb implements Cloneab
   public SecuritySchemeOb getSecuritySchemeOb() {
     return tokenSecuritySchemeOb_SecuritySchemeOb;
   }
+/** @apilevel internal */
+protected java.util.Set composeSecurityScheme_SecuritySchemeOb_Map_Object__ASTNode__visited;
+  /**
+   * @attribute syn
+   * @aspect Composer
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:872
+   */
+  @ASTNodeAnnotation.Attribute(kind=ASTNodeAnnotation.Kind.SYN)
+  @ASTNodeAnnotation.Source(aspect="Composer", declaredAt="E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:872")
+  public SecurityScheme composeSecurityScheme(SecuritySchemeOb securitySchemeOb, Map<Object, ASTNode> map) {
+    java.util.List _parameters = new java.util.ArrayList(2);
+    _parameters.add(securitySchemeOb);
+    _parameters.add(map);
+    if (composeSecurityScheme_SecuritySchemeOb_Map_Object__ASTNode__visited == null) composeSecurityScheme_SecuritySchemeOb_Map_Object__ASTNode__visited = new java.util.HashSet(4);
+    if (composeSecurityScheme_SecuritySchemeOb_Map_Object__ASTNode__visited.contains(_parameters)) {
+      throw new RuntimeException("Circular definition of attribute SecuritySchemeOb.composeSecurityScheme(SecuritySchemeOb,Map_Object__ASTNode_).");
+    }
+    composeSecurityScheme_SecuritySchemeOb_Map_Object__ASTNode__visited.add(_parameters);
+    try {
+            SecurityScheme securityScheme = new SecurityScheme();
+            SecuritySchemeReference s = (SecuritySchemeReference) securitySchemeOb;
+    
+            if( !s.getRef().isEmpty() )
+            securityScheme.setRef(s.getRef());
+    
+            return securityScheme;
+            }
+    finally {
+      composeSecurityScheme_SecuritySchemeOb_Map_Object__ASTNode__visited.remove(_parameters);
+    }
+  }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
     return super.rewriteTo();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeTuple.java
index cfee37bc..a27af994 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:29
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerObject.java
index 3c09dd3b..90d2d560 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:14
@@ -26,7 +26,7 @@ import org.openapi4j.core.exception.DecodeException;
 public class ServerObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:125
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:125
    */
   public static Server composeServer (ServerObject serverObject, Map<Object, ASTNode> map){
         Server server = new Server();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariableObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariableObject.java
index da026393..5c0cf497 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariableObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariableObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:18
@@ -26,7 +26,7 @@ import org.openapi4j.core.exception.DecodeException;
 public class ServerVariableObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:149
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:149
    */
   public static ServerVariable composeServerVariable (ServerVariableObject serverVariableObject, Map<Object, ASTNode> map){
         ServerVariable serverVariable = new ServerVariable();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariablesTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariablesTuple.java
index 8b3b0cad..16878d74 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariablesTuple.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariablesTuple.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,7 +16,6 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
  * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:15
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Tag.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Tag.java
index a47dad53..3469ec20 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Tag.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Tag.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:52
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:53
  * @astdecl Tag : ASTNode ::= <Tag:String>;
  * @production Tag : {@link ASTNode} ::= <span class="component">&lt;Tag:String&gt;</span>;
 
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/TagObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/TagObject.java
index 5b3b9b5a..2a1e5c57 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/TagObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/TagObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:102
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:103
  * @astdecl TagObject : ASTNode ::= <Name:String> <Description:String> [ExternalDocObject] Extension*;
  * @production TagObject : {@link ASTNode} ::= <span class="component">&lt;Name:String&gt;</span> <span class="component">&lt;Description:String&gt;</span> <span class="component">[{@link ExternalDocObject}]</span> <span class="component">{@link Extension}*</span>;
 
@@ -26,7 +26,7 @@ import org.openapi4j.core.exception.DecodeException;
 public class TagObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:597
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:682
    */
   public static org.openapi4j.parser.model.v3.Tag composeTag (TagObject tagObject, Map<Object, ASTNode> map){
         org.openapi4j.parser.model.v3.Tag tag = new org.openapi4j.parser.model.v3.Tag();
@@ -36,7 +36,7 @@ public class TagObject extends ASTNode<ASTNode> implements Cloneable {
         if( !tagObject.getDescription().isEmpty() )
         tag.setDescription( tagObject.getDescription() );
         if( tagObject.hasExternalDocObject() )
-        tag.setExternalDocs( ExternalDocObject.composeExternalDocs(tagObject.getExternalDocObject()) );
+        tag.setExternalDocs( ExternalDocObject.composeExternalDocs(tagObject.getExternalDocObject(), map) );
         if( tagObject.getNumExtension() != 0 ){
         Map<String, Object> extensionMap = new HashMap<>();
         for( Extension e : tagObject.getExtensions() )
@@ -48,7 +48,7 @@ public class TagObject extends ASTNode<ASTNode> implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:631
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:604
    */
   public static TagObject parseTag(org.openapi4j.parser.model.v3.Tag tag, Map<Object, ASTNode> map){
         TagObject tagObject = new TagObject();
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Trace.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Trace.java
index e446253b..14a4bc34 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Trace.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Trace.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,15 +16,14 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:48
- * @astdecl Trace : ASTNode ::= OperationObject;
- * @production Trace : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>;
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:52
+ * @astdecl Trace : OperationOb ::= <OperationObject:OperationObject>;
+ * @production Trace : {@link OperationOb} ::= <span class="component">&lt;OperationObject:OperationObject&gt;</span>;
 
  */
-public class Trace extends ASTNode<ASTNode> implements Cloneable {
+public class Trace extends OperationOb implements Cloneable {
   /**
    * @declaredat ASTNode:1
    */
@@ -38,53 +38,52 @@ public class Trace extends ASTNode<ASTNode> implements Cloneable {
    * @declaredat ASTNode:10
    */
   public void init$Children() {
-    children = new ASTNode[1];
   }
   /**
-   * @declaredat ASTNode:13
+   * @declaredat ASTNode:12
    */
   @ASTNodeAnnotation.Constructor(
     name = {"OperationObject"},
     type = {"OperationObject"},
-    kind = {"Child"}
+    kind = {"Token"}
   )
   public Trace(OperationObject p0) {
-    setChild(p0, 0);
+    setOperationObject(p0);
   }
   /** @apilevel low-level 
-   * @declaredat ASTNode:22
+   * @declaredat ASTNode:21
    */
   protected int numChildren() {
-    return 1;
+    return 0;
   }
   /**
    * @apilevel internal
-   * @declaredat ASTNode:28
+   * @declaredat ASTNode:27
    */
   public boolean mayHaveRewrite() {
     return false;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:32
+   * @declaredat ASTNode:31
    */
   public void flushAttrCache() {
     super.flushAttrCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:36
+   * @declaredat ASTNode:35
    */
   public void flushCollectionCache() {
     super.flushCollectionCache();
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:40
+   * @declaredat ASTNode:39
    */
   public Trace clone() throws CloneNotSupportedException {
     Trace node = (Trace) super.clone();
     return node;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:45
+   * @declaredat ASTNode:44
    */
   public Trace copy() {
     try {
@@ -104,7 +103,7 @@ public class Trace extends ASTNode<ASTNode> implements Cloneable {
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
    * @deprecated Please use treeCopy or treeCopyNoTransform instead
-   * @declaredat ASTNode:64
+   * @declaredat ASTNode:63
    */
   @Deprecated
   public Trace fullCopy() {
@@ -115,7 +114,7 @@ public class Trace extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:74
+   * @declaredat ASTNode:73
    */
   public Trace treeCopyNoTransform() {
     Trace tree = (Trace) copy();
@@ -136,7 +135,7 @@ public class Trace extends ASTNode<ASTNode> implements Cloneable {
    * The copy is dangling, i.e. has no parent.
    * @return dangling copy of the subtree at this node
    * @apilevel low-level
-   * @declaredat ASTNode:94
+   * @declaredat ASTNode:93
    */
   public Trace treeCopy() {
     Trace tree = (Trace) copy();
@@ -152,36 +151,30 @@ public class Trace extends ASTNode<ASTNode> implements Cloneable {
     return tree;
   }
   /** @apilevel internal 
-   * @declaredat ASTNode:108
+   * @declaredat ASTNode:107
    */
   protected boolean is$Equal(ASTNode node) {
-    return super.is$Equal(node);    
+    return super.is$Equal(node) && (tokenOperationObject_OperationObject == ((Trace) node).tokenOperationObject_OperationObject);    
   }
   /**
-   * Replaces the OperationObject child.
-   * @param node The new node to replace the OperationObject child.
+   * Replaces the lexeme OperationObject.
+   * @param value The new value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  public void setOperationObject(OperationObject node) {
-    setChild(node, 0);
+  public void setOperationObject(OperationObject value) {
+    tokenOperationObject_OperationObject = value;
   }
+  /** @apilevel internal 
+   */
+  protected OperationObject tokenOperationObject_OperationObject;
   /**
-   * Retrieves the OperationObject child.
-   * @return The current node used as the OperationObject child.
+   * Retrieves the value for the lexeme OperationObject.
+   * @return The value for the lexeme OperationObject.
    * @apilevel high-level
    */
-  @ASTNodeAnnotation.Child(name="OperationObject")
+  @ASTNodeAnnotation.Token(name="OperationObject")
   public OperationObject getOperationObject() {
-    return (OperationObject) getChild(0);
-  }
-  /**
-   * Retrieves the OperationObject child.
-   * <p><em>This method does not invoke AST transformations.</em></p>
-   * @return The current node used as the OperationObject child.
-   * @apilevel low-level
-   */
-  public OperationObject getOperationObjectNoTransform() {
-    return (OperationObject) getChildNoTransform(0);
+    return tokenOperationObject_OperationObject;
   }
   /** @apilevel internal */
   public ASTNode rewriteTo() {
diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/XmlObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/XmlObject.java
index e9792647..d546aa15 100644
--- a/src/gen/java/de/tudresden/inf/st/openapi/ast/XmlObject.java
+++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/XmlObject.java
@@ -8,6 +8,7 @@ import org.openapi4j.core.model.OAIContext;
 import java.io.IOException;
 import java.util.*;
 import java.net.URL;
+import org.openapi4j.core.exception.DecodeException;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -15,10 +16,9 @@ import java.net.HttpURLConnection;
 import javax.net.ssl.HttpsURLConnection;
 import java.util.Random;
 import java.util.stream.IntStream;
-import org.openapi4j.core.exception.DecodeException;
 /**
  * @ast node
- * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:123
+ * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:124
  * @astdecl XmlObject : ASTNode ::= <Name:String> <Namespace:String> <Prefix:String> <Attribute:Boolean> <Wrapped:Boolean> Extension*;
  * @production XmlObject : {@link ASTNode} ::= <span class="component">&lt;Name:String&gt;</span> <span class="component">&lt;Namespace:String&gt;</span> <span class="component">&lt;Prefix:String&gt;</span> <span class="component">&lt;Attribute:Boolean&gt;</span> <span class="component">&lt;Wrapped:Boolean&gt;</span> <span class="component">{@link Extension}*</span>;
 
@@ -26,9 +26,9 @@ import org.openapi4j.core.exception.DecodeException;
 public class XmlObject extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Composer
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:732
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jrag:855
    */
-  public static Xml composeXml (XmlObject xmlObject) {
+  public static Xml composeXml (XmlObject xmlObject, Map<Object, ASTNode> map) {
         Xml xml = new Xml();
 
         if( !xmlObject.getName().isEmpty() )
@@ -46,7 +46,7 @@ public class XmlObject extends ASTNode<ASTNode> implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:909
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:770
    */
   public static XmlObject parseXml (Xml xml, Map<Object, ASTNode> map) {
         XmlObject xmlObject = new XmlObject();
diff --git a/src/main/jastadd/Composer.jadd b/src/main/jastadd/Composer.jrag
similarity index 54%
rename from src/main/jastadd/Composer.jadd
rename to src/main/jastadd/Composer.jrag
index 60032ca5..40b8e29d 100644
--- a/src/main/jastadd/Composer.jadd
+++ b/src/main/jastadd/Composer.jrag
@@ -27,7 +27,7 @@ aspect Composer {
         if( openapi.getNumPathsObject() != 0 ){
         Map<String, Path> paths = new HashMap<>();
         for( PathsObject p : openapi.getPathsObjects() )
-        paths.put( p.getRef(), PathItemOb.composePath(p.getPathItemOb(), map) );
+        paths.put( p.getRef(), p.getPathItemOb().composePath(p.getPathItemOb(), map) );
         api3.setPaths(paths);
         }
         if( openapi.hasComponentsObject() )
@@ -62,17 +62,17 @@ public static Info InfoObject.composeInfo (InfoObject infoObject, Map<Object, AS
         Info info = new Info();
 
         if( !infoObject.getTitle().isEmpty() )
-            info.setTitle(infoObject.getTitle());
+        info.setTitle(infoObject.getTitle());
         if( !infoObject.getVersion().isEmpty() )
-            info.setVersion(infoObject.getVersion());
+        info.setVersion(infoObject.getVersion());
         if( !infoObject.getDescription().isEmpty() )
         info.setDescription(infoObject.getDescription());
         if( !infoObject.getTermsOfService().isEmpty() )
         info.setTermsOfService(infoObject.getTermsOfService());
         if( infoObject.hasContactObject() )
-        info.setContact(ContactObject.composeContact(infoObject.getContactObject()));
+        info.setContact(ContactObject.composeContact(infoObject.getContactObject(), map));
         if( infoObject.hasLicenseObject() )
-        info.setLicense(LicenseObject.composeLicense(infoObject.getLicenseObject()));
+        info.setLicense(LicenseObject.composeLicense(infoObject.getLicenseObject(), map));
         if( infoObject.getNumExtension() != 0 ){
         Map<String, Object> extension = new HashMap<>();
         for( Extension e : infoObject.getExtensions() )
@@ -175,20 +175,32 @@ public static Components ComponentsObject.composeComponents (ComponentsObject co
 
         if( componentsObject.getNumSchemaTuple() != 0 ){
         Map<String, org.openapi4j.parser.model.v3.Schema> schemaMap = new HashMap<>();
-        for( SchemaTuple t : componentsObject.getSchemaTuples() )
-        schemaMap.put(t.getKey(), SchemaOb.composeSchema(t.getSchemaOb(), map));
+        SchemaOb s;
+        for( SchemaTuple t : componentsObject.getSchemaTuples() ){
+        s = t.getSchemaOb();
+        if( s instanceof SchemaObject )
+        schemaMap.put(t.getKey(), ((SchemaObject)s).composeSchema(s, map));
+        else
+        schemaMap.put(t.getKey(), ((SchemaReference)s).composeSchema(s, map));
+        }
         components.setSchemas(schemaMap);
         }
         if( componentsObject.getNumResponseTuple() != 0 ){
         Map<String, Response> responseMap = new HashMap<>();
-        for( ResponseTuple t : componentsObject.getResponseTuples() )
-        responseMap.put(t.getKey(), ResponseOb.composeResponse(t.getResponseOb(), map));
+        ResponseOb r;
+        for( ResponseTuple t : componentsObject.getResponseTuples() ) {
+        r = t.getResponseOb();
+        responseMap.put(t.getKey(), r.composeResponse(r, map));
+        }
         components.setResponses(responseMap);
         }
         if( componentsObject.getNumParameterTuple() != 0 ){
         Map<String, Parameter> parameterMap = new HashMap<>();
-        for( ParameterTuple t : componentsObject.getParameterTuples() )
-        parameterMap.put(t.getKey(), ParameterOb.composeParameter(t.getParameterOb(), map));
+        ParameterOb p;
+        for( ParameterTuple t : componentsObject.getParameterTuples() ) {
+        p = t.getParameterOb();
+        parameterMap.put(t.getKey(), p.composeParameter(p, map));
+        }
         components.setParameters(parameterMap);
         }
         if( componentsObject.getNumExampleTuple() != 0 ){
@@ -199,33 +211,43 @@ public static Components ComponentsObject.composeComponents (ComponentsObject co
         }
         if( componentsObject.getNumRequestBodyTuple() != 0 ){
         Map<String, RequestBody> requestBodyMap = new HashMap<>();
-        for( RequestBodyTuple t : componentsObject.getRequestBodyTuples() )
-        requestBodyMap.put(t.getKey(), RequestBodyOb.composeRequestBody(t.getRequestBodyOb(), map));
-        components.setRequestBodies(requestBodyMap);
+        RequestBodyOb r;
+        for( RequestBodyTuple t : componentsObject.getRequestBodyTuples() ) {
+        r = t.getRequestBodyOb();
+        requestBodyMap.put(t.getKey(), r.composeRequestBody(r, map));
+        }        components.setRequestBodies(requestBodyMap);
         }
         if( componentsObject.getNumHeaderTuple() != 0 ){
         Map<String, Header> headerMap = new HashMap<>();
-        for( HeaderTuple t : componentsObject.getHeaderTuples() )
-        headerMap.put(t.getKey(), HeaderOb.composeHeader(t.getHeaderOb(), map));
-        components.setHeaders(headerMap);
+        HeaderOb h;
+        for( HeaderTuple t : componentsObject.getHeaderTuples() ) {
+        h = t.getHeaderOb();
+        headerMap.put(t.getKey(), h.composeHeader(h, map));
+        }        components.setHeaders(headerMap);
         }
         if( componentsObject.getNumSecuritySchemeTuple() != 0 ){
         Map<String, SecurityScheme> securitySchemeMap = new HashMap<>();
-        for( SecuritySchemeTuple t : componentsObject.getSecuritySchemeTuples() )
-        securitySchemeMap.put(t.getKey(), SecuritySchemeOb.composeSecurityScheme(t.getSecuritySchemeOb(), map));
-        components.setSecuritySchemes(securitySchemeMap);
+        SecuritySchemeOb s;
+        for( SecuritySchemeTuple t : componentsObject.getSecuritySchemeTuples() ) {
+        s = t.getSecuritySchemeOb();
+        securitySchemeMap.put(t.getKey(), s.composeSecurityScheme(s, map));
+        }        components.setSecuritySchemes(securitySchemeMap);
         }
         if( componentsObject.getNumLinkTuple() != 0 ){
         Map<String, Link> linkMap = new HashMap<>();
-        for( LinkTuple t : componentsObject.getLinkTuples() )
-        linkMap.put(t.getKey(), LinkOb.composeLink(t.getLinkOb(), map));
-        components.setLinks(linkMap);
+        LinkOb l;
+        for( LinkTuple t : componentsObject.getLinkTuples() ) {
+        l = t.getLinkOb();
+        linkMap.put(t.getKey(), l.composeLink(l, map));
+        }        components.setLinks(linkMap);
         }
         if( componentsObject.getNumCallbackTuple() != 0 ){
         Map<String, Callback> callbackMap = new HashMap<>();
-        for( CallbackTuple t : componentsObject.getCallbackTuples() )
-        callbackMap.put(t.getKey(), CallbackOb.composeCallback(t.getCallbackOb(), map));
-        components.setCallbacks(callbackMap);
+        CallbackOb c;
+        for( CallbackTuple t : componentsObject.getCallbackTuples() ) {
+        c = t.getCallbackOb();
+        callbackMap.put(t.getKey(), c.composeCallback(c, map));
+        }        components.setCallbacks(callbackMap);
         }
         if( componentsObject.getNumExtension() != 0 ){
         Map<String, Object> extensions = new HashMap<>();
@@ -237,40 +259,49 @@ public static Components ComponentsObject.composeComponents (ComponentsObject co
         return components;
         }
 
-public static Path PathItemOb.composePath (PathItemOb pathItem, Map<Object, ASTNode> map){
-        Path path = new Path();
+        syn Path PathItemOb.composePath (PathItemOb pathItem, Map<Object, ASTNode> map);
+        eq PathItemReference.composePath (PathItemOb pathItem, Map<Object, ASTNode> map) {
+            Path path = new Path();
+        PathItemReference p = (PathItemReference) pathItem;
 
-        if( !pathItem.getRef().isEmpty() )
-        path.setRef(pathItem.getRef());
-        if( !pathItem.getSummary().isEmpty())
-        path.setSummary(pathItem.getSummary());
-        if( !pathItem.getDescription().isEmpty() )
-        path.setDescription(pathItem.getDescription());
-        if( pathItem.hasGet() )
-        path.setGet( OperationObject.composeOperation(pathItem.getGet().getOperationObject()) );
-        if( pathItem.hasPut() )
-        path.setPut( OperationObject.composeOperation(pathItem.getPut().getOperationObject()) );
-        if( pathItem.hasPost() )
-        path.setPost( OperationObject.composeOperation(pathItem.getPost().getOperationObject()) );
-        if( pathItem.hasDelete() )
-        path.setDelete( OperationObject.composeOperation(pathItem.getDelete().getOperationObject()) );
-        if( pathItem.hasOptions() )
-        path.setOptions( OperationObject.composeOperation(pathItem.getOptions().getOperationObject()) );
-        if( pathItem.hasHead() )
-        path.setHead( OperationObject.composeOperation(pathItem.getHead().getOperationObject()) );
-        if( pathItem.hasPatch() )
-        path.setPatch( OperationObject.composeOperation(pathItem.getPatch().getOperationObject()) );
-        if( pathItem.getNumServerObject() != 0 ){
-        for( ServerObject s : pathItem.getServerObjects() )
-        path.addServer( ServerObject.composeServer(s) );
-        }
-        if( pathItem.getNumParameterObject() != 0 ){
-        for( ParameterObject p : pathItem.getParameterObjects() )
-        path.addParameter( ParameterObject.composeParameter(p) );
-        }
-        if( pathItem.getNumExtension() != 0 ){
+        if( !p.getRef().isEmpty() )
+        path.setRef(p.getRef());
+
+        return path;
+        }
+        eq PathItemObject.composePath (PathItemOb pathItem, Map<Object, ASTNode> map) {
+        Path path = new Path();
+        PathItemObject p = (PathItemObject) pathItem;
+
+        if( !p.getSummary().isEmpty())
+        path.setSummary(p.getSummary());
+        if( !p.getDescription().isEmpty() )
+        path.setDescription(p.getDescription());
+        if( p.hasGet() )
+        path.setGet( OperationObject.composeOperation(p.getGet().getOperationObject(), map) );
+        if( p.hasPut() )
+        path.setPut( OperationObject.composeOperation(p.getPut().getOperationObject(), map) );
+        if( p.hasPost() )
+        path.setPost( OperationObject.composeOperation(p.getPost().getOperationObject(), map) );
+        if( p.hasDelete() )
+        path.setDelete( OperationObject.composeOperation(p.getDelete().getOperationObject(), map) );
+        if( p.hasOptions() )
+        path.setOptions( OperationObject.composeOperation(p.getOptions().getOperationObject(), map) );
+        if( p.hasHead() )
+        path.setHead( OperationObject.composeOperation(p.getHead().getOperationObject(), map) );
+        if( p.hasPatch() )
+        path.setPatch( OperationObject.composeOperation(p.getPatch().getOperationObject(), map) );
+        if( p.getNumServerObject() != 0 ){
+        for( ServerObject s : p.getServerObjects() )
+        path.addServer( ServerObject.composeServer(s, map) );
+        }
+        if( p.getNumParameterOb() != 0 ){
+        for( ParameterOb e : p.getParameterObs() )
+        path.addParameter( e.composeParameter(e, map) );
+        }
+        if( p.getNumExtension() != 0 ){
         Map<String, Object> extensionMap = new HashMap<>();
-        for( Extension e : pathItem.getExtensions() )
+        for( Extension e : p.getExtensions() )
         extensionMap.put(e.getKey(), e.getValue());
         path.setExtensions(extensionMap);
         }
@@ -281,7 +312,6 @@ public static Path PathItemOb.composePath (PathItemOb pathItem, Map<Object, ASTN
 public static Operation OperationObject.composeOperation (OperationObject operationObject, Map<Object, ASTNode> map){
         Operation operation = new Operation();
 
-
         if( operationObject.getNumTag() != 0 ){
         for( de.tudresden.inf.st.openapi.ast.Tag t : operationObject.getTags() )
         operation.addTag(t.getTag());
@@ -291,43 +321,36 @@ public static Operation OperationObject.composeOperation (OperationObject operat
         if( !operationObject.getDescription().isEmpty() )
         operation.setDescription( operationObject.getDescription() );
         if( operationObject.hasExternalDocObject() )
-        operation.setExternalDocs( ExternalDocObject.composeExternalDocs(operationObject.getExternalDocObject()) );
+        operation.setExternalDocs( ExternalDocObject.composeExternalDocs(operationObject.getExternalDocObject(), map) );
         if( !operationObject.getOperationID().isEmpty() )
         operation.setOperationId( operationObject.getOperationID() );
-        if( operationObject.getNumParameterObject() != 0 ){
-        for( ParameterObject p : operationObject.getParameterObjects() )
-        operation.addParameter( ParameterObject.composeParameter(p) );
+        if( operationObject.getNumParameterOb() != 0 ){
+        for( ParameterOb p : operationObject.getParameterObs() )
+        operation.addParameter(p.composeParameter(p, map));
         }
-        if( operationObject.hasRequestBodyObject() )
-        operation.setRequestBody( RequestBodyObject.composeRequestBody(operationObject.getRequestBodyObject()));
+        if( operationObject.hasRequestBodyOb() )
+        operation.setRequestBody(operationObject.getRequestBodyOb().composeRequestBody(operationObject.getRequestBodyOb(), map));
         if( operationObject.getNumResponseTuple() != 0){
         Map<String, Response> responseMap = new HashMap<>();
         for( ResponseTuple t : operationObject.getResponseTuples() )
-        responseMap.put(t.getKey(), ResponseObject.composeResponse(t.getResponseObject()));
+        responseMap.put(t.getKey(), t.getResponseOb().composeResponse(t.getResponseOb(), map));
         operation.setResponses(responseMap);
         }
         if( operationObject.getNumCallbackTuple() != 0 ){
         Map<String, Callback> callbacks = new HashMap<>();
-        for( CallbackTuple t : operationObject.getCallbackTuples() ) {
-        if( !t.getCallbackObject().getRef().isEmpty() ){
-        Callback callback = new Callback();
-        callback.setRef(t.getCallbackObject().getRef());
-        callbacks.put(t.getKey(), callback);
-        }
-        else
-        callbacks.put(t.getKey(), CallbackObject.composeCallback(t.getCallbackObject()));
+        for( CallbackTuple t : operationObject.getCallbackTuples() )
+        callbacks.put(t.getKey(), t.getCallbackOb().composeCallback(t.getCallbackOb(), map));
         operation.setCallbacks(callbacks);
         }
-        }
         if( operationObject.getDeprecatedBoolean() != null )
         operation.setDeprecated(operationObject.getDeprecatedBoolean());
         if( operationObject.getSecurityRequirementObjects() != null ){
         for( SecurityRequirementObject s : operationObject.getSecurityRequirementObjects() )
-        operation.addSecurityRequirement( SecurityRequirementObject.composeSecurityRequirement(s) );
+        operation.addSecurityRequirement( SecurityRequirementObject.composeSecurityRequirement(s, map) );
         }
         if( operationObject.getNumServerObject() != 0 ){
         for( ServerObject s : operationObject.getServerObjects() )
-        operation.addServer( ServerObject.composeServer(s) );
+        operation.addServer( ServerObject.composeServer(s, map) );
         }
         if( operationObject.getNumExtension() != 0 ){
         Map<String, Object> extensionMap = new HashMap<>();
@@ -356,48 +379,57 @@ public static ExternalDocs ExternalDocObject.composeExternalDocs (ExternalDocObj
         return externalDocs;
         }
 
-public static Parameter ParameterOb.composeParameter (ParameterOb parameterObject, Map<Object, ASTNode> map){
+        syn Parameter ParameterOb.composeParameter (ParameterOb parameterOb, Map<Object, ASTNode> map);
+        eq ParameterReference.composeParameter (ParameterOb parameterOb, Map<Object, ASTNode> map) {
         Parameter parameter = new Parameter();
+        ParameterReference p = (ParameterReference) parameterOb;
+
+        if( !p.getRef().isEmpty() )
+        parameter.setRef(p.getRef());
 
-        if( !parameterObject.getRef().isEmpty() )
-        parameter.setRef(parameterObject.getRef());
-        if( !parameterObject.getName().isEmpty() )
-        parameter.setName(parameterObject.getName());
-        if( !parameterObject.getIn().isEmpty() )
-        parameter.setIn(parameterObject.getIn());
-        if( parameterObject.getRequired() != null )
-        parameter.setRequired(parameterObject.getRequired());
-        if( !parameterObject.getDescription().isEmpty() )
-        parameter.setDescription(parameterObject.getDescription());
-        if( parameterObject.getDeprecatedBoolean() != null )
-        parameter.setDeprecated(parameterObject.getDeprecatedBoolean());
-        if( !parameterObject.getStyle().isEmpty() )
-        parameter.setStyle(parameterObject.getStyle());
-        if( parameterObject.getAllowReserved() != null )
-        parameter.setAllowReserved(parameterObject.getAllowReserved());
-        if( parameterObject.getExplode() != null )
-        parameter.setExplode(parameterObject.getExplode());
-        if( parameterObject.getSchemaObject() != null )
-        parameter.setSchema(SchemaObject.composeSchema(parameterObject.getSchemaObject()));
-        if( parameterObject.getExample() != null )
-        parameter.setExample(parameterObject.getExample());
-        if( parameterObject.getNumExampleTuple() != 0 ){
+        return parameter;
+        }
+        eq ParameterObject.composeParameter (ParameterOb parameterOb, Map<Object, ASTNode> map) {
+        Parameter parameter = new Parameter();
+        ParameterObject p = (ParameterObject) parameterOb;
+
+        if( !p.getName().isEmpty() )
+        parameter.setName(p.getName());
+        if( !p.getIn().isEmpty() )
+        parameter.setIn(p.getIn());
+        if( p.getRequired() != null )
+        parameter.setRequired(p.getRequired());
+        if( !p.getDescription().isEmpty() )
+        parameter.setDescription(p.getDescription());
+        if( p.getDeprecatedBoolean() != null )
+        parameter.setDeprecated(p.getDeprecatedBoolean());
+        if( !p.getStyle().isEmpty() )
+        parameter.setStyle(p.getStyle());
+        if( p.getAllowReserved() != null )
+        parameter.setAllowReserved(p.getAllowReserved());
+        if( p.getExplode() != null )
+        parameter.setExplode(p.getExplode());
+        if( p.getSchemaOb() != null )
+        parameter.setSchema(p.getSchemaOb().composeSchema(p.getSchemaOb(), map));
+        if( p.getExample() != null )
+        parameter.setExample(p.getExample());
+        if( p.getNumExampleTuple() != 0 ){
         Map<String, Example> exampleMap = new HashMap<>();
-        for( ExampleTuple t : parameterObject.getExampleTuples() )
-        exampleMap.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject()));
+        for( ExampleTuple t : p.getExampleTuples() )
+        exampleMap.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject(), map));
         parameter.setExamples(exampleMap);
         }
-        if( parameterObject.getNumContentTuple() != 0 ){
+        if( p.getNumContentTuple() != 0 ){
         Map<String, MediaType> contentMap = new HashMap<>();
-        for( ContentTuple t : parameterObject.getContentTuples() )
-        contentMap.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject()));
+        for( ContentTuple t : p.getContentTuples() )
+        contentMap.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject(), map));
         parameter.setContentMediaTypes(contentMap);
         }
-        if( parameterObject.getRequired() != null )
-            parameter.setRequired(parameterObject.getRequired());
-        if( parameterObject.getNumExtension() != 0 ){
+        if( p.getRequired() != null )
+        parameter.setRequired(p.getRequired());
+        if( p.getNumExtension() != 0 ){
         Map<String, Object> extensionMap = new HashMap<>();
-        for( Extension e : parameterObject.getExtensions() )
+        for( Extension e : p.getExtensions() )
         extensionMap.put(e.getKey(), e.getValue());
         parameter.setExtensions(extensionMap);
         }
@@ -405,42 +437,53 @@ public static Parameter ParameterOb.composeParameter (ParameterOb parameterObjec
         return parameter;
         }
 
-public static org.openapi4j.parser.model.v3.RequestBody RequestBodyOb.composeRequestBody (RequestBodyOb requestBodyObject, Map<Object, ASTNode> map){
-        org.openapi4j.parser.model.v3.RequestBody requestBody = new org.openapi4j.parser.model.v3.RequestBody();
+        syn RequestBody RequestBodyOb.composeRequestBody (RequestBodyOb requestBodyOb, Map<Object, ASTNode> map);
+        eq RequestBodyReference.composeRequestBody (RequestBodyOb requestBodyOb, Map<Object, ASTNode> map) {
+        RequestBody requestBody = new RequestBody();
+        RequestBodyReference r = (RequestBodyReference) requestBodyOb;
+
+        if( !r.getRef().isEmpty() )
+        requestBody.setRef(r.getRef());
+
+        return requestBody;
+        }
+        eq RequestBodyObject.composeRequestBody (RequestBodyOb requestBodyOb, Map<Object, ASTNode> map) {
+        RequestBody requestBody = new RequestBody();
+        RequestBodyObject r = (RequestBodyObject) requestBodyOb;
 
-        if( requestBodyObject.getNumContentTuple() != 0 ){
+        if( r.getNumContentTuple() != 0 ){
         Map<String, MediaType> contents = new HashMap<>();
-        for( ContentTuple t : requestBodyObject.getContentTuples())
-        contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject()));
+        for( ContentTuple t : r.getContentTuples())
+        contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject(), map));
         requestBody.setContentMediaTypes(contents);
         }
-        if( !requestBodyObject.getDescription().isEmpty() )
-        requestBody.setDescription(requestBodyObject.getDescription());
-        if( requestBodyObject.getRequired() != null )
-        requestBody.setRequired(requestBodyObject.getRequired());
-        if( !requestBodyObject.getRef().isEmpty() )
-        requestBody.setRef(requestBodyObject.getRef());
+        if( !r.getDescription().isEmpty() )
+        requestBody.setDescription(r.getDescription());
+        if( r.getRequired() != null )
+        requestBody.setRequired(r.getRequired());
 
         return requestBody;
         }
 
 public static MediaType MediaTypeObject.composeMediaType (MediaTypeObject mediaTypeObject, Map<Object, ASTNode> map){
         MediaType mediaType = new MediaType();
+        SchemaOb s;
 
-        if( mediaTypeObject.getSchemaObject() != null )
-        mediaType.setSchema(SchemaObject.composeSchema(mediaTypeObject.getSchemaObject()));
+        if( mediaTypeObject.getSchemaOb() != null ){
+        s = mediaTypeObject.getSchemaOb();
+        mediaType.setSchema(s.composeSchema(s, map));}
         if( mediaTypeObject.getExample() != null )
         mediaType.setExample(mediaTypeObject.getExample());
         if( mediaTypeObject.getNumExampleTuple() != 0 ){
         Map<String, Example> exampleMap = new HashMap<>();
         for( ExampleTuple t : mediaTypeObject.getExampleTuples() )
-        exampleMap.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject()));
+        exampleMap.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject(), map));
         mediaType.setExamples(exampleMap);
         }
         if( mediaTypeObject.getNumEncodingTuple() != 0 ){
         Map<String, EncodingProperty> encodingMap = new HashMap<>();
         for( EncodingTuple t : mediaTypeObject.getEncodingTuples() )
-        encodingMap.put(t.getKey(), EncodingObject.composeEncodingProperty(t.getEncodingObject()));
+        encodingMap.put(t.getKey(), EncodingObject.composeEncodingProperty(t.getEncodingObject(), map));
         mediaType.setEncodings(encodingMap);
         }
 
@@ -449,14 +492,16 @@ public static MediaType MediaTypeObject.composeMediaType (MediaTypeObject mediaT
 
 public static EncodingProperty EncodingObject.composeEncodingProperty (EncodingObject encodingObject, Map<Object, ASTNode> map){
         EncodingProperty encodingProperty = new EncodingProperty();
+        HeaderOb h;
 
         if( !encodingObject.getContentType().isEmpty() )
         encodingProperty.setContentType( encodingObject.getContentType() );
         if( encodingObject.getNumHeaderTuple() != 0 ){
         Map<String, Header> headers = new HashMap<>();
-        for( HeaderTuple t : encodingObject.getHeaderTuples() )
-        headers.put(t.getKey(), HeaderObject.composeHeader(t.getHeaderObject()));
-        encodingProperty.setHeaders(headers);
+        for( HeaderTuple t : encodingObject.getHeaderTuples() ) {
+        h = t.getHeaderOb();
+        headers.put(t.getKey(), h.composeHeader(h, map));
+        }        encodingProperty.setHeaders(headers);
         }
         if( !encodingObject.getStyle().isEmpty() )
         encodingProperty.setStyle(encodingObject.getStyle());
@@ -472,42 +517,65 @@ public static EncodingProperty EncodingObject.composeEncodingProperty (EncodingO
         return encodingProperty;
         }
 
-public static Response ResponseOb.composeResponse (ResponseObject responseObject, Map<Object, ASTNode> map){
+        syn Response ResponseOb.composeResponse (ResponseOb responseOb, Map<Object, ASTNode> map);
+        eq ResponseReference.composeResponse (ResponseOb responseOb, Map<Object, ASTNode> map){
+        Response response = new Response();
+        ResponseReference r = (ResponseReference) responseOb;
+
+        if( !r.getRef().isEmpty() )
+        response.setRef(r.getRef());
+
+        return response;
+        }
+        eq ResponseObject.composeResponse (ResponseOb responseOb, Map<Object, ASTNode> map){
         Response response = new Response();
+        ResponseObject r = (ResponseObject) responseOb;
 
-        if( !responseObject.getRef().isEmpty() )
-        response.setRef(responseObject.getRef());
-        if( !responseObject.getDescription().isEmpty() )
-        response.setDescription(responseObject.getDescription());
-        if( responseObject.getNumHeaderTuple() != 0 ){
+        if( !r.getDescription().isEmpty() )
+        response.setDescription(r.getDescription());
+        if( r.getNumHeaderTuple() != 0 ){
         Map<String, Header> headers = new HashMap<>();
-        for( HeaderTuple t : responseObject.getHeaderTuples() )
-        headers.put(t.getKey(), HeaderObject.composeHeader(t.getHeaderObject()));
+        for( HeaderTuple t : r.getHeaderTuples() )
+        headers.put(t.getKey(), t.getHeaderOb().composeHeader(t.getHeaderOb(), map));
         response.setHeaders(headers);
         }
-        if( responseObject.getNumContentTuple() != 0 ){
+        if( r.getNumContentTuple() != 0 ){
         Map<String, MediaType> contents = new HashMap<>();
-        for( ContentTuple t : responseObject.getContentTuples() )
-        contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject()));
+        for( ContentTuple t : r.getContentTuples() )
+        contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject(), map));
         response.setContentMediaTypes(contents);
         }
-        if( responseObject.getNumLinkTuple() != 0 ){
+        if( r.getNumLinkTuple() != 0 ){
         Map<String, Link> links = new HashMap<>();
-        for( LinkTuple t : responseObject.getLinkTuples() )
-        links.put(t.getKey(), LinkObject.composeLink(t.getLinkObject()));
+        for( LinkTuple t : r.getLinkTuples() )
+        links.put(t.getKey(), t.getLinkOb().composeLink(t.getLinkOb(), map));
         response.setLinks(links);
         }
 
         return response;
         }
 
-public static Callback CallbackOb.composeCallback (CallbackObject callbackObject, Map<Object, ASTNode> map){
+        syn Callback CallbackOb.composeCallback (CallbackOb callbackOb, Map<Object, ASTNode> map);
+        eq CallbackReference.composeCallback (CallbackOb callbackOb, Map<Object, ASTNode> map) {
+        Callback callback = new Callback();
+        CallbackReference c = (CallbackReference) callbackOb;
+
+        if( !c.getRef().isEmpty() )
+        callback.setRef(c.getRef());
+
+        return callback;
+        }
+        eq CallbackObject.composeCallback (CallbackOb callbackOb, Map<Object, ASTNode> map) {
         Callback callback = new Callback();
+        CallbackObject c = (CallbackObject) callbackOb;
 
-        if( callbackObject.getNumExpression() != 0 ){
+        if( c.getNumExpression() != 0 ){
         Map<String, Path> paths = new HashMap<>();
-        for( Expression e : callbackObject.getExpressions() )
-        paths.put( e.getName(), PathItem.composePath( e.getPathItem() ));
+        PathItemOb p;
+        for( Expression e : c.getExpressions() ) {
+        p = e.getPathItemOb();
+        paths.put(e.getName(), p.composePath(p, map));
+        }
         callback.setCallbackPaths(paths);
         }
 
@@ -535,61 +603,78 @@ public static Example ExampleObject.composeExample (ExampleObject exampleObject,
         return example;
         }
 
-public static Link LinkOb.composeLink (LinkObject linkObject, Map<Object, ASTNode> map){
+        syn Link LinkOb.composeLink (LinkOb linkOb, Map<Object, ASTNode> map);
+        eq LinkReference.composeLink (LinkOb linkOb, Map<Object, ASTNode> map){
         Link link = new Link();
+        LinkReference l = (LinkReference) linkOb;
 
+        if( !l.getRef().isEmpty() )
+        link.setRef(l.getRef());
 
-        if( !linkObject.getRef().isEmpty() )
-        link.setRef(linkObject.getRef());
-        if( !linkObject.getOperationRef().isEmpty() )
-        link.setOperationRef( linkObject.getOperationRef() );
-        if( !linkObject.getOperationID().isEmpty() )
-        link.setOperationId( linkObject.getOperationID() );
-        if( linkObject.getNumLinkParameterTuple() != 0 ){
+        return link;
+        }
+        eq LinkObject.composeLink (LinkOb linkOb, Map<Object, ASTNode> map){
+        Link link = new Link();
+        LinkObject l = (LinkObject) linkOb;
+
+        if( !l.getOperationRef().isEmpty() )
+        link.setOperationRef( l.getOperationRef() );
+        if( !l.getOperationID().isEmpty() )
+        link.setOperationId( l.getOperationID() );
+        if( l.getNumLinkParameterTuple() != 0 ){
         Map<String, String> parameters = new HashMap<>();
-        for( LinkParameterTuple t : linkObject.getLinkParameterTuples() )
+        for( LinkParameterTuple t : l.getLinkParameterTuples() )
         parameters.put( t.getLinkParameterKey(), t.getLinkParameterValue() );
         link.setParameters(parameters);
         }
-        if( !linkObject.getDescription().isEmpty() )
-        link.setDescription( linkObject.getDescription() );
-        if( linkObject.hasServerObject() )
-        link.setServer( ServerObject.composeServer(linkObject.getServerObject()) );
+        if( !l.getDescription().isEmpty() )
+        link.setDescription( l.getDescription() );
+        if( l.hasServerObject() )
+        link.setServer( ServerObject.composeServer(l.getServerObject(), map) );
 
         return link;
         }
 
-public static Header HeaderOb.composeHeader (HeaderObject headerObject, Map<Object, ASTNode> map){
+        syn Header HeaderOb.composeHeader (HeaderOb headerOb, Map<Object, ASTNode> map);
+        eq HeaderReference.composeHeader (HeaderOb headerOb, Map<Object, ASTNode> map) {
         Header header = new Header();
+        HeaderReference h = new HeaderReference();
+
+        if( !h.getRef().isEmpty() )
+        header.setRef(h.getRef());
 
-        if( !headerObject.getRef().isEmpty() )
-        header.setRef(headerObject.getRef());
-        if( headerObject.getRequired() != null )
-        header.setRequired(headerObject.getRequired());
-        if( !headerObject.getDescription().isEmpty() )
-        header.setDescription( headerObject.getDescription() );
-        if( !headerObject.getStyle().isEmpty() )
-        header.setStyle(headerObject.getStyle());
-        if( headerObject.getExplode() != null )
-        header.setExplode(headerObject.getExplode());
-        if( headerObject.getAllowReserved() != null )
-        header.setAllowReserved(headerObject.getAllowReserved());
-        if( headerObject.getExample() != null )
-        header.setExample(headerObject.getExample());
-        if( headerObject.getNumExampleTuple() != 0 ){
+        return header;
+        }
+        eq HeaderObject.composeHeader (HeaderOb headerOb, Map<Object, ASTNode> map) {
+        Header header = new Header();
+        HeaderObject h = (HeaderObject) headerOb;
+
+        if( h.getRequired() != null )
+        header.setRequired(h.getRequired());
+        if( !h.getDescription().isEmpty() )
+        header.setDescription( h.getDescription() );
+        if( !h.getStyle().isEmpty() )
+        header.setStyle(h.getStyle());
+        if( h.getExplode() != null )
+        header.setExplode(h.getExplode());
+        if( h.getAllowReserved() != null )
+        header.setAllowReserved(h.getAllowReserved());
+        if( h.getExample() != null )
+        header.setExample(h.getExample());
+        if( h.getNumExampleTuple() != 0 ){
         Map<String, Example> examples = new HashMap<>();
-        for( ExampleTuple t : headerObject.getExampleTuples() )
-        examples.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject()));
+        for( ExampleTuple t : h.getExampleTuples() )
+        examples.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject(), map));
         header.setExample(examples);
         }
-        if( headerObject.getNumContentTuple() != 0 ){
+        if( h.getNumContentTuple() != 0 ){
         Map<String, MediaType> contents = new HashMap<>();
-        for( ContentTuple t : headerObject.getContentTuples() )
-        contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject()));
+        for( ContentTuple t : h.getContentTuples() )
+        contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject(), map));
         header.setContentMediaTypes(contents);
         }
-        if( headerObject.hasSchemaObject() )
-            header.setSchema(SchemaObject.composeSchema(headerObject.getSchemaObject()));
+        if( h.hasSchemaOb() )
+        header.setSchema(h.getSchemaOb().composeSchema(h.getSchemaOb(), map));
 
         return header;
         }
@@ -602,7 +687,7 @@ public static org.openapi4j.parser.model.v3.Tag TagObject.composeTag (TagObject
         if( !tagObject.getDescription().isEmpty() )
         tag.setDescription( tagObject.getDescription() );
         if( tagObject.hasExternalDocObject() )
-        tag.setExternalDocs( ExternalDocObject.composeExternalDocs(tagObject.getExternalDocObject()) );
+        tag.setExternalDocs( ExternalDocObject.composeExternalDocs(tagObject.getExternalDocObject(), map) );
         if( tagObject.getNumExtension() != 0 ){
         Map<String, Object> extensionMap = new HashMap<>();
         for( Extension e : tagObject.getExtensions() )
@@ -613,100 +698,138 @@ public static org.openapi4j.parser.model.v3.Tag TagObject.composeTag (TagObject
         return tag;
         }
 
-public static org.openapi4j.parser.model.v3.Schema SchemaOb.composeSchema (SchemaOb schemaOb, Map<Object, ASTNode> map){
+        syn org.openapi4j.parser.model.v3.Schema SchemaOb.composeSchema (SchemaOb schemaOb, Map<Object, ASTNode> map);
+        eq SchemaReference.composeSchema (SchemaOb schemaOb, Map<Object, ASTNode> map){
+        org.openapi4j.parser.model.v3.Schema schema = new org.openapi4j.parser.model.v3.Schema();
+        SchemaReference s = (SchemaReference) schemaOb;
+
+        if( !s.getRef().isEmpty() )
+        schema.setRef(s.getRef());
+
+        return schema;
+        }
+        eq SchemaObject.composeSchema (SchemaOb schemaOb, Map<Object, ASTNode> map){
         org.openapi4j.parser.model.v3.Schema schema = new org.openapi4j.parser.model.v3.Schema();
+        SchemaObject s = (SchemaObject) schemaOb;
 
-        if( !schemaObject.getRef().isEmpty() )
-        schema.setRef(schemaObject.getRef());
-        if( schemaObject.getAdditionalProperties() != null )
-        schema.setAdditionalProperties(composeSchema(schemaObject.getAdditionalProperties()));
-        if( schemaObject.getAdditionalPropertiesAllowed() != null )
-        schema.setAdditionalPropertiesAllowed(schemaObject.getAdditionalPropertiesAllowed());
-        if( schemaObject.getDefaultValue() != null )
-        schema.setDefault(schemaObject.getDefaultValue());
-        if( !schemaObject.getDescription().isEmpty() )
-        schema.setDescription(schemaObject.getDescription());
-        if( schemaObject.getDeprecatedBoolean() != null )
-        schema.setDeprecated(schemaObject.getDeprecatedBoolean());
-        if( schemaObject.hasDiscriminatorObject() )
-        schema.setDiscriminator(DiscriminatorObject.composeDiscriminator(schemaObject.getDiscriminatorObject()));
-        if( schemaObject.getNumEnumObj() != 0 ){
-        for( EnumObj e : schemaObject.getEnumObjs() )
+        if( s.hasAdditionalProperties() ) {
+        SchemaOb o = s.getAdditionalProperties().getSchemaOb();
+        if ( o instanceof SchemaObject )
+        schema.setAdditionalProperties(((SchemaObject) o).composeSchema(o, map));
+        else
+        schema.setAdditionalProperties(((SchemaReference) o).composeSchema(o, map));
+        }
+        if( s.getAdditionalPropertiesAllowed() != null )
+        schema.setAdditionalPropertiesAllowed(s.getAdditionalPropertiesAllowed());
+        if( s.getDefaultValue() != null )
+        schema.setDefault(s.getDefaultValue());
+        if( !s.getDescription().isEmpty() )
+        schema.setDescription(s.getDescription());
+        if( s.getDeprecatedBoolean() != null )
+        schema.setDeprecated(s.getDeprecatedBoolean());
+        if( s.hasDiscriminatorObject() )
+        schema.setDiscriminator(DiscriminatorObject.composeDiscriminator(s.getDiscriminatorObject(), map));
+        if( s.getNumEnumObj() != 0 ){
+        for( EnumObj e : s.getEnumObjs() )
         schema.addEnum(e.getEnumOb());
         }
-        if( schemaObject.getExample() != null )
-        schema.setExample(schemaObject.getExample());
-        if( schemaObject.getExclusiveMaximum() != null )
-        schema.setExclusiveMaximum(schemaObject.getExclusiveMaximum());
-        if( schemaObject.getExclusiveMinimum() != null )
-        schema.setExclusiveMinimum(schemaObject.getExclusiveMinimum());
-        if( schemaObject.hasExternalDocObject() )
-        schema.setExternalDocs(ExternalDocObject.composeExternalDocs(schemaObject.getExternalDocObject()));
-        if( !schemaObject.getFormat().isEmpty() )
-        schema.setFormat(schemaObject.getFormat());
-        if( schemaObject.hasItemsSchema() )
-        schema.setItemsSchema(composeSchema(schemaObject.getItemsSchema().getSchemaObject()));
-        if( schemaObject.getMaximum() != null )
-        schema.setMaximum(schemaObject.getMaximum());
-        if( schemaObject.getMinimum() != null )
-        schema.setMinimum(schemaObject.getMinimum());
-        if( schemaObject.getMaxItems() != null )
-        schema.setMaxItems(schemaObject.getMaxItems());
-        if( schemaObject.getMinItems() != null )
-        schema.setMinItems(schemaObject.getMinItems());
-        if( schemaObject.getMaxLength() != null )
-        schema.setMaxLength(schemaObject.getMaxLength());
-        if( schemaObject.getMinLength() != null )
-        schema.setMinLength(schemaObject.getMinLength());
-        if( schemaObject.getMaxProperties() != null )
-        schema.setMaxProperties(schemaObject.getMaxProperties());
-        if( schemaObject.getMinProperties() != null )
-        schema.setMinProperties(schemaObject.getMinProperties());
-        if( schemaObject.getMultipleOf() != null )
-        schema.setMultipleOf(schemaObject.getMultipleOf());
-        if( schemaObject.hasNotSchema() )
-        schema.setNotSchema(composeSchema(schemaObject.getNotSchema().getSchemaObject()));
-        if( schemaObject.getNullable() != null )
-        schema.setNullable(schemaObject.getNullable());
-        if( !schemaObject.getPattern().isEmpty() )
-        schema.setPattern(schemaObject.getPattern());
-        if( schemaObject.getNumPropertyItem() != 0 ){
+        if( s.getExample() != null )
+        schema.setExample(s.getExample());
+        if( s.getExclusiveMaximum() != null )
+        schema.setExclusiveMaximum(s.getExclusiveMaximum());
+        if( s.getExclusiveMinimum() != null )
+        schema.setExclusiveMinimum(s.getExclusiveMinimum());
+        if( s.hasExternalDocObject() )
+        schema.setExternalDocs(ExternalDocObject.composeExternalDocs(s.getExternalDocObject(), map));
+        if( !s.getFormat().isEmpty() )
+        schema.setFormat(s.getFormat());
+        if( s.hasItemsSchema() ) {
+        if (s.getItemsSchema().getSchemaOb() instanceof SchemaObject)
+        schema.setItemsSchema(((SchemaObject) s.getItemsSchema().getSchemaOb()).composeSchema(s.getItemsSchema().getSchemaOb(), map));
+        else
+        schema.setItemsSchema(((SchemaReference) s.getItemsSchema().getSchemaOb()).composeSchema(s.getItemsSchema().getSchemaOb(), map));
+        }
+        if( s.getMaximum() != null )
+        schema.setMaximum(s.getMaximum());
+        if( s.getMinimum() != null )
+        schema.setMinimum(s.getMinimum());
+        if( s.getMaxItems() != null )
+        schema.setMaxItems(s.getMaxItems());
+        if( s.getMinItems() != null )
+        schema.setMinItems(s.getMinItems());
+        if( s.getMaxLength() != null )
+        schema.setMaxLength(s.getMaxLength());
+        if( s.getMinLength() != null )
+        schema.setMinLength(s.getMinLength());
+        if( s.getMaxProperties() != null )
+        schema.setMaxProperties(s.getMaxProperties());
+        if( s.getMinProperties() != null )
+        schema.setMinProperties(s.getMinProperties());
+        if( s.getMultipleOf() != null )
+        schema.setMultipleOf(s.getMultipleOf());
+        if( s.hasNotSchema() ) {
+        if( s.getNotSchema().getSchemaOb() instanceof SchemaObject )
+        schema.setNotSchema(((SchemaObject) s.getNotSchema().getSchemaOb()).composeSchema(s.getNotSchema().getSchemaOb(), map));
+        else
+        schema.setNotSchema(((SchemaReference) s.getNotSchema().getSchemaOb()).composeSchema(s.getNotSchema().getSchemaOb(), map));
+        }
+        if( s.getNullable() != null )
+        schema.setNullable(s.getNullable());
+        if( !s.getPattern().isEmpty() )
+        schema.setPattern(s.getPattern());
+        if( s.getNumPropertyItem() != 0 ){
         Map<String, org.openapi4j.parser.model.v3.Schema> properties = new HashMap<>();
-        for( PropertyItem p : schemaObject.getPropertyItemList() )
-        properties.put(p.getName(), composeSchema(p.getSchemaObject()));
+        for( PropertyItem p : s.getPropertyItemList() ) {
+        if( p.getSchemaOb() instanceof SchemaObject )
+        properties.put(p.getName(), ((SchemaObject) p.getSchemaOb()).composeSchema(p.getSchemaOb(), map));
+        else
+        properties.put(p.getName(), ((SchemaReference) p.getSchemaOb()).composeSchema(p.getSchemaOb(), map));
+        }
         schema.setProperties(properties);
         }
-        if( schemaObject.getNumRequiredField() != 0 ){
-        for( RequiredField r : schemaObject.getRequiredFields() )
+        if( s.getNumRequiredField() != 0 ){
+        for( RequiredField r : s.getRequiredFields() )
         schema.addRequiredField(r.getValue());
         }
-        if( schemaObject.getNumAllOfSchema() != 0 ){
-        for( AllOfSchema a : schemaObject.getAllOfSchemas() )
-        schema.addAllOfSchema(composeSchema(a.getSchemaObject()));
-        }
-        if( schemaObject.getNumAnyOfSchema() != 0 ){
-        for( AnyOfSchema a : schemaObject.getAnyOfSchemas() )
-        schema.addAnyOfSchema(composeSchema(a.getSchemaObject()));
-        }
-        if( schemaObject.getNumOneOfSchema() != 0 ){
-        for( OneOfSchema o : schemaObject.getOneOfSchemas() )
-        schema.addOneOfSchema(composeSchema(o.getSchemaObject()));
-        }
-        if( schemaObject.getReadOnly() != null )
-        schema.setReadOnly(schemaObject.getReadOnly());
-        if( schemaObject.getWriteOnly() != null )
-        schema.setWriteOnly(schemaObject.getWriteOnly());
-        if( !schemaObject.getType().isEmpty() )
-        schema.setType(schemaObject.getType());
-        if( !schemaObject.getTitle().isEmpty() )
-        schema.setTitle(schemaObject.getTitle());
-        if( schemaObject.getUniqueItems() != null )
-        schema.setUniqueItems(schemaObject.getUniqueItems());
-        if( schemaObject.hasXmlObject() )
-        schema.setXml(XmlObject.composeXml(schemaObject.getXmlObject()));
-        if( schemaObject.getNumExtension() != 0 ){
+        if( s.getNumAllOfSchema() != 0 ){
+        for( AllOfSchema a : s.getAllOfSchemas() ) {
+        if( a.getSchemaOb() instanceof SchemaObject )
+        schema.addAllOfSchema(((SchemaObject) a.getSchemaOb()).composeSchema(a.getSchemaOb(), map));
+        else
+        schema.addAllOfSchema(((SchemaReference) a.getSchemaOb()).composeSchema(a.getSchemaOb(), map));
+        }
+        }
+        if( s.getNumAnyOfSchema() != 0 ){
+        for( AnyOfSchema a : s.getAnyOfSchemas() ) {
+        if( a.getSchemaOb() instanceof SchemaObject )
+        schema.addAnyOfSchema(((SchemaObject) a.getSchemaOb()).composeSchema(a.getSchemaOb(), map));
+        else
+        schema.addAnyOfSchema(((SchemaReference) a.getSchemaOb()).composeSchema(a.getSchemaOb(), map));
+        }
+        }
+        if( s.getNumOneOfSchema() != 0 ){
+        for( OneOfSchema o : s.getOneOfSchemas() ) {
+        if( o.getSchemaOb() instanceof SchemaObject )
+        schema.addOneOfSchema(((SchemaObject) o.getSchemaOb()).composeSchema(o.getSchemaOb(), map));
+        else
+        schema.addOneOfSchema(((SchemaReference) o.getSchemaOb()).composeSchema(o.getSchemaOb(), map));
+        }
+        }
+        if( s.getReadOnly() != null )
+        schema.setReadOnly(s.getReadOnly());
+        if( s.getWriteOnly() != null )
+        schema.setWriteOnly(s.getWriteOnly());
+        if( !s.getType().isEmpty() )
+        schema.setType(s.getType());
+        if( !s.getTitle().isEmpty() )
+        schema.setTitle(s.getTitle());
+        if( s.getUniqueItems() != null )
+        schema.setUniqueItems(s.getUniqueItems());
+        if( s.hasXmlObject() )
+        schema.setXml(XmlObject.composeXml(s.getXmlObject(), map));
+        if( s.getNumExtension() != 0 ){
         Map<String, Object> extensionMap = new HashMap<>();
-        for( Extension e : schemaObject.getExtensions() )
+        for( Extension e : s.getExtensions() )
         extensionMap.put(e.getKey(), e.getValue());
         schema.setExtensions(extensionMap);
         }
@@ -729,7 +852,7 @@ public static Discriminator DiscriminatorObject.composeDiscriminator (Discrimina
         return discriminator;
         }
 
-public static Xml XmlObject.composeXml (XmlObject xmlObject) {
+public static Xml XmlObject.composeXml (XmlObject xmlObject, Map<Object, ASTNode> map) {
         Xml xml = new Xml();
 
         if( !xmlObject.getName().isEmpty() )
@@ -746,28 +869,39 @@ public static Xml XmlObject.composeXml (XmlObject xmlObject) {
         return xml;
         }
 
-public static SecurityScheme SecuritySchemeOb.composeSecurityScheme (SecuritySchemeObject securitySchemeObject, Map<Object, ASTNode> map){
+        syn SecurityScheme SecuritySchemeOb.composeSecurityScheme (SecuritySchemeOb securitySchemeOb, Map<Object, ASTNode> map);
+        eq SecuritySchemeReference.composeSecurityScheme (SecuritySchemeOb securitySchemeOb, Map<Object, ASTNode> map){
         SecurityScheme securityScheme = new SecurityScheme();
+        SecuritySchemeReference s = (SecuritySchemeReference) securitySchemeOb;
+
+        if( !s.getRef().isEmpty() )
+        securityScheme.setRef(s.getRef());
 
-        if( !securitySchemeObject.getType().isEmpty() )
-        securityScheme.setType(securitySchemeObject.getType());
-        if( !securitySchemeObject.getName().isEmpty() )
-        securityScheme.setName(securitySchemeObject.getName());
-        if( !securitySchemeObject.getIn().isEmpty() )
-        securityScheme.setIn(securitySchemeObject.getIn());
-        if( !securitySchemeObject.getScheme().isEmpty() )
-        securityScheme.setScheme(securitySchemeObject.getScheme());
-        if( !securitySchemeObject.getOpenIdConnectUrl().isEmpty() )
-        securityScheme.setOpenIdConnectUrl(securitySchemeObject.getOpenIdConnectUrl());
-        if( securitySchemeObject.getOAuthFlowsObject() != null )
-        securityScheme.setFlows(OAuthFlowsObject.composeOAuthFlows(securitySchemeObject.getOAuthFlowsObject()));
-        if( !securitySchemeObject.getDescription().isEmpty() )
-        securityScheme.setDescription( securitySchemeObject.getDescription() );
-        if( !securitySchemeObject.getBearerFormat().isEmpty() )
-        securityScheme.setBearerFormat( securitySchemeObject.getBearerFormat() );
-        if( securitySchemeObject.getNumExtension() != 0 ){
+        return securityScheme;
+        }
+        eq SecuritySchemeObject.composeSecurityScheme (SecuritySchemeOb securitySchemeOb, Map<Object, ASTNode> map){
+        SecurityScheme securityScheme = new SecurityScheme();
+        SecuritySchemeObject s = (SecuritySchemeObject) securitySchemeOb;
+
+        if( !s.getType().isEmpty() )
+        securityScheme.setType(s.getType());
+        if( !s.getName().isEmpty() )
+        securityScheme.setName(s.getName());
+        if( !s.getIn().isEmpty() )
+        securityScheme.setIn(s.getIn());
+        if( !s.getScheme().isEmpty() )
+        securityScheme.setScheme(s.getScheme());
+        if( !s.getOpenIdConnectUrl().isEmpty() )
+        securityScheme.setOpenIdConnectUrl(s.getOpenIdConnectUrl());
+        if( s.getOAuthFlowsObject() != null )
+        securityScheme.setFlows(OAuthFlowsObject.composeOAuthFlows(s.getOAuthFlowsObject(), map));
+        if( !s.getDescription().isEmpty() )
+        securityScheme.setDescription( s.getDescription() );
+        if( !s.getBearerFormat().isEmpty() )
+        securityScheme.setBearerFormat( s.getBearerFormat() );
+        if( s.getNumExtension() != 0 ){
         Map<String, Object> extensionMap = new HashMap<>();
-        for( Extension e : securitySchemeObject.getExtensions() )
+        for( Extension e : s.getExtensions() )
         extensionMap.put(e.getKey(), e.getValue());
         securityScheme.setExtensions(extensionMap);
         }
@@ -779,18 +913,13 @@ public static OAuthFlows OAuthFlowsObject.composeOAuthFlows (OAuthFlowsObject oA
         OAuthFlows oAuthFlows = new OAuthFlows();
 
         if( oAuthFlowsObject.hasImplicit() )
-        oAuthFlows.setImplicit( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getImplicit().getOAuthFlowObject()) );
-        if( oAuthFlowsObject.hasPassword() ){
-        System.out.println("Password eingegangen : " + oAuthFlowsObject.getPassword().getOAuthFlowObject().getAuthorizationUrl() );
-        System.out.println("Password eingegangen : " + oAuthFlowsObject.getPassword().getOAuthFlowObject().getConfiguration() );
-        System.out.println("Password eingegangen : " + oAuthFlowsObject.getPassword().getOAuthFlowObject().getTokenUrl() );
-        System.out.println("Password eingegangen : " + oAuthFlowsObject.getPassword().getOAuthFlowObject().getRefreshUrl() );
-        oAuthFlows.setPassword( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getPassword().getOAuthFlowObject()) );
-        }
+        oAuthFlows.setImplicit( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getImplicit().getOAuthFlowObject(), map) );
+        if( oAuthFlowsObject.hasPassword() )
+        oAuthFlows.setPassword( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getPassword().getOAuthFlowObject(), map) );
         if( oAuthFlowsObject.hasClientCredentials() )
-        oAuthFlows.setClientCredentials( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getClientCredentials().getOAuthFlowObject()) );
+        oAuthFlows.setClientCredentials( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getClientCredentials().getOAuthFlowObject(), map) );
         if( oAuthFlowsObject.hasAuthorizationCode() )
-        oAuthFlows.setAuthorizationCode( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getAuthorizationCode().getOAuthFlowObject()) );
+        oAuthFlows.setAuthorizationCode( OAuthFlowObject.composeOAuthFlow(oAuthFlowsObject.getAuthorizationCode().getOAuthFlowObject(), map) );
 
         return oAuthFlows;
         }
diff --git a/src/main/jastadd/OpenAPISpecification.ast b/src/main/jastadd/OpenAPISpecification.ast
index 6d2a1b73..1d9ac86b 100644
--- a/src/main/jastadd/OpenAPISpecification.ast
+++ b/src/main/jastadd/OpenAPISpecification.ast
@@ -38,17 +38,18 @@ PathsObject ::= <Ref> PathItemOb;
 abstract PathItemOb;
 PathItemReference : PathItemOb ::= <Ref> <PathItemOb:PathItemOb>;
 PathItemObject : PathItemOb ::= <Summary> <Description> [Get] [Put] [Post] [Delete] [Options] [Head] [Patch] [Trace] ServerObject* ParameterOb* Extension*;
-Get ::= OperationObject;
-Put ::= OperationObject;
-Post ::= OperationObject;
-Delete ::= OperationObject;
-Options ::= OperationObject;
-Head ::= OperationObject;
-Patch ::= OperationObject;
-Trace ::= OperationObject;
 
 //Operation Object
-OperationObject ::= Tag* <Summary> <Description> [ExternalDocObject] <OperationID> ParameterOb* [RequestBodyOb] ResponseTuple* CallbackTuple* <DeprecatedBoolean:Boolean> SecurityRequirementObject* ServerObject* <Required:Boolean> Extension*;
+abstract OperationOb;
+OperationObject : OperationOb ::= Tag* <Summary> <Description> [ExternalDocObject] <OperationID> ParameterOb* [RequestBodyOb] ResponseTuple* CallbackTuple* <DeprecatedBoolean:Boolean> SecurityRequirementObject* ServerObject* <Required:Boolean> Extension*;
+Get : OperationOb ::= <OperationObject:OperationObject>;
+Put : OperationOb ::= <OperationObject:OperationObject>;
+Post : OperationOb ::= <OperationObject:OperationObject>;
+Delete : OperationOb ::= <OperationObject:OperationObject>;
+Options : OperationOb ::= <OperationObject:OperationObject>;
+Head : OperationOb ::= <OperationObject:OperationObject>;
+Patch : OperationOb ::= <OperationObject:OperationObject>;
+Trace : OperationOb ::= <OperationObject:OperationObject>;
 Tag ::= <Tag:String>;
 
 //External Documentation Object
@@ -104,7 +105,7 @@ TagObject ::= <Name> <Description> [ExternalDocObject] Extension*;
 //Schema Object
 abstract SchemaOb;
 SchemaReference : SchemaOb ::= <Ref> <SchemaOb:SchemaOb>;
-SchemaObject : SchemaOb ::= <AdditionalProperties:SchemaOb> <AdditionalPropertiesAllowed:Boolean> <DefaultValue:Object> <Description> <DeprecatedBoolean:Boolean> [DiscriminatorObject] EnumObj* <Example:Object> <ExclusiveMaximum:Boolean> <ExclusiveMinimum:Boolean> [ExternalDocObject] <Format> [ItemsSchema] <Maximum:Number> <Minimum:Number> <MaxItems:Integer> <MinItems:Integer> <MaxLength:Integer> <MinLength:Integer> <MaxProperties:Integer> <MinProperties:Integer> <MultipleOf:Number> [NotSchema] <Nullable:Boolean> <Pattern> PropertyItem* RequiredField* AllOfSchema* AnyOfSchema* OneOfSchema* <ReadOnly:Boolean> <WriteOnly:Boolean> <Type> <Title> <UniqueItems:Boolean> [XmlObject] Extension*;
+SchemaObject : SchemaOb ::= [AdditionalProperties] <AdditionalPropertiesAllowed:Boolean> <DefaultValue:Object> <Description> <DeprecatedBoolean:Boolean> [DiscriminatorObject] EnumObj* <Example:Object> <ExclusiveMaximum:Boolean> <ExclusiveMinimum:Boolean> [ExternalDocObject] <Format> [ItemsSchema] <Maximum:Number> <Minimum:Number> <MaxItems:Integer> <MinItems:Integer> <MaxLength:Integer> <MinLength:Integer> <MaxProperties:Integer> <MinProperties:Integer> <MultipleOf:Number> [NotSchema] <Nullable:Boolean> <Pattern> PropertyItem* RequiredField* AllOfSchema* AnyOfSchema* OneOfSchema* <ReadOnly:Boolean> <WriteOnly:Boolean> <Type> <Title> <UniqueItems:Boolean> [XmlObject] Extension*;
 AdditionalProperties ::= SchemaOb;
 EnumObj ::= <EnumOb:Object>;
 ItemsSchema ::= SchemaOb;
diff --git a/src/main/jastadd/Parser.jrag b/src/main/jastadd/Parser.jrag
index 41ac81aa..f432f5a7 100644
--- a/src/main/jastadd/Parser.jrag
+++ b/src/main/jastadd/Parser.jrag
@@ -143,67 +143,40 @@ public static ComponentsObject ComponentsObject.parseComponents(Components compo
         ComponentsObject componentsObject = new ComponentsObject();
 
         if( components.getSchemas() != null ){
-        for( String key : components.getSchemas().keySet() ){
-        SchemaTuple schemaTuple = new SchemaTuple();
-        schemaTuple.setKey(key);
-        schemaTuple.setSchemaOb(SchemaOb.parseSchema(components.getSchema(key), context, map));
-        }
+        for( String key : components.getSchemas().keySet() )
+        componentsObject.addSchemaTuple(new SchemaTuple(key, SchemaOb.parseSchema(components.getSchema(key), context, map)));
         }
         if( components.getResponses() != null ){
-        for( String key : components.getResponses().keySet() ){
-        ResponseTuple responseTuple = new ResponseTuple();
-        responseTuple.setKey(key);
-        responseTuple.setResponseOb(ResponseOb.parseResponse(components.getResponse(key), context, map));
-        }
+        for( String key : components.getResponses().keySet() )
+        componentsObject.addResponseTuple(new ResponseTuple(key, ResponseOb.parseResponse(components.getResponse(key), context, map)));
         }
         if( components.getParameters() != null ){
-        for( String key : components.getParameters().keySet() ){
-        ParameterTuple parameterTuple = new ParameterTuple();
-        parameterTuple.setKey(key);
-        parameterTuple.setParameterOb(ParameterOb.parseParameter(components.getParameter(key), context, map));
-        }
+        for( String key : components.getParameters().keySet() )
+        componentsObject.addParameterTuple(new ParameterTuple(key, ParameterOb.parseParameter(components.getParameter(key), context, map)));
         }
         if( components.getExamples() != null ){
-        for( String key : components.getExamples().keySet() ){
-        ExampleTuple exampleTuple = new ExampleTuple();
-        exampleTuple.setKey(key);
-        exampleTuple.setExampleObject(ExampleObject.parseExample(components.getExample(key), context, map));
-        }
+        for( String key : components.getExamples().keySet() )
+        componentsObject.addExampleTuple(new ExampleTuple(key, ExampleObject.parseExample(components.getExample(key), context, map)));
         }
         if( components.getRequestBodies() != null ){
-        for( String key : components.getRequestBodies().keySet() ){
-        RequestBodyTuple requestBodyTuple = new RequestBodyTuple();
-        requestBodyTuple.setKey(key);
-        requestBodyTuple.setRequestBodyOb(RequestBodyOb.parseRequestBody(components.getRequestBody(key), context, map));
-        }
+        for( String key : components.getRequestBodies().keySet() )
+        componentsObject.addRequestBodyTuple(new RequestBodyTuple(key, RequestBodyOb.parseRequestBody(components.getRequestBody(key), context, map)));
         }
         if( components.getHeaders() != null ){
-        for( String key : components.getHeaders().keySet() ){
-        HeaderTuple headerTuple = new HeaderTuple();
-        headerTuple.setKey(key);
-        headerTuple.setHeaderOb(HeaderOb.parseHeader(components.getHeader(key), context, map));
-        }
+        for( String key : components.getHeaders().keySet() )
+        componentsObject.addHeaderTuple(new HeaderTuple(key, HeaderOb.parseHeader(components.getHeader(key), context, map)));
         }
         if( components.getSecuritySchemes() != null ){
-        for( String key : components.getSecuritySchemes().keySet() ){
-        SecuritySchemeTuple securitySchemeTuple = new SecuritySchemeTuple();
-        securitySchemeTuple.setKey(key);
-        securitySchemeTuple.setSecuritySchemeOb(SecuritySchemeOb.parseSecurityScheme(components.getSecurityScheme(key), context, map));
-        }
+        for( String key : components.getSecuritySchemes().keySet() )
+        componentsObject.addSecuritySchemeTuple(new SecuritySchemeTuple(key, SecuritySchemeOb.parseSecurityScheme(components.getSecurityScheme(key), context, map)));
         }
         if( components.getLinks() != null ){
-        for( String key : components.getLinks().keySet() ){
-        LinkTuple linkTuple = new LinkTuple();
-        linkTuple.setKey(key);
-        linkTuple.setLinkOb(LinkOb.parseLink(components.getLink(key), context, map));
-        }
+        for( String key : components.getLinks().keySet() )
+        componentsObject.addLinkTuple(new LinkTuple(key, LinkOb.parseLink(components.getLink(key), context, map)));
         }
         if( components.getCallbacks() != null ){
-        for( String key : components.getCallbacks().keySet() ){
-        CallbackTuple callbackTuple = new CallbackTuple();
-        callbackTuple.setKey(key);
-        callbackTuple.setCallbackOb(CallbackOb.parseCallback(components.getCallback(key), context, map));
-        }
+        for( String key : components.getCallbacks().keySet() )
+        componentsObject.addCallbackTuple(new CallbackTuple(key, CallbackOb.parseCallback(components.getCallback(key), context, map)));
         }
         if( components.getExtensions() != null ){
         for( String key : components.getExtensions().keySet() )
@@ -660,7 +633,7 @@ public static SchemaOb SchemaOb.parseSchema (org.openapi4j.parser.model.v3.Schem
         return s;
         } else {
         if( schema.getAdditionalProperties() != null )
-        schemaObject.setAdditionalProperties(parseSchema(schema.getAdditionalProperties(), context, map));
+        schemaObject.setAdditionalProperties(new AdditionalProperties(parseSchema(schema.getAdditionalProperties(), context, map)));
         if( schema.getAdditionalProperties() == null && schema.getAdditionalPropertiesAllowed() != null )
         schemaObject.setAdditionalPropertiesAllowed(schema.getAdditionalPropertiesAllowed());
         if( schema.getDefault() != null )
@@ -772,118 +745,6 @@ public static SchemaOb SchemaOb.parseSchema (org.openapi4j.parser.model.v3.Schem
         }
         }
 
-        if( schema.getAdditionalProperties() != null )
-        schemaObject.setAdditionalProperties(parseSchema(schema.getAdditionalProperties(), context, map));
-        if( schema.getAdditionalProperties() == null && schema.getAdditionalPropertiesAllowed() != null )
-        schemaObject.setAdditionalPropertiesAllowed(schema.getAdditionalPropertiesAllowed());
-        if( schema.getDefault() != null )
-        schemaObject.setDefaultValue(schema.getDefault());
-        if( schema.getDescription() != null )
-        schemaObject.setDescription(schema.getDescription());
-        if( schema.getDeprecated() != null )
-        schemaObject.setDeprecatedBoolean(schema.getDeprecated());
-        if( schema.getDiscriminator() != null )
-        schemaObject.setDiscriminatorObject(DiscriminatorObject.parseDiscriminator(schema.getDiscriminator(), map));
-        if( schema.getEnums() != null ){
-        for( Object o : schema.getEnums() ){
-        EnumObj enumObj = new EnumObj();
-        enumObj.setEnumOb(o);
-        schemaObject.addEnumObj(enumObj);
-        }
-        }
-        if( schema.getExample() != null )
-        schemaObject.setExample(schema.getExample());
-        if( schema.getExclusiveMaximum() != null )
-        schemaObject.setExclusiveMaximum(schema.getExclusiveMaximum());
-        if( schema.getExclusiveMinimum() != null )
-        schemaObject.setExclusiveMinimum(schema.getExclusiveMinimum());
-        if( schema.getExternalDocs() != null )
-        schemaObject.setExternalDocObject(ExternalDocObject.parseExternalDocs(schema.getExternalDocs(), map));
-        if( schema.getFormat() != null )
-        schemaObject.setFormat(schema.getFormat());
-        if( schema.getItemsSchema() != null ){
-        ItemsSchema itemsSchema = new ItemsSchema();
-        itemsSchema.setSchemaOb(parseSchema(schema.getItemsSchema(), context, map));
-        schemaObject.setItemsSchema(itemsSchema);
-        }
-        if( schema.getMaximum() != null )
-        schemaObject.setMaximum(schema.getMaximum());
-        if( schema.getMinimum() != null )
-        schemaObject.setMinimum(schema.getMinimum());
-        if( schema.getMaxItems() != null )
-        schemaObject.setMaxItems(schema.getMaxItems());
-        if( schema.getMinItems() != null )
-        schemaObject.setMinItems(schema.getMinItems());
-        if( schema.getMaxLength() != null )
-        schemaObject.setMaxLength(schema.getMaxLength());
-        if( schema.getMinLength() != null )
-        schemaObject.setMinLength(schema.getMinLength());
-        if( schema.getMaxProperties() != null )
-        schemaObject.setMaxProperties(schema.getMaxProperties());
-        if( schema.getMinProperties() != null )
-        schemaObject.setMinProperties(schema.getMinProperties());
-        if( schema.getMultipleOf() != null )
-        schemaObject.setMultipleOf(schema.getMultipleOf());
-        if( schema.getNotSchema() != null ){
-        NotSchema notSchema = new NotSchema();
-        notSchema.setSchemaOb(parseSchema(schema.getNotSchema(), context, map));
-        schemaObject.setNotSchema(notSchema);
-        }
-        if( schema.getNullable() != null )
-        schemaObject.setNullable(schema.getNullable());
-        if( schema.getPattern() != null )
-        schemaObject.setPattern(schema.getPattern());
-        if( schema.getProperties() != null  ){
-        for( String key : schema.getProperties().keySet() ){
-        PropertyItem propertyItem = new PropertyItem();
-        schemaObject.addPropertyItem(new PropertyItem(key, parseSchema(schema.getProperty(key), context, map)));
-        }
-        }
-        if( schema.getRequiredFields() != null ){
-        for( String s : schema.getRequiredFields() ){
-        RequiredField requiredField = new RequiredField();
-        requiredField.setValue(s);
-        schemaObject.addRequiredField(requiredField);
-        }
-        }
-        if( schema.getAllOfSchemas() != null ){
-        for(org.openapi4j.parser.model.v3.Schema schemaItem : schema.getAllOfSchemas()){
-        AllOfSchema allOfSchema = new AllOfSchema();
-        allOfSchema.setSchemaOb(parseSchema(schemaItem, context, map));
-        schemaObject.addAllOfSchema(allOfSchema);
-        }
-        }
-        if( schema.getAnyOfSchemas() != null ){
-        for(org.openapi4j.parser.model.v3.Schema schemaItem : schema.getAnyOfSchemas()){
-        AnyOfSchema anyOfSchema = new AnyOfSchema();
-        anyOfSchema.setSchemaOb(parseSchema(schemaItem, context, map));
-        schemaObject.addAnyOfSchema(anyOfSchema);
-        }
-        }
-        if( schema.getOneOfSchemas() != null ){
-        for(org.openapi4j.parser.model.v3.Schema schemaItem : schema.getOneOfSchemas()){
-        OneOfSchema oneOfSchema = new OneOfSchema();
-        oneOfSchema.setSchemaOb(parseSchema(schemaItem, context, map));
-        schemaObject.addOneOfSchema(oneOfSchema);
-        }
-        }
-        if( schema.getReadOnly() != null )
-        schemaObject.setReadOnly(schema.getReadOnly());
-        if( schema.getWriteOnly() != null )
-        schemaObject.setWriteOnly(schema.getWriteOnly());
-        if( schema.getType() != null )
-        schemaObject.setType(schema.getType());
-        if( schema.getTitle() != null )
-        schemaObject.setTitle(schema.getTitle());
-        if( schema.getUniqueItems() != null )
-        schemaObject.setUniqueItems(schema.getUniqueItems());
-        if( schema.getXml() != null )
-        schemaObject.setXmlObject(XmlObject.parseXml(schema.getXml(), map));
-        if( schema.getExtensions() != null ){
-        for( String key : schema.getExtensions().keySet() )
-        schemaObject.addExtension(new Extension(key, schema.getExtensions().get(key)));
-        }
-
         map.put(schema, schemaObject);
         return schemaObject;
         }
diff --git a/src/main/jastadd/RandomRequestGenerator.jadd b/src/main/jastadd/RandomRequestGenerator.jrag
similarity index 58%
rename from src/main/jastadd/RandomRequestGenerator.jadd
rename to src/main/jastadd/RandomRequestGenerator.jrag
index 174e779d..d2b10bd6 100644
--- a/src/main/jastadd/RandomRequestGenerator.jadd
+++ b/src/main/jastadd/RandomRequestGenerator.jrag
@@ -17,30 +17,33 @@ aspect RandomRequestGenerator {
 
      */
 
+    //coll Set<MappingTuple> OpenAPIObject.getRandomUrl() [new HashSet<>()];
+    //    MappingTuple contributes this when generateRequests() to OpenAPIObject.getRandomUrl();
 
-/*
-    public void OpenAPIObject.generateRequests() throws Exception {
+    //inh MappingTuple
+
+    public String OpenAPIObject.generateRequests() throws Exception {
         String baseUrl = this.getServerObject(0).getUrl();
 
         for( PathsObject p : this.getPathsObjects() )
         p.sendRandomRequests(baseUrl);
-
+        return "";
     }
 
     public void PathsObject.sendRandomRequests(String baseUrl) throws Exception {
-        if( this.getPathItem().hasGet() ){
+        if( this.getPathItemOb().pathItemObject().hasGet() ){
         IntStream.range(0, 1).forEach( i -> {
         try {
-        this.getPathItem().getGet().getOperationObject().sendRandomGET(baseUrl+this.getRef());
+        this.getPathItemOb().pathItemObject().getGet().getOperationObject().sendRandomGET(baseUrl+this.getRef());
         } catch (Exception e) {
         e.printStackTrace();
         }
         });
         }
-        if( this.getPathItem().hasPost() ){
+        if( this.getPathItemOb().pathItemObject().hasPost() ){
         IntStream.range(0, 1).forEach( i -> {
         try {
-        this.getPathItem().getPost().getOperationObject().sendRandomPOST(baseUrl+this.getRef());
+        this.getPathItemOb().pathItemObject().getPost().getOperationObject().sendRandomPOST(baseUrl+this.getRef());
         } catch (Exception e) {
         e.printStackTrace();
         }
@@ -50,36 +53,38 @@ aspect RandomRequestGenerator {
     public void OperationObject.sendRandomGET(String targetUrl) throws Exception {
         Random rand = new Random();
 
-        for( ParameterObject p : this.getParameterObjects() ){
+        for( ParameterOb o : this.getParameterObs() ){
+        ParameterObject p = o.parameterObject();
+        SchemaObject s = p.getSchemaOb().schemaObject();
         if( p.getIn().equals("path") ){
         String pathPart = targetUrl.substring(targetUrl.indexOf("{") ,targetUrl.indexOf("}") + 1);
 
-        if( p.getSchemaObject().getType().equals("string") )
-        targetUrl = targetUrl.replace(pathPart, this.generateRandomString(rand, p.getSchemaObject().getEnumObjs()));
-        else if( p.getSchemaObject().getType().equals("integer") )
+        if( s.getType().equals("string") )
+        targetUrl = targetUrl.replace(pathPart, this.generateRandomString(rand, s.getEnumObjs()));
+        else if( s.getType().equals("integer") )
         targetUrl = targetUrl.replace(pathPart, this.generateRandomInt( rand,
-        -1, // p.getSchemaObject().getMinimum() != null ? p.getSchemaObject().getMinimum().intValue() : -1,
-        10 // p.getSchemaObject().getMaximum() != null ? p.getSchemaObject().getMaximum().intValue() : -1
+        -1, // s.getMinimum() != null ? s.getMinimum().intValue() : -1,
+        10 // s.getMaximum() != null ? s.getMaximum().intValue() : -1
         ));
         }
         else if( p.getIn().equals("query") ){
 
-        if( p.getSchemaObject().getType().equals("string") )
-        targetUrl = targetUrl + "&" + p.getName() + "=" + this.generateRandomString(rand, p.getSchemaObject().getEnumObjs());
-        else if( p.getSchemaObject().getType().equals("integer") )
+        if( s.getType().equals("string") )
+        targetUrl = targetUrl + "&" + p.getName() + "=" + this.generateRandomString(rand, s.getEnumObjs());
+        else if( s.getType().equals("integer") )
         targetUrl = targetUrl + "&" + p.getName() + "=" + this.generateRandomInt(  rand,
-        -1, // p.getSchemaObject().getMinimum() != null ? p.getSchemaObject().getMinimum().intValue() : -1,
-        10); // p.getSchemaObject().getMaximum() != null ? p.getSchemaObject().getMaximum().intValue() : -1
-        else if( p.getSchemaObject().getType().equals("array") ){
-        if( p.getSchemaObject().getItemsSchema().getSchemaObject().getType().equals("string") ){
-        for( EnumObj e : p.getSchemaObject().getItemsSchema().getSchemaObject().getEnumObjs() )
+        -1, // s.getMinimum() != null ? s.getMinimum().intValue() : -1,
+        10); // s.getMaximum() != null ? s.getMaximum().intValue() : -1
+        else if( s.getType().equals("array") ){
+        if( s.getItemsSchema().getSchemaOb().schemaObject().getType().equals("string") ){
+        for( EnumObj e : s.getItemsSchema().getSchemaOb().schemaObject().getEnumObjs() )
         targetUrl=rand.nextDouble()< 0.5?targetUrl+"&"+p.getName()+"="+e.getEnumOb():targetUrl;
         }
-        else if( p.getSchemaObject().getItemsSchema().getSchemaObject().getType().equals("integer") ){
+        else if( s.getItemsSchema().getSchemaOb().schemaObject().getType().equals("integer") ){
         for( int i = 0 ; i < 5 ; i++ )
         targetUrl = targetUrl + "&" + p.getName() + "=" + this.generateRandomInt(  rand,
-        -1, // p.getSchemaObject().getMinimum() != null ? p.getSchemaObject().getMinimum().intValue() : -1,
-        10); // p.getSchemaObject().getMaximum() != null ? p.getSchemaObject().getMaximum().intValue() : -1
+        -1, // s.getMinimum() != null ? s.getMinimum().intValue() : -1,
+        10); // s.getMaximum() != null ? s.getMaximum().intValue() : -1
         }
 
         }
@@ -101,36 +106,38 @@ aspect RandomRequestGenerator {
     public void OperationObject.sendRandomPOST(String targetUrl) throws Exception {
         Random rand = new Random();
 
-        for( ParameterObject p : this.getParameterObjects() ){
+        for( ParameterOb o : this.getParameterObs() ){
+        ParameterObject p = o.parameterObject();
+        SchemaObject s = p.getSchemaOb().schemaObject();
         if( p.getIn().equals("path") ){
         String pathPart = targetUrl.substring(targetUrl.indexOf("{") ,targetUrl.indexOf("}") + 1);
 
-        if( p.getSchemaObject().getType().equals("string") )
-        targetUrl = targetUrl.replace(pathPart, this.generateRandomString(rand, p.getSchemaObject().getEnumObjs()));
-        else if( p.getSchemaObject().getType().equals("integer") )
+        if( s.getType().equals("string") )
+        targetUrl = targetUrl.replace(pathPart, this.generateRandomString(rand, s.getEnumObjs()));
+        else if( s.getType().equals("integer") )
         targetUrl = targetUrl.replace(pathPart, this.generateRandomInt( rand,
-        -1, // p.getSchemaObject().getMinimum() != null ? p.getSchemaObject().getMinimum().intValue() : -1,
-        10 // p.getSchemaObject().getMaximum() != null ? p.getSchemaObject().getMaximum().intValue() : -1
+        -1, // s.getMinimum() != null ? s.getMinimum().intValue() : -1,
+        10 // s.getMaximum() != null ? s.getMaximum().intValue() : -1
         ));
         }
         else if( p.getIn().equals("query") ){
 
-        if( p.getSchemaObject().getType().equals("string") )
-        targetUrl = targetUrl + "&" + p.getName() + "=" + this.generateRandomString(rand, p.getSchemaObject().getEnumObjs());
-        else if( p.getSchemaObject().getType().equals("integer") )
+        if( s.getType().equals("string") )
+        targetUrl = targetUrl + "&" + p.getName() + "=" + this.generateRandomString(rand, s.getEnumObjs());
+        else if( s.getType().equals("integer") )
         targetUrl = targetUrl + "&" + p.getName() + "=" + this.generateRandomInt(  rand,
-        -1, // p.getSchemaObject().getMinimum() != null ? p.getSchemaObject().getMinimum().intValue() : -1,
-        10); // p.getSchemaObject().getMaximum() != null ? p.getSchemaObject().getMaximum().intValue() : -1
-        else if( p.getSchemaObject().getType().equals("array") ){
-        if( p.getSchemaObject().getItemsSchema().getSchemaObject().getType().equals("string") ){
-        for( EnumObj e : p.getSchemaObject().getItemsSchema().getSchemaObject().getEnumObjs() )
+        -1, // s.getMinimum() != null ? s.getMinimum().intValue() : -1,
+        10); // s.getMaximum() != null ? s.getMaximum().intValue() : -1
+        else if( s.getType().equals("array") ){
+        if( s.getItemsSchema().getSchemaOb().schemaObject().getType().equals("string") ){
+        for( EnumObj e : s.getItemsSchema().getSchemaOb().schemaObject().getEnumObjs() )
         targetUrl=rand.nextDouble()< 0.5?targetUrl+"&"+p.getName()+"="+e.getEnumOb():targetUrl;
         }
-        else if( p.getSchemaObject().getItemsSchema().getSchemaObject().getType().equals("integer") ){
+        else if( s.getItemsSchema().getSchemaOb().schemaObject().getType().equals("integer") ){
         for( int i = 0 ; i < 5 ; i++ )
         targetUrl = targetUrl + "&" + p.getName() + "=" + this.generateRandomInt(  rand,
-        -1, // p.getSchemaObject().getMinimum() != null ? p.getSchemaObject().getMinimum().intValue() : -1,
-        10); // p.getSchemaObject().getMaximum() != null ? p.getSchemaObject().getMaximum().intValue() : -1
+        -1, // s.getMinimum() != null ? s.getMinimum().intValue() : -1,
+        10); // s.getMaximum() != null ? s.getMaximum().intValue() : -1
         }
 
         }
@@ -172,6 +179,4 @@ aspect RandomRequestGenerator {
         return String.valueOf(rand.nextInt(maximum));
         return String.valueOf(rand.nextInt());
         }
-
- */
 }
\ No newline at end of file
diff --git a/src/main/jastadd/ReferenceGet.jrag b/src/main/jastadd/ReferenceGet.jrag
new file mode 100644
index 00000000..32e49e78
--- /dev/null
+++ b/src/main/jastadd/ReferenceGet.jrag
@@ -0,0 +1,31 @@
+aspect ReferenceGet {
+
+    syn ParameterObject ParameterOb.parameterObject();
+    eq ParameterObject.parameterObject() = this;
+    eq ParameterReference.parameterObject() {
+        if( getParameterOb() instanceof ParameterObject )
+        return (ParameterObject) getParameterOb();
+        else
+        return getParameterOb().parameterObject();
+    }
+
+    syn SchemaObject SchemaOb.schemaObject();
+    eq SchemaObject.schemaObject() = this;
+    eq SchemaReference.schemaObject() {
+    if( getSchemaOb() instanceof SchemaObject )
+        return (SchemaObject) getSchemaOb();
+    else
+        return getSchemaOb().schemaObject();
+    }
+
+    syn PathItemObject PathItemOb.pathItemObject();
+    eq PathItemObject.pathItemObject() = this;
+    eq PathItemReference.pathItemObject() {
+        if( getPathItemOb() instanceof PathItemObject )
+            return (PathItemObject) getPathItemOb();
+        else
+            return getPathItemOb().pathItemObject();
+    }
+
+
+}
\ No newline at end of file
diff --git a/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java b/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java
index 9a5fbb8e..1a91ba26 100644
--- a/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java
+++ b/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java
@@ -52,15 +52,8 @@ public class OpenAPIMain {
             System.out.println("Loading expression DSL file '" + file + "'.");
 
             openApi = OpenAPIObject.parseOpenAPI(api);
-            if( file.equals("petstore-v2.yaml") ){
-                Schema s = api.getPaths().get("/pet").getPost().getResponse("200").getContentMediaType("application/xml").getSchema();
-                System.out.println(api.getPaths().get("/pet").getPost().getResponse("200").getContentMediaType("application/xml").getSchema().getRef());
-                System.out.println(s.getReference(api.getContext()).getMappedContent(Schema.class).getTitle());
-                System.out.println(s.getReference(api.getContext()).getMappedContent(Schema.class));
-                //System.out.println(s.getReference(new OAI3Context(new URL(s.getRef()))).getMappedContent(Schema.class).getTitle());
-
-                //System.out.println(api.getPaths().get("/pet").getPost().getResponse("'200'").getContentMediaType("application/xml").getSchema().isRef());
-            }
+            api3 = OpenAPIObject.composeOpenAPI(openApi);
+            openApi.generateRequests();
 
         }
 
diff --git a/src/test/java/openapi/OpenAPIMain_test.java b/src/test/java/openapi/OpenAPIMain_test.java
index 76c72448..6a4347fc 100644
--- a/src/test/java/openapi/OpenAPIMain_test.java
+++ b/src/test/java/openapi/OpenAPIMain_test.java
@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.flipkart.zjsonpatch.JsonDiff;
 import de.tudresden.inf.st.openapi.ast.*;
 import org.junit.jupiter.api.Assertions;
+import org.openapi4j.core.exception.DecodeException;
 import org.openapi4j.core.exception.EncodeException;
 import org.openapi4j.core.exception.ResolutionException;
 import org.openapi4j.core.validation.ValidationException;
@@ -33,7 +34,7 @@ import static org.junit.jupiter.api.Assertions.*;
 public class OpenAPIMain_test {
 
     @Test
-    public void test() throws IOException, ResolutionException, ValidationException, EncodeException {
+    public void test() throws IOException, ResolutionException, ValidationException, EncodeException, DecodeException {
         OpenAPIObject openApi;
         OpenApi3 api3;
         ValidationResults results;
@@ -85,7 +86,6 @@ public class OpenAPIMain_test {
         }
 
         // clean all generated jsons
-
         contents = genDirectory.listFiles();
         if (contents != null) {
             for (File file : contents)
-- 
GitLab