diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup10Handler.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup10Handler.java
index fd5630c9bad6b62e69872ee2fb7082236d8cd4ff..a5c60c686e754386fc92120313e310f1fea74990 100644
--- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup10Handler.java
+++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceGroup10Handler.java
@@ -83,7 +83,7 @@ public class OasisSMPServiceGroup10Handler extends AbstractOasisSMPHandler {
         try {
             serviceGroup = reader.parseNative(resourceData.getResourceInputStream());
         } catch (TechnicalException e) {
-            throw new ResourceException(PARSE_ERROR, "Can not pase service group xml for identifier: [" + identifier + "]. Error: " + ExceptionUtils.getRootCauseMessage(e), e);
+            throw new ResourceException(PARSE_ERROR, "Can not parse service group xml for identifier: [" + identifier + "]. Error: " + ExceptionUtils.getRootCauseMessage(e), e);
         }
         // get references
         serviceGroup.setServiceMetadataReferenceCollection(new ServiceMetadataReferenceCollectionType());
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/AbstractResourceHandler.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/AbstractResourceHandler.java
index 62cfaf7518b9b6f8b09b1839ed171c6ca0f08b92..0a745edc1f9046c938a50245beebd56c752867f8 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/AbstractResourceHandler.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/AbstractResourceHandler.java
@@ -47,7 +47,7 @@ public class AbstractResourceHandler {
                 resourceDef.getIdentifier(),
                 "Can not find resource definition for identifier: [" + resourceDef.getIdentifier() + "] Registered resource SPI IDs ["
                         + resourceDefinitionSpiList.stream()
-                        .map(rd -> rd.identifier())
+                        .map(ResourceDefinitionSpi::identifier)
                         .collect(Collectors.joining(","))
                         + "]"));
     }
@@ -69,7 +69,7 @@ public class AbstractResourceHandler {
                 () -> new SMPRuntimeException(ErrorCode.INTERNAL_ERROR, subResourceId,
                         "Can not find subresource definition: [" + subResourceId + "]. Registered subresource IDs ["
                                 + resourceDefinitionSpi.getSubresourceSpiList().stream()
-                                .map(rd -> rd.identifier())
+                                .map(SubresourceDefinitionSpi::identifier)
                                 .collect(Collectors.joining(","))
                                 + "]"));
     }
@@ -104,9 +104,9 @@ public class AbstractResourceHandler {
     }
 
     public RequestData buildRequestDataForSubResource(DBDomain domain, DBResource resource,
-                                                      DBSubresource subresource, boolean mustNotBeEmpty) {
+                                                      DBSubresource subresource) {
         byte[] content = resourceStorage.getDocumentContentForSubresource(subresource);
-        if (mustNotBeEmpty && (content == null || content.length == 0)) {
+        if (content == null || content.length == 0) {
             throw new SMPRuntimeException(ErrorCode.SUBRESOURCE_DOCUMENT_MISSING,
                     subresource.getIdentifierValue(), subresource.getIdentifierScheme(),
                     resource.getIdentifierValue(), resource.getIdentifierScheme());
@@ -130,7 +130,7 @@ public class AbstractResourceHandler {
             if (StringUtils.isNotBlank(responseData.getContentType())) {
                 resourceResponse.setContentType(responseData.getContentType());
             }
-            responseData.getHttpHeaders().forEach((key, value) -> resourceResponse.setHttpHeader(key, value));
+            responseData.getHttpHeaders().forEach(resourceResponse::setHttpHeader);
 
         } catch (ResourceException e) {
             throw new SMPRuntimeException(ErrorCode.INTERNAL_ERROR, "Error occurred while reading the subresource!", e);
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerService.java
index 54c9950f4a26231b408ce82296b1fe710dfeda17..a9c9906a6a65abd0ce78efe0a26afc711953dee8 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerService.java
@@ -90,7 +90,7 @@ public class ResourceHandlerService extends AbstractResourceHandler {
         ResourceHandlerSpi handlerSpi = getSubresourceHandler(resolvedSubresource.getSubresourceDef(), resolvedData.getResourceDef());
         // generate request and respond
         RequestData requestData = buildRequestDataForSubResource(resolvedData.getDomain(), resolvedData.getResource(),
-                resolvedData.getSubresource(), true);
+                resolvedData.getSubresource());
         ResponseData responseData = new SpiResponseData(resourceResponse.getOutputStream());
         // handle data
         handleReadResource(handlerSpi, requestData, responseData, resourceResponse);
@@ -135,7 +135,7 @@ public class ResourceHandlerService extends AbstractResourceHandler {
             }
         }
         // set headers to response
-        responseData.getHttpHeaders().forEach((key, value) -> resourceResponse.setHttpHeader(key, value));
+        responseData.getHttpHeaders().forEach(resourceResponse::setHttpHeader);
         // determinate status before resource is stored to database!
         resourceResponse.setHttpStatus(getHttpStatusForCreateUpdate(isNewResource, responseData));
 
@@ -205,8 +205,7 @@ public class ResourceHandlerService extends AbstractResourceHandler {
             }
         }
         // set headers to response
-        responseData.getHttpHeaders().entrySet()
-                .forEach(entry -> resourceResponse.setHttpHeader(entry.getKey(), entry.getValue()));
+        responseData.getHttpHeaders().forEach((key, value) -> resourceResponse.setHttpHeader(key, value));
         // determinate status before resource is stored to database!
         resourceResponse.setHttpStatus(getHttpStatusForCreateUpdate(isNewResource, responseData));
 
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentService.java
index 74707094ca2773bf725e391101bdd4ed90b86ce1..7b97cd9236a7703b8983ec9c76049e5ee7432320 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentService.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentService.java
@@ -90,7 +90,7 @@ public class UIDocumentService {
 
         ResourceHandlerSpi resourceHandler = resourceHandlerService.getSubresourceHandler(subresourceDef, subresourceDef.getResourceDef());
         RequestData data = resourceHandlerService.buildRequestDataForSubResource(parentEntity.getDomainResourceDef().getDomain(),
-                parentEntity, entity, false);
+                parentEntity, entity, null);
 
         return getDocumentRo(resourceHandler, data);
     }