diff --git a/.gradle/6.8/executionHistory/executionHistory.bin b/.gradle/6.8/executionHistory/executionHistory.bin
index d0ddd8ad2e92440224b9fc21ed245a9efe86aa3d..97dac7dd30bab64f8f59a07dc521498752827d11 100644
Binary files a/.gradle/6.8/executionHistory/executionHistory.bin and b/.gradle/6.8/executionHistory/executionHistory.bin differ
diff --git a/.gradle/6.8/executionHistory/executionHistory.lock b/.gradle/6.8/executionHistory/executionHistory.lock
index 8a7a70c3a27aa7b0f62b39f7a76337b3353e66f5..904923f0021bcd3d652f6eb0da0296814041e11b 100644
Binary files a/.gradle/6.8/executionHistory/executionHistory.lock and b/.gradle/6.8/executionHistory/executionHistory.lock differ
diff --git a/.gradle/6.8/fileHashes/fileHashes.bin b/.gradle/6.8/fileHashes/fileHashes.bin
index fccd77b71b3de6eff42e2c53c8efeaf0b1f7f1c5..a0d2dbc075e598c9cbf9b7e3d57022a746dd807d 100644
Binary files a/.gradle/6.8/fileHashes/fileHashes.bin and b/.gradle/6.8/fileHashes/fileHashes.bin differ
diff --git a/.gradle/6.8/fileHashes/fileHashes.lock b/.gradle/6.8/fileHashes/fileHashes.lock
index b2b03c2cf21831bc0e3c07be7127025392c78521..b9570e2ff753eea01f74b089b19f79d72b25fb36 100644
Binary files a/.gradle/6.8/fileHashes/fileHashes.lock and b/.gradle/6.8/fileHashes/fileHashes.lock differ
diff --git a/.gradle/6.8/fileHashes/resourceHashesCache.bin b/.gradle/6.8/fileHashes/resourceHashesCache.bin
index e311a6f51bfa90d55e137aed3d425c7e206aceed..53e2cca96b4d53c5f1b7d1313a2df47167981b3c 100644
Binary files a/.gradle/6.8/fileHashes/resourceHashesCache.bin and b/.gradle/6.8/fileHashes/resourceHashesCache.bin differ
diff --git a/.gradle/6.8/javaCompile/classAnalysis.bin b/.gradle/6.8/javaCompile/classAnalysis.bin
index c112860dabff0665c4d19795181c07dd601927a0..51a45698bec66625f2a6af3290132de025e80c8c 100644
Binary files a/.gradle/6.8/javaCompile/classAnalysis.bin and b/.gradle/6.8/javaCompile/classAnalysis.bin differ
diff --git a/.gradle/6.8/javaCompile/jarAnalysis.bin b/.gradle/6.8/javaCompile/jarAnalysis.bin
index f4055941262b587a27a21a0eccb4c66dd4993232..6d2242c613de43bb0dd3e6b0faf18ad5855b0af9 100644
Binary files a/.gradle/6.8/javaCompile/jarAnalysis.bin and b/.gradle/6.8/javaCompile/jarAnalysis.bin differ
diff --git a/.gradle/6.8/javaCompile/javaCompile.lock b/.gradle/6.8/javaCompile/javaCompile.lock
index 5e789334e9423d26ead4eb46e0268635b619c32e..02e22195ed6b602bebf11052494b17bac59cace5 100644
Binary files a/.gradle/6.8/javaCompile/javaCompile.lock and b/.gradle/6.8/javaCompile/javaCompile.lock differ
diff --git a/.gradle/6.8/javaCompile/taskHistory.bin b/.gradle/6.8/javaCompile/taskHistory.bin
index c4435971fdce175ff1ced1417c16ec575bcf045f..00ab507c2e813767caa8cbf0a0628cec6204ef45 100644
Binary files a/.gradle/6.8/javaCompile/taskHistory.bin and b/.gradle/6.8/javaCompile/taskHistory.bin differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 3fa5160693b4967d481603f15d786ebe45879481..c5383334eee95f16809e9db5fe0a4a58f1857241 100644
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/.gradle/checksums/checksums.lock b/.gradle/checksums/checksums.lock
index 53b6db8ec60fe3df874a73b5b2b30a818c8ee378..8d4f0b866c47ccafefc99b3f6f021964b96026cd 100644
Binary files a/.gradle/checksums/checksums.lock and b/.gradle/checksums/checksums.lock differ
diff --git a/.gradle/checksums/md5-checksums.bin b/.gradle/checksums/md5-checksums.bin
index ed315953d97bd59647ffedf9467ecbd511112cbc..f8dc3b946d1dbfb7d6303423a537b35a767df19d 100644
Binary files a/.gradle/checksums/md5-checksums.bin and b/.gradle/checksums/md5-checksums.bin differ
diff --git a/.gradle/checksums/sha1-checksums.bin b/.gradle/checksums/sha1-checksums.bin
index 2c9be75fd04ba08a08e5b7a2ebe18f044cdf88f7..6ffbc18c4984ce8f29f5f29f87ccafeb22da9b3b 100644
Binary files a/.gradle/checksums/sha1-checksums.bin and b/.gradle/checksums/sha1-checksums.bin differ
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 13286d22b02bb0f450e4a4afe1a1a82d9e0fa4c0..e57208e6fe89ba37a0a86097fb2bb138eaaa34b7 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -1,14 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="CompilerConfiguration">
-    <annotationProcessing>
-      <profile name="Maven default annotation processors profile" enabled="true">
-        <sourceOutputDir name="target/generated-sources/annotations" />
-        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
-        <outputRelativeToContentRoot value="true" />
-        <module name="jastadd-openapi" />
-      </profile>
-    </annotationProcessing>
     <bytecodeTargetLevel target="1.8">
       <module name="openapi-parser" target="1.8" />
     </bytecodeTargetLevel>
