diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateE2ENetworkInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateE2ENetworkInstance.bpmn
index 9fad8dd..758b98c 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateE2ENetworkInstance.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateE2ENetworkInstance.bpmn
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.7.2">
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0">
   <bpmn:process id="DoCreateE2ENetworkInstance" name="DoCreateE2ENetworkInstance" isExecutable="true">
     <bpmn:startEvent id="StartEvent_1">
       <bpmn:outgoing>SequenceFlow_1gomb9n</bpmn:outgoing>
@@ -18,7 +18,7 @@
 def dcsi = new DoCreateE2EServiceInstance()
 dcsi.postProcessSDNCAssign(execution)]]></bpmn:script>
     </bpmn:scriptTask>
-    <bpmn:callActivity id="CallActivity_0ao684p" name="Call SDNC Adapter Service Topology Assign" calledElement="sdncAdapter">
+    <bpmn:callActivity id="CallActivity_0ao684p" name="Call SDNC Adapter Service Topology Assign" calledElement="DoUnderlayVpnOperation">
       <bpmn:extensionElements>
         <camunda:in source="sdncAssignRequest" target="sdncAdapterWorkflowRequest" />
         <camunda:in source="msoRequestId" target="mso-request-id" />
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUnderVpnOperation_java.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUnderlayVpnOperation.bpmn
similarity index 100%
rename from bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUnderVpnOperation_java.bpmn
rename to bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUnderlayVpnOperation.bpmn
diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceMacroHolder.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceMacroHolder.java
index e8b33ba..d4d0507 100644
--- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceMacroHolder.java
+++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/ServiceMacroHolder.java
@@ -44,9 +44,9 @@
 		super();
 		this.service = null;
 		this.vnfResources = new ArrayList<VnfResource>();
-		this.networkResourceCustomizations = new ArrayList<NetworkResourceCustomization>();
-		this.allottedResourceCustomizations = new ArrayList<AllottedResourceCustomization>();
-		this.vnfResourceCustomizations = new ArrayList<VnfResourceCustomization>();
+		this.networkResourceCustomizations = new ArrayList<>();
+		this.allottedResourceCustomizations = new ArrayList<>();
+		this.vnfResourceCustomizations = new ArrayList<>();
 	}
 	public ServiceMacroHolder(Service service) {
 		this();
@@ -71,7 +71,7 @@
 			if (this.vnfResources != null) {
 				this.vnfResources.add(vr);
 			} else {
-				this.vnfResources = new ArrayList<VnfResource>();
+				this.vnfResources = new ArrayList<>();
 				this.vnfResources.add(vr);
 			}
 		}
@@ -88,7 +88,7 @@
 			if (this.vnfResourceCustomizations != null) {
 				this.vnfResourceCustomizations.add(vrc);
 			} else {
-				this.vnfResourceCustomizations = new ArrayList<VnfResourceCustomization>();
+				this.vnfResourceCustomizations = new ArrayList<>();
 				this.vnfResourceCustomizations.add(vrc);
 			}
 		}
@@ -104,7 +104,7 @@
 		if (this.networkResourceCustomizations != null) {
 			this.networkResourceCustomizations.add(nrc);
 		} else {
-			this.networkResourceCustomizations = new ArrayList<NetworkResourceCustomization>();
+			this.networkResourceCustomizations = new ArrayList<>();
 			this.networkResourceCustomizations.add(nrc);
 		}
 	}
@@ -119,11 +119,12 @@
 		if (this.allottedResourceCustomizations != null) {
 			this.allottedResourceCustomizations.add(arc);
 		} else {
-			this.allottedResourceCustomizations = new ArrayList<AllottedResourceCustomization>();
+			this.allottedResourceCustomizations = new ArrayList<>();
 			this.allottedResourceCustomizations.add(arc);
 		}
 	}
 
+    @Override
 	public String toString() {
 		StringBuilder sb = new StringBuilder();
 		sb.append("ServicePlus: ");
