diff --git a/src/main/jastadd/ReverseParser.jrag b/src/main/jastadd/ReverseParser.jrag
index 96279d575d6e1e0898ee7f4f1353a09858a3b98f..da6c88ef2c17b272674284ec3b4b9b83c201f5cc 100644
--- a/src/main/jastadd/ReverseParser.jrag
+++ b/src/main/jastadd/ReverseParser.jrag
@@ -5,7 +5,7 @@ aspect ReverseParser{
     public static OpenAPI OpenAPIObject.reverseOpenAPI(OpenAPIObject openapi){
         OpenAPI api = new OpenAPI();
 
-        if (!openapi.getOpenAPI().isEmpty())
+        if (openapi.getOpenAPI() != null)
             api.setOpenapi(openapi.getOpenAPI());
         if (openapi.getI() != null)
             api.setInfo(InfoObject.reverseInfo(openapi.getI()));
@@ -56,13 +56,13 @@ aspect ReverseParser{
     public static io.swagger.v3.oas.models.info.Info InfoObject.reverseInfo(InfoObject infoObject){
         io.swagger.v3.oas.models.info.Info info = new io.swagger.v3.oas.models.info.Info();
 
-        if (!infoObject.getTitle().isEmpty())
+        if (infoObject.getTitle() != null)
             info.setTitle(infoObject.getTitle());
-        if (!infoObject.getVersion().isEmpty())
+        if (infoObject.getVersion() != null)
             info.setVersion(infoObject.getVersion());
-        if (!infoObject.getDescription().isEmpty())
+        if (infoObject.getDescription() != null)
             info.setDescription(infoObject.getDescription());
-        if (!infoObject.getTermsOfService().isEmpty())
+        if (infoObject.getTermsOfService() != null)
             info.setTermsOfService(infoObject.getTermsOfService());
         if (infoObject.hasC())
             info.setContact(ContactObject.reverseContact(infoObject.getC()));
@@ -81,11 +81,11 @@ aspect ReverseParser{
     public static io.swagger.v3.oas.models.info.Contact ContactObject.reverseContact(ContactObject contactObject){
         io.swagger.v3.oas.models.info.Contact contact = new io.swagger.v3.oas.models.info.Contact();
 
-        if (!contactObject.getName().isEmpty())
+        if (contactObject.getName() != null)
             contact.setName(contactObject.getName());
-        if (!contactObject.getUrl().isEmpty())
+        if (contactObject.getUrl() != null)
             contact.setUrl(contactObject.getUrl());
-        if (!contactObject.getEmail().isEmpty())
+        if (contactObject.getEmail() != null)
             contact.setEmail(contactObject.getEmail());
         if (contactObject.getNumEx() != 0) {
             Map<String, Object> extensions = new HashMap<>();
@@ -100,9 +100,9 @@ aspect ReverseParser{
     public static io.swagger.v3.oas.models.info.License LicenseObject.reverseLicense(LicenseObject licenseObject){
         io.swagger.v3.oas.models.info.License license = new io.swagger.v3.oas.models.info.License();
 
-        if (!licenseObject.getName().isEmpty())
+        if (licenseObject.getName() != null)
             license.setName(licenseObject.getName());
-        if (!licenseObject.getUrl().isEmpty())
+        if (licenseObject.getUrl() != null)
             license.setUrl(licenseObject.getUrl());
         if (licenseObject.getNumEx() != 0) {
             Map<String, Object> extensions = new HashMap<>();
@@ -117,9 +117,9 @@ aspect ReverseParser{
     public static Server ServerObject.reverseServer(ServerObject serverObject){
         Server server = new Server();
 
-        if (!serverObject.getUrl().isEmpty())
+        if (serverObject.getUrl() != null)
             server.setUrl(serverObject.getUrl());
-        if (!serverObject.getDescription().isEmpty())
+        if (serverObject.getDescription() != null)
             server.setDescription(serverObject.getDescription());
         if (serverObject.getNumSt() != 0) {
             ServerVariables serverVariables = new ServerVariables();
@@ -140,9 +140,9 @@ aspect ReverseParser{
     public static ServerVariable ServerVariableObject.reverseServerVariable(ServerVariableObject serverVariableObject){
         ServerVariable serverVariable = new ServerVariable();
 
-        if (!serverVariableObject.getDefault().isEmpty())
+        if (serverVariableObject.getDefault() != null)
             serverVariable.setDefault(serverVariableObject.getDefault());
-        if (!serverVariableObject.getDescription().isEmpty())
+        if (serverVariableObject.getDescription() != null)
             serverVariable.setDescription(serverVariableObject.getDescription());
         if (serverVariableObject.getNumE() != 0) {
             List<String> enums = new ArrayList<>();
@@ -270,9 +270,9 @@ aspect ReverseParser{
         PathItem path = new PathItem();
         PathItemObject p = (PathItemObject) pathItemOb;
 
-        if (!p.getSummary().isEmpty())
+        if (p.getSummary() != null)
             path.setSummary(p.getSummary());
-        if (!p.getDescription().isEmpty())
+        if (p.getDescription() != null)
             path.setDescription(p.getDescription());
         if (p.hasG())
             path.setGet(OperationObject.reverseOperation(p.getG().getO()));
@@ -313,13 +313,13 @@ aspect ReverseParser{
             for (de.tudresden.inf.st.openapi.ast.Tag t : operationObject.getTList())
                 operation.addTagsItem(t.getTag());
         }
-        if (!operationObject.getSummary().isEmpty())
+        if (operationObject.getSummary() != null)
             operation.setSummary(operationObject.getSummary());
-        if (!operationObject.getDescription().isEmpty())
+        if (operationObject.getDescription() != null)
             operation.setDescription(operationObject.getDescription());
         if (operationObject.hasEd())
             operation.setExternalDocs(ExternalDocObject.reverseExternalDocs(operationObject.getEd()));
-        if (!operationObject.getOperationID().isEmpty())
+        if (operationObject.getOperationID() != null)
             operation.setOperationId(operationObject.getOperationID());
         if (operationObject.getNumP() != 0) {
             for (ParameterOb p : operationObject.getPList())
@@ -362,9 +362,9 @@ aspect ReverseParser{
     public static io.swagger.v3.oas.models.ExternalDocumentation ExternalDocObject.reverseExternalDocs(ExternalDocObject externalDocObject){
         ExternalDocumentation externalDocs = new ExternalDocumentation();
 
-        if (!externalDocObject.getDescription().isEmpty())
+        if (externalDocObject.getDescription() != null)
             externalDocs.setDescription(externalDocObject.getDescription());
-        if (!externalDocObject.getUrl().isEmpty())
+        if (externalDocObject.getUrl() != null)
             externalDocs.setUrl(externalDocObject.getUrl());
         if (externalDocObject.getNumEx() != 0) {
             Map<String, Object> extensionMap = new HashMap<>();
@@ -381,7 +381,7 @@ aspect ReverseParser{
         io.swagger.v3.oas.models.parameters.Parameter parameter = new io.swagger.v3.oas.models.parameters.Parameter();
         ParameterReference p = (ParameterReference) parameterOb;
 
-        if (!p.getRef().isEmpty()) {
+        if (p.getRef() != null) {
             parameter.set$ref(p.getRef());
         }
 
@@ -391,13 +391,13 @@ aspect ReverseParser{
         io.swagger.v3.oas.models.parameters.Parameter parameter = new io.swagger.v3.oas.models.parameters.Parameter();
         ParameterObject p = (ParameterObject) parameterOb;
 
-        if (!p.getName().isEmpty())
+        if (p.getName() != null)
             parameter.setName(p.getName());
-        if (!p.getIn().isEmpty())
+        if (p.getIn() != null)
             parameter.setIn(p.getIn());
         if (p.getRequired() != null)
             parameter.setRequired(p.getRequired());
-        if (!p.getDescription().isEmpty())
+        if (p.getDescription() != null)
             parameter.setDescription(p.getDescription());
         if (p.getDeprecatedBoolean() != null)
             parameter.setDeprecated(p.getDeprecatedBoolean());
@@ -461,7 +461,7 @@ aspect ReverseParser{
         RequestBody requestBody = new RequestBody();
         RequestBodyReference r = (RequestBodyReference) requestBodyOb;
 
-        if (!r.getRef().isEmpty()) {
+        if (r.getRef() != null) {
             requestBody.set$ref(r.getRef());
         }
 
@@ -477,7 +477,7 @@ aspect ReverseParser{
                 contents.put(t.getKey(), MediaTypeObject.reverseMediaType(t.getM()));
             requestBody.setContent(contents);
         }
-        if (!r.getDescription().isEmpty())
+        if (r.getDescription() != null)
             requestBody.setDescription(r.getDescription());
         if (r.getRequired() != null)
             requestBody.setRequired(r.getRequired());
@@ -515,7 +515,7 @@ aspect ReverseParser{
         io.swagger.v3.oas.models.media.Encoding encodingProperty = new io.swagger.v3.oas.models.media.Encoding();
         HeaderOb h;
 
-        if (!encodingObject.getContentType().isEmpty())
+        if (encodingObject.getContentType() != null)
             encodingProperty.setContentType(encodingObject.getContentType());
         if (encodingObject.getNumH() != 0) {
             Map<String, Header> headers = new HashMap<>();
@@ -525,7 +525,7 @@ aspect ReverseParser{
             }
             encodingProperty.setHeaders(headers);
         }
-        //if (!encodingObject.getStyle().isEmpty())
+        // if (!encodingObject.getStyle().isEmpty())
         //  encodingProperty.setStyle(Encoding.StyleEnum.valueOf());
         if (encodingObject.getExplode() != null)
             encodingProperty.setExplode(encodingObject.getExplode());
@@ -544,7 +544,7 @@ aspect ReverseParser{
         ApiResponse response = new ApiResponse();
         ResponseReference r = (ResponseReference) responseOb;
 
-        if (!r.getRef().isEmpty()) {
+        if (r.getRef() != null) {
             response.set$ref(r.getRef());
         }
 
@@ -554,7 +554,7 @@ aspect ReverseParser{
         ApiResponse response = new ApiResponse();
         ResponseObject r = (ResponseObject) responseOb;
 
-        if (!r.getDescription().isEmpty())
+        if (r.getDescription() != null)
             response.setDescription(r.getDescription());
         if (r.getNumH() != 0) {
             Map<String, Header> headers = new HashMap<>();
@@ -583,7 +583,7 @@ aspect ReverseParser{
         io.swagger.v3.oas.models.callbacks.Callback callback = new io.swagger.v3.oas.models.callbacks.Callback();
         CallbackReference c = (CallbackReference) callbackOb;
 
-        if (!c.getRef().isEmpty()) {
+        if (c.getRef() != null) {
             callback.set$ref(c.getRef());
         }
 
@@ -606,13 +606,13 @@ aspect ReverseParser{
     public static Example ExampleObject.reverseExample(ExampleObject exampleObject){
         Example example = new Example();
 
-        if (!exampleObject.getSummary().isEmpty())
+        if (exampleObject.getSummary() != null)
             example.setSummary(exampleObject.getSummary());
-        if (!exampleObject.getDescription().isEmpty())
+        if (exampleObject.getDescription() != null)
             example.setDescription(exampleObject.getDescription());
         if (exampleObject.getValue() != null)
             example.setValue(exampleObject.getValue());
-        if (!exampleObject.getExternalValue().isEmpty())
+        if (exampleObject.getExternalValue() != null)
             example.setExternalValue(exampleObject.getExternalValue());
         if (exampleObject.getNumEx() != 0) {
             Map<String, Object> extension = new HashMap<>();
@@ -629,7 +629,7 @@ aspect ReverseParser{
         io.swagger.v3.oas.models.links.Link link = new io.swagger.v3.oas.models.links.Link();
         LinkReference l = (LinkReference) linkOb;
 
-        if (!l.getRef().isEmpty())
+        if (l.getRef() != null)
             link.set$ref(l.getRef());
 
         return link;
@@ -638,9 +638,9 @@ aspect ReverseParser{
         io.swagger.v3.oas.models.links.Link link = new io.swagger.v3.oas.models.links.Link();
         LinkObject l = (LinkObject) linkOb;
 
-        if (!l.getOperationRef().isEmpty())
+        if (l.getOperationRef() != null)
             link.setOperationRef(l.getOperationRef());
-        if (!l.getOperationID().isEmpty())
+        if (l.getOperationID() != null)
             link.setOperationId(l.getOperationID());
         if (l.getNumL() != 0) {
             Map<String, String> parameters = new HashMap<>();
@@ -648,7 +648,7 @@ aspect ReverseParser{
                 parameters.put(t.getKey(), t.getValue());
             link.setParameters(parameters);
         }
-        if (!l.getDescription().isEmpty())
+        if (l.getDescription() != null)
             link.setDescription(l.getDescription());
         if (l.hasS())
             link.setServer(ServerObject.reverseServer(l.getS()));
@@ -665,7 +665,7 @@ aspect ReverseParser{
         io.swagger.v3.oas.models.headers.Header header = new io.swagger.v3.oas.models.headers.Header();
         HeaderReference h = (HeaderReference) headerOb;
 
-        if (!h.getRef().isEmpty()) {
+        if (h.getRef() != null) {
             header.set$ref(h.getRef());
         }
 
@@ -677,7 +677,7 @@ aspect ReverseParser{
 
         if (h.getRequired() != null)
             header.setRequired(h.getRequired());
-        if (!h.getDescription().isEmpty())
+        if (h.getDescription() != null)
             header.setDescription(h.getDescription());
         switch (h.getStyle()) {
             case "simple":
@@ -686,7 +686,7 @@ aspect ReverseParser{
         }
         if (h.getExplode() != null)
             header.setExplode(h.getExplode());
-        //if (h.getAllowReserved() != null)
+        //  if (h.getAllowReserved() != null)
         //  header.setAllowReserved(h.getAllowReserved());
         if (h.getExample() != null)
             header.setExample(h.getExample());
@@ -713,7 +713,7 @@ aspect ReverseParser{
 
         tag.setName(tagObject.getName());
 
-        if (!tagObject.getDescription().isEmpty())
+        if (tagObject.getDescription() != null)
             tag.setDescription(tagObject.getDescription());
         if (tagObject.hasE())
             tag.setExternalDocs(ExternalDocObject.reverseExternalDocs(tagObject.getE()));
@@ -733,7 +733,7 @@ aspect ReverseParser{
         io.swagger.v3.oas.models.media.Schema schema = new io.swagger.v3.oas.models.media.Schema();
         SchemaReference s = (SchemaReference) schemaOb;
 
-        if (!s.getRef().isEmpty()) {
+        if (s.getRef() != null) {
             schema.set$ref(s.getRef());
         }
 
@@ -767,7 +767,7 @@ aspect ReverseParser{
             schema.setAdditionalProperties(s.getAdditionalProperties());
         if (s.getDefaultValue() != null)
             schema.setDefault(s.getDefaultValue());
-        if (!s.getDescription().isEmpty())
+        if (s.getDescription() != null)
             schema.setDescription(s.getDescription());
         if (s.getDeprecatedBoolean() != null)
             schema.setDeprecated(s.getDeprecatedBoolean());
@@ -786,7 +786,7 @@ aspect ReverseParser{
             schema.setExclusiveMinimum(s.getExclusiveMinimum());
         if (s.hasExt())
             schema.setExternalDocs(ExternalDocObject.reverseExternalDocs(s.getExt()));
-        if (!s.getFormat().isEmpty())
+        if (s.getFormat() != null)
             schema.setFormat(s.getFormat());
         if (s.getMaximum() != null)
             schema.setMaximum(s.getMaximum());
@@ -811,7 +811,7 @@ aspect ReverseParser{
         // Nullable will be excluded in version 3.1.0
         if (s.getNullable() != null)
             schema.setNullable(s.getNullable());
-        if (!s.getPattern().isEmpty())
+        if (s.getPattern() != null)
             schema.setPattern(s.getPattern());
         if (s.getNumP() != 0) {
             Map<String, io.swagger.v3.oas.models.media.Schema> properties = new HashMap<>();
@@ -827,9 +827,9 @@ aspect ReverseParser{
             schema.setReadOnly(s.getReadOnly());
         if (s.getWriteOnly() != null)
             schema.setWriteOnly(s.getWriteOnly());
-        if (!s.getType().isEmpty())
+        if (s.getType() != null)
             schema.setType(s.getType());
-        if (!s.getTitle().isEmpty())
+        if (s.getTitle() != null)
             schema.setTitle(s.getTitle());
         if (s.getUniqueItems() != null)
             schema.setUniqueItems(s.getUniqueItems());
@@ -848,7 +848,7 @@ aspect ReverseParser{
     public static io.swagger.v3.oas.models.media.Discriminator DiscriminatorObject.reverseDiscriminator(DiscriminatorObject discriminatorObject){
         io.swagger.v3.oas.models.media.Discriminator discriminator = new io.swagger.v3.oas.models.media.Discriminator();
 
-        if (!discriminatorObject.getPropertyName().isEmpty())
+        if (discriminatorObject.getPropertyName() != null)
             discriminator.setPropertyName(discriminatorObject.getPropertyName());
         if (discriminatorObject.getNumM() != 0) {
             Map<String, String> mapping = new HashMap<>();
@@ -863,11 +863,11 @@ aspect ReverseParser{
     public static io.swagger.v3.oas.models.media.XML XmlObject.reverseXml(XmlObject xmlObject){
         io.swagger.v3.oas.models.media.XML xml = new io.swagger.v3.oas.models.media.XML();
 
-        if (!xmlObject.getName().isEmpty())
+        if (xmlObject.getName() != null)
             xml.setName(xmlObject.getName());
-        if (!xmlObject.getNamespace().isEmpty())
+        if (xmlObject.getNamespace() != null)
             xml.setNamespace(xmlObject.getNamespace());
-        if (!xmlObject.getPrefix().isEmpty())
+        if (xmlObject.getPrefix() != null)
             xml.setPrefix(xmlObject.getPrefix());
         if (xmlObject.getAttribute() != null)
             xml.setAttribute(xmlObject.getAttribute());
@@ -882,7 +882,7 @@ aspect ReverseParser{
         io.swagger.v3.oas.models.security.SecurityScheme securityScheme = new io.swagger.v3.oas.models.security.SecurityScheme();
         SecuritySchemeReference s = (SecuritySchemeReference) securitySchemeOb;
 
-        if (!s.getRef().isEmpty()) {
+        if (s.getRef() != null) {
             securityScheme.set$ref(s.getRef());
         }
 
@@ -906,7 +906,7 @@ aspect ReverseParser{
                 securityScheme.setType(SecurityScheme.Type.OPENIDCONNECT);
                 break;
         }
-        if (!s.getName().isEmpty())
+        if (s.getName() != null)
             securityScheme.setName(s.getName());
         switch (s.getIn()) {
             case "cookie":
@@ -919,15 +919,15 @@ aspect ReverseParser{
                 securityScheme.setIn(SecurityScheme.In.QUERY);
                 break;
         }
-        if (!s.getScheme().isEmpty())
+        if (s.getScheme() != null)
             securityScheme.setScheme(s.getScheme());
-        if (!s.getOpenIdConnectUrl().isEmpty())
+        if (s.getOpenIdConnectUrl() != null)
             securityScheme.setOpenIdConnectUrl(s.getOpenIdConnectUrl());
         if (s.getO() != null)
             securityScheme.setFlows(OAuthFlowsObject.reverseOAuthFlows(s.getO()));
-        if (!s.getDescription().isEmpty())
+        if (s.getDescription() != null)
             securityScheme.setDescription(s.getDescription());
-        if (!s.getBearerFormat().isEmpty())
+        if (s.getBearerFormat() != null)
             securityScheme.setBearerFormat(s.getBearerFormat());
         if (s.getNumEx() != 0) {
             Map<String, Object> extensionMap = new HashMap<>();
diff --git a/src/test/java/openapi/OpenAPIMain_test.java b/src/test/java/openapi/OpenAPIMain_test.java
index a418a0956d1ac7531ce09de10f679b9959413d7b..b0ca0679be35de699737d5becf9909c31b7f784f 100644
--- a/src/test/java/openapi/OpenAPIMain_test.java
+++ b/src/test/java/openapi/OpenAPIMain_test.java
@@ -100,15 +100,17 @@ public class OpenAPIMain_test {
       actualWriter.close();
 
       // compare if api (source object) is equivalent to api3 (generated object)
-      //compareJson(expectedNode, actualNode, Paths.get(file));
+      compareJson(expectedNode, actualNode, Paths.get(file));
     }
 
     // clean all generated jsons
+    /*
     contents = genDirectory.listFiles();
     if (contents != null) {
       for (File file : contents)
       file.delete();
     }
+     */
   }
 
   protected void compareJson(JsonNode expectedNode, JsonNode actualNode, Path path) throws IOException {
@@ -128,6 +130,8 @@ public class OpenAPIMain_test {
 
 
       // check, if this node exists or has an empty value.
+      System.out.println("1");
+      System.out.println(pathNode);
       if (JsonPath.parse(actualNode.toString()).read(pathNode, String.class) == null || JsonPath.parse(actualNode.toString()).read(pathNode, String.class).isEmpty())
         ((ArrayNode) diff).remove(i);
       else if (!JsonPath.parse(actualNode.toString()).read(pathNode.substring(0, pathNode.lastIndexOf(".")).concat(".$ref"), String.class).isEmpty())