diff --git a/build.gradle b/build.gradle
index bdbf4ede21bdec38b0b59b4e769d418724046fe9..ea9af2055eec0369bb43ff60e7bd8dc14b28615d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -26,6 +26,7 @@ dependencies {
 
     testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.7.0'
     testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.7.0'
+    testImplementation group: 'com.jayway.jsonpath', name: 'json-path', version: '2.6.0'
     testImplementation 'com.flipkart.zjsonpatch:zjsonpatch:0.4.10'
 }
 
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
index 23702a402eb12f7e444bbfb67c034c5c6f9c9285..cb4d21cda85277f3de32466ba20e3864fc3dc683 100644
Binary files a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OpenAPIObject.class and b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OpenAPIObject.class differ
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
index 9a0cae0b1904ef9c15927683991a5c53f6421ace..be61b94982e001ef8ef6fbfcb851f62a7a7db4ee 100644
Binary files a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaOb.class and b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaOb.class differ
diff --git a/build/classes/java/test/openapi/OpenAPIMain_test.class b/build/classes/java/test/openapi/OpenAPIMain_test.class
index 35ecb72048ec09e359f5caff6592ed689a9fd214..bc0350a289267ca93afe80ef1a4e42032dad7a07 100644
Binary files a/build/classes/java/test/openapi/OpenAPIMain_test.class and b/build/classes/java/test/openapi/OpenAPIMain_test.class differ
diff --git a/build/reports/tests/test/classes/openapi.OpenAPIMain_test.html b/build/reports/tests/test/classes/openapi.OpenAPIMain_test.html
index 1cec3c1fe29c53cb767e4e7eee6c25572bb46964..bbee78c82a1c45136850711d3817da1d8c6fb418 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">0.741s</div>
+<div class="counter">0.613s</div>
 <p>duration</p>
 </div>
 </td>
@@ -66,6 +66,9 @@
 <li>
 <a href="#tab1">Standard output</a>
 </li>
+<li>
+<a href="#tab2">Standard error</a>
+</li>
 </ul>
 <div id="tab0" class="tab">
 <h2>Tests</h2>
@@ -79,7 +82,7 @@
 </thead>
 <tr>
 <td class="success">test()</td>
-<td class="success">0.741s</td>
+<td class="success">0.613s</td>
 <td class="success">passed</td>
 </tr>
 </table>
@@ -96,6 +99,15 @@ Loading expression DSL file 'petstore-v2.yaml'.
 </pre>
 </span>
 </div>
+<div id="tab2" class="tab">
+<h2>Standard error</h2>
+<span class="code">
+<pre>SLF4J: Failed to load class &quot;org.slf4j.impl.StaticLoggerBinder&quot;.
+SLF4J: Defaulting to no-operation (NOP) logger implementation
+SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
+</pre>
+</span>
+</div>
 </div>
 <div id="footer">
 <p>
@@ -104,7 +116,7 @@ Loading expression DSL file 'petstore-v2.yaml'.
 <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. 10. 4. 오후 11:06:37</p>
+<a href="http://www.gradle.org">Gradle 6.8</a> at 2021. 10. 8. 오후 4:36:21</p>
 </div>
 </div>
 </body>
diff --git a/build/reports/tests/test/index.html b/build/reports/tests/test/index.html
index cf649dfbc9e9a710d4ce927df822e2447ffc64f1..580bb8fb88eca1a472d2de05c05b68844cccc89c 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">0.741s</div>
+<div class="counter">0.613s</div>
 <p>duration</p>
 </div>
 </td>
@@ -85,7 +85,7 @@
 <td>1</td>
 <td>0</td>
 <td>0</td>
-<td>0.741s</td>
+<td>0.613s</td>
 <td class="success">100%</td>
 </tr>
 </tbody>
@@ -112,7 +112,7 @@
 <td>1</td>
 <td>0</td>
 <td>0</td>
-<td>0.741s</td>
+<td>0.613s</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. 10. 4. 오후 11:06:37</p>
+<a href="http://www.gradle.org">Gradle 6.8</a> at 2021. 10. 8. 오후 4:36:21</p>
 </div>
 </div>
 </body>
diff --git a/build/reports/tests/test/packages/openapi.html b/build/reports/tests/test/packages/openapi.html
index dd7afe5cf7e5a73ed79d6c5a25f4d8630c84ebc4..dd4ff522c87cf308540219c187092e4896da3001 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">0.741s</div>
+<div class="counter">0.613s</div>
 <p>duration</p>
 </div>
 </td>
@@ -83,7 +83,7 @@
 <td>1</td>
 <td>0</td>
 <td>0</td>
-<td>0.741s</td>
+<td>0.613s</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. 10. 4. 오후 11:06:37</p>
+<a href="http://www.gradle.org">Gradle 6.8</a> at 2021. 10. 8. 오후 4:36:21</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 99a8312a23904277977d248f063fe4e8abcf973c..a994244069356de8e62e3967ddd4af5af00e0f7c 100644
--- a/build/test-results/test/TEST-openapi.OpenAPIMain_test.xml
+++ b/build/test-results/test/TEST-openapi.OpenAPIMain_test.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<testsuite name="openapi.OpenAPIMain_test" tests="1" skipped="0" failures="0" errors="0" timestamp="2021-10-04T14:06:36" hostname="DESKTOP-7SEB5SB" time="0.741">
+<testsuite name="openapi.OpenAPIMain_test" tests="1" skipped="0" failures="0" errors="0" timestamp="2021-10-08T07:36:20" hostname="DESKTOP-7SEB5SB" time="0.613">
   <properties/>
-  <testcase name="test()" classname="openapi.OpenAPIMain_test" time="0.741"/>
+  <testcase name="test()" classname="openapi.OpenAPIMain_test" time="0.613"/>
   <system-out><![CDATA[5
 Loading expression DSL file '1password.com-events-1.0.0.json'.
 Loading expression DSL file '6-dot-authentiqio.appspot.com-6.json'.
@@ -9,5 +9,8 @@ Loading expression DSL file 'abstractapi.com-geolocation-1.0.0.json'.
 Loading expression DSL file 'adyen.com-CheckoutUtilityService-1.json'.
 Loading expression DSL file 'petstore-v2.yaml'.
 ]]></system-out>
-  <system-err><![CDATA[]]></system-err>
+  <system-err><![CDATA[SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
+SLF4J: Defaulting to no-operation (NOP) logger implementation
+SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
+]]></system-err>
 </testsuite>
diff --git a/build/test-results/test/binary/output.bin b/build/test-results/test/binary/output.bin
index bceca37f94bc52ad4780ec096d8c86c45c973a5a..771876248854dcd16aa4dd7dca804351fe458c0c 100644
Binary files a/build/test-results/test/binary/output.bin and b/build/test-results/test/binary/output.bin differ
diff --git a/build/test-results/test/binary/output.bin.idx b/build/test-results/test/binary/output.bin.idx
index 75802f971af7f4f8a18ea7f2f23e65d594486cbf..9706eed18037e5fadeb6cba0825aa2d189605b66 100644
Binary files a/build/test-results/test/binary/output.bin.idx and b/build/test-results/test/binary/output.bin.idx differ
diff --git a/build/test-results/test/binary/results.bin b/build/test-results/test/binary/results.bin
index abdad60d4675bc1a658bbdb19e44b18b03b88fe8..cdea4129d48e6d0231d32a9549274ce19e12585f 100644
Binary files a/build/test-results/test/binary/results.bin and b/build/test-results/test/binary/results.bin differ
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 8a20750386ec0cea94a41697a93a7e9ab67845dc..ad808103010c25f1295abfda29050e725210a745 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
@@ -26,7 +26,7 @@ import java.util.stream.IntStream;
 public abstract class CallbackOb extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:506
+   * @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();
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 91b85cd9f4928d6c751314b077d9687042417b2c..7dc5938f86894e054f17d62f94b4d3c3536ae01a 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
@@ -118,7 +118,7 @@ public class ComponentsObject extends ASTNode<ASTNode> implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:166
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:142
    */
   public static ComponentsObject parseComponents(Components components, OAIContext context, Map<Object, ASTNode> map) throws DecodeException {
         ComponentsObject componentsObject = new ComponentsObject();
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 6dee87268b3678dd230e343664d2ce74d41c645c..510b65891fcf856fe8d9bad42e3c417960d1ff26 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
@@ -49,7 +49,7 @@ public class ContactObject extends ASTNode<ASTNode> implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:92
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:68
    */
   public static ContactObject parseContact(Contact contact, Map<Object, ASTNode> map){
         ContactObject contactObject = new ContactObject();
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 5dbf5fce78e55c1570bdbed6041e8b8245bfa21d..a4fdd64dcd6fa494bf68b788a5a4ade47744468e 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
@@ -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:777
+   * @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 733ff59f0b4bf89e5a5f47cff7ff7e9d96877f50..65618cf6050c5793d9c7111e8ccca858bea9cd0c 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
@@ -56,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:451
+   * @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/ExampleObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleObject.java
index 3368d94202b31ed358ad03ce06158fc8fa1a6b86..bfa74789c2292227fcb883a313d92520efdb3db0 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
@@ -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:529
+   * @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/ExternalDocObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExternalDocObject.java
index 717d648d338d6b16b9b98f5f6ba2b2187f43542c..67056a7f178c0d39e28ad19ec031eb741298b837 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
@@ -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:336
+   * @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/HeaderOb.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderOb.java
index b9fe98e39c3ddec2731bc2a0d3997f5c9bd37311..5153fa6f2fdf5aab5cb8e1955eaf5799adc017fd 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
@@ -26,7 +26,7 @@ import java.util.stream.IntStream;
 public abstract class HeaderOb extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:585
+   * @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();
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 52a38950765b4aed60e18a45e7473f588ab8c428..981174b22438e4d77cd3fe683fbef23c4c46ca7a 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
@@ -55,7 +55,7 @@ public class InfoObject extends ASTNode<ASTNode> implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:68
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:44
    */
   public static InfoObject parseInfo(Info info, Map<Object, ASTNode> map) {
         InfoObject infoObject = new InfoObject();
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 e52d0d936c9fe3d6545d00d97fc54be1d6141193..000bc13e1d756881b660760c5ff587415a0000ad 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
@@ -47,7 +47,7 @@ public class LicenseObject extends ASTNode<ASTNode> implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:110
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:86
    */
   public static LicenseObject parseLicense(License license, Map<Object, ASTNode> map){
         LicenseObject licenseObject = new LicenseObject();
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 4f69f47cb720be4cad01c478e4b0e7ba8e407f69..827c3456775a7501dcf271e7ea0976bd597f29c8 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
@@ -26,7 +26,7 @@ import java.util.stream.IntStream;
 public abstract class LinkOb extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:554
+   * @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();
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 b2a8375ba6d4b607951b873b22e041346d7e99aa..b1d926441ad3a74dbd073a031c0d481f3f3acaaa 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
@@ -54,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:427
+   * @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/OAuthFlowObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowObject.java
index abe1e8f2f7eb998acb79114415aac23435aa6588..0c7cfd0720b9d9a59758951e9f7e6d8563319d52 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
@@ -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:877
+   * @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 02bad3b4ab63d2db3271749dc202645dd4013961..15faf4ab2a0366d858d90324d5802b9543ad2c2b 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
@@ -44,7 +44,7 @@ public class OAuthFlowsObject extends ASTNode<ASTNode> implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:845
+   * @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/OpenAPIObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/OpenAPIObject.java
index 12e31ff90255f7e373dcfe36192e9b9d6356999c..3e039530308b4e766dcf40b305cbb7fee56c76f0 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
@@ -115,30 +115,6 @@ public class OpenAPIObject extends ASTNode<ASTNode> implements Cloneable {
         }
 
         map.put(api, openapi);
-        int a = 0;
-        Set<ResponseObject> responseObjects = new HashSet<>();
-        Set<Response> responses = new HashSet<>();
-        for( Object o : map.keySet() ){
-
-        if( map.get(o) instanceof ResponseObject ){
-        if(!responseObjects.contains(map.get(o))){
-        responseObjects.add((ResponseObject) map.get(o));
-        a++;
-        }
-        }
-
-            /*
-        if( map.get(o) instanceof SchemaObject ){
-        if(schemas.contains(map.get(o))){
-        schemas.add((SchemaObject) map.get(o));
-        a++;
-        }
-        }
-
-             */
-        }
-
-        System.out.println("size of ResponseObjects: " + a);
         return openapi;
         }
   /**
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 0020ec517e26c42fcbdbf18f73a421a1c6582248..c810e93d8671577df5d5748810eb6dc81b3f8952 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
@@ -82,7 +82,7 @@ public class OperationObject extends OperationOb implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:285
+   * @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();
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 74334497f27b424bba908292c2335d93c1c6af40..2727a42f0927ab738eaaf0702c1a4e8bd42f9ba9 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
@@ -26,7 +26,7 @@ import java.util.stream.IntStream;
 public abstract class ParameterOb extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:353
+   * @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();
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 02c82df48ef14dd7b021620fdf04b3b343fbe1e6..50fddea000403635b8a9af34d1c18c042369bf93 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
@@ -26,7 +26,7 @@ import java.util.stream.IntStream;
 public abstract class PathItemOb extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:214
+   * @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();
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 203e71bedcb3ec565ecc10755d3f6767dd76b0bd..b0e2c94553b5b72250a22f875f4c9010ed424044 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
@@ -26,7 +26,7 @@ import java.util.stream.IntStream;
 public abstract class RequestBodyOb extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:400
+   * @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();
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 fa8fb7c1862dd2c80f05dcbdcf6e6f42a5c6d2a2..d0beabef5f0e910e029a62ef174762d6c65c6930 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
@@ -26,7 +26,7 @@ import java.util.stream.IntStream;
 public abstract class ResponseOb extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:473
+   * @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();
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 ad1b8f36c99220255aea94b1a317bd6fc5d038c2..4d286e94de2908bf200eacced710d13b26202669 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
@@ -26,7 +26,7 @@ import java.util.stream.IntStream;
 public abstract class SchemaOb extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:650
+   * @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();
@@ -35,7 +35,6 @@ public abstract class SchemaOb extends ASTNode<ASTNode> implements Cloneable {
         SchemaReference s = new SchemaReference();
         s.setRef(schema.getRef());
         s.setSchemaOb(parseSchema(schema.getReference(context).getMappedContent(Schema.class), context, map));
-        System.out.println(s.getRef());
         return s;
         } else {
         if( schema.getAdditionalProperties() != null )
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 8e55539d499068a1674300381c25fd8eb66efee0..36a250d21832cad6bc56020d6aba9d4b640866a5 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
@@ -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:897
+   * @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/SecuritySchemeOb.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeOb.java
index c8448a9eaf704e7743c845aa4b8f39b831a12af0..14d9ff79fcb59a99970948c7c0a037d4a193246b 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
@@ -26,7 +26,7 @@ import java.util.stream.IntStream;
 public abstract class SecuritySchemeOb extends ASTNode<ASTNode> implements Cloneable {
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:817
+   * @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();
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 fb957f073ac3c36ebf93bc69e28ca8b6e4e24173..90d2d5607617687a78aa2f162757da040fc19773 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
@@ -53,7 +53,7 @@ public class ServerObject extends ASTNode<ASTNode> implements Cloneable {
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:126
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:102
    */
   public static ServerObject parseServer(Server server, Map<Object, ASTNode> map){
         ServerObject serverObject = new ServerObject();
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 d0206817777df7cc1791c8520f8a8653e5e3602b..5c0cf4971f6f389228d5f720115b6d6d765b2222 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
@@ -53,7 +53,7 @@ public class ServerVariableObject extends ASTNode<ASTNode> implements Cloneable
         }
   /**
    * @aspect Parser
-   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:146
+   * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:122
    */
   public static ServerVariableObject parseServerVariable(ServerVariable serverVariable, Map<Object, ASTNode> map){
         ServerVariableObject serverVariableObject = new ServerVariableObject();
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 bf0d724b0e449a9ddb73af356cd2c91fb55cf82b..2a1e5c572decb682906924954df8ecfcfa65b314 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
@@ -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:628
+   * @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/XmlObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/XmlObject.java
index db05e4c0497a2eadca9c7caf3933819f8d3914c1..d546aa15e420b496ad0af8720ba3a05c16fab2af 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
@@ -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:795
+   * @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/Parser.jrag b/src/main/jastadd/Parser.jrag
index e100db37b8a3b8fcf253897dc8e0723841d1d0e2..f432f5a70b06ccaff575b893c95b2d95de063f0a 100644
--- a/src/main/jastadd/Parser.jrag
+++ b/src/main/jastadd/Parser.jrag
@@ -38,7 +38,6 @@ public static OpenAPIObject OpenAPIObject.parseOpenAPI(OpenApi3 api) throws IOEx
         }
 
         map.put(api, openapi);
-
         return openapi;
         }
 
diff --git a/src/test/java/openapi/OpenAPIMain_test.java b/src/test/java/openapi/OpenAPIMain_test.java
index 6a4347fc6eb38eb89d352c129eb0f0b2dd17f863..9d829bc42e6b70d1322afa27f1c8936ab368f053 100644
--- a/src/test/java/openapi/OpenAPIMain_test.java
+++ b/src/test/java/openapi/OpenAPIMain_test.java
@@ -14,6 +14,7 @@ import org.openapi4j.parser.OpenApi3Parser;
 import org.openapi4j.parser.model.v3.*;
 import org.openapi4j.parser.validation.v3.OpenApi3Validator;
 import com.fasterxml.jackson.databind.JsonNode;
+import com.jayway.jsonpath.JsonPath;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -95,23 +96,20 @@ public class OpenAPIMain_test {
 
     protected void compareJson(JsonNode expectedNode, JsonNode actualNode, Path path) throws IOException {
         JsonNode diff = JsonDiff.asJson(expectedNode, actualNode);
-        while( diff.size() > 0 ){
-            // remove all diffs, which are empty
-            if( diff.get(0).has("value") && diff.get(0).get("value").isEmpty() )
-                ((ArrayNode) diff).remove(0);
-            // remove all diffs, which are copies of empty properties
-            else if( diff.get(0).has("op") && diff.get(0).get("op").toString().equals("\"copy\"") )
-                ((ArrayNode) diff).remove(0);
-            else if( diff.get(0).has("op") && diff.get(0).get("op").toString().equals("\"move\"") )
-                ((ArrayNode) diff).remove(0);
-            else if( diff.get(0).has("op") && diff.get(0).get("op").toString().equals("\"remove\"") )
-                ((ArrayNode) diff).remove(0);
+        String pathNode;
+
+        for( int i = diff.size()-1 ; i >= 0 ; i-- ){
+            // get the path of a node involving difference.
+            pathNode = "$" + diff.get(i).get("path").toString().replace("/", ".").replace("~1", "/").replace("\"", "");
+
+            // check, if this node has an empty value.
+            if( JsonPath.parse(actualNode.toString()).read(pathNode, String.class).isEmpty() )
+                ((ArrayNode) diff).remove(i);
         }
 
-        // if the Jsons are equivalent, there is no reason to to the text comparison
+        // if the Jsons are equivalent, there is no reason to to the text comparison.
         // if there is a difference, a text comparison might look better than just the diff.
         if (diff.size() != 0) {
-            //System.out.println(diff.toPrettyString());
             Assertions.assertEquals(actualNode.toPrettyString(), expectedNode.toPrettyString(), "JSONs for " + path + " are different:\n" + diff.toPrettyString());
         }
     }