Code cleanup
diff --git a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/CollectorExample.java b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/CollectorExample.java
index 367ef0f..3d1a0e8 100644
--- a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/CollectorExample.java
+++ b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/CollectorExample.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2020 Robert Bosch GmbH.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -18,9 +18,9 @@
 import java.io.File;
 import java.util.List;
 
+import org.eclipse.app4mc.amalthea.model.ActivityGraphItem;
 import org.eclipse.app4mc.amalthea.model.Amalthea;
 import org.eclipse.app4mc.amalthea.model.AmaltheaFactory;
-import org.eclipse.app4mc.amalthea.model.ActivityGraphItem;
 import org.eclipse.app4mc.amalthea.model.Label;
 import org.eclipse.app4mc.amalthea.model.LabelAccess;
 import org.eclipse.app4mc.amalthea.model.LabelAccessEnum;
@@ -36,7 +36,7 @@
 	public static void main(String[] args) {
 
 		final File outputFile = new File("model-output/Collector/CollectorModel.amxmi");
-		
+
 		System.out.println("----------------------------");
 		System.out.println(" Amalthea Collector Example ");
 		System.out.println("----------------------------");
@@ -60,7 +60,7 @@
 
 		// ***** Save model *****
 
-		boolean success = AmaltheaWriter.writeToFile(model, outputFile);		
+		boolean success = AmaltheaWriter.writeToFile(model, outputFile);
 
 		if (success) {
 			System.out.println("writing file: " + outputFile.getAbsolutePath());
@@ -69,7 +69,7 @@
 			return;
 		}
 
-		
+
 		// ***** Some tests *****
 
 		List<ActivityGraphItem> items1 = SoftwareUtil.collectActivityGraphItems(run.getActivityGraph());
@@ -78,7 +78,7 @@
 		for (ActivityGraphItem item : items1) {
 			System.out.println(" - " + item.toString());
 		}
-		
+
 		List<ActivityGraphItem> items2 = SoftwareUtil.collectActivityGraphItems(run.getActivityGraph(), null,
 				a -> a instanceof LabelAccess && ((LabelAccess) a).getAccess() == LabelAccessEnum.READ);
 
@@ -86,14 +86,14 @@
 		for (ActivityGraphItem item : items2) {
 			System.out.println(" - " + item.toString());
 		}
-		
+
 		List<LabelAccess> items3 = SoftwareUtil.collectActivityGraphItems(run.getActivityGraph(), null, LabelAccess.class);
-		
+
 		System.out.println("\nLabel accesses:");
 		for (LabelAccess item : items3) {
 			System.out.println(" - " + item.eClass().getName() + " " + item.getData().getName());
 		}
-		
+
 
 		List<LabelAccess> items4 = SoftwareUtil.collectActivityGraphItems(
 				run.getActivityGraph(),
diff --git a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/EnumExample.java b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/EnumExample.java
index eaefed6..15c88fc 100644
--- a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/EnumExample.java
+++ b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/EnumExample.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2020 Robert Bosch GmbH.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -22,11 +22,11 @@
 import org.eclipse.app4mc.amalthea.model.AmaltheaFactory;
 import org.eclipse.app4mc.amalthea.model.AmaltheaIndex;
 import org.eclipse.app4mc.amalthea.model.EnumMode;
-import org.eclipse.app4mc.amalthea.model.ModeLabel;
 import org.eclipse.app4mc.amalthea.model.Label;
 import org.eclipse.app4mc.amalthea.model.LabelAccess;
 import org.eclipse.app4mc.amalthea.model.LabelAccessEnum;
 import org.eclipse.app4mc.amalthea.model.Mode;
+import org.eclipse.app4mc.amalthea.model.ModeLabel;
 import org.eclipse.app4mc.amalthea.model.ModeLiteral;
 import org.eclipse.app4mc.amalthea.model.Runnable;
 import org.eclipse.app4mc.amalthea.model.RunnableCall;
diff --git a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/IndexExample.java b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/IndexExample.java
index 15c6ab2..59038db 100644
--- a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/IndexExample.java
+++ b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/IndexExample.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2020 Robert Bosch GmbH.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -55,7 +55,7 @@
 			System.err.println("Error: No model loaded!");
 			return;
 		}
-		
+
 		// ***** Modify *****
 
 		final AmaltheaFactory fac = AmaltheaFactory.eINSTANCE;
@@ -64,53 +64,53 @@
 			Tag tag = fac.createTag();
 			tag.setName("Tx");
 			ModelUtil.getOrCreateCommonElements(model).getTags().add(tag);
-			
+
 			Label lab = fac.createLabel();
 			lab.setName("LabZ");
 			ModelUtil.getOrCreateSwModel(model).getLabels().add(lab);
 		}
-		
+
 		// ***** Dump index info *****
-		
+
 
 		System.out.println("\n\n*** Index 1: Basic info ***\n");
-				
+
 		AmaltheaIndex.dumpAdapterInfo(model, 1, System.out); // basic info
-	
-		
+
+
 		System.out.println("\n\n*** Index 2: Cross reference map ***\n");
-		
+
 		AmaltheaIndex.dumpAdapterInfo(model, 2, System.out); // cross reference map
-		
+
 
 		System.out.println("\n\n*** Index 3: Name index ***\n");
-		
+
 		AmaltheaIndex.dumpAdapterInfo(model, 3, System.out); // name index
 
-		
+
 		// ***** Use index 1: Get referring objects *****
 
 		String nameOfLabel = "APedSensor1Voltage";
-		
+
 
 		System.out.println("\n\n*** Show objects referring to " + nameOfLabel + " (expected results: 1) ***\n");
 
 		Set<Label> list = AmaltheaIndex.getElements(model, nameOfLabel, Label.class);
 		for (Label label : list) {
 			Collection<EObject> result = AmaltheaIndex.getReferringObjects(label);
-			
+
 			System.out.println(result);
 		}
 
-		
+
 		// ***** Use index 2: Get name conflicts (ID) *****
-		
+
 		System.out.println("\n\n*** Show ID Conflicts (expected results: 1) ***\n");
-		
+
 		List<Set<IReferable>> conflicts = AmaltheaIndex.getObjectsWithConflictingNames(model);
 		System.out.println(conflicts);
-		
-		
+
+
 		System.out.println();
 		System.out.println("done.");
 	}
diff --git a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/LoadModifySaveExample.java b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/LoadModifySaveExample.java
index 31f258e..932470f 100644
--- a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/LoadModifySaveExample.java
+++ b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/LoadModifySaveExample.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018 Robert Bosch GmbH.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -51,7 +51,7 @@
 			System.err.println("Error: No model loaded!");
 			return;
 		}
-		
+
 		// ***** Modify *****
 
 		final AmaltheaFactory fac = AmaltheaFactory.eINSTANCE;
diff --git a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/SplitModelExample.java b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/SplitModelExample.java
index 1d53942..5444115 100644
--- a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/SplitModelExample.java
+++ b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/SplitModelExample.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2020 Robert Bosch GmbH.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -45,7 +45,7 @@
 		if (resource == null) return;
 
 		final ResourceSet resourceSet = resource.getResourceSet();
-		
+
 		try {
 			resource.load(null);
 		} catch (IOException e) {
diff --git a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/StandardElementsExample.java b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/StandardElementsExample.java
index 6feb218..91acea2 100644
--- a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/StandardElementsExample.java
+++ b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/StandardElementsExample.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -49,7 +49,7 @@
 		System.out.println("-----------------------------------");
 		System.out.println(" Standard Elements Example");
 		System.out.println("-----------------------------------");
-		
+
 		final AmaltheaFactory fac = AmaltheaFactory.eINSTANCE;
 
 		// ***** Model 1 *****
diff --git a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/StructureCheckExample.java b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/StructureCheckExample.java
index 34dc6b6..344cc27 100644
--- a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/StructureCheckExample.java
+++ b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/StructureCheckExample.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018 Robert Bosch GmbH.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/examples/app4mc.example.tool.validation/src/app4mc/example/tool/validation/NewValidationExample.java b/examples/app4mc.example.tool.validation/src/app4mc/example/tool/validation/NewValidationExample.java
index 7f8ff3a..3f5759e 100644
--- a/examples/app4mc.example.tool.validation/src/app4mc/example/tool/validation/NewValidationExample.java
+++ b/examples/app4mc.example.tool.validation/src/app4mc/example/tool/validation/NewValidationExample.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -39,7 +39,7 @@
 
 //@SuppressWarnings("java:S106") // Example code - Use of standard outputs is intended
 public class NewValidationExample {
-	
+
 	public static void main(String[] args) {
 
 		// example: absolute path
@@ -66,12 +66,12 @@
 
 		// ***** Create validation objects *****
 
-		List<Class<? extends IProfile>> profileList = 
+		List<Class<? extends IProfile>> profileList =
 				Arrays.asList(AmaltheaProfile.class, EMFProfile.class);
 
 		ValidationAggregator aggregator = new ValidationAggregator();
 		aggregator.addProfiles(profileList);
-		
+
 		// ***** Create output directories *****
 
 		try {
@@ -89,31 +89,31 @@
 		try (PrintStream infoStream = new PrintStream(new FileOutputStream(infoFile.getAbsoluteFile(), false)))
 		{
 			System.out.println("writing file: " + infoFile.getAbsoluteFile());
-			
+
 			infoStream.println(dateFormat.format(new Date()));
-			
+
 			// ***** Show single profile resolution *****
-			
+
 			infoStream.println("\n\n*** Validation Profiles ***");
-			
+
 			ProfileManager man = new ProfileManager();
-			
+
 			infoStream.println();
 			man.dumpProfile(AmaltheaProfile.class, infoStream);
-			
+
 			infoStream.println();
 			man.dumpProfile(EMFProfile.class, infoStream);
-			
+
 			// ***** Print (complex) profile info *****
-			
+
 			infoStream.println("\n\n*** Validation info ***");
-			
+
 			infoStream.println();
 			infoStream.println("Compact validation map (map1)");
 			infoStream.println("-----------------------------");
 			infoStream.println();
 			aggregator.dumpValidationMap1(infoStream);
-			
+
 			infoStream.println("\n");
 			infoStream.println("Expanded validation map (map2)");
 			infoStream.println("------------------------------");
@@ -138,7 +138,7 @@
 
 			resultStream.println("\nValidation results (" + dateFormat.format(new Date()) + ")");
 			resultStream.println("\nNumber of results: " + results.size() + "\n");
-			
+
 			executor.dumpResultMap(resultStream);
 
 		} catch (IOException e) {
diff --git a/examples/app4mc.example.tool.workflow/src/org/eclipse/app4mc/example/tool/workflow/components/CreateLabelsComponent.java b/examples/app4mc.example.tool.workflow/src/org/eclipse/app4mc/example/tool/workflow/components/CreateLabelsComponent.java
index 1edaab6..77a10d5 100644
--- a/examples/app4mc.example.tool.workflow/src/org/eclipse/app4mc/example/tool/workflow/components/CreateLabelsComponent.java
+++ b/examples/app4mc.example.tool.workflow/src/org/eclipse/app4mc/example/tool/workflow/components/CreateLabelsComponent.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2013 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -52,7 +52,7 @@
 			amaltheaModel.setSwModel(swModel);
 		}
 
-		for (final String labelName : this.labelNames) {
+		for (final String labelName : labelNames) {
 
 			final Label label = AmaltheaFactory.eINSTANCE.createLabel();
 
@@ -64,12 +64,12 @@
 
 		}
 
-		this.log.info("completed execution of CreateLabelsComponent");
+		log.info("completed execution of CreateLabelsComponent");
 
 	}
 
 	public List<String> getLabelNames() {
-		return this.labelNames;
+		return labelNames;
 	}
 
 	public void setLabelNames(final List<String> labelNames) {
@@ -77,7 +77,7 @@
 	}
 
 	public void addLabelName(final String labelName) {
-		this.labelNames.add(labelName);
+		labelNames.add(labelName);
 	}
 
 
diff --git a/examples/app4mc.example.tool.workflow/src/org/eclipse/app4mc/example/tool/workflow/components/LabelsExtractorComponent.java b/examples/app4mc.example.tool.workflow/src/org/eclipse/app4mc/example/tool/workflow/components/LabelsExtractorComponent.java
index 6a4575a..fed835f 100644
--- a/examples/app4mc.example.tool.workflow/src/org/eclipse/app4mc/example/tool/workflow/components/LabelsExtractorComponent.java
+++ b/examples/app4mc.example.tool.workflow/src/org/eclipse/app4mc/example/tool/workflow/components/LabelsExtractorComponent.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2013 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -37,7 +37,7 @@
 
 		assert null != amaltheaModel;
 
-		this.log.info("Starting to extract Labels from the AMALTHEA models...");
+		log.info("Starting to extract Labels from the AMALTHEA models...");
 
 		final SWModel swModel = amaltheaModel.getSwModel();
 
@@ -50,14 +50,14 @@
 
 				final String labelName = label.getName();
 
-				this.log.info(labelName);
+				log.info(labelName);
 			}
 		}
 		else {
-			this.log.warn("Unable to extract Labels as there is Software Model defined in supplied AMALTHEA models ");
+			log.warn("Unable to extract Labels as there is Software Model defined in supplied AMALTHEA models ");
 		}
 
-		this.log.info("completed execution of LabelsExtractorComponent");
+		log.info("completed execution of LabelsExtractorComponent");
 
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/AConverter.java b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/AConverter.java
index 7694f00..c9f44be 100644
--- a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/AConverter.java
+++ b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/AConverter.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -22,7 +22,7 @@
 import org.eclipse.jface.operation.IRunnableWithProgress;
 
 public abstract class AConverter implements IRunnableWithProgress {
-	
+
 	protected final Amalthea model;
 	protected final ATDBConnection con;
 	private final String converionSubject;
@@ -30,12 +30,12 @@
 	protected AConverter(final Amalthea model, final ATDBConnection con, final String conversionSubject) {
 		this.model = model;
 		this.con = con;
-		this.converionSubject = conversionSubject;
+		converionSubject = conversionSubject;
 	}
-	
+
 	@Override
 	public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException {
-		progressMonitor.beginTask("Converting " + this.converionSubject + "...", 1);
+		progressMonitor.beginTask("Converting " + converionSubject + "...", 1);
 		try {
 			execute();
 			progressMonitor.worked(1);
@@ -45,7 +45,7 @@
 			progressMonitor.done();
 		}
 	}
-	
+
 	protected abstract void execute() throws InvocationTargetException, InterruptedException, SQLException;
 
 }
diff --git a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/AmaltheaModelUtil.java b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/AmaltheaModelUtil.java
index 127666b..b2e798d 100644
--- a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/AmaltheaModelUtil.java
+++ b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/AmaltheaModelUtil.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -16,8 +16,8 @@
 import java.util.AbstractMap.SimpleEntry;
 import java.util.Arrays;
 import java.util.List;
-import java.util.Objects;
 import java.util.Map.Entry;
+import java.util.Objects;
 import java.util.Optional;
 import java.util.stream.Stream;
 
@@ -34,12 +34,12 @@
 import org.eclipse.emf.ecore.util.EcoreUtil;
 
 enum AmaltheaModelUtil {;
-	
+
 	static <T extends INamed> T getOrAddNew(final EObject amEObject, final EReference referenceFeature,
 			final String name, final Class<T> clazz) {
 		return getOrAddNew(amEObject, referenceFeature, name, clazz, referenceFeature.getEReferenceType());
 	}
-	
+
 	static <T extends INamed> T getOrAddNew(final EObject amEObject, final EReference referenceFeature,
 			final String name, final Class<T> clazz, final EClass eClazz) {
 		@SuppressWarnings("unchecked")
@@ -69,7 +69,7 @@
 		});
 		return value;
 	}
-	
+
 	static <C extends EObject, T extends INamed> Entry<C, T> getOrAddNewWithContainer(final EObject eObject,
 			final EReference containerFeature, final Class<C> cClazz, final EClass cEClazz,
 			final EReference referenceFeature, final Class<T> rClazz, final EClass rEClazz, final String name) {
@@ -83,7 +83,7 @@
 				? ((List<T>) containerEObject.eGet(referenceFeature)).stream().map(ref -> new SimpleEntry<>(containerEObject, ref))
 				: Stream.of(new SimpleEntry<>(containerEObject, rClazz.cast(containerEObject.eGet(referenceFeature))))
 			));
-		
+
 		final Entry<C, T> value = allValues.filter(p -> rClazz.isInstance(p.getValue()) && p.getValue().getName().equals(name))
 				.findFirst().orElseGet(() -> {
 			T ret;
@@ -121,12 +121,9 @@
 		});
 		return value;
 	}
-	
+
 	static Optional<Enumerator> getEnumLiteralByNameForFeature(final String enumLiteralName, final EStructuralFeature esf) {
-		if (enumLiteralName == null || enumLiteralName.length() == 0) {
-			return Optional.empty();
-		}
-		if (esf == null) {
+		if (enumLiteralName == null || enumLiteralName.length() == 0 || (esf == null)) {
 			return Optional.empty();
 		}
 		return Optional.of(esf).filter(EAttribute.class::isInstance).map(EAttribute.class::cast)
diff --git a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/EventChainConverter.java b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/EventChainConverter.java
index 0650a88..711cb0f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/EventChainConverter.java
+++ b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/EventChainConverter.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -38,30 +38,30 @@
 
 	@Override
 	protected void execute() throws SQLException {
-		final ConstraintsModel constrModel = ModelUtil.getOrCreateConstraintsModel(this.model);
-		
+		final ConstraintsModel constrModel = ModelUtil.getOrCreateConstraintsModel(model);
+
 		final List<EventChain> eventChains = new ArrayList<>();
-		this.con.getAllEventChains().forEach(ecName -> {
+		con.getAllEventChains().forEach(ecName -> {
 			final EventChain eventChain = AmaltheaModelUtil.getOrAddNew(constrModel,
 					AmaltheaPackage.eINSTANCE.getConstraintsModel_EventChains(), ecName, EventChain.class,
 					AmaltheaPackage.eINSTANCE.getEventChain());
 			eventChains.add(eventChain);
 		});
-		
+
 		for(final EventChain eventChain:eventChains) {
-			final String stimulusEventName = this.con.getEventChainStimulus(eventChain.getName());
+			final String stimulusEventName = con.getEventChainStimulus(eventChain.getName());
 			if (stimulusEventName.length() > 0) {
 				AmaltheaModelUtil.getOrAddNew(eventChain, AmaltheaPackage.eINSTANCE.getAbstractEventChain_Stimulus(),
 						stimulusEventName, Event.class);
 			}
-			
-			final String responseEventName = this.con.getEventChainResponse(eventChain.getName());
+
+			final String responseEventName = con.getEventChainResponse(eventChain.getName());
 			if (responseEventName.length() > 0) {
 				AmaltheaModelUtil.getOrAddNew(eventChain, AmaltheaPackage.eINSTANCE.getAbstractEventChain_Response(),
 						responseEventName, Event.class);
 			}
-			
-			final List<String> items = this.con.getEventChainItems(eventChain.getName());
+
+			final List<String> items = con.getEventChainItems(eventChain.getName());
 			for(final String subECName:items) {
 				if (subECName.length() == 0) continue;
 				final boolean isReference = !AmaltheaIndex.getElements(constrModel, subECName, EventChain.class).isEmpty();
@@ -79,8 +79,8 @@
 							AmaltheaPackage.eINSTANCE.getSubEventChain(), subECName);
 				}
 			}
-			
-			final int minItemsComplete = this.con.getEventChainMinItemsCompleted(eventChain.getName());
+
+			final int minItemsComplete = con.getEventChainMinItemsCompleted(eventChain.getName());
 			if (minItemsComplete > 0) {
 				eventChain.setMinItemsCompleted(minItemsComplete);
 				eventChain.setItemType(EventChainItemType.PARALLEL);
diff --git a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/EventConverter.java b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/EventConverter.java
index 53b94d2..04bf951 100644
--- a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/EventConverter.java
+++ b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/EventConverter.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -34,17 +34,17 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 
 public class EventConverter extends AConverter {
-	
+
 	/**
 	 * Same as {@link java.util.function.Supplier}, but may throw exception of type E.
 	 * @param <T>
 	 * @param <E>
 	 */
 	@FunctionalInterface
-	public static interface ThrowingSupplier<T, E extends Exception> {
+	public interface ThrowingSupplier<T, E extends Exception> {
 	    T get() throws E;
 	}
-	
+
 	private final Map<ThrowingSupplier<List<String>, SQLException>, EClass> eventSupplier2EClass;
 	private static final Map<EClass, EReference> eClass2SourceReference = new LinkedHashMap<>();
 	static {
@@ -55,48 +55,48 @@
 
 	public EventConverter(final Amalthea model, final ATDBConnection con) {
 		super(model, con, "events");
-		this.eventSupplier2EClass = new LinkedHashMap<>();
-		this.eventSupplier2EClass.put(this.con::getAllRunnableEvents, AmaltheaPackage.eINSTANCE.getRunnableEvent());
-		this.eventSupplier2EClass.put(this.con::getAllProcessEvents, AmaltheaPackage.eINSTANCE.getProcessEvent());
-		this.eventSupplier2EClass.put(this.con::getAllLabelEvents, AmaltheaPackage.eINSTANCE.getLabelEvent());
-		this.eventSupplier2EClass.put(this.con::getAllStimulusEvents, AmaltheaPackage.eINSTANCE.getStimulusEvent());
+		eventSupplier2EClass = new LinkedHashMap<>();
+		eventSupplier2EClass.put(this.con::getAllRunnableEvents, AmaltheaPackage.eINSTANCE.getRunnableEvent());
+		eventSupplier2EClass.put(this.con::getAllProcessEvents, AmaltheaPackage.eINSTANCE.getProcessEvent());
+		eventSupplier2EClass.put(this.con::getAllLabelEvents, AmaltheaPackage.eINSTANCE.getLabelEvent());
+		eventSupplier2EClass.put(this.con::getAllStimulusEvents, AmaltheaPackage.eINSTANCE.getStimulusEvent());
 	}
-	
+
 	@Override
 	protected void execute() throws SQLException {
-		final EventModel evModel = ModelUtil.getOrCreateEventModel(this.model);
-		
+		final EventModel evModel = ModelUtil.getOrCreateEventModel(model);
+
 		final List<Event> events = new ArrayList<>();
-		for(final Entry<ThrowingSupplier<List<String>, SQLException>, EClass> evSup2ECl: this.eventSupplier2EClass.entrySet()) {
+		for(final Entry<ThrowingSupplier<List<String>, SQLException>, EClass> evSup2ECl: eventSupplier2EClass.entrySet()) {
 			evSup2ECl.getKey().get().forEach(eventName ->
 				events.add(AmaltheaModelUtil.getOrAddNew(evModel,
 						AmaltheaPackage.eINSTANCE.getEventModel_Events(), eventName, Event.class, evSup2ECl.getValue())));
 		}
-		
+
 		for(final Event event: events) {
 			updateEventType(event);
 			updateEntity(event);
 			updateSourceEntity(event);
 		}
 	}
-	
+
 	private void updateEventType(final Event event) throws SQLException {
 		final EStructuralFeature eventTypeESF = event.eClass().getEStructuralFeature("eventType");
-		final String eventType = this.con.getEventTypeForEvent(event.getName());
+		final String eventType = con.getEventTypeForEvent(event.getName());
 		final Optional<Enumerator> eventTypeEnumLiteral = AmaltheaModelUtil.getEnumLiteralByNameForFeature(eventType, eventTypeESF);
 		eventTypeEnumLiteral.ifPresent(eLiteral -> event.eSet(eventTypeESF, eLiteral));
 	}
-	
+
 	private void updateEntity(final Event event) throws SQLException {
 		final EReference eventEntityESF = (EReference)event.eClass().getEStructuralFeature("entity");
-		final String entityName = this.con.getEntityForEvent(event.getName());
+		final String entityName = con.getEntityForEvent(event.getName());
 		AmaltheaModelUtil.getOrAddNew(event, eventEntityESF, entityName, IReferable.class);
 	}
-	
+
 	private void updateSourceEntity(final Event event) throws SQLException {
-		final String sourceEntityName = this.con.getSourceEntityForEvent(event.getName());
+		final String sourceEntityName = con.getSourceEntityForEvent(event.getName());
 		if (sourceEntityName.length() == 0) return;
-		
+
 		if (eClass2SourceReference.containsKey(event.eClass())) {
 			AmaltheaModelUtil.getOrAddNew(event, eClass2SourceReference.get(event.eClass()), sourceEntityName, IReferable.class);
 		}
diff --git a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/HWConverter.java b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/HWConverter.java
index 31e7433..2291366 100644
--- a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/HWConverter.java
+++ b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/HWConverter.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -37,39 +37,39 @@
 
 	@Override
 	protected void execute() throws SQLException {
-		final HWModel hwModel = ModelUtil.getOrCreateHwModel(this.model);
+		final HWModel hwModel = ModelUtil.getOrCreateHwModel(model);
 		final HwStructure system = AmaltheaModelUtil.getOrAddNew(hwModel,
 				AmaltheaPackage.eINSTANCE.getHWModel_Structures(), "System", HwStructure.class);
 		system.setStructureType(StructureType.SYSTEM);
-		
+
 		final List<HwStructure> ecus = new ArrayList<>();
-		this.con.getAllECUs().forEach(ecuName -> {
+		con.getAllECUs().forEach(ecuName -> {
 			final HwStructure ecu = AmaltheaModelUtil.getOrAddNew(system,
 					AmaltheaPackage.eINSTANCE.getHwStructure_Structures(), ecuName, HwStructure.class);
 			ecu.setStructureType(StructureType.ECU);
 			ecus.add(ecu);
 		});
-		
+
 		for(final HwStructure ecu:ecus) {
 			final List<HwStructure> processors = new ArrayList<>();
-			this.con.getProcessorsOfECU(ecu.getName()).forEach(processorName -> {
+			con.getProcessorsOfECU(ecu.getName()).forEach(processorName -> {
 				final HwStructure processor = AmaltheaModelUtil.getOrAddNew(ecu,
 						AmaltheaPackage.eINSTANCE.getHwStructure_Structures(), processorName, HwStructure.class);
 				processor.setStructureType(StructureType.MICROCONTROLLER);
 				processors.add(processor);
 			});
-			
+
 			for(final HwStructure processor:processors) {
 				final List<ProcessingUnit> cores = new ArrayList<>();
-				this.con.getCoresOfProcessor(processor.getName()).forEach(coreName -> {
+				con.getCoresOfProcessor(processor.getName()).forEach(coreName -> {
 					final ProcessingUnit core = AmaltheaModelUtil.getOrAddNew(processor,
 							AmaltheaPackage.eINSTANCE.getHwStructure_Modules(), coreName, ProcessingUnit.class,
 							AmaltheaPackage.eINSTANCE.getProcessingUnit());
 					cores.add(core);
 				});
-				
+
 				for(final ProcessingUnit core:cores) {
-					final long frequencyInHz = this.con.getCoreFrequencyInHz(core.getName());
+					final long frequencyInHz = con.getCoreFrequencyInHz(core.getName());
 					if (frequencyInHz > 0) {
 						try {
 							final FrequencyDomain fd = AmaltheaModelUtil.getOrAddNew(hwModel,
diff --git a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/ImportTransformation.java b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/ImportTransformation.java
index 76aa802..77634e8 100644
--- a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/ImportTransformation.java
+++ b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/ImportTransformation.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Timing-Architects Embedded Systems GmbH - initial API and implementation
  ********************************************************************************
@@ -43,8 +43,8 @@
 
 	public ImportTransformation(final String source, final String target, final boolean extractLabelsAndAccesses,
 			final boolean extractRunnableRuntimes, final boolean overwriteExisting) {
-		this.atdbSource = source;
-		this.amxmiFile = target;
+		atdbSource = source;
+		amxmiFile = target;
 		this.extractLabelsAndAccesses = extractLabelsAndAccesses;
 		this.extractRunnableRuntimes = extractRunnableRuntimes;
 		this.overwriteExisting = overwriteExisting;
@@ -52,14 +52,14 @@
 
 	@Override
 	public void run(final IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException {
-		if (this.atdbSource.isEmpty() || this.amxmiFile.isEmpty()) {
+		if (atdbSource.isEmpty() || amxmiFile.isEmpty()) {
 			return;
 		}
 		final SubMonitor subMon = SubMonitor.convert(progressMonitor, "Creating AMALTHEA model from ATDB...", 8);
 
 		final SubMonitor openATDBMonitor = subMon.split(1);
-		final Path amxmiFilePath = Paths.get(this.amxmiFile);
-		if (this.overwriteExisting) {
+		final Path amxmiFilePath = Paths.get(amxmiFile);
+		if (overwriteExisting) {
 			try {
 				Files.deleteIfExists(amxmiFilePath);
 			} catch (IOException e) {
@@ -67,56 +67,56 @@
 			}
 		}
 		openATDBMonitor.beginTask("Opening ATDB file...", 1);
-		try (final ATDBConnection con = new ATDBConnection(this.atdbSource)) {
+		try (final ATDBConnection con = new ATDBConnection(atdbSource)) {
 			openATDBMonitor.worked(1);
 			final Amalthea model = Files.exists(amxmiFilePath)
-					? AmaltheaLoader.loadFromFileNamed(this.amxmiFile)
+					? AmaltheaLoader.loadFromFileNamed(amxmiFile)
 					: AmaltheaFactory.eINSTANCE.createAmalthea();
 			if (model == null) {
-				throw new InvocationTargetException(new Exception("Could not load amalthea model from file: " + this.amxmiFile + "!"));
+				throw new InvocationTargetException(new Exception("Could not load amalthea model from file: " + amxmiFile + "!"));
 			}
-			
+
 			// hardware
 			final SubMonitor hwConvMonitor = subMon.split(1);
 			final IRunnableWithProgress hwConverter = new HWConverter(model, con);
 			hwConverter.run(hwConvMonitor);
-			
+
 			// labels
-			if (this.extractLabelsAndAccesses) {
+			if (extractLabelsAndAccesses) {
 				final SubMonitor labelConvMonitor = subMon.split(1);
 				final IRunnableWithProgress labelConverter = new LabelConverter(model, con);
 				labelConverter.run(labelConvMonitor);
 			}
-			
+
 			// runnables
 			final SubMonitor runConvMonitor = subMon.split(1);
 			final double freqInHz = HardwareUtil.getModulesFromHwModel(ProcessingUnit.class, model).stream()
 					.mapToLong(HardwareUtil::getFrequencyOfModuleInHz).average().orElse(0);
 			final IRunnableWithProgress runnableConverter = new RunnableConverter(model, con,
-					this.extractRunnableRuntimes, this.extractLabelsAndAccesses, freqInHz);
+					extractRunnableRuntimes, extractLabelsAndAccesses, freqInHz);
 			runnableConverter.run(runConvMonitor);
-			
+
 			// stimuli
 			final SubMonitor stimConvMonitor = subMon.split(1);
 			final IRunnableWithProgress stimulusConverter = new StimulusConverter(model, con);
 			stimulusConverter.run(stimConvMonitor);
-			
+
 			// processes
 			final SubMonitor procConvMonitor = subMon.split(1);
 			final IRunnableWithProgress processConverter = new ProcessConverter(model, con);
 			processConverter.run(procConvMonitor);
-			
+
 			// events
 			final SubMonitor evConvMonitor = subMon.split(1);
 			final IRunnableWithProgress eventConverter = new EventConverter(model, con);
 			eventConverter.run(evConvMonitor);
-			
+
 			// event chains
 			final SubMonitor ecConvMonitor = subMon.split(1);
 			final IRunnableWithProgress eventChainConverter = new EventChainConverter(model, con);
 			eventChainConverter.run(ecConvMonitor);
-			
-			AmaltheaWriter.writeToFileNamed(model, this.amxmiFile);
+
+			AmaltheaWriter.writeToFileNamed(model, amxmiFile);
 		} catch (SQLException e) {
 			throw new InvocationTargetException(e);
 		} finally {
diff --git a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/LabelConverter.java b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/LabelConverter.java
index 60ecd3f..d7e9119 100644
--- a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/LabelConverter.java
+++ b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/LabelConverter.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -34,16 +34,16 @@
 
 	@Override
 	protected void execute() throws SQLException {
-		final SWModel swModel = ModelUtil.getOrCreateSwModel(this.model);
-		
+		final SWModel swModel = ModelUtil.getOrCreateSwModel(model);
+
 		final List<Label> labels = new ArrayList<>();
-		this.con.getAllLabels().forEach(labelName -> {
+		con.getAllLabels().forEach(labelName -> {
 			final Label label = AmaltheaModelUtil.getOrAddNew(swModel,
 					AmaltheaPackage.eINSTANCE.getSWModel_Labels(), labelName, Label.class);
 			labels.add(label);
 		});
 		for(final Label label:labels) {
-			final String initialValue = this.con.getLabelInitialValue(label.getName());
+			final String initialValue = con.getLabelInitialValue(label.getName());
 			if (initialValue.length() > 0) {
 				CustomPropertyUtil.customPut(label, EntityProperty.INITIAL_VALUE.camelName, initialValue);
 			}
diff --git a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/ProcessConverter.java b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/ProcessConverter.java
index c7ce348..4504609 100644
--- a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/ProcessConverter.java
+++ b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/ProcessConverter.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -38,26 +38,26 @@
 
 	@Override
 	protected void execute() throws SQLException {
-		final SWModel swModel = ModelUtil.getOrCreateSwModel(this.model);
-		
+		final SWModel swModel = ModelUtil.getOrCreateSwModel(model);
+
 		final List<Process> processes = new ArrayList<>();
-		this.con.getAllTasks().forEach(taskName -> processes.add(AmaltheaModelUtil.getOrAddNew(swModel, AmaltheaPackage.eINSTANCE.getSWModel_Tasks(),
+		con.getAllTasks().forEach(taskName -> processes.add(AmaltheaModelUtil.getOrAddNew(swModel, AmaltheaPackage.eINSTANCE.getSWModel_Tasks(),
 				taskName, Task.class)));
-		this.con.getAllISRs().forEach(isrName -> processes.add(AmaltheaModelUtil.getOrAddNew(swModel, AmaltheaPackage.eINSTANCE.getSWModel_Isrs(),
+		con.getAllISRs().forEach(isrName -> processes.add(AmaltheaModelUtil.getOrAddNew(swModel, AmaltheaPackage.eINSTANCE.getSWModel_Isrs(),
 				isrName, ISR.class)));
-		
+
 		for(final Process proc:processes) {
 			// fill activity graph
 			final ActivityGraph ag = ModelUtil.getOrCreateActivityGraph(proc);
-			this.con.getRunnablesOfProcess(proc.getName()).forEach(runnableName -> 
+			con.getRunnablesOfProcess(proc.getName()).forEach(runnableName ->
 				AmaltheaModelUtil.getOrAddNewWithContainer(ag,
 						AmaltheaPackage.eINSTANCE.getIActivityGraphItemContainer_Items(), RunnableCall.class,
 						AmaltheaPackage.eINSTANCE.getRunnableCall(),
 						AmaltheaPackage.eINSTANCE.getRunnableCall_Runnable(), Runnable.class,
 						AmaltheaPackage.eINSTANCE.getRunnable(), runnableName).getKey());
-			
+
 			// connect stimuli
-			this.con.getStimuliOfProcess(proc.getName()).forEach(stimulusName ->
+			con.getStimuliOfProcess(proc.getName()).forEach(stimulusName ->
 				AmaltheaModelUtil.getOrAddNew(proc, AmaltheaPackage.eINSTANCE.getProcess_Stimuli(), stimulusName, Stimulus.class));
 		}
 	}
diff --git a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/RunnableConverter.java b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/RunnableConverter.java
index 0065a84..78066bf 100644
--- a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/RunnableConverter.java
+++ b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/RunnableConverter.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -40,9 +40,9 @@
 import org.eclipse.emf.ecore.util.EcoreUtil;
 
 public class RunnableConverter extends AConverter {
-	
+
 	private static final String rt = "runningTime_";
-	
+
 	private final boolean extractRuntimes;
 	private final boolean extractLabelAccesses;
 	private final Frequency frequency;
@@ -52,27 +52,27 @@
 		super(model, con, "runnables");
 		this.extractRuntimes = extractRuntimes;
 		this.extractLabelAccesses = extractLabelAccesses;
-		this.frequency = FactoryUtil.createFrequency(frequencyInHz, FrequencyUnit.HZ);
+		frequency = FactoryUtil.createFrequency(frequencyInHz, FrequencyUnit.HZ);
 	}
 
 	@Override
 	protected void execute() throws SQLException {
-		final SWModel swModel = ModelUtil.getOrCreateSwModel(this.model);
-		final TimeUnit timeBase = TimeUnit.getByName(this.con.getTimeBase().toLowerCase());
-				
+		final SWModel swModel = ModelUtil.getOrCreateSwModel(model);
+		final TimeUnit timeBase = TimeUnit.getByName(con.getTimeBase().toLowerCase());
+
 		final List<Runnable> runnables = new ArrayList<>();
-		this.con.getAllRunnables().forEach(runnableName -> {
+		con.getAllRunnables().forEach(runnableName -> {
 			final Runnable runnable = AmaltheaModelUtil.getOrAddNew(swModel,
 					AmaltheaPackage.eINSTANCE.getSWModel_Runnables(), runnableName, Runnable.class);
 			runnables.add(runnable);
 		});
-		
+
 
 		for(final Runnable runnable:runnables) {
 			final ActivityGraph ag = ModelUtil.getOrCreateActivityGraph(runnable);
 			// label reads
-			if (this.extractLabelAccesses) {
-				this.con.getLabelsReadByRunnable(runnable.getName()).forEach(labelName -> {
+			if (extractLabelAccesses) {
+				con.getLabelsReadByRunnable(runnable.getName()).forEach(labelName -> {
 					final LabelAccess la = AmaltheaModelUtil.getOrAddNewWithContainer(ag,
 							AmaltheaPackage.eINSTANCE.getIActivityGraphItemContainer_Items(), LabelAccess.class,
 							AmaltheaPackage.eINSTANCE.getLabelAccess(),
@@ -82,34 +82,34 @@
 				});
 			}
 			// runtimes
-			if (this.extractRuntimes && timeBase != null && this.frequency.getValue() >= 1) {
+			if (extractRuntimes && timeBase != null && frequency.getValue() >= 1) {
 				double runningTimeAvg = -1;
 				double runningTimeStDev = -1;
 				try {
-					runningTimeAvg = Double.parseDouble(this.con.getValueForMetricAndEntity(runnable.getName(), rt + MetricAggregation.Avg));
-					runningTimeStDev = Double.parseDouble(this.con.getValueForMetricAndEntity(runnable.getName(), rt + MetricAggregation.StDev));
+					runningTimeAvg = Double.parseDouble(con.getValueForMetricAndEntity(runnable.getName(), rt + MetricAggregation.Avg));
+					runningTimeStDev = Double.parseDouble(con.getValueForMetricAndEntity(runnable.getName(), rt + MetricAggregation.StDev));
 				} catch (NumberFormatException e) {
 					// fail silently
 				}
 				try {
-					final long runningTimeMin = Long.parseLong(this.con.getValueForMetricAndEntity(runnable.getName(), rt + MetricAggregation.Min));
-					final long runningTimeMax = Long.parseLong(this.con.getValueForMetricAndEntity(runnable.getName(), rt + MetricAggregation.Max));
+					final long runningTimeMin = Long.parseLong(con.getValueForMetricAndEntity(runnable.getName(), rt + MetricAggregation.Min));
+					final long runningTimeMax = Long.parseLong(con.getValueForMetricAndEntity(runnable.getName(), rt + MetricAggregation.Max));
 					final Ticks ticks = AmaltheaFactory.eINSTANCE.createTicks();
 					IDiscreteValueDeviation dvd;
 					if (runningTimeMin == runningTimeMax) {
 						final long constTicks = (long)RuntimeUtil.getTicksForExecutionTimeInSeconds(
-								AmaltheaServices.convertToSeconds(runningTimeMin, timeBase), this.frequency);
+								AmaltheaServices.convertToSeconds(runningTimeMin, timeBase), frequency);
 						dvd = FactoryUtil.createDiscreteValueConstant(constTicks);
 					} else {
 						final long ticksMin = (long)RuntimeUtil.getTicksForExecutionTimeInSeconds(
-								AmaltheaServices.convertToSeconds(runningTimeMin, timeBase), this.frequency);
+								AmaltheaServices.convertToSeconds(runningTimeMin, timeBase), frequency);
 						final long ticksMax = (long)RuntimeUtil.getTicksForExecutionTimeInSeconds(
-								AmaltheaServices.convertToSeconds(runningTimeMax, timeBase), this.frequency);
+								AmaltheaServices.convertToSeconds(runningTimeMax, timeBase), frequency);
 						if (runningTimeAvg >= 0 && runningTimeStDev >= 0) {
 							final double ticksAvg = RuntimeUtil.getTicksForExecutionTimeInSeconds(
-									AmaltheaServices.convertToSeconds(runningTimeAvg, timeBase), this.frequency);
+									AmaltheaServices.convertToSeconds(runningTimeAvg, timeBase), frequency);
 							final double ticksStDev = RuntimeUtil.getTicksForExecutionTimeInSeconds(
-									AmaltheaServices.convertToSeconds(runningTimeStDev, timeBase), this.frequency);
+									AmaltheaServices.convertToSeconds(runningTimeStDev, timeBase), frequency);
 							dvd = FactoryUtil.createDiscreteValueGaussDistribution(ticksAvg, ticksStDev, ticksMin, ticksMax);
 						} else {
 							dvd = FactoryUtil.createDiscreteValueBoundaries(ticksMin, ticksMax);
@@ -123,8 +123,8 @@
 				}
 			}
 			// label writes
-			if (this.extractLabelAccesses) {
-				this.con.getLabelsWrittenByRunnable(runnable.getName()).forEach(labelName -> {
+			if (extractLabelAccesses) {
+				con.getLabelsWrittenByRunnable(runnable.getName()).forEach(labelName -> {
 					final LabelAccess la = AmaltheaModelUtil.getOrAddNewWithContainer(ag,
 							AmaltheaPackage.eINSTANCE.getIActivityGraphItemContainer_Items(), LabelAccess.class,
 							AmaltheaPackage.eINSTANCE.getLabelAccess(),
diff --git a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/StimulusConverter.java b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/StimulusConverter.java
index 94b474f..690fbdf 100644
--- a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/StimulusConverter.java
+++ b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/StimulusConverter.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -31,7 +31,7 @@
 import org.eclipse.app4mc.atdb.MetricAggregation;
 
 public class StimulusConverter extends AConverter {
-	
+
 	private static final String a2a = "activateToActivate_";
 
 	public StimulusConverter(final Amalthea model, final ATDBConnection con) {
@@ -40,15 +40,15 @@
 
 	@Override
 	protected void execute() throws SQLException {
-		final StimuliModel stimuliModel = ModelUtil.getOrCreateStimuliModel(this.model);
-		final TimeUnit timeBase = TimeUnit.getByName(this.con.getTimeBase().toLowerCase());
-		
+		final StimuliModel stimuliModel = ModelUtil.getOrCreateStimuliModel(model);
+		final TimeUnit timeBase = TimeUnit.getByName(con.getTimeBase().toLowerCase());
+
 		final List<PeriodicStimulus> stimuli = new ArrayList<>();
-		for(final String stimulusName:this.con.getAllStimuli()) {
-			if (this.con.getAllInstancesForEntity(stimulusName).size() == 1) {
+		for(final String stimulusName:con.getAllStimuli()) {
+			if (con.getAllInstancesForEntity(stimulusName).size() == 1) {
 				// only one instance => single stimulus
 				try {
-					final long occurrence = Long.parseLong(this.con.getValueForMetricAndEntity(stimulusName, a2a + MetricAggregation.Min));
+					final long occurrence = Long.parseLong(con.getValueForMetricAndEntity(stimulusName, a2a + MetricAggregation.Min));
 					final SingleStimulus singStimme = AmaltheaModelUtil.getOrAddNew(stimuliModel,
 							AmaltheaPackage.eINSTANCE.getStimuliModel_Stimuli(), stimulusName, SingleStimulus.class,
 							AmaltheaPackage.eINSTANCE.getSingleStimulus());
@@ -65,25 +65,25 @@
 				stimuli.add(stimulus);
 			}
 		}
-		
+
 		for(final PeriodicStimulus stimulus:stimuli) {
 			double periodAvg = -1;
 			double periodStDev = -1;
 			try {
-				periodAvg = Double.parseDouble(this.con.getValueForMetricAndEntity(stimulus.getName(), a2a + MetricAggregation.Avg));
-				periodStDev = Double.parseDouble(this.con.getValueForMetricAndEntity(stimulus.getName(), a2a + MetricAggregation.StDev));
+				periodAvg = Double.parseDouble(con.getValueForMetricAndEntity(stimulus.getName(), a2a + MetricAggregation.Avg));
+				periodStDev = Double.parseDouble(con.getValueForMetricAndEntity(stimulus.getName(), a2a + MetricAggregation.StDev));
 			} catch (NumberFormatException e) {
 				// fail silently
 			}
 			try {
-				final long periodMin = Long.parseLong(this.con.getValueForMetricAndEntity(stimulus.getName(), a2a + MetricAggregation.Min));
-				final long periodMax = Long.parseLong(this.con.getValueForMetricAndEntity(stimulus.getName(), a2a + MetricAggregation.Max));
+				final long periodMin = Long.parseLong(con.getValueForMetricAndEntity(stimulus.getName(), a2a + MetricAggregation.Min));
+				final long periodMax = Long.parseLong(con.getValueForMetricAndEntity(stimulus.getName(), a2a + MetricAggregation.Max));
 				if (periodMin == periodMax) {
 					final Time recurrence = FactoryUtil.createTime(periodMin, timeBase).adjustUnit();
 					stimulus.setRecurrence(recurrence);
 				} else {
 					if (periodAvg <= -1) {
-						periodAvg = (double)(periodMin + periodMax) / 2d;
+						periodAvg = (periodMin + periodMax) / 2d;
 					}
 					final Time avgRecurrence = FactoryUtil.createTime(periodAvg, timeBase).adjustUnit();
 					stimulus.setRecurrence(avgRecurrence);
diff --git a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/handler/ATDB2AMXMIImport.java b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/handler/ATDB2AMXMIImport.java
index 579a711..8adad8f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/handler/ATDB2AMXMIImport.java
+++ b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/handler/ATDB2AMXMIImport.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -43,14 +43,11 @@
 							.map(c -> c.getProject().getFile(name + ".amxmi"))
 							.findFirst().orElseThrow(() -> new IllegalArgumentException("Selected *.atdb file is not part of a Eclipse workspace!"));
 				});
-		if (atdbSource.length() == 0) {
+		if ((atdbSource.length() == 0) || (runnableContext == null)) {
 			return;
 		}
-		if (runnableContext == null) {
-			return;
-		}
-		
+
 		ImportWizard.importAndOpenInIDE(atdbSource, amxmiTarget, true, true, true, runnableContext);
 	}
-	
+
 }
diff --git a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/handler/ATDBAndOptionalAMXMIExpression.java b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/handler/ATDBAndOptionalAMXMIExpression.java
index 31890bf..ec34361 100644
--- a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/handler/ATDBAndOptionalAMXMIExpression.java
+++ b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/handler/ATDBAndOptionalAMXMIExpression.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -26,7 +26,7 @@
 import org.eclipse.jface.viewers.IStructuredSelection;
 
 public class ATDBAndOptionalAMXMIExpression {
-	
+
 	@Evaluate
 	public boolean evaluate(@Optional @Named(IServiceConstants.ACTIVE_SELECTION) IStructuredSelection selection) {
 		if (selection != null && selection.size() >= 1 && selection.size() <= 2) {
diff --git a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/wizard/ImportPage.java b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/wizard/ImportPage.java
index d6bf39e..f9efb94 100644
--- a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/wizard/ImportPage.java
+++ b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/wizard/ImportPage.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Timing-Architects Embedded Systems GmbH - initial API and implementation
  ********************************************************************************
@@ -70,11 +70,11 @@
 		groupLabel.setFont(parent.getFont());
 
 		// source name entry field
-		this.sourceNameField = new Text(sourceContainerGroup, SWT.READ_ONLY | SWT.BORDER);
+		sourceNameField = new Text(sourceContainerGroup, SWT.READ_ONLY | SWT.BORDER);
 		final GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
 		data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-		this.sourceNameField.setLayoutData(data);
-		this.sourceNameField.setFont(parent.getFont());
+		sourceNameField.setLayoutData(data);
+		sourceNameField.setFont(parent.getFont());
 
 		// source browse button
 		final Button sourceBrowseButton = new Button(sourceContainerGroup, SWT.PUSH);
@@ -89,27 +89,27 @@
 		sourceBrowseButton.setFont(parent.getFont());
 		setButtonLayoutData(sourceBrowseButton);
 	}
-	
+
 	@Override
 	protected void createDestinationGroup(Composite parent) {
 		super.createDestinationGroup(parent);
 	}
-	
+
 	@Override
 	protected void createOptionsGroupButtons(Group optionsGroup) {
-		this.extractLabelsAndAccesses = new Button(optionsGroup, SWT.CHECK);
-		this.extractLabelsAndAccesses.setFont(optionsGroup.getFont());
-		this.extractLabelsAndAccesses.setText(Messages.ImportPage_optionExtractLabelsAndAccesses);
-		this.extractLabelsAndAccesses.setSelection(true);
-		
-		this.extractRunnableRuntimes = new Button(optionsGroup, SWT.CHECK);
-		this.extractRunnableRuntimes.setFont(optionsGroup.getFont());
-		this.extractRunnableRuntimes.setText(Messages.ImportPage_optionExtractRunableRuntimes);
-		this.extractRunnableRuntimes.setSelection(true);
-		
-		this.handleExistingGroup = new Composite(optionsGroup, SWT.NONE);
-		this.handleExistingGroup.setLayout(new RowLayout(SWT.HORIZONTAL));
-		final Button updateExisting = new Button(this.handleExistingGroup, SWT.RADIO);
+		extractLabelsAndAccesses = new Button(optionsGroup, SWT.CHECK);
+		extractLabelsAndAccesses.setFont(optionsGroup.getFont());
+		extractLabelsAndAccesses.setText(Messages.ImportPage_optionExtractLabelsAndAccesses);
+		extractLabelsAndAccesses.setSelection(true);
+
+		extractRunnableRuntimes = new Button(optionsGroup, SWT.CHECK);
+		extractRunnableRuntimes.setFont(optionsGroup.getFont());
+		extractRunnableRuntimes.setText(Messages.ImportPage_optionExtractRunableRuntimes);
+		extractRunnableRuntimes.setSelection(true);
+
+		handleExistingGroup = new Composite(optionsGroup, SWT.NONE);
+		handleExistingGroup.setLayout(new RowLayout(SWT.HORIZONTAL));
+		final Button updateExisting = new Button(handleExistingGroup, SWT.RADIO);
 		updateExisting.setFont(optionsGroup.getFont());
 		updateExisting.setText("Update existing");
 		updateExisting.setSelection(true);
@@ -118,11 +118,11 @@
 			public void widgetSelected(SelectionEvent e) {
 				final Button source = (Button) e.getSource();
 				if (source.getSelection()) {
-					ImportPage.this.overwriteExisting = false;
+					overwriteExisting = false;
 				}
 			}
 		});
-		final Button overwriteExisting = new Button(this.handleExistingGroup, SWT.RADIO);
+		final Button overwriteExisting = new Button(handleExistingGroup, SWT.RADIO);
 		overwriteExisting.setFont(optionsGroup.getFont());
 		overwriteExisting.setText("Overwrite existing");
 		overwriteExisting.addSelectionListener(new SelectionAdapter() {
@@ -134,7 +134,7 @@
 				}
 			}
 		});
-		this.handleExistingGroup.setVisible(false);
+		handleExistingGroup.setVisible(false);
 	}
 
 	@Override
@@ -151,7 +151,7 @@
 	protected boolean determinePageCompletion() {
 		boolean result = super.determinePageCompletion();
 
-		final String path = this.sourceNameField.getText();
+		final String path = sourceNameField.getText();
 		final File file = new File(path);
 		result &= file.exists();
 
@@ -164,28 +164,28 @@
 		fileDialog.setFilterExtensions(new String[] { "*.atdb" }); //$NON-NLS-1$
 		final String open = fileDialog.open();
 		if (open != null) {
-			this.sourceNameField.setText(open);
+			sourceNameField.setText(open);
 			updateWidgetEnablements();
 		}
 	}
-	
+
 	@Override
 	protected void updateWidgetEnablements() {
-		if (this.handleExistingGroup != null) {
+		if (handleExistingGroup != null) {
 			final IFile target = getAMXMITarget();
 			if (target != null && target.exists()) {
-				this.handleExistingGroup.setVisible(true);
+				handleExistingGroup.setVisible(true);
 			} else {
-				this.handleExistingGroup.setVisible(false);
+				handleExistingGroup.setVisible(false);
 			}
 		}
 		super.updateWidgetEnablements();
 	}
 
 	String getATDBSource() {
-		return this.sourceNameField.getText();
+		return sourceNameField.getText();
 	}
-	
+
 	IFile getAMXMITarget() {
 		final String source = getATDBSource();
 		final IContainer target = getTargetContainer();
@@ -202,17 +202,17 @@
 	IContainer getTargetContainer() {
 		return getSpecifiedContainer();
 	}
-	
+
 	boolean isExtractLabelsAndAccesses() {
-		return this.extractLabelsAndAccesses == null || this.extractLabelsAndAccesses.getSelection();
+		return extractLabelsAndAccesses == null || extractLabelsAndAccesses.getSelection();
 	}
-	
+
 	boolean isExtractRunnableRuntimes() {
-		return this.extractRunnableRuntimes == null || this.extractRunnableRuntimes.getSelection();
+		return extractRunnableRuntimes == null || extractRunnableRuntimes.getSelection();
 	}
-	
+
 	boolean isOverwriteExisting() {
-		return this.overwriteExisting;
+		return overwriteExisting;
 	}
 
 }
diff --git a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/wizard/ImportWizard.java b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/wizard/ImportWizard.java
index 5351c92..6f32568 100644
--- a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/wizard/ImportWizard.java
+++ b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/wizard/ImportWizard.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Timing-Architects Embedded Systems GmbH - initial API and implementation
  ********************************************************************************
@@ -23,6 +23,7 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.operation.IRunnableContext;
@@ -47,8 +48,8 @@
 	@Override
 	public void addPages() {
 		super.addPages();
-		this.mainPage = new ImportPage(this.selection);
-		addPage(this.mainPage);
+		mainPage = new ImportPage(selection);
+		addPage(mainPage);
 	}
 
 	@Override
@@ -66,14 +67,14 @@
 
 	@Override
 	public boolean performFinish() {
-		final String atdbSource = this.mainPage.getATDBSource();
-		final IFile amxmiTarget = this.mainPage.getAMXMITarget();
-		final boolean extractLabelsAndAccesses = this.mainPage.isExtractLabelsAndAccesses();
-		final boolean extractRunnableRuntimes = this.mainPage.isExtractRunnableRuntimes();
-		final boolean overwriteExisting = this.mainPage.isOverwriteExisting();
+		final String atdbSource = mainPage.getATDBSource();
+		final IFile amxmiTarget = mainPage.getAMXMITarget();
+		final boolean extractLabelsAndAccesses = mainPage.isExtractLabelsAndAccesses();
+		final boolean extractRunnableRuntimes = mainPage.isExtractRunnableRuntimes();
+		final boolean overwriteExisting = mainPage.isOverwriteExisting();
 		return importAndOpenInIDE(atdbSource, amxmiTarget, extractLabelsAndAccesses, extractRunnableRuntimes, overwriteExisting, getContainer());
 	}
-	
+
 	public static boolean importAndOpenInIDE(final String atdbSource, final IFile amxmiTarget,
 			final boolean extractLabelsAndAccesses,	final boolean extractRunnableRuntimes, final boolean overwriteExisting,
 			final IRunnableContext runnableContext) {
@@ -90,11 +91,11 @@
 				progressMonitor.done();
 			}
 		};
-		
+
 		try {
 			runnableContext.run(true, true, operation);
 		} catch (InvocationTargetException e1) {
-			Platform.getLog(ATDB2AMXMIImport.class).log(new Status(Status.ERROR,
+			Platform.getLog(ATDB2AMXMIImport.class).log(new Status(IStatus.ERROR,
 					FrameworkUtil.getBundle(ATDB2AMXMIImport.class).getSymbolicName(), e1.getLocalizedMessage(), e1));
 			return false;
 		} catch (InterruptedException e2) {
@@ -108,7 +109,7 @@
 			IDE.openEditor(page, amxmiTarget);
 		}
 		catch (final PartInitException e) {
-			Platform.getLog(ATDB2AMXMIImport.class).log(new Status(Status.ERROR,
+			Platform.getLog(ATDB2AMXMIImport.class).log(new Status(IStatus.ERROR,
 					FrameworkUtil.getBundle(ATDB2AMXMIImport.class).getSymbolicName(), e.getLocalizedMessage(), e));
 			return false;
 		}
diff --git a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/wizard/Messages.java b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/wizard/Messages.java
index f699037..61dceb3 100644
--- a/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/wizard/Messages.java
+++ b/plugins/org.eclipse.app4mc.amalthea.import.atdb/src/org/eclipse/app4mc/amalthea/_import/atdb/wizard/Messages.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedCommonElementsIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedCommonElementsIP.java
index e48b8a4..71fe57e 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedCommonElementsIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedCommonElementsIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  ********************************************************************************
  */
@@ -92,7 +92,7 @@
 
 	@Override
 	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		
+
 		for (EStructuralFeature feature : super.getChildrenFeatures(object)) {
 			if (isValidValue(object, child, feature)) {
 				return feature;
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedComponentsModelIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedComponentsModelIP.java
index da7389b..5f53bb1 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedComponentsModelIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedComponentsModelIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  ********************************************************************************
  */
@@ -82,7 +82,7 @@
 
 	@Override
 	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		
+
 		for (EStructuralFeature feature : super.getChildrenFeatures(object)) {
 			if (isValidValue(object, child, feature)) {
 				return feature;
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedHWModelIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedHWModelIP.java
index 2d7259e..7d630f7 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedHWModelIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedHWModelIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  ********************************************************************************
  */
@@ -82,7 +82,7 @@
 
 	@Override
 	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		
+
 		for (EStructuralFeature feature : super.getChildrenFeatures(object)) {
 			if (isValidValue(object, child, feature)) {
 				return feature;
@@ -106,7 +106,7 @@
 	public Collection<?> getChildren(final Object object) {
 		final List<Object> children = new ArrayList<>(super.getChildren(object));
 		final HWModel hwModel = (HWModel) object;
-		
+
 		// only display virtual folders if not empty (on top of the list)
 		if (!hwModel.getFeatureCategories().isEmpty())
 			children.add(0, getHwFeaturesContainerIP(hwModel));
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedOSModelIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedOSModelIP.java
index 29064b7..24a9c5e 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedOSModelIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedOSModelIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  ********************************************************************************
  */
@@ -75,7 +75,7 @@
 
 	@Override
 	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		
+
 		for (EStructuralFeature feature : super.getChildrenFeatures(object)) {
 			if (isValidValue(object, child, feature)) {
 				return feature;
@@ -99,7 +99,7 @@
 	public Collection<?> getChildren(final Object object) {
 		final List<Object> children = new ArrayList<>(super.getChildren(object));
 		final OSModel osModel = (OSModel) object;
-		
+
 		// only display virtual folders if not empty (on top of the list)
 		if (!osModel.getSemaphores().isEmpty())
 			children.add(0, getOsSemaphoresContainerIP(osModel));
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedSWModelIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedSWModelIP.java
index fb2f25e..7585f30 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedSWModelIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/ExtendedSWModelIP.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     itemis AG, Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -171,7 +171,7 @@
 		}
 		return this.activationsCIP;
 	}
-	
+
 	public TypeDefinitionsContainerIP getTypeDefinitionsContainerIP(final SWModel swModel) {
 		if (this.typesCIP == null) {
 			this.typesCIP = new TypeDefinitionsContainerIP(this.adapterFactory, swModel);
@@ -195,7 +195,7 @@
 
 	@Override
 	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		
+
 		for (EStructuralFeature feature : super.getChildrenFeatures(object)) {
 			if (isValidValue(object, child, feature)) {
 				return feature;
@@ -219,7 +219,7 @@
 	public Collection<?> getChildren(final Object object) {
 		final List<Object> children = new ArrayList<>(super.getChildren(object));
 		final SWModel swModel = (SWModel) object;
-		
+
 		// only display virtual folders if not empty
 		if (!swModel.getRunnables().isEmpty())
 			children.add(getRunnablesContainerIP(swModel));
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/CoreClassifiersContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/CoreClassifiersContainerIP.java
index 58b5d64..8e2302f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/CoreClassifiersContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/CoreClassifiersContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Core Classifiers ("); //$NON-NLS-1$
 		buffer.append(((CommonElements) getTarget()).getCoreClassifiers().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/MemoryClassifiersContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/MemoryClassifiersContainerIP.java
index aa47fa9..6e46318 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/MemoryClassifiersContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/MemoryClassifiersContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Memory Classifiers ("); //$NON-NLS-1$
 		buffer.append(((CommonElements) getTarget()).getMemoryClassifiers().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/NamespacesContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/NamespacesContainerIP.java
index 7693c06..0b36ca2 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/NamespacesContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/NamespacesContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/TagsContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/TagsContainerIP.java
index a055082..63d4de6 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/TagsContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/container/TagsContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Tags ("); //$NON-NLS-1$
 		buffer.append(((CommonElements) getTarget()).getTags().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedCoreClassifierIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedCoreClassifierIP.java
index 5187d8b..8e90599 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedCoreClassifierIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedCoreClassifierIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedMemoryClassifierIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedMemoryClassifierIP.java
index 0171d0a..1ecf741 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedMemoryClassifierIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedMemoryClassifierIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedNamespaceIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedNamespaceIP.java
index 9d72260..1f004b1 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedNamespaceIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedNamespaceIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -30,13 +30,13 @@
 	@Override
 	public Object getParent(final Object object) {
 		final Object parent = super.getParent(object);
-		
+
 		if (parent instanceof CommonElements) {
 			final ExtendedCommonElementsIP parentItemProvider = (ExtendedCommonElementsIP) this.adapterFactory
 					.adapt(parent, ITreeItemContentProvider.class);
 			return parentItemProvider != null ? parentItemProvider.getNamespacesContainerIP((CommonElements) parent) : null;
 		}
-		
+
 		return parent;
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedTagIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedTagIP.java
index 20c753c..f525d9f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedTagIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/common/extended/ExtendedTagIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompConnectorContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompConnectorContainerIP.java
index 9c15653..b9bff3a 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompConnectorContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompConnectorContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompDefinitionContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompDefinitionContainerIP.java
index 72e8c09..230812c 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompDefinitionContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompDefinitionContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompInstanceContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompInstanceContainerIP.java
index 98412b5..30c7a5c 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompInstanceContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompInstanceContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  ********************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompInterfaceContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompInterfaceContainerIP.java
index a6b2354..1c3d616 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompInterfaceContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompInterfaceContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompStructureContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompStructureContainerIP.java
index 9038517..352d981 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompStructureContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/container/CompStructureContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedComponentIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedComponentIP.java
index 0400334..6478b1e 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedComponentIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedComponentIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedComponentInstanceIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedComponentInstanceIP.java
index 1b209eb..db049b6 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedComponentInstanceIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedComponentInstanceIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedComponentStructureIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedComponentStructureIP.java
index f1cf045..6509ffd 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedComponentStructureIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedComponentStructureIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedCompositeIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedCompositeIP.java
index ef3e40d..f4ee0ba 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedCompositeIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedCompositeIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -65,7 +65,7 @@
 
 	@Override
 	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		
+
 		for (EStructuralFeature feature : super.getChildrenFeatures(object)) {
 			if (isValidValue(object, child, feature)) {
 				return feature;
@@ -90,7 +90,7 @@
 	public Collection<?> getChildren(final Object object) {
 		final List<Object> children = new ArrayList<>(super.getChildren(object));
 		Composite composite = (Composite) object;
-		
+
 		// only display virtual folders if not empty (on top of the list)
 		if (!composite.getComponentInstances().isEmpty())
 			children.add(0, getCompInstanceContainerIP(composite));
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedConnectorIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedConnectorIP.java
index a16c5af..1fcd75b 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedConnectorIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedConnectorIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedMainInterfaceIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedMainInterfaceIP.java
index 8bc5aeb..9d5910b 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedMainInterfaceIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedMainInterfaceIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedSystemIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedSystemIP.java
index 4fdcdef..1a9a47a 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedSystemIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/comp/extended/ExtendedSystemIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -61,7 +61,7 @@
 
 	@Override
 	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		
+
 		for (EStructuralFeature feature : super.getChildrenFeatures(object)) {
 			if (isValidValue(object, child, feature)) {
 				return feature;
@@ -86,7 +86,7 @@
 	public Collection<?> getChildren(final Object object) {
 		final List<Object> children = new ArrayList<>(super.getChildren(object));
 		ISystem composite = (ISystem) object;
-		
+
 		// only display virtual folders if not empty (on top of the list)
 		if (!composite.getComponentInstances().isEmpty())
 			children.add(0, getCompInstanceContainerIP(composite));
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwConnectionContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwConnectionContainerIP.java
index 6d46f7c..d6792bd 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwConnectionContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwConnectionContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwDefinitionContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwDefinitionContainerIP.java
index 860e973..f2ee6e6 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwDefinitionContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwDefinitionContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwDomainContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwDomainContainerIP.java
index d9f4cb3..3c5f7d9 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwDomainContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwDomainContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Domains ("); //$NON-NLS-1$
 		buffer.append(((HWModel) getTarget()).getDomains().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwFeatureContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwFeatureContainerIP.java
index 234b40f..b592a94 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwFeatureContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwFeatureContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwModuleContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwModuleContainerIP.java
index 00b51e8..cf9dc04 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwModuleContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/container/HwModuleContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Modules ("); //$NON-NLS-1$
 		buffer.append(((HwStructure) getTarget()).getModules().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedCacheDefinitionIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedCacheDefinitionIP.java
index 43aab5d..92754b5 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedCacheDefinitionIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedCacheDefinitionIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedCacheIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedCacheIP.java
index d495cc6..766fc9c 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedCacheIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedCacheIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedConnectionHandlerDefinitionIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedConnectionHandlerDefinitionIP.java
index a32680c..f6dcc52 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedConnectionHandlerDefinitionIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedConnectionHandlerDefinitionIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedConnectionHandlerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedConnectionHandlerIP.java
index 24ed71a..f65aec1 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedConnectionHandlerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedConnectionHandlerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedFrequencyDomainIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedFrequencyDomainIP.java
index c7ae484..c0fa000 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedFrequencyDomainIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedFrequencyDomainIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedHwConnectionIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedHwConnectionIP.java
index f4c6284..aa5a752 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedHwConnectionIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedHwConnectionIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedHwFeatureCategoryIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedHwFeatureCategoryIP.java
index 9574a0a..3e6288c 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedHwFeatureCategoryIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedHwFeatureCategoryIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedHwStructureIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedHwStructureIP.java
index 414c17b..5020c0c 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedHwStructureIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedHwStructureIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -62,7 +62,7 @@
 
 	@Override
 	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		
+
 		for (EStructuralFeature feature : super.getChildrenFeatures(object)) {
 			if (isValidValue(object, child, feature)) {
 				return feature;
@@ -87,7 +87,7 @@
 	public Collection<?> getChildren(final Object object) {
 		final List<Object> children = new ArrayList<>(super.getChildren(object));
 		HwStructure hwStruct = (HwStructure) object;
-		
+
 		// only display virtual folders if not empty (on top of the list)
 		if (!hwStruct.getModules().isEmpty())
 			children.add(0, getModulesContainerIP(hwStruct));
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedMemoryDefinitionIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedMemoryDefinitionIP.java
index eb33000..f8ca0b1 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedMemoryDefinitionIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedMemoryDefinitionIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedMemoryIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedMemoryIP.java
index fc95ad1..97353fd 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedMemoryIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedMemoryIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedPowerDomainIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedPowerDomainIP.java
index 9fb39b6..44fe841 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedPowerDomainIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedPowerDomainIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedProcessingUnitDefinitionIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedProcessingUnitDefinitionIP.java
index 7d19063..20a5519 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedProcessingUnitDefinitionIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedProcessingUnitDefinitionIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedProcessingUnitIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedProcessingUnitIP.java
index 98fbf7a..03d8a9a 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedProcessingUnitIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/hw/extended/ExtendedProcessingUnitIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/OsDefinitionContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/OsDefinitionContainerIP.java
index 28b6faf..3380904 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/OsDefinitionContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/OsDefinitionContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -125,7 +125,7 @@
 
 	@Override
 	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		
+
 		for (EStructuralFeature feature : super.getChildrenFeatures(object)) {
 			if (isValidValue(object, child, feature)) {
 				return feature;
@@ -149,7 +149,7 @@
 	public Collection<?> getChildren(final Object object) {
 		final List<Object> children = new ArrayList<>(super.getChildren(object));
 		final OSModel osModel = (OSModel) getTarget(); // class is transient item providers
-		
+
 		// only display virtual folders if not empty (on top of the list)
 		if (!osModel.getOsOverheads().isEmpty())
 			children.add(0, getOsOverheadsContainerIP(osModel));
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/OsOverheadContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/OsOverheadContainerIP.java
index 0d61011..8e28d5b 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/OsOverheadContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/OsOverheadContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/OsSemaphoreContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/OsSemaphoreContainerIP.java
index 12f8647..106c891 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/OsSemaphoreContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/OsSemaphoreContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/SchedulerDefinitionContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/SchedulerDefinitionContainerIP.java
index 08c268e..6683a7c 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/SchedulerDefinitionContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/SchedulerDefinitionContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/SchedulingParameterDefinitionContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/SchedulingParameterDefinitionContainerIP.java
index f330817..4bf9fb3 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/SchedulingParameterDefinitionContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/container/SchedulingParameterDefinitionContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedOsOverheadIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedOsOverheadIP.java
index 4146a92..8203c6f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedOsOverheadIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedOsOverheadIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedSchedulerDefinitionIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedSchedulerDefinitionIP.java
index 136c25c..f6a4579 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedSchedulerDefinitionIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedSchedulerDefinitionIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedSchedulingParameterDefinitionIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedSchedulingParameterDefinitionIP.java
index 3ec21a4..b202162 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedSchedulingParameterDefinitionIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedSchedulingParameterDefinitionIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedSemaphoreIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedSemaphoreIP.java
index a334266..3e961d9 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedSemaphoreIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/os/extended/ExtendedSemaphoreIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ActivationsContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ActivationsContainerIP.java
index 3ba639c..852ffe6 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ActivationsContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ActivationsContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Activations ("); //$NON-NLS-1$
 		buffer.append(((SWModel) getTarget()).getActivations().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/CallArgumentsContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/CallArgumentsContainerIP.java
index cc1768d..65ab508 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/CallArgumentsContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/CallArgumentsContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ChannelsContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ChannelsContainerIP.java
index 3b995b3..65824ff 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ChannelsContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ChannelsContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Channels ("); //$NON-NLS-1$
 		buffer.append(((SWModel) getTarget()).getChannels().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/CustomEntitiesContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/CustomEntitiesContainerIP.java
index 3bf5fbb..582437e 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/CustomEntitiesContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/CustomEntitiesContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Custom Entities ("); //$NON-NLS-1$
 		buffer.append(((SWModel) getTarget()).getCustomEntities().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/EventsContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/EventsContainerIP.java
index 9e04be7..792c7f7 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/EventsContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/EventsContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("OS Events ("); //$NON-NLS-1$
 		buffer.append(((SWModel) getTarget()).getEvents().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ISRsContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ISRsContainerIP.java
index 91ad4fe..320067b 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ISRsContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ISRsContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("ISRs ("); //$NON-NLS-1$
 		buffer.append(((SWModel) getTarget()).getIsrs().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/LabelsContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/LabelsContainerIP.java
index 9180fbb..6e54bcb 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/LabelsContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/LabelsContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Labels ("); //$NON-NLS-1$
 		buffer.append(((SWModel) getTarget()).getLabels().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ModeLabelsContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ModeLabelsContainerIP.java
index ea145ec..22823da 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ModeLabelsContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ModeLabelsContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("ModeLabels ("); //$NON-NLS-1$
 		buffer.append(((SWModel) getTarget()).getModeLabels().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ModesContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ModesContainerIP.java
index 963f018..ca1cfd7 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ModesContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ModesContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Modes ("); //$NON-NLS-1$
 		buffer.append(((SWModel) getTarget()).getModes().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ProcessChainsContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ProcessChainsContainerIP.java
index 7d70db3..b08f71d 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ProcessChainsContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ProcessChainsContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Process Chains ("); //$NON-NLS-1$
 		buffer.append(((SWModel) getTarget()).getProcessChains().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ProcessPrototypesContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ProcessPrototypesContainerIP.java
index 43a0ca5..79cd082 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ProcessPrototypesContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/ProcessPrototypesContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Process Prototypes ("); //$NON-NLS-1$
 		buffer.append(((SWModel) getTarget()).getProcessPrototypes().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/RunnableParametersContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/RunnableParametersContainerIP.java
index 6042207..d30196c 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/RunnableParametersContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/RunnableParametersContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/RunnablesContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/RunnablesContainerIP.java
index 7267b8e..a1cf4e1 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/RunnablesContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/RunnablesContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Runnables ("); //$NON-NLS-1$
 		buffer.append(((SWModel) getTarget()).getRunnables().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/SectionsContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/SectionsContainerIP.java
index 14c62d1..fcaaefa 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/SectionsContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/SectionsContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Sections ("); //$NON-NLS-1$
 		buffer.append(((SWModel) getTarget()).getSections().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/TasksContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/TasksContainerIP.java
index 41be043..92e99ac 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/TasksContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/TasksContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Tasks ("); //$NON-NLS-1$
 		buffer.append(((SWModel) getTarget()).getTasks().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/TypeDefinitionsContainerIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/TypeDefinitionsContainerIP.java
index 552a1bf..56e5f8e 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/TypeDefinitionsContainerIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/container/TypeDefinitionsContainerIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -40,7 +40,7 @@
 		buffer.append("Type Definitions ("); //$NON-NLS-1$
 		buffer.append(((SWModel) getTarget()).getTypeDefinitions().size());
 		buffer.append(")"); //$NON-NLS-1$
-		
+
 		return buffer.toString();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedBaseTypeDefinitionIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedBaseTypeDefinitionIP.java
index 7f37e0f..88a97a3 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedBaseTypeDefinitionIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedBaseTypeDefinitionIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedChannelIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedChannelIP.java
index c4c85a9..74de67f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedChannelIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedChannelIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedCustomActivationIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedCustomActivationIP.java
index 2138bf1..62a33a5 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedCustomActivationIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedCustomActivationIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedCustomEntityIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedCustomEntityIP.java
index f72af9a..7b7bab7 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedCustomEntityIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedCustomEntityIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedDataTypeDefinitionIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedDataTypeDefinitionIP.java
index d374918..c53c154 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedDataTypeDefinitionIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedDataTypeDefinitionIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedEnumModeIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedEnumModeIP.java
index 2546ebe..af041b8 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedEnumModeIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedEnumModeIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedEventActivationIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedEventActivationIP.java
index 28f8cd8..7f3c0ea 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedEventActivationIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedEventActivationIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedISRIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedISRIP.java
index 3ec30b3..bbb4be5 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedISRIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedISRIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedLabelIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedLabelIP.java
index 3025dcb..2b28a4b 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedLabelIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedLabelIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedModeLabelIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedModeLabelIP.java
index 7a72683..8401d8a 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedModeLabelIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedModeLabelIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedNumericModeIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedNumericModeIP.java
index 3c64918..0001147 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedNumericModeIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedNumericModeIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedOsEventIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedOsEventIP.java
index 230c08e..c81d348 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedOsEventIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedOsEventIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedPeriodicActivationIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedPeriodicActivationIP.java
index d2b05a0..3ca3d78 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedPeriodicActivationIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedPeriodicActivationIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedProcessChainIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedProcessChainIP.java
index 2771706..8a51964 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedProcessChainIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedProcessChainIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedProcessPrototypeIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedProcessPrototypeIP.java
index af66c43..7dfa9e7 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedProcessPrototypeIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedProcessPrototypeIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedRunnableIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedRunnableIP.java
index 926c91f..d0132ed 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedRunnableIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedRunnableIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
@@ -60,7 +60,7 @@
 
 	@Override
 	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		
+
 		for (EStructuralFeature feature : super.getChildrenFeatures(object)) {
 			if (isValidValue(object, child, feature)) {
 				return feature;
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedRunnableParameterIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedRunnableParameterIP.java
index c7c3f72..1a45077 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedRunnableParameterIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedRunnableParameterIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedSectionIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedSectionIP.java
index d5ef7db..9b09bf0 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedSectionIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedSectionIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedSingleActivationIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedSingleActivationIP.java
index a4be6c5..9767658 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedSingleActivationIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedSingleActivationIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedSporadicActivationIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedSporadicActivationIP.java
index 8fc56bc..95b8128 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedSporadicActivationIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedSporadicActivationIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedTaskIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedTaskIP.java
index cc49683..1020fda 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedTaskIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedTaskIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedVariableRateActivationIP.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedVariableRateActivationIP.java
index c673a72..4387df7 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedVariableRateActivationIP.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/edit/sw/extended/ExtendedVariableRateActivationIP.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/provider/ExtendedAmaltheaEditPlugin.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/provider/ExtendedAmaltheaEditPlugin.java
index 7d48c05..48b24e1 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/provider/ExtendedAmaltheaEditPlugin.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/provider/ExtendedAmaltheaEditPlugin.java
@@ -1,11 +1,11 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
  *
  *     Generated using Eclipse EMF
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/provider/ExtendedAmaltheaItemProviderAdapterFactory.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/provider/ExtendedAmaltheaItemProviderAdapterFactory.java
index 0a0e9ca..e8491ed 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/provider/ExtendedAmaltheaItemProviderAdapterFactory.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/provider/ExtendedAmaltheaItemProviderAdapterFactory.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 itemis AG and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     itemis AG, Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -250,7 +250,7 @@
 	public Adapter createPeriodicActivationAdapter() {
 		return new ExtendedPeriodicActivationIP(this);
 	}
-	
+
 	@Override
 	public Adapter createSingleActivationAdapter() {
 		return new ExtendedSingleActivationIP(this);
@@ -344,7 +344,7 @@
 	public Adapter createComponentsModelAdapter() {
 		return new ExtendedComponentsModelIP(this);
 	}
-	
+
 // ComponentsModel Definitions
 
 	@Override
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/provider/TransientItemProvider.java b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/provider/TransientItemProvider.java
index cfea73a..7fa88da 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/provider/TransientItemProvider.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit.extended/src/org/eclipse/app4mc/amalthea/model/provider/TransientItemProvider.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *  Contributors:
  *     See4sys - initial API and implementation (Sphinx)
  *     itemis AG - adaptation to Amalthea
@@ -100,7 +100,7 @@
 	 * Overridden to ensure statefulness of transient item provider adapters wrt
 	 * their target object, i.e., to avoid that the same transient item provider
 	 * instance is used for multiple target objects.
-	 * 
+	 *
 	 * @see
 	 * org.eclipse.emf.edit.provider.ItemProviderAdapter#setTarget(org.eclipse.emf.
 	 * common.notify.Notifier)
@@ -121,14 +121,14 @@
 	 * adapter factories that support the creation and retrieval transient item
 	 * provider instances by calling AdapterFactory#adapt(object,
 	 * TransientItemProviderSubClass.class)
-	 * 
+	 *
 	 * @see
 	 * org.eclipse.emf.edit.provider.ItemProviderAdapter#isAdapterForType(java.lang.
 	 * Object)
-	 * 
+	 *
 	 * @see org.eclipse.emf.ecore.util.EcoreUtil#getExistingAdapter(Notifier,
 	 * Object)
-	 * 
+	 *
 	 * @see
 	 * org.eclipse.sphinx.emf.edit.TransientItemProvider.AdapterFactoryHelper.adapt(
 	 * Object, Object, AdapterFactory)
@@ -179,7 +179,7 @@
 	 * in order to (1) retrieve the store for the children of the given object (and
 	 * thereby retrieve it in the same way as in #updateChildren(Notification)) and
 	 * (2) obtain the values of the children features.
-	 * 
+	 *
 	 * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#getChildren(java.lang.
 	 * Object)
 	 */
@@ -227,7 +227,7 @@
 	 * rather than given object (which would be the transient item provider itself)
 	 * as key for the store for the children of the given object (and thereby match
 	 * the way it is retrieved in #updateChildren(Notification)).
-	 * 
+	 *
 	 * @see
 	 * org.eclipse.emf.edit.provider.ItemProviderAdapter#createChildrenStore(java.
 	 * lang.Object)
@@ -238,7 +238,7 @@
 
 		if (isWrappingNeeded(object)) {
 			if (childrenStoreMap == null) {
-				childrenStoreMap = new HashMap<Object, ChildrenStore>();
+				childrenStoreMap = new HashMap<>();
 			}
 			store = new ChildrenStore(getChildrenFeatures(object));
 			childrenStoreMap.put(target, store);
@@ -318,7 +318,7 @@
 	 * This is required to make sure that the latter get represented by instances of
 	 * org.eclipse.emf.edit.provider.DelegatingWrapperItemProvider and may have a
 	 * parent element that is different from object containing them.
-	 * 
+	 *
 	 * @see
 	 * org.eclipse.emf.edit.provider.ItemProviderAdapter#isWrappingNeeded(java.lang.
 	 * Object)
@@ -416,7 +416,7 @@
 	 * Overridden to support the case where specified owner via CommandParameter
 	 * (commandParameter.getEOwner()) is no EObject. In this case, try to refer to
 	 * parent or owner of specified owner.
-	 * 
+	 *
 	 * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#factorAddCommand(org.
 	 * eclipse.emf.edit.domain.EditingDomain,
 	 * org.eclipse.emf.edit.command.CommandParameter)
@@ -559,7 +559,7 @@
 	 * different features and (2) specified owner via CommandParameter
 	 * (commandParameter.getEOwner()) is no EObject. In this case, try to refer to
 	 * parent or owner of specified owner.
-	 * 
+	 *
 	 * @see
 	 * org.eclipse.emf.edit.provider.ItemProviderAdapter#factorRemoveCommand(org.
 	 * eclipse.emf.edit.domain.EditingDomain,
@@ -678,7 +678,7 @@
 			// container, or the same
 			// container but different features we must to iterate over all container
 			// features
-			for (Object object : new ArrayList<Object>(list)) {
+			for (Object object : new ArrayList<>(list)) {
 				if (object instanceof EObject) {
 					final EObject fallBackOwner = ((EObject) object).eContainer();
 					EStructuralFeature containingFeature = ((EObject) object).eContainingFeature();
@@ -792,11 +792,11 @@
 
 		for (EStructuralFeature feature : myFeatures()) {
 			if (dropTarget != null && new AddCommand(domain, dropTarget, feature, collection).canExecute()) {
-				return super.createDragAndDropCommand(domain, dropTarget, location, operations, operation, collection);				
+				return super.createDragAndDropCommand(domain, dropTarget, location, operations, operation, collection);
 			}
 		}
 
-		return UnexecutableCommand.INSTANCE;			
+		return UnexecutableCommand.INSTANCE;
 	}
 
 	protected AmaltheaPackage myPackage() {
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit/src/org/eclipse/app4mc/amalthea/model/provider/AmaltheaItemProviderAdapter.java b/plugins/org.eclipse.app4mc.amalthea.model.edit/src/org/eclipse/app4mc/amalthea/model/provider/AmaltheaItemProviderAdapter.java
index d2a09ad..85218e5 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit/src/org/eclipse/app4mc/amalthea/model/provider/AmaltheaItemProviderAdapter.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit/src/org/eclipse/app4mc/amalthea/model/provider/AmaltheaItemProviderAdapter.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2020 Robert Bosch GmbH.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit/src/org/eclipse/app4mc/amalthea/model/provider/EcoreGenericsHelper.java b/plugins/org.eclipse.app4mc.amalthea.model.edit/src/org/eclipse/app4mc/amalthea/model/provider/EcoreGenericsHelper.java
index cbbf1dd..f0ba77a 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit/src/org/eclipse/app4mc/amalthea/model/provider/EcoreGenericsHelper.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit/src/org/eclipse/app4mc/amalthea/model/provider/EcoreGenericsHelper.java
@@ -1,11 +1,11 @@
 /**
  ********************************************************************************
  * Copyright (c) 2013 Timing-Architects Embedded Systems GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
  * *******************************************************************************
  */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/AbstractSchedulerDefinitionCreationService.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/AbstractSchedulerDefinitionCreationService.java
index a980806..e62619b 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/AbstractSchedulerDefinitionCreationService.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/AbstractSchedulerDefinitionCreationService.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.creation;
 
@@ -33,7 +33,7 @@
 	public EStructuralFeature modelFeature() {
 		return AmaltheaPackage.eINSTANCE.getOSModel_SchedulerDefinitions();
 	}
-	
+
 	public void doCreate(OSModel osModel, Algorithm algorithm, String label) {
 		if (osModel == null)
 			return;
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerConstantBandwidthServer.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerConstantBandwidthServer.java
index 4278fdf..e29d4cc 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerConstantBandwidthServer.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerConstantBandwidthServer.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.creation;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerConstantBandwidthServerWithCapacitySharing.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerConstantBandwidthServerWithCapacitySharing.java
index 1bc96e5..7ce3201 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerConstantBandwidthServerWithCapacitySharing.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerConstantBandwidthServerWithCapacitySharing.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.creation;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionDeferrableServer.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionDeferrableServer.java
index aef5868..220e1b2 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionDeferrableServer.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionDeferrableServer.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.creation;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionEarliestDeadlineFirst.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionEarliestDeadlineFirst.java
index 9a04988..6a6daaa 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionEarliestDeadlineFirst.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionEarliestDeadlineFirst.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.creation;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionEarlyReleaseFairPD2.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionEarlyReleaseFairPD2.java
index 2311381..a10207f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionEarlyReleaseFairPD2.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionEarlyReleaseFairPD2.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.creation;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionFixedPriorityPreemptive.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionFixedPriorityPreemptive.java
index f3fdd08..77a1dee 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionFixedPriorityPreemptive.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionFixedPriorityPreemptive.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.creation;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionOSEK.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionOSEK.java
index f862734..6f97302 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionOSEK.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionOSEK.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.creation;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPFairPD2.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPFairPD2.java
index 24cd9c0..e2cc585 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPFairPD2.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPFairPD2.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.creation;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPartlyEarlyReleaseFairPD2.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPartlyEarlyReleaseFairPD2.java
index a950f5a..e84f0d8 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPartlyEarlyReleaseFairPD2.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPartlyEarlyReleaseFairPD2.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.creation;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPartlyPFairPD2.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPartlyPFairPD2.java
index 45892e0..8aa90d2 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPartlyPFairPD2.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPartlyPFairPD2.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.creation;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPollingServer.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPollingServer.java
index 2ddacb9..978c863 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPollingServer.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPollingServer.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.creation;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPriorityBased.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPriorityBased.java
index 5d1bc62..0159ed5 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPriorityBased.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPriorityBased.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.creation;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPriorityBasedRoundRobin.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPriorityBasedRoundRobin.java
index 5327197..4283905 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPriorityBasedRoundRobin.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionPriorityBasedRoundRobin.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.creation;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionSporadicServer.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionSporadicServer.java
index 8246389..01b569e 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionSporadicServer.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/creation/SchedulerDefinitionSporadicServer.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.creation;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/processing/AddModificationTimestamp.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/processing/AddModificationTimestamp.java
index a4a7ce0..37ee0ef 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/processing/AddModificationTimestamp.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/processing/AddModificationTimestamp.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.processing;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/processing/CleanupDataSize.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/processing/CleanupDataSize.java
index 352873e..8a65883 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/processing/CleanupDataSize.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/processing/CleanupDataSize.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.processing;
 
@@ -38,11 +38,11 @@
 	@PostConstruct
 	public String cleanup(Amalthea model) {
 		Set<DataSize> toDelete = new HashSet<>();
-		
+
 		TreeIterator<EObject> iterator = EcoreUtil.getAllContents(model, false);
 		while (iterator.hasNext()) {
 			EObject next = iterator.next();
-			
+
 			if (next instanceof DataSize) {
 				DataSize size = (DataSize) next;
 				if (size.getValue().signum() < 1 || size.getUnit() == DataSizeUnit._UNDEFINED_) {
@@ -50,9 +50,9 @@
 				}
 			}
 		}
-		
+
 		EcoreUtil.removeAll(toDelete);
-		
+
 		return "Deleted " + toDelete.size() + " invalid DataSize objects.";
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/processing/CleanupTicks.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/processing/CleanupTicks.java
index da8a0b7..54e9bd9 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/processing/CleanupTicks.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution.standard/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/processing/CleanupTicks.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service.processing;
 
@@ -37,11 +37,11 @@
 	@PostConstruct
 	public String cleanup(Amalthea model) {
 		Set<Ticks> toDelete = new HashSet<>();
-		
+
 		TreeIterator<EObject> iterator = EcoreUtil.getAllContents(model, false);
 		while (iterator.hasNext()) {
 			EObject next = iterator.next();
-			
+
 			if (next instanceof Ticks) {
 				Ticks ticks = (Ticks) next;
 				if (ticks.getDefault() == null && ticks.getExtended().isEmpty()) {
@@ -49,9 +49,9 @@
 				}
 			}
 		}
-		
+
 		EcoreUtil.removeAll(toDelete);
-		
+
 		return "Deleted " + toDelete.size() + " empty Ticks objects.";
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/handler/CreateModelStructureHandler.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/handler/CreateModelStructureHandler.java
index 8bd7bae..2a2f949 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/handler/CreateModelStructureHandler.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/handler/CreateModelStructureHandler.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.handler;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/handler/ProcessModelStructureHandler.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/handler/ProcessModelStructureHandler.java
index 2925e49..39fae7e 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/handler/ProcessModelStructureHandler.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/handler/ProcessModelStructureHandler.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.handler;
 
@@ -47,15 +47,15 @@
 			@Named(IServiceConstants.ACTIVE_SELECTION) IStructuredSelection selection,
 			@Service ProcessingServiceRegistry registry,
 			IEclipseContext context) {
-		
+
 		RegistryServiceWrapper<ProcessingService> processor = registry.getService(modelType, creatorId);
 		if (selection.getFirstElement() instanceof EObject && processor != null) {
 			EObject object = (EObject) selection.getFirstElement();
-			
+
 			EObject rootContainer = EcoreUtil.getRootContainer(object);
-			
+
 			// Use ChangeCommand and CommandStack to execute changes
-			
+
 			EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(rootContainer);
 			ChangeCommandWithStatusResult command = new ChangeCommandWithStatusResult(
 					new ChangeRecorder(), rootContainer, context,
@@ -63,29 +63,29 @@
 
 			String[] split = processor.getName().split("\\|");
 			command.setLabel(split[split.length-1].trim());
-			
+
 			editingDomain.getCommandStack().execute(command);
-			
+
 			// Display result
 			if (command.status != null) {
 				MessageDialog.openInformation(shell, "AMALTHEA Model Processing", command.status.toString());
 			}
 		}
 	}
-	
+
 	private class ChangeCommandWithStatusResult extends ChangeCommand {
-		
+
 		IEclipseContext context;
 		String modelType;
 		RegistryServiceWrapper<ProcessingService> processor;
 		EObject object;
-		
+
 		Object status;
-		
+
 		public ChangeCommandWithStatusResult(
 				ChangeRecorder changeRecorder, Notifier notifier, IEclipseContext context,
 				String modelType, RegistryServiceWrapper<ProcessingService> processor, EObject object) {
-			
+
 			super(changeRecorder, notifier);
 			this.context = context;
 			this.modelType = modelType;
@@ -98,7 +98,7 @@
 			// *** execute specific processing actions here ***
 			IEclipseContext activeContext = context.createChild(modelType + " ProcessingModelStructure");
 			activeContext.set(processor.getType(), object);
-			
+
 			try {
 				this.status = ContextInjectionFactory.invoke(processor.getServiceInstance(), PostConstruct.class, activeContext);
 			} finally {
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/AmaltheaModelElementExpression.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/AmaltheaModelElementExpression.java
index 5140025..e1e1deb 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/AmaltheaModelElementExpression.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/AmaltheaModelElementExpression.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.menu;
 
@@ -31,7 +31,7 @@
  * </ul>
  */
 public class AmaltheaModelElementExpression {
-	
+
 	public boolean evaluate(@Optional @Named(IServiceConstants.ACTIVE_SELECTION) IStructuredSelection selection) {
 		return (selection != null && selection.size() == 1
 				&& (selection.getFirstElement() instanceof EObject && ((EObject)selection.getFirstElement()).eClass().getEPackage().equals(AmaltheaPackage.eINSTANCE)
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/CreateModelMenuContribution.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/CreateModelMenuContribution.java
index 8153a9c..fd2e6f8 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/CreateModelMenuContribution.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/CreateModelMenuContribution.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */  
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.menu;
 
@@ -36,10 +36,10 @@
 
 @SuppressWarnings("restriction")
 public class CreateModelMenuContribution {
-	
+
 	@AboutToShow
 	public void aboutToShow(
-			List<MMenuElement> items, 
+			List<MMenuElement> items,
 			EModelService modelService,
 			MApplication app,
 			@Service CreationServiceRegistry registry,
@@ -57,8 +57,8 @@
 			menuItem.setContributorURI("platform:/plugin/org.eclipse.app4mc.amalthea.model.editor.contribution");
 
 			List<MCommand> command = modelService.findElements(
-					app, 
-					"org.eclipse.app4mc.amalthea.model.editor.contribution.command.createmodelstructure", 
+					app,
+					"org.eclipse.app4mc.amalthea.model.editor.contribution.command.createmodelstructure",
 					MCommand.class);
 			menuItem.setCommand(command.get(0));
 
@@ -74,7 +74,7 @@
 
 			menuBuilder.addMenuItem(path, menuItem);
 		});
-		
+
 		menuBuilder.populateMenuElementsList(items);
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/CreationServiceExpression.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/CreationServiceExpression.java
index 16b5060..cdf0b95 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/CreationServiceExpression.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/CreationServiceExpression.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.menu;
 
@@ -28,12 +28,12 @@
  */
 @SuppressWarnings("restriction")
 public class CreationServiceExpression extends AmaltheaModelElementExpression {
-	
+
 	@Evaluate
 	public boolean evaluate(
-			@Optional @Named(IServiceConstants.ACTIVE_SELECTION) IStructuredSelection selection, 
+			@Optional @Named(IServiceConstants.ACTIVE_SELECTION) IStructuredSelection selection,
 			@Optional @Service CreationServiceRegistry registry) {
-		
+
 		if (super.evaluate(selection)) {
 			// single element selected
 			return !registry.getServices(selection.getFirstElement()).isEmpty();
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/MenuBuilder.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/MenuBuilder.java
index 917cb34..aa27f1a 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/MenuBuilder.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/MenuBuilder.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.menu;
 
@@ -28,7 +28,7 @@
 
 /**
  * Builds a hierarchical menu structure based on path description of added menu items.
- * 
+ *
  * Path segments are separated by "|".
  *
  */
@@ -39,7 +39,7 @@
 
 	/**
 	 * Adds a menu item to the menu.
-	 * 
+	 *
 	 * @param path		describes the position in the hierarchical menu (e.g. "Actions | Undo")
 	 * @param menuItem	the configured menu item (the last segment of the path is set as label)
 	 */
@@ -70,7 +70,7 @@
 	 * <li>sub menus in alphabetic order</li>
 	 * <li>menu entries in alphabetic order</li>
 	 * </ul>
-	 * 
+	 *
 	 * @param items
 	 */
 	public void populateMenuElementsList(List<MMenuElement> items) {
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/ProcessModelMenuContribution.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/ProcessModelMenuContribution.java
index 3b4f4ca..d2ef1ae 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/ProcessModelMenuContribution.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/ProcessModelMenuContribution.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */  
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.menu;
 
@@ -36,10 +36,10 @@
 
 @SuppressWarnings("restriction")
 public class ProcessModelMenuContribution {
-	
+
 	@AboutToShow
 	public void aboutToShow(
-			List<MMenuElement> items, 
+			List<MMenuElement> items,
 			EModelService modelService,
 			MApplication app,
 			@Service ProcessingServiceRegistry registry,
@@ -57,8 +57,8 @@
 			menuItem.setContributorURI("platform:/plugin/org.eclipse.app4mc.amalthea.model.editor.contribution");
 
 			List<MCommand> command = modelService.findElements(
-					app, 
-					"org.eclipse.app4mc.amalthea.model.editor.contribution.command.modelprocessing", 
+					app,
+					"org.eclipse.app4mc.amalthea.model.editor.contribution.command.modelprocessing",
 					MCommand.class);
 			menuItem.setCommand(command.get(0));
 
@@ -74,7 +74,7 @@
 
 			menuBuilder.addMenuItem(path, menuItem);
 		});
-		
+
 		menuBuilder.populateMenuElementsList(items);
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/ProcessingServiceExpression.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/ProcessingServiceExpression.java
index dcac34a..caffb15 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/ProcessingServiceExpression.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/menu/ProcessingServiceExpression.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.menu;
 
@@ -28,12 +28,12 @@
  */
 @SuppressWarnings("restriction")
 public class ProcessingServiceExpression extends AmaltheaModelElementExpression {
-	
+
 	@Evaluate
 	public boolean evaluate(
-			@Optional @Named(IServiceConstants.ACTIVE_SELECTION) IStructuredSelection selection, 
+			@Optional @Named(IServiceConstants.ACTIVE_SELECTION) IStructuredSelection selection,
 			@Optional @Service ProcessingServiceRegistry registry) {
-		
+
 		if (super.evaluate(selection)) {
 			// single element selected
 			return !registry.getServices(selection.getFirstElement()).isEmpty();
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/CreationServiceRegistry.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/CreationServiceRegistry.java
index 1223e5b..ae43ed1 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/CreationServiceRegistry.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/CreationServiceRegistry.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.registry;
 
@@ -32,7 +32,7 @@
 
 @Component(service = CreationServiceRegistry.class)
 public class CreationServiceRegistry extends ModelServiceRegistry<CreationService> {
-	
+
 	@Reference(
 			cardinality = ReferenceCardinality.MULTIPLE,
 			policy = ReferencePolicy.DYNAMIC,
@@ -65,12 +65,12 @@
 		//  - replace selected object class with its interfaces
 		if (selected instanceof EObject) {
 			Class<? extends Object> class1 = selected.getClass();
-			interfaces = Arrays.asList(class1.getInterfaces());			
+			interfaces = Arrays.asList(class1.getInterfaces());
 		}
 
 		return getServices(interfaces, supportedFeatures);
 	}
-			
+
 	public List<RegistryServiceWrapper<CreationService>> getServices(List<Class<?>> classes, List<EStructuralFeature> supportedFeatures) {
 
 		List<RegistryServiceWrapper<CreationService>> services = super.getServices(classes);
@@ -78,7 +78,7 @@
 		if (supportedFeatures == null || supportedFeatures.isEmpty()) {
 			return services;
 		}
-			
+
 		return services.stream()
 				.filter(s -> s.getServiceInstance().modelFeature() == null
 							|| supportedFeatures.contains(s.getServiceInstance().modelFeature()))
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/ModelServiceRegistry.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/ModelServiceRegistry.java
index abe559d..a7bd4a1 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/ModelServiceRegistry.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/ModelServiceRegistry.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.registry;
 
@@ -36,23 +36,23 @@
 public class ModelServiceRegistry<T> {
 
 	private static final Logger LOGGER = LoggerFactory.getLogger(ModelServiceRegistry.class);
-	
+
 	private ConcurrentHashMap<String, Map<String, RegistryServiceWrapper<T>>> registry = new ConcurrentHashMap<>();
-	
+
 	protected void bindService(T service, Map<String, Object> properties) {
-		
+
 		String modelClassName = getModelClassName(service, properties);
 		if (modelClassName != null) {
-			Map<String, RegistryServiceWrapper<T>> services = 
-					this.registry.computeIfAbsent(modelClassName, key -> new ConcurrentHashMap<String, RegistryServiceWrapper<T>>());
-			
+			Map<String, RegistryServiceWrapper<T>> services =
+					this.registry.computeIfAbsent(modelClassName, key -> new ConcurrentHashMap<>());
+
 			String id = (String) properties.getOrDefault("id", service.getClass().getName());
 			if (!services.containsKey(id)) {
 				services.put(id,
 						new RegistryServiceWrapper<>(
-							id, 
-							service, 
-							(String) properties.getOrDefault("name", service.getClass().getSimpleName()), 
+							id,
+							service,
+							(String) properties.getOrDefault("name", service.getClass().getSimpleName()),
 							(String) properties.getOrDefault("description", null),
 							modelClassName));
 			} else {
@@ -71,10 +71,10 @@
 			services.remove(id);
 		}
 	}
-	
+
 	/**
 	 * Get all service wrapper objects that are registered for the given classes.
-	 * 
+	 *
 	 * @param classes The classes for which the wrappers are requested.
 	 * @return All service wrapper objects that are registered for the
 	 *         given classes.
@@ -89,7 +89,7 @@
 				classNames.addAll(allInterfaces.stream().map(Class::getName).collect(Collectors.toList()));
 			}
 		}
-		
+
 		return classNames.stream()
 				.filter(Objects::nonNull)
 				.flatMap(name -> this.registry.getOrDefault(name, new HashMap<>()).values().stream())
@@ -97,7 +97,7 @@
 	}
 
 	/**
-	 * 
+	 *
 	 * @param modelClassName The class name for which the service is registered.
 	 * @param id             The id of the service.
 	 * @return The service wrapper.
@@ -105,13 +105,13 @@
 	public RegistryServiceWrapper<T> getService(String modelClassName, String id) {
 		return this.registry.getOrDefault(modelClassName, new HashMap<>()).get(id);
 	}
-	
+
 	/**
 	 * Extracts the model class name for which the service should be
 	 * registered. First checks the <i>modelClass</i> component property. If it is
 	 * not set the type of the first parameter of the method annotated with
 	 * {@link PostConstruct} will be returned.
-	 * 
+	 *
 	 * @param service The service for which the model class name
 	 *                      should be returned.
 	 * @param properties    The component properties map of the
@@ -122,7 +122,7 @@
 	private String getModelClassName(T service, Map<String, Object> properties) {
 		// check if property for modelClass is set
 		String modelClassName = (String) properties.getOrDefault("modelClass", null);
-		
+
 		if (modelClassName == null) {
 			// else find method annotated with @PostConstruct
 			Class<?> creationClass = service.getClass();
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/ProcessingServiceRegistry.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/ProcessingServiceRegistry.java
index 6f605bb..df75549 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/ProcessingServiceRegistry.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/ProcessingServiceRegistry.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.registry;
 
@@ -29,7 +29,7 @@
 
 @Component(service = ProcessingServiceRegistry.class)
 public class ProcessingServiceRegistry extends ModelServiceRegistry<ProcessingService> {
-	
+
 	@Reference(
 			cardinality = ReferenceCardinality.MULTIPLE,
 			policy = ReferencePolicy.DYNAMIC,
@@ -52,7 +52,7 @@
 		//  - replace selected object class with its interfaces
 		if (selected instanceof EObject) {
 			Class<? extends Object> class1 = selected.getClass();
-			interfaces = Arrays.asList(class1.getInterfaces());			
+			interfaces = Arrays.asList(class1.getInterfaces());
 		}
 
 		return getServices(interfaces);
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/RegistryServiceWrapper.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/RegistryServiceWrapper.java
index d8718b6..382ea55 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/RegistryServiceWrapper.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/registry/RegistryServiceWrapper.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.registry;
 
@@ -21,7 +21,7 @@
 	 * The unique id of the service.
 	 */
 	private final String id;
-	
+
 	/**
 	 * The service instance.
 	 */
@@ -31,12 +31,12 @@
 	 * The name of the service.
 	 */
 	private final String name;
-	
+
 	/**
 	 * The description of the service.
 	 */
 	private final String description;
-	
+
 	/**
 	 * The model type for which the service is registered and that should be
 	 * injected to the {@link PostConstruct} method.
@@ -44,7 +44,7 @@
 	private final String type;
 
 	/**
-	 * 
+	 *
 	 * @param id                The unique id of the service.
 	 * @param instance 			The service instance.
 	 * @param name              The name of the service.
@@ -60,41 +60,41 @@
 		this.description = description;
 		this.type = type;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @return The unique id of the service.
 	 */
 	public String getId() {
 		return this.id;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @return The service instance.
 	 */
 	public T getServiceInstance() {
 		return this.instance;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @return The name of the service.
 	 */
 	public String getName() {
 		return name;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @return The description of the service.
 	 */
 	public String getDescription() {
 		return description;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @return The model type for which the service is registered and that
 	 *         should be injected to the {@link PostConstruct} method.
 	 */
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/CreationService.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/CreationService.java
index 4bbdae6..d4f71f4 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/CreationService.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/CreationService.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service;
 
@@ -18,7 +18,7 @@
 
 public interface CreationService {
 
-	public default EStructuralFeature modelFeature() {
+	default EStructuralFeature modelFeature() {
 		return null;
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/ProcessingService.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/ProcessingService.java
index 1fddef5..793be1b 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/ProcessingService.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.contribution/src/org/eclipse/app4mc/amalthea/model/editor/contribution/service/ProcessingService.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.contribution.service;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/AmaltheaEditorAssociationOverride.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/AmaltheaEditorAssociationOverride.java
index 85eb9b2..f3fc625 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/AmaltheaEditorAssociationOverride.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/AmaltheaEditorAssociationOverride.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -86,7 +86,7 @@
 			return editorDescriptor;
 		}
 
-		return overrideEditorDescriptor(editorInput, editorDescriptor);			
+		return overrideEditorDescriptor(editorInput, editorDescriptor);
 	}
 
 	/**
@@ -144,10 +144,10 @@
 
 		if (isCurrentVersion) {
 			// return the standard Amalthea editor
-			return PlatformUI.getWorkbench().getEditorRegistry().findEditor(AMALTHEA_EDITOR_EXTENDED);			
+			return PlatformUI.getWorkbench().getEditorRegistry().findEditor(AMALTHEA_EDITOR_EXTENDED);
 		} else {
 			// return dummy editor (that triggers migration dialog)
-			return PlatformUI.getWorkbench().getEditorRegistry().findEditor(AMALTHEA_EDITOR_DUMMY);			
+			return PlatformUI.getWorkbench().getEditorRegistry().findEditor(AMALTHEA_EDITOR_DUMMY);
 		}
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/AmaltheaEditorMatchingStrategy.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/AmaltheaEditorMatchingStrategy.java
index 41d8e98..85f38e4 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/AmaltheaEditorMatchingStrategy.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/AmaltheaEditorMatchingStrategy.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -26,7 +26,7 @@
  * An editor matching strategy allows editor extensions to provide their own
  * algorithm for matching the input of an open editor of that type to a given
  * editor input.
- * 
+ *
  * This class matches only ExtendedAmaltheaEditors.
  */
 public class AmaltheaEditorMatchingStrategy implements IEditorMatchingStrategy {
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/DummyAmaltheaEditor.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/DummyAmaltheaEditor.java
index d6aea3a..1736642 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/DummyAmaltheaEditor.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/DummyAmaltheaEditor.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -61,16 +61,16 @@
 	}
 
 	private void showInvalidVersionDialog(IFile iFile) {
-	
+
 		String versionFromModel = AmaltheaEditorUtil.getModelVersion(iFile);
 		String versionFromMetaModel = ModelUtil.MODEL_VERSION;
-		
+
 		String versionMismatchMessage = NLS.bind(
 				"Unsupported File ! \r\rEditor could not be opened because of a version mismatch. \r\rFound AMALTHEA model version : {0}\rCurrent editor supports only AMALTHEA model version :  {1}",
 				new Object[] { versionFromModel, versionFromMetaModel });
-	
+
 		// *** Check if migration to current version is available ***
-	
+
 		MApplication application = PlatformUI.getWorkbench().getService(MApplication.class);
 		if (application != null) {
 			IEclipseContext context = application.getContext();
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/actions/SearchAction.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/actions/SearchAction.java
index 5e1e098..990b477 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/actions/SearchAction.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/actions/SearchAction.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2013-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/actions/ShowTypesAction.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/actions/ShowTypesAction.java
index 07a3d63..6d7b642 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/actions/ShowTypesAction.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/actions/ShowTypesAction.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2013-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/actions/ValidateAction.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/actions/ValidateAction.java
index fae248f..ead89e6 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/actions/ValidateAction.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/actions/ValidateAction.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -111,7 +111,7 @@
 				for (Class<? extends IProfile> sc : selectedProfiles) {
 					builder.append("\n\t- ");
 					builder.append(sc.getName());
-				}				
+				}
 				LOGGER.info(builder.toString());
 				LOGGER.info("Available processors: {}", Runtime.getRuntime().availableProcessors());
 			}
@@ -133,7 +133,7 @@
 				}
 			};
 			if (LOGGER.isDebugEnabled()) {
-				job.addJobChangeListener(logValidationResults(executor));				
+				job.addJobChangeListener(logValidationResults(executor));
 			}
 			job.addJobChangeListener(updateMarkersWhenDone(executor, rootObjects));
 			job.addJobChangeListener(showMessageDialogWhenDone(executor));
@@ -169,7 +169,7 @@
 			@Override
 			public void done(IJobChangeEvent event) {
 				// *** Log validation results (for debugging) ***
-				
+
 				if (event.getResult().isOK() && LOGGER.isDebugEnabled()) {
 					ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
 					PrintStream printStream = new PrintStream(byteStream, true);
@@ -226,7 +226,7 @@
 					// convert results
 					BasicDiagnostic diagnostics = new BasicDiagnostic();
 					for (ValidationDiagnostic diag : executor.getResults()) {
-						diagnostics.add(diag);				
+						diagnostics.add(diag);
 					}
 
 					// collect files (IFile)
@@ -241,7 +241,7 @@
 					// update problem markers
 					MarkerHelper markerHelper = new ValidationMarkerHelper();
 					for (IFile file : files) {
-						markerHelper.deleteMarkers(file);						
+						markerHelper.deleteMarkers(file);
 					}
 
 					try {
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/addon/ModelEditAddon.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/addon/ModelEditAddon.java
index 145ed8a..e5cbb1e 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/addon/ModelEditAddon.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/addon/ModelEditAddon.java
@@ -26,7 +26,7 @@
 	public void init(IEclipseContext context) {
 		// Extracting namespace from AmaltheaPackage
 		String nsURI = AmaltheaPackage.eNS_URI;
-		
+
 		// Extracting AMALTHEA metamodel version
 		String modelVersion = nsURI.lastIndexOf('/') != -1
 				? nsURI.substring(nsURI.lastIndexOf('/') + 1)
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/container/AmaltheaModelContainer.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/container/AmaltheaModelContainer.java
index 9008b88..6fb6db8 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/container/AmaltheaModelContainer.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/container/AmaltheaModelContainer.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -51,7 +51,7 @@
 import org.eclipse.ui.part.EditorPart;
 
 public class AmaltheaModelContainer {
-	
+
 	private final IContainer iContainer;
 
 	private final Set<EditorPart> openEditors = new HashSet<>();
@@ -71,7 +71,7 @@
 
 	/**
 	 * Adds an editor to the set of active editors
-	 * 
+	 *
 	 * @param editor
 	 * @return true if the editor set did not already contain the editor
 	 */
@@ -82,16 +82,16 @@
 		if (wasEmpty && added) {
 			// get all valid model files (of current container)
 			initialModelFiles.addAll(AmaltheaEditorUtil.getValidModelFiles(iContainer));
-			
+
 			// initialize editing domain and resource set
 			initializeEditingDomain();
-			
+
 			// load files
 			for (IFile iFile : initialModelFiles) {
 				// Be sure to encode the path when creating a URI for it,
 				// i.e., URI.createPlatformResourceURI(iFile.getFullPath().toString(), true).
-				// Use workspaceRoot.getFile(new Path(uri.toPlatformResourceString(true))) to convert it back to an IFile. 
-				// 
+				// Use workspaceRoot.getFile(new Path(uri.toPlatformResourceString(true))) to convert it back to an IFile.
+				//
 				// see https://wiki.eclipse.org/EMF/FAQ#How_do_I_map_between_an_EMF_Resource_and_an_Eclipse_IFile.3F
 				//
 				final URI uri = URI.createPlatformResourceURI(iFile.getFullPath().toString(), true);
@@ -130,13 +130,13 @@
 
 	/**
 	 * Removes an editor from the set of active editors
-	 * 
+	 *
 	 * @param editor
 	 * @return true if the editor set contained the editor
 	 */
 	public boolean removeEditor(EditorPart editor) {
 		boolean removed = openEditors.remove(editor);
-		
+
 		if (removed && openEditors.isEmpty()) {
 			// reset collection of model files. unload required ?
 			initialModelFiles.clear();
@@ -147,7 +147,7 @@
 
 			updateDecorators();
 		}
-		
+
 		return removed;
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/container/ContainerAdapterFactory.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/container/ContainerAdapterFactory.java
index eb817e6..e69ad15 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/container/ContainerAdapterFactory.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/container/ContainerAdapterFactory.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -39,7 +39,7 @@
 public class ContainerAdapterFactory implements IAdapterFactory {
 
 	private Map<IContainer, AmaltheaModelContainer> containerCache = new HashMap<>();
-	
+
 	@Override
 	public <T> T getAdapter(Object adaptableObject, Class<T> adapterType) {
 		if (adaptableObject instanceof IContainer) {
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/decorator/ContainerDecorator.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/decorator/ContainerDecorator.java
index 983a4bc..26969e1 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/decorator/ContainerDecorator.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/decorator/ContainerDecorator.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/decorator/FileCompressedDecorator.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/decorator/FileCompressedDecorator.java
index 119cfd9..a4aaed3 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/decorator/FileCompressedDecorator.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/decorator/FileCompressedDecorator.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/decorator/FileLoadedDecorator.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/decorator/FileLoadedDecorator.java
index 78b2e6d..b2fea40 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/decorator/FileLoadedDecorator.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/decorator/FileLoadedDecorator.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/handler/CompressHandler.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/handler/CompressHandler.java
index 471ff74..42e7863 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/handler/CompressHandler.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/handler/CompressHandler.java
@@ -86,7 +86,7 @@
 
 	/**
 	 * Creates a Zip file (generic implementation based on java.util.zip package)
-	 * 
+	 *
 	 * @param iFile
 	 * @param shell
 	 * @param decoratorManager
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/handler/CompressedExpression.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/handler/CompressedExpression.java
index 85ce65f..842f41e 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/handler/CompressedExpression.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/handler/CompressedExpression.java
@@ -11,7 +11,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.handler;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/handler/UncompressedExpression.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/handler/UncompressedExpression.java
index 126bce6..96a3929 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/handler/UncompressedExpression.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/handler/UncompressedExpression.java
@@ -11,7 +11,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */  
+ */
 
 package org.eclipse.app4mc.amalthea.model.editor.handler;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/messages/Messages.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/messages/Messages.java
index f6736ac..b47f7ab 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/messages/Messages.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/messages/Messages.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2013 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/providers/ExtendedAmaltheaLabelProvider.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/providers/ExtendedAmaltheaLabelProvider.java
index fe4c146..4af9a49 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/providers/ExtendedAmaltheaLabelProvider.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/providers/ExtendedAmaltheaLabelProvider.java
@@ -1,13 +1,13 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * *******************************************************************************
  */
 
@@ -48,7 +48,7 @@
 
 		final String newText = stripTypePrefix(text, type);
 		if (editor != null && editor.isShowTypesEnabled()) {
-			return newText + " [" + type + "]";			
+			return newText + " [" + type + "]";
 		} else {
 			return newText;
 		}
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/ModelHitCollector.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/ModelHitCollector.java
index 4dfbe2e..4f7e04f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/ModelHitCollector.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/ModelHitCollector.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2013-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -44,12 +44,12 @@
 
 	public ModelHitCollector(final Pattern pattern, final Class<INamed> filter, final boolean isFileScope,
 			final EObject model, final IEditorInput input) {
-		this.searchResult = new ModelSearchResult(this);
-		this.namePattern = pattern;
-		this.filterClass = filter;
-		this.fileScope = isFileScope;
+		searchResult = new ModelSearchResult(this);
+		namePattern = pattern;
+		filterClass = filter;
+		fileScope = isFileScope;
 		this.model = model;
-		this.editorInput = input;
+		editorInput = input;
 	}
 
 	/**
@@ -60,7 +60,7 @@
 	 */
 	@Override
 	public IStatus run(final IProgressMonitor monitor) {
-		this.searchResult.removeAll();
+		searchResult.removeAll();
 
 		// search the index
 		Set<? extends INamed> resultSet = AmaltheaIndex.getElements(model, namePattern, filterClass);
@@ -70,7 +70,7 @@
 		for (INamed element : resultSet) {
 			if (model.eResource() == element.eResource()) {
 				// element is opened in current editor
-				this.searchResult.addMatch(new SearchMatch(element, 0, 0, editorInput));
+				searchResult.addMatch(new SearchMatch(element, 0, 0, editorInput));
 			} else {
 				// element is in a different file
 				if (! fileScope) {
@@ -80,7 +80,7 @@
 						input = AmaltheaEditorUtil.getIEditorInput(element);
 						editorInputMap.put(element.eResource(), input);
 					}
-					this.searchResult.addMatch(new SearchMatch(element, 0, 0, input));
+					searchResult.addMatch(new SearchMatch(element, 0, 0, input));
 				}
 			}
 		}
@@ -117,7 +117,7 @@
 	 */
 	@Override
 	public ISearchResult getSearchResult() {
-		return this.searchResult;
+		return searchResult;
 	}
 
 }
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/ModelSearchResult.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/ModelSearchResult.java
index 0db9cba..b752dcc 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/ModelSearchResult.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/ModelSearchResult.java
@@ -1,16 +1,16 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- *  
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
- *     
+ *
  ********************************************************************************
  */
 
@@ -68,7 +68,7 @@
 	 */
 	@Override
 	public ISearchQuery getQuery() {
-		return this.query;
+		return query;
 	}
 
 	/**
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/ModelSearchResultView.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/ModelSearchResultView.java
index 7e55450..028af84 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/ModelSearchResultView.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/ModelSearchResultView.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2013-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -49,13 +49,13 @@
 
 	public ModelSearchResultView() {
 		super(FLAG_LAYOUT_FLAT + FLAG_LAYOUT_TREE);
-		this.toggleGroupViewAction = new ToggleGroupViewAction("Group by Type"); //$NON-NLS-1$
+		toggleGroupViewAction = new ToggleGroupViewAction("Group by Type"); //$NON-NLS-1$
 		// image taken from
 		// https://github.com/eclipse/mylyn.commons/blob/d95886e9e377efa663da5901661d20e5e0da9a49/org.eclipse.mylyn.commons.ui/icons/etool16/presentation.gif
 		Optional<ImageDescriptor> imgDesc = ResourceLocator.imageDescriptorFromBundle(AmaltheaUIPlugin.getPluginId(),
 				"/icons/full/obj16/presentation.gif"); //$NON-NLS-1$
 		if (imgDesc.isPresent()) {
-			this.toggleGroupViewAction.setImageDescriptor(imgDesc.get());
+			toggleGroupViewAction.setImageDescriptor(imgDesc.get());
 		}
 	}
 
@@ -65,12 +65,12 @@
 	@Override
 	protected void elementsChanged(final Object[] objects) {
 		if (getLayout() == FLAG_LAYOUT_FLAT) {
-			if (null != this.contentProvider) {
-				this.contentProvider.addElements(objects);
+			if (null != contentProvider) {
+				contentProvider.addElements(objects);
 			}
 		} else {
-			if (null != this.contentTreeProvider) {
-				this.contentTreeProvider.addElements(objects);
+			if (null != contentTreeProvider) {
+				contentTreeProvider.addElements(objects);
 			}
 		}
 		getViewer().refresh();
@@ -104,12 +104,12 @@
 	@Override
 	protected void clear() {
 		if (getLayout() == FLAG_LAYOUT_FLAT) {
-			if (null != this.contentProvider) {
-				this.contentProvider.clear();
+			if (null != contentProvider) {
+				contentProvider.clear();
 			}
 		} else {
-			if (null != this.contentTreeProvider) {
-				this.contentTreeProvider.clear();
+			if (null != contentTreeProvider) {
+				contentTreeProvider.clear();
 			}
 		}
 		getViewer().refresh();
@@ -120,8 +120,8 @@
 	 */
 	@Override
 	protected void configureTreeViewer(final TreeViewer viewer) {
-		this.contentTreeProvider = new SearchResultTreeContentProvider();
-		viewer.setContentProvider(this.contentTreeProvider);
+		contentTreeProvider = new SearchResultTreeContentProvider();
+		viewer.setContentProvider(contentTreeProvider);
 		viewer.setLabelProvider(new DecoratingStyledCellLabelProvider(new SearchResultTreeLabelProvider(),
 				PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator(), null));
 	}
@@ -131,8 +131,8 @@
 	 */
 	@Override
 	protected void configureTableViewer(final TableViewer viewer) {
-		this.contentProvider = new SearchResultContentProvider();
-		viewer.setContentProvider(this.contentProvider);
+		contentProvider = new SearchResultContentProvider();
+		viewer.setContentProvider(contentProvider);
 		viewer.setLabelProvider(new SearchResultLabelProvider());
 	}
 
@@ -174,9 +174,7 @@
 	 */
 	@Override
 	public void setLayout(int layout) {
-		if (!isLayoutSupported(layout))
-			return;
-		if (getLayout() == layout)
+		if (!isLayoutSupported(layout) || (getLayout() == layout))
 			return;
 
 		getViewer().setSelection(StructuredSelection.EMPTY, false);
@@ -191,7 +189,7 @@
 	protected void fillToolbar(final IToolBarManager tbm) {
 		super.fillToolbar(tbm);
 
-		tbm.appendToGroup(IContextMenuConstants.GROUP_VIEWER_SETUP, this.toggleGroupViewAction);
+		tbm.appendToGroup(IContextMenuConstants.GROUP_VIEWER_SETUP, toggleGroupViewAction);
 	}
 
 	private class ToggleGroupViewAction extends Action {
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchMatch.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchMatch.java
index 698a7df..856b63a 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchMatch.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchMatch.java
@@ -1,16 +1,16 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- *  
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
- *     
+ *
  ********************************************************************************
  */
 
@@ -20,8 +20,8 @@
 import org.eclipse.ui.IEditorInput;
 
 /**
- * 
- * 
+ *
+ *
  */
 public class SearchMatch extends Match {
 
@@ -43,7 +43,7 @@
 	 * @return the editorInput
 	 */
 	public IEditorInput getEditorInput() {
-		return this.editorInput;
+		return editorInput;
 	}
 
 }
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultContentProvider.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultContentProvider.java
index fd09cfe..50b0155 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultContentProvider.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultContentProvider.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2013-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -25,7 +25,7 @@
 public class SearchResultContentProvider implements IStructuredContentProvider {
 
 	private static final Object[] NO_OBJECTS = {};
-	
+
 	private ModelSearchResult searchResult;
 	private Object[] elements = NO_OBJECTS;
 
@@ -41,7 +41,7 @@
 	 * Clears the current search result
 	 */
 	public void clear() {
-		this.elements = NO_OBJECTS;
+		elements = NO_OBJECTS;
 	}
 
 	/**
@@ -52,13 +52,13 @@
 	public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {
 		clear();
 		if (newInput instanceof ModelSearchResult) {
-			this.searchResult = (ModelSearchResult) newInput;
-			
-			this.elements = this.searchResult.getElements();
-			Arrays.parallelSort(this.elements, new ObjectComparator());
+			searchResult = (ModelSearchResult) newInput;
+
+			elements = searchResult.getElements();
+			Arrays.parallelSort(elements, new ObjectComparator());
 		}
 		else {
-			this.searchResult = null;
+			searchResult = null;
 		}
 	}
 
@@ -66,11 +66,11 @@
 		if (newElements.length == 0) {
 			return;	// nothing to add
 		}
-		
-		this.elements = concatenate(this.elements, newElements);
-		Arrays.parallelSort(this.elements, new ObjectComparator());
+
+		elements = concatenate(elements, newElements);
+		Arrays.parallelSort(elements, new ObjectComparator());
 	}
-	
+
 	private Object[] concatenate(Object[] a, Object[] b) {
 	    int aLen = a.length;
 	    int bLen = b.length;
@@ -87,14 +87,14 @@
 	 */
 	@Override
 	public Object[] getElements(final Object inputElement) {
-		if (inputElement != this.searchResult) {
-			return NO_OBJECTS;			
+		if (inputElement != searchResult) {
+			return NO_OBJECTS;
 		}
 
-		return this.elements;
+		return elements;
 	}
 
-	private class ObjectComparator implements Comparator<Object> {
+	private static class ObjectComparator implements Comparator<Object> {
 
 		/**
 		 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
@@ -103,7 +103,7 @@
 		public int compare(final Object o1, final Object o2) {
 			final INamed n1 = (INamed) o1;
 			final INamed n2 = (INamed) o2;
-			
+
 			if (n1.getName() != null && n2.getName() != null) {
 				return n1.getName().compareTo(n2.getName());
 			}
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultLabelProvider.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultLabelProvider.java
index 190476f..a5205d4 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultLabelProvider.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultLabelProvider.java
@@ -1,16 +1,16 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- *  
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
- *     
+ *
  ********************************************************************************
  */
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultTreeContentProvider.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultTreeContentProvider.java
index 653540f..2b6b8d7 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultTreeContentProvider.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultTreeContentProvider.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2013-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -49,8 +49,8 @@
 	 * Clears the current search result
 	 */
 	public void clear() {
-		this.elements = NO_OBJECTS;
-		this.types = NO_NODES;
+		elements = NO_OBJECTS;
+		types = NO_NODES;
 	}
 
 	/**
@@ -61,12 +61,12 @@
 	public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {
 		clear();
 		if (newInput instanceof ModelSearchResult) {
-			this.searchResult = (ModelSearchResult) newInput;
+			searchResult = (ModelSearchResult) newInput;
 
-			this.elements = this.searchResult.getElements();
-			Arrays.parallelSort(this.elements, new ObjectComparator());
+			elements = searchResult.getElements();
+			Arrays.parallelSort(elements, new ObjectComparator());
 		} else {
-			this.searchResult = null;
+			searchResult = null;
 		}
 	}
 
@@ -76,10 +76,10 @@
 		}
 
 		// update and sort elements array
-		this.elements = concatenate(this.elements, newElements);
-		Arrays.parallelSort(this.elements, new ObjectComparator());
+		elements = concatenate(elements, newElements);
+		Arrays.parallelSort(elements, new ObjectComparator());
 		// reset nodes array
-		this.types = NO_NODES;
+		types = NO_NODES;
 	}
 
 	private Object[] concatenate(Object[] a, Object[] b) {
@@ -98,14 +98,14 @@
 	 */
 	@Override
 	public Object[] getElements(final Object inputElement) {
-		if (inputElement != this.searchResult || elements.length == 0) {
+		if (inputElement != searchResult || elements.length == 0) {
 			return NO_OBJECTS;
 		}
 
-		if (this.types.length == 0) {
+		if (types.length == 0) {
 			// create nodes and group by element type
 			HashMap<String, List<TreeNode>> tmpMap = new HashMap<>();
-			for (Object element : this.elements) {
+			for (Object element : elements) {
 				String className = element.getClass().getName();
 				TreeNode node = new TreeNode(element);
 				List<TreeNode> tmpList;
@@ -128,9 +128,9 @@
 				typeNode.setChildren(nodeList.toArray(new TreeNode[nodeList.size()]));
 				typeList.add(typeNode);
 			}
-			this.types = typeList.toArray(new TreeNode[typeList.size()]);
+			types = typeList.toArray(new TreeNode[typeList.size()]);
 		}
-		return this.types;
+		return types;
 	}
 
 	/**
@@ -142,7 +142,7 @@
 		return (tmp != null) ? tmp : NO_OBJECTS;
 	}
 
-	private class ObjectComparator implements Comparator<Object> {
+	private static class ObjectComparator implements Comparator<Object> {
 
 		/**
 		 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultTreeLabelProvider.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultTreeLabelProvider.java
index 0f68e50..a5f53e3 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultTreeLabelProvider.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/SearchResultTreeLabelProvider.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2013-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/handlers/SearchDialog.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/handlers/SearchDialog.java
index ac1a948..9116340 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/handlers/SearchDialog.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/handlers/SearchDialog.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -33,13 +33,13 @@
 import org.eclipse.swt.widgets.Text;
 
 public class SearchDialog extends TitleAreaDialog {
-	
+
 	private SearchDialogSettings settings;
 
 	private Text txtNamePattern;
 	private Label lblSyntaxDescription;
 	private Button btnCaseSensitive;
-	private Button btnRegularExpression;	
+	private Button btnRegularExpression;
 	private Combo cmbClassFilter;
 	private Button btnScopeCurrentFile;
 	private Button btnScopeFolder;
@@ -53,7 +53,7 @@
 		super(parentShell);
 		setShellStyle(SWT.APPLICATION_MODAL | SWT.DIALOG_TRIM | SWT.RESIZE);
 		setHelpAvailable(false);
-		
+
 		if (set != null)
 			settings = set;
 		else
@@ -82,7 +82,7 @@
 	@Override
 	public void create() {
 		super.create();
-		
+
 		// handle settings - initialize UI
 		copySettings2UI();
 	}
@@ -94,7 +94,7 @@
 			settings.m_success = true;
 			copyUI2Settings();
 		}
-		
+
 		super.setReturnCode(code);
 	}
 
@@ -107,7 +107,7 @@
 		setTitle("Search for model elements");
 		setMessage("Query the name attribute of model elements.");
 		Composite dialog = (Composite) super.createDialogArea(parent);
-		
+
 		Composite container = new Composite(dialog, SWT.NONE);
 		container.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1));
 		GridLayout layout = new GridLayout();
@@ -117,56 +117,56 @@
 		layout.makeColumnsEqualWidth = false;
 		layout.numColumns = 2;
 		container.setLayout(layout);
-		
+
 		Label lblName = new Label(container, SWT.NONE);
 		lblName.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
 		lblName.setText("Name:");
-		
+
 		txtNamePattern = new Text(container, SWT.BORDER);
 		txtNamePattern.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
-		
+
 		new Label(container, SWT.NONE);
 		lblSyntaxDescription = new Label(container, SWT.NONE);
 		lblSyntaxDescription.setText("(* = any string, ? = any character, \\ = escape for literals: * ? \\)");
-		
+
 		Label separator0 = new Label(container, SWT.NONE);
 		GridData gd_separator0 = new GridData(SWT.FILL, SWT.CENTER, false, false, 2, 1);
 		gd_separator0.heightHint = 8;
 		separator0.setLayoutData(gd_separator0);
-		
+
 		new Label(container, SWT.NONE);
 		btnCaseSensitive = new Button(container, SWT.CHECK);
 		btnCaseSensitive.setText("Case sensitive");
-		
+
 		new Label(container, SWT.NONE);
 		btnRegularExpression = new Button(container, SWT.CHECK);
 		btnRegularExpression.setText("Regular expression");
-		
+
 		Label separator1 = new Label(container, SWT.SEPARATOR | SWT.HORIZONTAL);
 		GridData gd_separator1 = new GridData(SWT.FILL, SWT.CENTER, false, false, 2, 1);
 		gd_separator1.heightHint = 8;
 		separator1.setLayoutData(gd_separator1);
-		
+
 		Label lblFilter = new Label(container, SWT.NONE);
 		lblFilter.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
 		lblFilter.setText("Filter:");
-		
+
 		cmbClassFilter = new Combo(container, SWT.READ_ONLY);
 		cmbClassFilter.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
-		
+
 		Label lblScope = new Label(container, SWT.NONE);
 		lblScope.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
 		lblScope.setText("Scope:");
-		
+
 		Composite composite = new Composite(container, SWT.NONE);
 		FillLayout fl_composite = new FillLayout(SWT.HORIZONTAL);
 		fl_composite.spacing = 10;
 		composite.setLayout(fl_composite);
 		composite.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1));
-		
+
 		btnScopeCurrentFile = new Button(composite, SWT.RADIO);
 		btnScopeCurrentFile.setText("Current file");
-		
+
 		btnScopeFolder = new Button(composite, SWT.RADIO);
 		btnScopeFolder.setText("Folder");
 		btnScopeFolder.setSelection(true);
@@ -182,7 +182,7 @@
 				lblSyntaxDescription.setVisible(!btnRegularExpression.getSelection());
 			}
 		});
-		
+
 		return container;
 	}
 
@@ -193,7 +193,7 @@
 	@Override
 	protected void createButtonsForButtonBar(Composite parent) {
 		super.createButtonsForButtonBar(parent);
-		
+
 		Button searchButton = getButton(IDialogConstants.OK_ID);
 		searchButton.setText("Search");
 	}
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/handlers/SearchDialogSettings.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/handlers/SearchDialogSettings.java
index a7e5ce5..e2c23af 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/handlers/SearchDialogSettings.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/search/handlers/SearchDialogSettings.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -34,7 +34,7 @@
 	private static final String KEY_CASE_SENSITIVE = "Search_CaseSensitive";
 	private static final String KEY_REGEX = "Search_RegularExpression";
 	private static final String KEY_FILE_SCOPE = "Search_FileScope";
-	
+
 	private final EClass FILTER_CLASS_DEFAULT = AmaltheaPackage.eINSTANCE.getINamed();
 	private final Map<String, EClass> FILTER_CLASS_MAP = computeSubclassMap();
 
@@ -52,17 +52,17 @@
 	public boolean isSearchRestrictedToFile() {
 		return m_restrictToFile;
 	}
-	
+
 	@SuppressWarnings("unchecked")
 	public Class<INamed> computeFilterClass() {
 		EClass eClass = FILTER_CLASS_MAP.get(m_filterClassName);
 		if (eClass == null) return null;
-		
+
 		return (Class<INamed>) eClass.getInstanceClass();
 	}
 
 	public Pattern computeSearchPattern() {
-		if (m_success == false)
+		if (!m_success)
 			return null;
 
 		StringBuilder pattern = new StringBuilder();
@@ -77,7 +77,7 @@
 				return null;
 			}
 		}
-		
+
 		// simple pattern
 		boolean quoted = false;
 		StringBuilder buffer = new StringBuilder();
@@ -105,7 +105,7 @@
 
 	public void saveTo(IDialogSettings store) {
 		if (store == null) return;
-		
+
 		store.put(KEY_NAME_PATTERN, m_namePattern);
 		store.put(KEY_CLASS_NAME, m_filterClassName);
 		store.put(KEY_CASE_SENSITIVE, m_caseSensitive);
@@ -115,7 +115,7 @@
 
 	public void loadFrom(IDialogSettings store) {
 		if (store == null) return;
-		
+
 		if (store.get(KEY_NAME_PATTERN) != null) m_namePattern = store.get(KEY_NAME_PATTERN);
 		if (store.get(KEY_CLASS_NAME) != null) m_filterClassName = store.get(KEY_CLASS_NAME);
 		if (store.get(KEY_CASE_SENSITIVE) != null) m_caseSensitive = store.getBoolean(KEY_CASE_SENSITIVE);
@@ -139,5 +139,5 @@
 		}
 		return Collections.unmodifiableMap(classMap);
 	}
-	
+
 }
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/util/AmaltheaEditorUtil.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/util/AmaltheaEditorUtil.java
index 7501be6..297e51c 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/util/AmaltheaEditorUtil.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/editor/util/AmaltheaEditorUtil.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -80,7 +80,7 @@
 	public static IFile getIFile(IEditorInput editorInput) {
 		if (editorInput == null)
 			return null;
-	
+
 		// get file
 		return editorInput.getAdapter(IFile.class);
 	}
@@ -88,12 +88,12 @@
 	public static IContainer getIContainer(IEditorInput editorInput) {
 		if (editorInput == null)
 			return null;
-	
+
 		// get file resource
 		IResource iResource = editorInput.getAdapter(IResource.class);
 		if (iResource == null)
 			return null;
-	
+
 		// get container
 		return iResource.getParent();
 	}
@@ -119,7 +119,7 @@
 	public static Resource getResource(IEditorInput editorInput) {
 		if (editorInput == null)
 			return null;
-		
+
 		AmaltheaModelContainer container = getModelContainer(editorInput);
 		URI uri = EditUIUtil.getURI(editorInput);
 		if (container == null || container.getResourceSet() == null || uri == null)
@@ -135,11 +135,11 @@
 	public static Amalthea getModel(Resource resource) {
 		if (resource == null || resource.getContents().isEmpty())
 			return null;
-	
+
 		EObject eObject = resource.getContents().get(0);
 		if (!(eObject instanceof Amalthea))
 			return null;
-	
+
 		return (Amalthea) eObject;
 	}
 
@@ -231,7 +231,7 @@
 				 return new FileEditorInput((IFile) workspaceResource);
 			}
 		}
-		
+
 		// fallback: create URIEditorInput
 		return new URIEditorInput(uri);
 	}
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/AmaltheaUIPlugin.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/AmaltheaUIPlugin.java
index c30a6cd..e9b3d5a 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/AmaltheaUIPlugin.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/AmaltheaUIPlugin.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2013 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/ExtendedAmaltheaActionBarContributor.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/ExtendedAmaltheaActionBarContributor.java
index c07c036..e4b4d9f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/ExtendedAmaltheaActionBarContributor.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/ExtendedAmaltheaActionBarContributor.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/ExtendedAmaltheaEditor.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/ExtendedAmaltheaEditor.java
index 837fc01..909c2f6 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/ExtendedAmaltheaEditor.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/ExtendedAmaltheaEditor.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -55,7 +55,6 @@
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchPartSite;
 import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.EditorPart;
 import org.eclipse.ui.views.properties.PropertySheetPage;
 import org.osgi.service.event.EventHandler;
 
@@ -88,7 +87,7 @@
 	}
 
 	public void enableShowTypes(boolean enabled) {
-		this.showTypes = enabled;
+		showTypes = enabled;
 	}
 
 	@Override
@@ -100,7 +99,7 @@
 
 	/**
 	 * Initializes the editor.
-	 * 
+	 *
 	 * Additions:
 	 * <ul>
 	 * <li>register editor at common model container</li>
@@ -157,7 +156,7 @@
 
 	/**
 	 * This is the method used by the framework to install your own controls.
-	 * 
+	 *
 	 * Modifications (compared to superclass):
 	 * <ul>
 	 * <li>find corresponding resource of editorInput</li>
@@ -296,7 +295,7 @@
 		// update compressed decorator
 		IDecoratorManager decoratorMgr = PlatformUI.getWorkbench().getDecoratorManager();
 		if (decoratorMgr != null) {
-			decoratorMgr.update("org.eclipse.app4mc.amalthea.file.compressed.decorator");			
+			decoratorMgr.update("org.eclipse.app4mc.amalthea.file.compressed.decorator");
 		}
 	}
 
@@ -340,7 +339,7 @@
 		if (broker == null)
 			return;
 
-		broker.subscribe("org/eclipse/app4mc/amalthea/editor/SELECT", this.selectionListener);
+		broker.subscribe("org/eclipse/app4mc/amalthea/editor/SELECT", selectionListener);
 	}
 
 	/**
@@ -357,7 +356,7 @@
 
 		// not really necessary as there is one EventBroker instance per EclipseContext
 		// but it is a good practice to clean up what we have registered
-		broker.unsubscribe(this.selectionListener);
+		broker.unsubscribe(selectionListener);
 	}
 
 	/*
@@ -374,9 +373,9 @@
 	@Override
 	public void setSelection(ISelection selection) {
 		super.setSelection(selection);
-	
+
 		if (!Util.isWindows()) return; // No Windows OS -> no workaround required
-	
+
 		// *** Workaround: additional redraw ***
 		Viewer viewer = getViewer();
 		if (viewer != null) {
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/ExtendedAmaltheaModelWizard.java b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/ExtendedAmaltheaModelWizard.java
index 8075689..2388b6b 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/ExtendedAmaltheaModelWizard.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.editor.extended/src/org/eclipse/app4mc/amalthea/model/presentation/ExtendedAmaltheaModelWizard.java
@@ -1,13 +1,13 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * *******************************************************************************
  */
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaCrossReferenceAdapter.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaCrossReferenceAdapter.java
index fbe13bd..ab9d461 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaCrossReferenceAdapter.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaCrossReferenceAdapter.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -44,12 +44,12 @@
 	private static final String ARG_PATTERN_MESSAGE = "Pattern argument is null, expected: Pattern";
 	private static final String ARG_CLASS_MESSAGE = "Class argument is null, expected: Class<T extends INamed>";
 	private static final String ARG_STREAM_MESSAGE = "Stream argument is null, expected: PrintStream";
-	
+
 	private final Map<String, Set<INamed>> nameIndex = new HashMap<>();
 
 	public @NonNull Set<@NonNull INamed> getElements(final @NonNull String name) {
 		checkArgument(name != null, ARG_NAME_MESSAGE);
-		
+
 		return getElements(name, INamed.class);
 	}
 
@@ -57,9 +57,9 @@
 	public <T extends INamed> @NonNull Set<@NonNull T> getElements(final @NonNull String name, final @NonNull Class<T> targetClass) {
 		checkArgument(name != null, ARG_NAME_MESSAGE);
 		checkArgument(targetClass != null, ARG_CLASS_MESSAGE);
-		
+
 		final Set<T> result = new HashSet<>();
-		final Set<INamed> values = this.nameIndex.get(name);
+		final Set<INamed> values = nameIndex.get(name);
 		if (values != null) {
 			for (final INamed namedObject : values) {
 				if (targetClass.isInstance(namedObject)) {
@@ -72,7 +72,7 @@
 
 	public @NonNull Set<@NonNull INamed> getElements(final @NonNull Pattern namePattern) {
 		checkArgument(namePattern != null, ARG_PATTERN_MESSAGE);
-		
+
 		return getElements(namePattern, INamed.class);
 	}
 
@@ -80,9 +80,9 @@
 	public <T extends INamed> @NonNull Set<@NonNull T> getElements(final @NonNull Pattern namePattern, final @NonNull Class<T> targetClass) {
 		checkArgument(namePattern != null, ARG_PATTERN_MESSAGE);
 		checkArgument(targetClass != null, ARG_CLASS_MESSAGE);
-		
+
 		final Set<T> result = new HashSet<>();
-		for (final Map.Entry<String, Set<INamed>> entry : this.nameIndex.entrySet()) {
+		for (final Map.Entry<String, Set<INamed>> entry : nameIndex.entrySet()) {
 			if (namePattern.matcher(entry.getKey()).matches()) {
 				for (final INamed namedObject : entry.getValue()) {
 					if (targetClass.isInstance(namedObject)) {
@@ -97,9 +97,9 @@
 	@SuppressWarnings("null")
 	public <T extends INamed> @NonNull Set<@NonNull T> getElements(final @NonNull Class<T> targetClass) {
 		checkArgument(targetClass != null, ARG_CLASS_MESSAGE);
-		
+
 		final Set<T> result = new HashSet<>();
-		for (final Map.Entry<String, Set<INamed>> entry : this.nameIndex.entrySet()) {
+		for (final Map.Entry<String, Set<INamed>> entry : nameIndex.entrySet()) {
 			for (final INamed namedObject : entry.getValue()) {
 				if (targetClass.isInstance(namedObject)) {
 					result.add(targetClass.cast(namedObject));
@@ -111,35 +111,35 @@
 
 	/**
 	 * Returns sets of objects with the same type and same unique name
-	 * 
+	 *
 	 * @return Sets of objects
 	 */
 	@SuppressWarnings("null")
 	public @NonNull List<@NonNull Set<@NonNull IReferable>> getObjectsWithConflictingNames() {
 		final @NonNull List<@NonNull Set<@NonNull IReferable>> result = new ArrayList<>();
-		
+
 		for (Set<INamed> objects : nameIndex.values()) {
 			if (objects.size() < 2) continue;
-			
+
 			Map<?, List<IReferable>> map1 = objects.stream()
 				.filter(obj -> obj instanceof IReferable)
 				.map(IReferable.class::cast)
 				.collect(Collectors.groupingBy(IReferable::getClass));
-			 
+
 			for (List<IReferable> objectsWithSameType : map1.values()) {
 				if (objectsWithSameType.size() < 2) continue;
-				
+
 				Map<String, List<IReferable>> map2 = objectsWithSameType.stream()
 					.collect(Collectors.groupingBy(IReferable::getUniqueName));
-				
+
 				for (List<IReferable> objectsWithSameUniqueName : map2.values()) {
 					if (objectsWithSameUniqueName.size() < 2) continue;
-					
+
 					result.add(new HashSet<>(objectsWithSameUniqueName));
 				}
 			}
 		}
-		
+
 		return result;
 	}
 
@@ -189,18 +189,18 @@
 
 	private void addToNameIndex(final INamed eObject, final String name) {
 		if (name != null) {
-			Set<INamed> objSet = this.nameIndex.computeIfAbsent(name, k -> new HashSet<>());
+			Set<INamed> objSet = nameIndex.computeIfAbsent(name, k -> new HashSet<>());
 			objSet.add(eObject);
 		}
 	}
 
 	private void removeFromNameIndex(final INamed eObject, final String name) {
 		if (name != null) {
-			final Set<INamed> objSet = this.nameIndex.get(name);
+			final Set<INamed> objSet = nameIndex.get(name);
 			if (objSet != null) {
 				objSet.remove(eObject);
 				if (objSet.isEmpty()) {
-					this.nameIndex.remove(name);
+					nameIndex.remove(name);
 				}
 			}
 		}
@@ -300,16 +300,16 @@
 
 	/**
 	 * Dumps adapter info to a print stream
-	 * 
+	 *
 	 * @param stream	output stream (use System.out to print to console)
 	 */
 	public void dumpInfo(final @NonNull PrintStream stream) {
 		checkArgument(stream != null, ARG_STREAM_MESSAGE);
-		
+
 		stream.println("Amalthea Cross Reference Adapter {");
-		
-		stream.println("  Id: " + this.getClass().getName() + '@' + Integer.toHexString(this.hashCode()));
-	    
+
+		stream.println("  Id: " + this.getClass().getName() + '@' + Integer.toHexString(hashCode()));
+
 		stream.print("  Resources: ");
 		Set<Resource> resources = inverseCrossReferencer.keySet().stream()
 			.map(EObject::eResource).filter(Objects::nonNull).collect(Collectors.toSet());
@@ -322,15 +322,15 @@
 			}
 			stream.println("  ]");
 		}
-		
+
 		stream.println("  Cross Reference Map size: " + inverseCrossReferencer.size());
 		stream.println("  Name Index size: " + nameIndex.size());
 		stream.println('}');
 	}
-	
+
 	/**
 	 * Dumps cross reference map to a print stream
-	 * 
+	 *
 	 * @param stream	output stream (use System.out to print to console)
 	 */
 	public void dumpCrossReferenceMap(final @NonNull PrintStream stream) {
@@ -343,7 +343,7 @@
 			stream.print("  ");
 			stream.print(description(eObject));
 			stream.print(": ");
-			
+
 			Collection<EStructuralFeature.Setting> collection = entry.getValue();
 			if (collection.isEmpty()) {
 				stream.println("[]");
@@ -351,7 +351,7 @@
 				stream.println("[");
 				for (Iterator<EStructuralFeature.Setting> j = collection.iterator(); j.hasNext();) {
 					EStructuralFeature.Setting setting = j.next();
-					
+
 					EObject object = setting.getEObject();
 					EStructuralFeature feature = setting.getEStructuralFeature();
 					stream.print("    ");
@@ -371,7 +371,7 @@
 
 	/**
 	 * Dumps name index to a print stream
-	 * 
+	 *
 	 * @param stream	output stream (use System.out to print to console)
 	 */
 	public void dumpNameIndex(final @NonNull PrintStream stream) {
@@ -399,7 +399,7 @@
 		StringBuilder result = new StringBuilder();
 		result.append(eObject.eClass().getName());
 		if (eObject instanceof INamed) {
-			result.append(" \"" + ((INamed) eObject).getName() + "\"");			
+			result.append(" \"" + ((INamed) eObject).getName() + "\"");
 		}
 		if (eObject.eContainer() instanceof INamed) {
 			INamed cont = (INamed) eObject.eContainer();
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaExtensions.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaExtensions.java
index 2884db6..135fcea 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaExtensions.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaExtensions.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaIndex.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaIndex.java
index 6d82490..8ac694f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaIndex.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaIndex.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -76,7 +76,7 @@
 	 * <p>
 	 * This method is called from several generated model objects to compute
 	 * an inverse transient reference based on the incoming references.
-	 * 
+	 *
 	 * @param eObject				object that implements a derived transient opposite reference
 	 * @param resultEReference		opposite reference definition (resulting objects are computed)
 	 * @param targetEReferences		list of incoming references
@@ -88,7 +88,7 @@
 		checkArgument(eObject != null, ARG_OBJECT_MESSAGE);
 		checkArgument(resultEReference != null, ARG_RESULT_REFERENCE_MESSAGE);
 		checkArgument(targetEReferences != null, ARG_TARGET_REFERENCES_MESSAGE);
-		
+
 		final AmaltheaCrossReferenceAdapter amaltheaAdapter = getOrCreateAmaltheaAdapter(eObject);
 
 		// Get references from adapter
@@ -112,13 +112,13 @@
 
 	/**
 	 * Returns a set of objects that refer to the given <code>eObject</code>.
-	 * 
+	 *
 	 * @param eObject
 	 * @return Set of objects (EObject)
 	 */
 	public static Set<EObject> getReferringObjects(final @NonNull EObject eObject) {
 		checkArgument(eObject != null, ARG_OBJECT_MESSAGE);
-		
+
 		return getOrCreateAmaltheaAdapter(eObject).getNonNavigableInverseReferences(eObject)
 				.stream()
 				.map(Setting::getEObject)
@@ -127,7 +127,7 @@
 
 	/**
 	 * Returns a type filtered set of objects that refer to the given <code>eObject</code>.
-	 * 
+	 *
 	 * @param eObject
 	 * @param targetClass
 	 * @return Set of objects of given type <T extends EObject>
@@ -135,7 +135,7 @@
 	public static <T extends EObject> Set<T> getReferringObjects(final @NonNull EObject eObject, final @NonNull Class<T> targetClass) {
 		checkArgument(eObject != null, ARG_OBJECT_MESSAGE);
 		checkArgument(targetClass != null, ARG_CLASS_MESSAGE);
-		
+
 		return getOrCreateAmaltheaAdapter(eObject).getNonNavigableInverseReferences(eObject)
 				.stream()
 				.map(Setting::getEObject)
@@ -143,7 +143,7 @@
 				.map(targetClass::cast)
 				.collect(Collectors.toSet());
 	}
-	
+
 	/**
 	 * Returns a filtered set of objects that refer to the given <code>eObject</code>
 	 * <p>
@@ -152,7 +152,7 @@
 	 * <li>type (<code>targetClass</code>)</li>
 	 * <li>reference (<code>targetEReference</code>)</li>
 	 * </ul>
-	 * 
+	 *
 	 * @param eObject
 	 * @param targetClass
 	 * @param targetEReference
@@ -162,7 +162,7 @@
 		checkArgument(eObject != null, ARG_OBJECT_MESSAGE);
 		checkArgument(targetEReference != null, ARG_TARGET_REFERENCE_MESSAGE);
 		checkArgument(targetClass != null, ARG_CLASS_MESSAGE);
-		
+
 		return getOrCreateAmaltheaAdapter(eObject).getNonNavigableInverseReferences(eObject)
 				.stream()
 				.filter(setting -> setting.getEStructuralFeature() == targetEReference)
@@ -174,7 +174,7 @@
 
 	public static IReferable getEObjectByID(final @NonNull Notifier context, final @Nullable String id) {
 		checkArgument(context != null, ARG_NOTIFIER_MESSAGE);
-		
+
 		if (id == null || id.isEmpty()) return null;
 
 		int beginIndex = id.contains("/") ? id.lastIndexOf('/') + 1 : 0;
@@ -186,7 +186,7 @@
 			for (IReferable elem : getElements(context, name, IReferable.class)) {
 				// first check the type because computation of unique name is more expensive
 				if (id.endsWith(elem.eClass().getName()) && id.equals(elem.getUniqueName())) {
-					return elem;					
+					return elem;
 				}
 			}
 		}
@@ -196,10 +196,10 @@
 
 	public static List<Set<IReferable>> getObjectsWithConflictingNames(final @NonNull Notifier context) {
 		checkArgument(context != null, ARG_NOTIFIER_MESSAGE);
-		
+
 		// call index
 		@NonNull List<@NonNull Set<@NonNull IReferable>> list = getOrCreateAmaltheaAdapter(context).getObjectsWithConflictingNames();
-		
+
 		// filter scope
 		List<Set<IReferable>> result = new ArrayList<>();
 		for (Set<IReferable> initialSet : list) {
@@ -208,7 +208,7 @@
 				result.add(filteredSet);
 			}
 		}
-		
+
 		return result;
 	}
 
@@ -216,27 +216,27 @@
 	 * Creates the index explicitly. If the index is already available the method will have no effect.
 	 * <p>
 	 * This method is optional. Normally the index will be built on demand.
-	 * 
+	 *
 	 * @param eObject
 	 */
 	public static void buildIndex(final @NonNull Notifier context) {
 		checkArgument(context != null, ARG_NOTIFIER_MESSAGE);
-		
+
 		getOrCreateAmaltheaAdapter(context);
 	}
-	
+
 	/**
 	 * Deletes the object from its {@link EObject#eResource containing} resource
 	 * and/or its {@link EObject#eContainer containing} object as well as from any
 	 * other feature that references it within the enclosing root context
 	 * (resource set, resource or root object). Contained children of the object
 	 * are similarly removed from any features that reference them.
-	 * 
+	 *
 	 * @param eObject object to delete
 	 */
 	public static void delete(final @NonNull EObject eObject) {
 		checkArgument(eObject != null, ARG_OBJECT_MESSAGE);
-		
+
 		ArrayList<EObject> list = new ArrayList<>();
 		list.add(eObject);
 		deleteAll(list, true);
@@ -249,12 +249,12 @@
 	 * other feature that references it within the enclosing root context
 	 * (resource set, resource or root object). Contained children of the object
 	 * are similarly removed from any features that reference them.
-	 * 
+	 *
 	 * @param eObjects objects to delete
 	 */
 	public static void deleteAll(final @NonNull Collection<? extends EObject> eObjects) {
 		checkArgument(eObjects != null, ARG_COLLECTION_MESSAGE);
-		
+
 		deleteAll(eObjects, true);
 	}
 
@@ -266,23 +266,23 @@
 	 * (resource set, resource or root object).
 	 * If recursive is true, contained children of the object are similarly removed
 	 * from any features that reference them.
-	 * 
+	 *
 	 * @param eObjects objects to delete
 	 * @param recursive true: contained children should also be deleted
 	 */
 	public static void deleteAll(final @NonNull Collection<? extends EObject> eObjects, boolean recursive) {
 		checkArgument(eObjects != null, ARG_COLLECTION_MESSAGE);
-		
+
 		@SuppressWarnings("null")
 		Set<@NonNull ? extends EObject> objectsToDelete = eObjects.stream()
 				.filter(Objects::nonNull).collect(Collectors.toSet());
-		
+
 		// extended argument check: ensure a common context
-		
+
 		Notifier commonContext = ensureCommonContext(objectsToDelete);
 		if (commonContext == null)
 			return;
-		
+
 		// collect objects to delete
 
 		Set<EObject> eAllObjects = new HashSet<>();
@@ -297,9 +297,9 @@
 		}
 		// add original objects
 		eAllObjects.addAll(objectsToDelete);
-		
+
 		// delete the objects
-		
+
 		final AmaltheaCrossReferenceAdapter amaltheaAdapter = getOrCreateAmaltheaAdapter(commonContext);
 		for (final EObject eObject : eAllObjects) {
 			final Collection<Setting> inverseReferences = amaltheaAdapter.getInverseReferences(eObject);
@@ -330,7 +330,7 @@
 
 	/**
 	 * Finds elements by class
-	 * 
+	 *
 	 * @param context EObject, Resource or ResourceSet
 	 * @param targetClass for example: <code>Label.class</code>
 	 * @return Set of named objects (INamed)
@@ -338,15 +338,15 @@
 	public static <T extends INamed> Set<T> getElements(final @NonNull Notifier context, final @NonNull Class<T> targetClass) {
 		checkArgument(context != null, ARG_NOTIFIER_MESSAGE);
 		checkArgument(targetClass != null, ARG_CLASS_MESSAGE);
-		
+
 		@NonNull Set<@NonNull T> elements = getOrCreateAmaltheaAdapter(context).getElements(targetClass);
-		
+
 		return filterElements(context, elements);
 	}
 
 	/**
 	 * Finds elements by name and class
-	 * 
+	 *
 	 * @param context EObject, Resource or ResourceSet
 	 * @param name String
 	 * @param targetClass for example: <code>Label.class</code>
@@ -357,15 +357,15 @@
 		checkArgument(context != null, ARG_NOTIFIER_MESSAGE);
 		checkArgument(name != null, ARG_NAME_MESSAGE);
 		checkArgument(targetClass != null, ARG_CLASS_MESSAGE);
-		
+
 		@NonNull Set<@NonNull T> elements = getOrCreateAmaltheaAdapter(context).getElements(name, targetClass);
-		
+
 		return filterElements(context, elements);
 	}
 
 	/**
 	 * Finds elements by name pattern and class
-	 * 
+	 *
 	 * @param context EObject, Resource or ResourceSet
 	 * @param namePattern for example: <code>Pattern.compile("Prefix_.*")</code>
 	 * @param targetClass for example: <code>Label.class</code>
@@ -376,15 +376,15 @@
 		checkArgument(context != null, ARG_NOTIFIER_MESSAGE);
 		checkArgument(namePattern != null, ARG_PATTERN_MESSAGE);
 		checkArgument(targetClass != null, ARG_CLASS_MESSAGE);
-		
+
 		@NonNull Set<@NonNull T> elements = getOrCreateAmaltheaAdapter(context).getElements(namePattern, targetClass);
-		
+
 		return filterElements(context, elements);
 	}
 
 	/**
 	 * Dumps adapter info to a print stream
-	 * 
+	 *
 	 * @param context	EObject, Resource or ResourceSet
 	 * @param info		content selector <ul>
 	 * 					<li> 1 - basic adapter info (resources, size of maps)
@@ -397,7 +397,7 @@
 		checkArgument(stream != null, ARG_STREAM_MESSAGE);
 
 		AmaltheaCrossReferenceAdapter adapter = getOrCreateAmaltheaAdapter(context);
-		
+
 		switch (info) {
 		case 1: adapter.dumpInfo(stream); break;
 		case 2: adapter.dumpCrossReferenceMap(stream); break;
@@ -414,7 +414,7 @@
 				return (AmaltheaCrossReferenceAdapter) adapter;
 			}
 		}
-		
+
 		// Create Amalthea adapter
 		final AmaltheaCrossReferenceAdapter amaltheaAdapter = new AmaltheaCrossReferenceAdapter();
 		adapters.add(amaltheaAdapter);
@@ -442,10 +442,10 @@
 		if (resourceSet != null) {
 			return resourceSet;
 		}
-		
+
 		return resource;
 	}
-	
+
 	/**
 	 * Gets the root context of a Notifier (EObject, Resource or Resource Set)
 	 */
@@ -459,7 +459,7 @@
 
 		return notifier;
 	}
-	
+
 	/**
 	 * Gets the resource of a Notifier (EObject, Resource or Resource Set)
 	 */
@@ -486,7 +486,7 @@
 					.filter(e -> e.eResource().getURI().trimSegments(1).equals(folderUri))
 					.collect(Collectors.toSet());
 		}
-		
+
 		return elements;
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaMerger.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaMerger.java
index b05195f..579b8ad 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaMerger.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaMerger.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -42,24 +42,24 @@
 	 * Add the contained elements of the input models to the main model.
 	 * Only major elements of the model (with their containments) are added.
 	 * In case of name conflicts the affected elements will be omitted.
-	 * 
+	 *
 	 * @param mainModel		model that is extended
 	 * @param inputs		list of models that contain the additional elements
 	 */
 	public static void addElements(final @NonNull Amalthea mainModel, final @NonNull Collection<Amalthea> inputs) {
 		checkArgument(mainModel != null, "Model argument is null, expected: Amalthea");
 		checkArgument(inputs != null, "Collection argument is null, expected: Collection<Amalthea>");
-		
+
 		if (inputs.isEmpty()) return;	// done
-		
+
 		final Copier copier = new Copier(true, true);
-		
+
 		for (Amalthea model : inputs) {
 			final Amalthea tmpModel = (Amalthea) copier.copy(model);
 			if (tmpModel == null) continue;
-			
+
 			addPropertiesIfAbsent(mainModel, tmpModel);
-			
+
 			addCommonElements(mainModel, tmpModel);
 			addSwModel(mainModel, tmpModel);
 			addHwModel(mainModel, tmpModel);
@@ -79,21 +79,21 @@
 		final CommonElements main = mainModel.getCommonElements();
 		final CommonElements tmp = tmpModel.getCommonElements();
 		if (tmp == null) return;
-		
+
 		if (main == null) {
 			mainModel.setCommonElements(tmp);
 		} else {
 			addIfAbsent(main.getCoreClassifiers(), tmp.getCoreClassifiers());
 			addIfAbsent(main.getMemoryClassifiers(), tmp.getMemoryClassifiers());
 			addIfAbsent(main.getTags(), tmp.getTags());
-		}	
+		}
 	}
 
 	private static void addSwModel(Amalthea mainModel, Amalthea tmpModel) {
 		final SWModel main = mainModel.getSwModel();
 		final SWModel tmp = tmpModel.getSwModel();
 		if (tmp == null) return;
-		
+
 		if (main == null) {
 			mainModel.setSwModel(tmp);
 		} else {
@@ -111,14 +111,14 @@
 			addIfAbsent(main.getSections(), tmp.getSections());
 			addIfAbsent(main.getTasks(), tmp.getTasks());
 			addIfAbsent(main.getTypeDefinitions(), tmp.getTypeDefinitions());
-		}	
+		}
 	}
 
 	private static void addHwModel(Amalthea mainModel, Amalthea tmpModel) {
 		final HWModel main = mainModel.getHwModel();
 		final HWModel tmp = tmpModel.getHwModel();
 		if (tmp == null) return;
-		
+
 		if (main == null) {
 			mainModel.setHwModel(tmp);
 		} else {
@@ -126,41 +126,41 @@
 			addIfAbsent(main.getDomains(), tmp.getDomains());
 			addIfAbsent(main.getFeatureCategories(), tmp.getFeatureCategories());
 			addIfAbsent(main.getStructures(), tmp.getStructures());
-		}	
+		}
 	}
 
 	private static void addOsModel(Amalthea mainModel, Amalthea tmpModel) {
 		final OSModel main = mainModel.getOsModel();
 		final OSModel tmp = tmpModel.getOsModel();
 		if (tmp == null) return;
-		
+
 		if (main == null) {
 			mainModel.setOsModel(tmp);
 		} else {
 			addAll(main.getOperatingSystems(), tmp.getOperatingSystems());
 			addIfAbsent(main.getOsOverheads(), tmp.getOsOverheads());
 			addIfAbsent(main.getSemaphores(), tmp.getSemaphores());
-		}	
+		}
 	}
 
 	private static void addStimuliModel(Amalthea mainModel, Amalthea tmpModel) {
 		final StimuliModel main = mainModel.getStimuliModel();
 		final StimuliModel tmp = tmpModel.getStimuliModel();
 		if (tmp == null) return;
-		
+
 		if (main == null) {
 			mainModel.setStimuliModel(tmp);
 		} else {
 			addIfAbsent(main.getClocks(), tmp.getClocks());
 			addIfAbsent(main.getStimuli(), tmp.getStimuli());
-		}	
+		}
 	}
 
 	private static void addConstraintsModel(Amalthea mainModel, Amalthea tmpModel) {
 		final ConstraintsModel main = mainModel.getConstraintsModel();
 		final ConstraintsModel tmp = tmpModel.getConstraintsModel();
 		if (tmp == null) return;
-		
+
 		if (main == null) {
 			mainModel.setConstraintsModel(tmp);
 		} else {
@@ -173,39 +173,39 @@
 			addIfAbsent(main.getDataCoherencyGroups(), tmp.getDataCoherencyGroups());
 			addIfAbsent(main.getDataStabilityGroups(), tmp.getDataStabilityGroups());
 			addIfAbsent(main.getPhysicalSectionConstraints(), tmp.getPhysicalSectionConstraints());
-		}	
+		}
 	}
 
 	private static void addEventModel(Amalthea mainModel, Amalthea tmpModel) {
 		final EventModel main = mainModel.getEventModel();
 		final EventModel tmp = tmpModel.getEventModel();
 		if (tmp == null) return;
-		
+
 		if (main == null) {
 			mainModel.setEventModel(tmp);
 		} else {
 			addIfAbsent(main.getEvents(), tmp.getEvents());
-		}	
+		}
 	}
 
 	private static void addPropertyConstraintsModel(Amalthea mainModel, Amalthea tmpModel) {
 		final PropertyConstraintsModel main = mainModel.getPropertyConstraintsModel();
 		final PropertyConstraintsModel tmp = tmpModel.getPropertyConstraintsModel();
 		if (tmp == null) return;
-		
+
 		if (main == null) {
 			mainModel.setPropertyConstraintsModel(tmp);
 		} else {
 			addAll(main.getAllocationConstraints(), tmp.getAllocationConstraints());
 			addAll(main.getMappingConstraints(), tmp.getMappingConstraints());
-		}	
+		}
 	}
 
 	private static void addMappingModel(Amalthea mainModel, Amalthea tmpModel) {
 		final MappingModel main = mainModel.getMappingModel();
 		final MappingModel tmp = tmpModel.getMappingModel();
 		if (tmp == null) return;
-		
+
 		if (main == null) {
 			mainModel.setMappingModel(tmp);
 		} else {
@@ -218,37 +218,37 @@
 			addAll(main.getSchedulerAllocation(), tmp.getSchedulerAllocation());
 			addAll(main.getMemoryMapping(), tmp.getMemoryMapping());
 			addIfAbsent(main.getPhysicalSectionMapping(), tmp.getPhysicalSectionMapping());
-		}	
+		}
 	}
 
 	private static void addComponentsModel(Amalthea mainModel, Amalthea tmpModel) {
 		final ComponentsModel main = mainModel.getComponentsModel();
 		final ComponentsModel tmp = tmpModel.getComponentsModel();
 		if (tmp == null) return;
-		
+
 		if (main == null) {
 			mainModel.setComponentsModel(tmp);
 		} else {
 			addIfAbsent(main.getComponents(), tmp.getComponents());
 			addIfAbsent(main.getSystems(), tmp.getSystems());
-		}	
+		}
 	}
 
 	private static void addConfigModel(Amalthea mainModel, Amalthea tmpModel) {
 		final ConfigModel main = mainModel.getConfigModel();
 		final ConfigModel tmp = tmpModel.getConfigModel();
 		if (tmp == null) return;
-		
+
 		if (main == null) {
 			mainModel.setConfigModel(tmp);
 		} else {
 			addAll(main.getEventsToTrace(), tmp.getEventsToTrace());
-		}	
+		}
 	}
 
 	private static <T extends BaseObject> void addAll(final EList<T> main, final EList<T> input) {
 		if (main == null || input == null) return;
-		
+
 		main.addAll(input);
 	}
 
@@ -260,11 +260,11 @@
 			if (object != null)
 				uniqueNames.add(object.getUniqueName());
 		}
-		
+
 		final Collection<T> objectsToMove = new ArrayList<>();
 		for (T object : input) {
 			if (object == null) continue;
-			
+
 			if (uniqueNames.contains(object.getUniqueName())) {
 				// skip entry
 			} else {
@@ -272,14 +272,14 @@
 				objectsToMove.add(object);
 			}
 		}
-		
+
 		// this part changes the containment of the objects
 		main.addAll(objectsToMove);
 	}
 
 	private static void addPropertiesIfAbsent(final IAnnotatable main, final IAnnotatable input) {
 		if (main == null || input == null) return;
-		
+
 		for (Entry<String, Value> property : input.getCustomProperties()) {
 			if (main.getCustomProperties().containsKey(property.getKey())) {
 				// skip entry
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaServices.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaServices.java
index f99150e..ce24294 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaServices.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaServices.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -94,7 +94,7 @@
 
 	public static final List<TimeUnit> TIME_UNIT_LIST = Collections
 			.unmodifiableList(Arrays.asList(TimeUnit.PS, TimeUnit.NS, TimeUnit.US, TimeUnit.MS, TimeUnit.S));
-	
+
 	public static <T extends EObject> T getContainerOfType(final @NonNull EObject object, final @NonNull Class<T> type) {
 		checkArgument(object != null, ARG_OBJECT_MESSAGE);
 		checkArgument(type != null, ARG_CLASS_MESSAGE);
@@ -213,7 +213,7 @@
 	/**
 	 * This method is used to convert the value of Time/TimeObject element's value
 	 * to BigInteger in Pico Seconds
-	 * 
+	 *
 	 * @param time Time object
 	 * @return value BigInteger in Pico Seconds
 	 */
@@ -234,23 +234,23 @@
 			return timeValue.multiply(INT_10_POW_9);
 		case S:
 			return timeValue.multiply(INT_10_POW_12);
-		
+
 		default:
 			return BigInteger.ZERO; // should never happen
 		}
 	}
-	
+
 	/**
 	 * This method is used to convert a time with associated time unit
 	 * to BigDecimal in seconds
-	 * 
+	 *
 	 * @param time time as double
 	 * @param timeUnit the time unit
 	 * @return value BigDecimal in seconds
 	 */
 	public static BigDecimal convertToSeconds(final double time, final @NonNull TimeUnit timeUnit) {
 		checkArgument(timeUnit != TimeUnit._UNDEFINED_, ARG_QUANTITY_MESSAGE, TIME);
-		
+
 		BigDecimal timeValue = BigDecimal.valueOf(time);
 		switch (timeUnit) {
 		case S:
@@ -263,25 +263,25 @@
 			return timeValue.divide(DEC_10_POW_9);
 		case PS:
 			return timeValue.divide(DEC_10_POW_12);
-		
+
 		default:
 			return BigDecimal.ZERO; // should never happen
 		}
 	}
-	
+
 	/**
 	 * This method is used to convert the value of Time/TimeObject element's value
 	 * to BigDecimal in seconds
-	 * 
+	 *
 	 * @param time Time object
 	 * @return value BigDecimal in seconds
 	 */
 	public static BigDecimal convertToSeconds(final @NonNull Time time) {
 		checkArgument(time != null, ARG_NULL_MESSAGE, TIME);
-		
+
 		@SuppressWarnings("null")
 		@NonNull TimeUnit timeUnit = time.getUnit();
-		
+
 		return convertToSeconds(time.getValue().doubleValue(), timeUnit);
 	}
 
@@ -300,7 +300,7 @@
 			return BigDecimal.valueOf(freqValue).multiply(DEC_10_POW_6);
 		case GHZ:
 			return BigDecimal.valueOf(freqValue).multiply(DEC_10_POW_9);
-		
+
 		default:
 			return BigDecimal.ZERO; // should never happen
 		}
@@ -319,7 +319,7 @@
 			return BigDecimal.valueOf(voltValue).multiply(DEC_10_POW_3);
 		case V:
 			return BigDecimal.valueOf(voltValue).multiply(DEC_10_POW_6);
-		
+
 		default:
 			return BigDecimal.ZERO; // should never happen
 		}
@@ -328,7 +328,7 @@
 	/**
 	 * This method is used to compare DataRate objects on the basis of their values
 	 * (obtained in bit per second after applying the conversion based on DataRateUnit)
-	 * 
+	 *
 	 * @param r1 DataRate object
 	 * @param r2 DataRate object
 	 * @return -1 ,0 or 1
@@ -336,24 +336,24 @@
 	public static int compareDataRates(final @NonNull DataRate r1, final @NonNull DataRate r2) {
 		checkDataRateArgument(r1);
 		checkDataRateArgument(r2);
-	
+
 		if (r1 == r2) {
 			return 0;
 		}
-	
+
 		BigInteger value1 = convertToBitPerSecond(r1);
 		BigInteger value2 = convertToBitPerSecond(r2);
-	
+
 		assert value1 != null;
 		assert value2 != null;
-	
+
 		return value1.compareTo(value2);
 	}
 
 	/**
 	 * This method is used to compare Time objects on the basis of their values
 	 * (obtained in pico seconds after applying the conversion based on TimeUnit)
-	 * 
+	 *
 	 * @param t1 Time object
 	 * @param t2 Time object
 	 * @return -1 ,0 or 1
@@ -379,7 +379,7 @@
 	 * This method takes a time (in value and unit) and adjusts the TimeUnit so that
 	 * the value is as small as possible, without losing precision e.g. 1000us is
 	 * converted to 1ms
-	 * 
+	 *
 	 * @param time
 	 * @return new Time with adjusted value and unit
 	 */
@@ -496,13 +496,13 @@
 
 	/**
 	 * Computes the average (mean) of the truncated normal distribution
-	 * 
+	 *
 	 * <p>
 	 * See
 	 * <a href="https://en.wikipedia.org/wiki/Truncated_normal_distribution" target=
 	 * "_top">Truncated normal distribution (Wikipedia)</a>
 	 * </p>
-	 * 
+	 *
 	 * @param a    lower bound (null = not truncated from below)
 	 * @param b    upper bound (null = not truncated from above)
 	 * @param mean mean or expectation of the (unlimited) distribution
@@ -511,10 +511,10 @@
 	 */
 	public static @NonNull Time getAverageOfTruncatedNormalDistribution(final @Nullable Time a, final @Nullable Time b, final @NonNull Time mean, final @NonNull Time sd) {
 		checkTimeArgument(mean);
-		
+
 		// simple result for the unlimited distribution
 		if (a == null && b == null) return mean;
-		
+
 		checkTimeArgument(sd);
 
 		if (a != null) checkTimeArgument(a);
@@ -523,7 +523,7 @@
 
 		// if a == b then return immediately (computation of factor will fail)
 		if (a != null && b != null && a.compareTo(b) == 0) return createTime(a.getValue(), a.getUnit());
-		
+
 		Double alpha = null;
 		Double beta = null;
 		if (a != null) { // truncated from below
@@ -543,13 +543,13 @@
 
 	/**
 	 * Computes the average (mean) of the truncated normal distribution
-	 * 
+	 *
 	 * <p>
 	 * See
 	 * <a href="https://en.wikipedia.org/wiki/Truncated_normal_distribution" target=
 	 * "_top">Truncated normal distribution (Wikipedia)</a>
 	 * </p>
-	 * 
+	 *
 	 * @param inputA    lower bound (null = not truncated from below)
 	 * @param inputB    upper bound (null = not truncated from above)
 	 * @param mean mean or expectation of the (unlimited) distribution
@@ -559,10 +559,10 @@
 	public static double getAverageOfTruncatedNormalDistribution(final @Nullable Number inputA, final @Nullable Number inputB, double mean, double sd) {
 		// simple result for the unlimited distribution
 		if (inputA == null && inputB == null) return mean;
-		
+
 		// if a == b then return immediately (computation of factor will fail)
 		if (inputA != null && inputB != null && inputA.equals(inputB)) return inputA.doubleValue();
-		
+
 		final Double a = (inputA != null) ? inputA.doubleValue() : null;
 		final Double b = (inputB != null) ? inputB.doubleValue() : null;
 		if (a != null && b != null) checkArgument(a <= b, ARG_BOUNDS_MESSAGE);
@@ -610,7 +610,7 @@
 		checkArgument(a.compareTo(b) <= 0, ARG_BOUNDS_MESSAGE);
 		checkArgument(alpha > 0, ARG_POSITIVE_VALUE_MESSAGE);
 		checkArgument(beta > 0, ARG_POSITIVE_VALUE_MESSAGE);
-		
+
 		double ratio = 1.0 / (1.0 + (beta / alpha)); // mean in interval [0,1] is 1 / (1 + (beta/alpha))
 		return addTime(a, multiply(subtractTime(b, a), ratio));
 	}
@@ -643,7 +643,7 @@
 				}
 			}
 		}
-		
+
 		@SuppressWarnings("null")
 		final @NonNull EReference eReference = AmaltheaPackage.eINSTANCE.getISystem_InnerPorts();
 		return unmodifiableEcoreEList(system, eReference, qualifiedPorts);
@@ -659,7 +659,7 @@
 		for (HwModule module : getAllModules(struct)) {
 			ports.addAll(module.getPorts());
 		}
-		
+
 		@SuppressWarnings("null")
 		final @NonNull EReference eReference = AmaltheaPackage.eINSTANCE.getHwStructure_InnerPorts();
 		return unmodifiableEcoreEList(struct, eReference, ports);
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaServices2.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaServices2.java
index e1164f9..0b1ad4a 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaServices2.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaServices2.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -45,9 +45,9 @@
 	private static boolean isInvalid(final @NonNull Time time) {
 		return (time.getValue() == null || time.getUnit() == TimeUnit._UNDEFINED_);
 	}
-	
+
 	// ***** delegate methods *****
-	
+
 	private static @NonNull Time addTime(final @NonNull Time t1, final @NonNull Time t2) {
 		return AmaltheaServices.addTime(t1, t2);
 	}
@@ -71,10 +71,9 @@
 	// ***** Deviations *****
 
 	public static @Nullable Time getAverage(final @Nullable Time lowerBound, final @Nullable Time upperBound) {
-		if (lowerBound == null || upperBound == null) return null;
-		if (isInvalid(lowerBound) || isInvalid(upperBound)) return null;
+		if (lowerBound == null || upperBound == null || isInvalid(lowerBound) || isInvalid(upperBound)) return null;
 		if (compareTimes(lowerBound, upperBound) > 0) return null;
-		
+
 		return addTime(lowerBound, multiply(subtractTime(upperBound, lowerBound), 0.5));
 	}
 
@@ -83,7 +82,7 @@
 		double lower = lowerBound.doubleValue();
 		double upper = upperBound.doubleValue();
 		if (lower > upper) return null;
-		
+
 		return lower + (upper - lower) / 2.0;
 	}
 
@@ -92,15 +91,15 @@
 		Time sum = createTime(BigInteger.ZERO, TimeUnit.PS);
 		for (TimeHistogramEntry entry : coll) {
 			if (entry == null) return null;
-	
+
 			Time avg = getAverage(entry.getLowerBound(), entry.getUpperBound());
 			if (avg == null) return null;
-			
+
 			count = count + entry.getOccurrences();
 			sum = addTime(sum, multiply(avg, entry.getOccurrences()));
 		}
 		if (count == 0) return null;
-		
+
 		return multiply(sum, 1.0 / count);
 	}
 
@@ -109,16 +108,16 @@
 		double sum = 0.0;
 		for (DiscreteValueHistogramEntry entry : coll) {
 			if (entry == null) return null;
-	
+
 			Double avg = getAverage(entry.getLowerBound(), entry.getUpperBound());
 			if (avg == null) return null;
-			
+
 			count += entry.getOccurrences();
 			sum += avg * entry.getOccurrences();
 		}
 		if (count == 0) return null;
-		
-		return sum / (double) count;
+
+		return sum / count;
 	}
 
 	public static @Nullable Double getAverage_CV(final @NonNull Collection<ContinuousValueHistogramEntry> coll) {
@@ -126,26 +125,26 @@
 		double sum = 0.0;
 		for (ContinuousValueHistogramEntry entry : coll) {
 			if (entry == null) return null;
-			
+
 			Double avg = getAverage(entry.getLowerBound(), entry.getUpperBound());
 			if (avg == null) return null;
-			
+
 			count += entry.getOccurrences();
 			sum += avg * entry.getOccurrences();
 		}
 		if (count == 0) return null;
-		
-		return sum / (double) count;
+
+		return sum / count;
 	}
 
 	public static @Nullable Time getLowerBound_Time(final @NonNull Collection<? extends TimeInterval> coll) {
 		Time min = null;
 		for (TimeInterval interval : coll) {
 			if (interval == null) return null;
-			
+
 			Time bound = interval.getLowerBound();
 			if (bound == null || isInvalid(bound)) return null;
-			
+
 			if (min == null || compareTimes(min, bound) > 0)
 				min = bound;
 		}
@@ -156,9 +155,9 @@
 		Long min = null;
 		for (DiscreteValueInterval interval : coll) {
 			if (interval == null) return null;
-			
+
 			Long bound = interval.getLowerBound();
-			
+
 			if (min == null || min > bound)
 				min = bound;
 		}
@@ -169,24 +168,24 @@
 		Double min = null;
 		for (ContinuousValueInterval interval : coll) {
 			if (interval == null) return null;
-			
+
 			Double bound = interval.getLowerBound();
 			if (bound == null) return null;
-			
+
 			if (min == null || min > bound)
 				min = bound;
 		}
 		return min;
 	}
-	
+
 	public static @Nullable Time getUpperBound_Time(final @NonNull Collection<? extends TimeInterval> coll) {
 		Time max = null;
 		for (TimeInterval interval : coll) {
 			if (interval == null) return null;
-			
+
 			Time bound = interval.getUpperBound();
 			if (bound == null || isInvalid(bound)) return null;
-			
+
 			if (max == null || compareTimes(bound, max) > 0)
 				max = bound;
 		}
@@ -197,10 +196,10 @@
 		Long max = null;
 		for (DiscreteValueInterval interval : coll) {
 			if (interval == null) return null;
-			
+
 			Long bound = interval.getUpperBound();
 			if (bound == null) return null;
-			
+
 			if (max == null || max < bound)
 				max = bound;
 		}
@@ -211,10 +210,10 @@
 		Double max = null;
 		for (ContinuousValueInterval interval : coll) {
 			if (interval == null) return null;
-			
+
 			Double bound = interval.getUpperBound();
 			if (bound == null) return null;
-			
+
 			if (max == null || max < bound)
 				max = bound;
 		}
@@ -222,15 +221,13 @@
 	}
 
 	public static @Nullable Time getAverageOfTruncatedNormalDistribution(final @Nullable Time a, final @Nullable Time b, final @Nullable Time mean, final @Nullable Time sd) {
-		if (mean == null || sd == null) return null;
-		if (isInvalid(mean) || isInvalid(sd)) return null;
-		if (a != null && isInvalid(a)) return null;
-		if (b != null && isInvalid(b)) return null;
-	
+		if (mean == null || sd == null || isInvalid(mean) || isInvalid(sd)) return null;
+		if ((a != null && isInvalid(a)) || (b != null && isInvalid(b))) return null;
+
 		if (a != null && b != null && compareTimes(a, b) > 0) return null;
-		
+
 		if (sd.getValue().signum() < 1) return null;
-		
+
 		Double alpha = null;
 		Double beta = null;
 		if (a != null) { // truncated from below
@@ -249,9 +246,7 @@
 		if (mean == null || mean.isNaN() || mean.isInfinite()) return null;
 		if (sd == null || sd.isNaN() || sd.isInfinite()) return null;
 
-		if (a != null && b != null && a.doubleValue() > b.doubleValue()) return null;
-
-		if (sd <= 0.0) return null;
+		if ((a != null && b != null && a.doubleValue() > b.doubleValue()) || (sd <= 0.0)) return null;
 
 		double result = AmaltheaServices.getAverageOfTruncatedNormalDistribution(a, b, mean, sd);
 
@@ -260,11 +255,9 @@
 
 	public static @Nullable Time getAverageOfBetaDistribution(final @Nullable Time a, final @Nullable Time b, final @Nullable Double alpha, final @Nullable Double beta) {
 		if (a == null || b == null || alpha == null || beta == null) return null;
-		if (isInvalid(a) || isInvalid(b)) return null;
-		if (compareTimes(a, b) > 0) return null;
-		if (alpha <= 0) return null;
+		if (isInvalid(a) || isInvalid(b) || (compareTimes(a, b) > 0) || (alpha <= 0)) return null;
 		if (beta <= 0) return null;
-		
+
 		double ratio = 1.0 / (1.0 + (beta / alpha)); // mean in interval [0,1] is 1 / (1 + (beta/alpha))
 		return addTime(a, multiply(subtractTime(b, a), ratio));
 	}
@@ -273,9 +266,7 @@
 		if (a == null || b == null || alpha == null || beta == null) return null;
 		double a_double = a.doubleValue();
 		double b_double = b.doubleValue();
-		if (a_double > b_double) return null;
-		if (alpha <= 0) return null;
-		if (beta <= 0) return null;
+		if ((a_double > b_double) || (alpha <= 0) || (beta <= 0)) return null;
 
 		double ratio = 1.0 / (1.0 + (beta / alpha)); // mean in interval [0,1] is 1 / (1 + (beta/alpha))
 		return a_double + (b_double - a_double) * ratio;
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaValidations.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaValidations.java
index 0543617..8ffb49e 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaValidations.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/AmaltheaValidations.java
@@ -1,11 +1,11 @@
 /* Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -53,7 +53,7 @@
 		return checkMinAvgMax(obj, diagnostics, obj.getLowerBound(), getAverage(obj), obj.getUpperBound());
 	}
 
-	public static boolean validateInvariants(DiscreteValueInterval obj, DiagnosticChain diagnostics) {		
+	public static boolean validateInvariants(DiscreteValueInterval obj, DiagnosticChain diagnostics) {
 		return checkMinAvgMax(obj, diagnostics, toDouble(obj.getLowerBound()), getAverage(obj), toDouble(obj.getUpperBound()));
 	}
 
@@ -62,21 +62,21 @@
 	}
 
 	// ******** Truncated distribution bounds (mean is not limited) ********
-	
+
 	public static boolean validateInvariants(TruncatedTimeDistribution obj, DiagnosticChain diagnostics) {
 		return checkMinAvgMax(obj, diagnostics, obj.getLowerBound(), null, obj.getUpperBound());
 	}
-	
+
 	public static boolean validateInvariants(TruncatedDiscreteValueDistribution obj, DiagnosticChain diagnostics) {
 		return checkMinAvgMax(obj, diagnostics, toDouble(obj.getLowerBound()), null, toDouble(obj.getUpperBound()));
 	}
-	
+
 	public static boolean validateInvariants(TruncatedContinuousValueDistribution obj, DiagnosticChain diagnostics) {
 		return checkMinAvgMax(obj, diagnostics, obj.getLowerBound(), null, obj.getUpperBound());
 	}
 
 	// private methods to get the given average / mean value
-	
+
 	private static Time getAverage(TimeInterval obj) {
 		Time avg = null;
 		if (obj instanceof TimeStatistics) {
@@ -112,10 +112,10 @@
 
 	private static Double toDouble(Long value) {
 		if (value == null) return null;
-		
+
 		return value.doubleValue();
 	}
-	
+
 	private static <T extends Comparable<T>> boolean checkMinAvgMax(EObject obj, DiagnosticChain diagnostics, T min, T avg, T max) {
 		boolean isValid = true;
 		if (min != null && max != null && min.compareTo(max) > 0) {
@@ -132,7 +132,7 @@
 		}
 		return isValid;
 	}
-	
+
 	// ******** IReferable name ********
 
 	public static boolean validateInvariants(IReferable obj, DiagnosticChain diagnostics) {
@@ -144,7 +144,7 @@
 	}
 
 	// ******** Modes ********
-	
+
 	public static boolean validateInvariants(ModeLabel obj, DiagnosticChain diagnostics) {
 		return checkModeAndValue(obj, PACKAGE.getModeLabel_InitialValue(), obj.getMode(), obj.getInitialValue(), diagnostics);
 	}
@@ -155,7 +155,7 @@
 			addError(obj, PACKAGE.getModeValue_Label(), obj.eClass().getName() + ": missing mode label", diagnostics);
 			return false;
 		}
-		
+
 		return checkModeAndValue(obj, PACKAGE.getModeValue_Value(), modeLabel.getMode(), obj.getValue(), diagnostics);
 	}
 
@@ -167,18 +167,18 @@
 		}
 
 		if (obj.getAccess() == ModeLabelAccessEnum.SET) {
-			return checkModeAndValue(obj, PACKAGE.getModeLabelAccess_Value(), modeLabel.getMode(), obj.getValue(), diagnostics);			
+			return checkModeAndValue(obj, PACKAGE.getModeLabelAccess_Value(), modeLabel.getMode(), obj.getValue(), diagnostics);
 		}
-		
+
 		return true;
 	}
-	
+
 	private static boolean checkModeAndValue(EObject obj, EStructuralFeature feature, Mode mode, String value, DiagnosticChain diagnostics) {
 		if (mode == null) {
 			addWarning(obj, feature, obj.eClass().getName() + ": unknown value type (mode)", diagnostics);
 			return false;
 		}
-		
+
 		if (value == null) {
 			if (feature.getLowerBound() != 0) {
 				addError(obj, feature, obj.eClass().getName() + ": missing value", diagnostics);
@@ -188,7 +188,7 @@
 				return true;
 			}
 		}
-		
+
 		String trimmedValue = value.trim();
 		if (mode instanceof EnumMode) {
 			final EnumMode enumMode = (EnumMode) mode;
@@ -205,13 +205,13 @@
 				return false;
 			}
 		}
-		
+
 		return true;
 	}
 
 
 	// private helper methods
-	
+
 	private static void addWarning(EObject object, EStructuralFeature feature, String message, DiagnosticChain diagnostics) {
     	if (diagnostics != null) {
         	diagnostics.add(createIssue(Diagnostic.WARNING, object, feature, message));
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/AmaltheaBuilder.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/AmaltheaBuilder.java
index 4839e52..a6b2ff8 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/AmaltheaBuilder.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/AmaltheaBuilder.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -121,8 +121,8 @@
 	public <T extends EObject> void _reg(final @NonNull T object, final @NonNull String name) {
 		checkArgument(object != null, ARG_OBJECT_MESSAGE);
 		checkArgument(name != null, ARG_NAME_MESSAGE);
-		
-		this.objectRegistry.put(name, object);
+
+		objectRegistry.put(name, object);
 	}
 
 	//@SuppressWarnings("java:S100") // domain specific builder language
@@ -130,7 +130,7 @@
 		checkArgument(cl != null, ARG_CLASS_MESSAGE, "T extends EObject");
 		checkArgument(name != null, ARG_NAME_MESSAGE);
 
-		final EObject obj = this.objectRegistry.get(name);
+		final EObject obj = objectRegistry.get(name);
 		return cl.cast(obj);
 	}
 
@@ -141,13 +141,13 @@
 		checkArgument(context != null, ARG_NOTIFIER_MESSAGE);
 		checkArgument(cl != null, ARG_CLASS_MESSAGE, "T extends INamed");
 		checkArgument(name != null, ARG_NAME_MESSAGE);
-		
+
 		final Set<? extends T> resultSet = AmaltheaIndex.getElements(context, name, cl);
 		Iterator<? extends T> iterator = resultSet.iterator();
 		if (iterator.hasNext()) {
 			return iterator.next();
 		}
-		
+
 		return cl.cast(null);
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/CommonElementsBuilder.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/CommonElementsBuilder.java
index bc6a55c..6320113 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/CommonElementsBuilder.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/CommonElementsBuilder.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/ConstraintsBuilder.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/ConstraintsBuilder.java
index cdb3919..6b7d86e 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/ConstraintsBuilder.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/ConstraintsBuilder.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/DatatypeBuilder.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/DatatypeBuilder.java
index fde4192..e2ca153 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/DatatypeBuilder.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/DatatypeBuilder.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/HardwareBuilder.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/HardwareBuilder.java
index 8e9b2dd..7b99992 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/HardwareBuilder.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/HardwareBuilder.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/InstructionsBuilder.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/InstructionsBuilder.java
index fbc6a40..e48aab7 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/InstructionsBuilder.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/InstructionsBuilder.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -25,8 +25,8 @@
 import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
 
 /**
- * Creates Need entries for Instructions 
- * 
+ * Creates Need entries for Instructions
+ *
  * @deprecated (0.9.3) use {@link org.eclipse.app4mc.amalthea.model.Ticks} instead.
  */
 @Deprecated
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/MappingBuilder.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/MappingBuilder.java
index 83d1265..927f211 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/MappingBuilder.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/MappingBuilder.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/OperatingSystemBuilder.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/OperatingSystemBuilder.java
index 7c691cc..a9ff047 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/OperatingSystemBuilder.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/OperatingSystemBuilder.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -68,13 +68,13 @@
 		container.getOsOverheads().add(obj);
 		initializer.apply(obj);
 	}
-	
+
 	public void schedulerDefinition(final OSModel container, final Procedure1<SchedulerDefinition> initializer) {
 		final SchedulerDefinition obj = AmaltheaFactory.eINSTANCE.createSchedulerDefinition();
 		container.getSchedulerDefinitions().add(obj);
 		initializer.apply(obj);
 	}
-	
+
 	public void parameterDefinition(final OSModel container, final Procedure1<SchedulingParameterDefinition> initializer) {
 		final SchedulingParameterDefinition obj = AmaltheaFactory.eINSTANCE.createSchedulingParameterDefinition();
 		container.getSchedulingParameterDefinitions().add(obj);
@@ -88,7 +88,7 @@
 		container.getTaskSchedulers().add(obj);
 		initializer.apply(obj);
 	}
-	
+
 	public void schedulingParameter(final Scheduler container, final String parameterName, final Value parameterValue) {
 		final SchedulerDefinition sd = container.getDefinition();
 		final SchedulingParameterDefinition spd = sd.getAlgorithmParameters().stream().filter(
@@ -120,7 +120,7 @@
 		container.setParentAssociation(obj);
 		initializer.apply(obj);
 	}
-	
+
 	public void schedulingParameter(final SchedulerAssociation container, final String parameterName,
 			final Value parameterValue) {
 		Scheduler sched = container.getParent();
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/SoftwareBuilder.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/SoftwareBuilder.java
index 261590f..49425fa 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/SoftwareBuilder.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/SoftwareBuilder.java
@@ -1,12 +1,12 @@
 /**
  * Copyright (c) 2018-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  */
@@ -181,7 +181,7 @@
 		container.getModeLabels().add(obj);
 		initializer.apply(obj);
 	}
-	
+
 	public void osEvent(final SWModel container, final Procedure1<OsEvent> initializer) {
 		final OsEvent obj = AmaltheaFactory.eINSTANCE.createOsEvent();
 		container.getEvents().add(obj);
@@ -197,7 +197,7 @@
 	}
 
 	// ********** Activity Graph **********
-	
+
 	public void activityGraph(final Process container, final Procedure1<ActivityGraph> initializer) {
 		final ActivityGraph obj = AmaltheaFactory.eINSTANCE.createActivityGraph();
 		container.setActivityGraph(obj);
@@ -341,7 +341,7 @@
 		container.getItems().add(obj);
 		initializer.apply(obj);
 	}
-	
+
 	public void eventMask(final ClearEvent clearEvent, final OsEvent...osEvents) {
 		final EventMask eventMask = AmaltheaFactory.eINSTANCE.createEventMask();
 		for(OsEvent osEvent:osEvents) {
@@ -351,7 +351,7 @@
 		}
 		clearEvent.setEventMask(eventMask);
 	}
-	
+
 	public void eventMask(final WaitEvent waitEvent, final OsEvent...osEvents) {
 		final EventMask eventMask = AmaltheaFactory.eINSTANCE.createEventMask();
 		for(OsEvent osEvent:osEvents) {
@@ -361,7 +361,7 @@
 		}
 		waitEvent.setEventMask(eventMask);
 	}
-	
+
 	public void eventMask(final SetEvent setEvent, final OsEvent...osEvents) {
 		final EventMask eventMask = AmaltheaFactory.eINSTANCE.createEventMask();
 		for(OsEvent osEvent:osEvents) {
@@ -395,22 +395,22 @@
 		container.getItems().add(obj);
 		initializer.apply(obj);
 	}
-	
+
 	public void modeLabelAccess(final IActivityGraphItemContainer container, final Procedure1<ModeLabelAccess> initializer) {
 		final ModeLabelAccess obj = AmaltheaFactory.eINSTANCE.createModeLabelAccess();
 		container.getItems().add(obj);
 		initializer.apply(obj);
 	}
-	
+
 	// ********** IActivityGraphItemContainer - Items - ChannelAccess **********
-	
+
 	public void channelSend(final IActivityGraphItemContainer container, final Procedure1<ChannelSend> initializer) {
 		final ChannelSend obj = AmaltheaFactory.eINSTANCE.createChannelSend();
 		container.getItems().add(obj);
 		initializer.apply(obj);
 	}
-	
-	
+
+
 	public void channelReceive(final IActivityGraphItemContainer container, final Procedure1<ChannelReceive> initializer) {
 		final ChannelReceive obj = AmaltheaFactory.eINSTANCE.createChannelReceive();
 		container.getItems().add(obj);
@@ -424,9 +424,9 @@
 		container.getItems().add(obj);
 		initializer.apply(obj);
 	}
-	
+
 	// ********** IActivityGraphItemContainer - Items - ServerCall **********
-	
+
 	public void asynchronousServerCall(final IActivityGraphItemContainer container, final Procedure1<AsynchronousServerCall> initializer) {
 		final AsynchronousServerCall obj = AmaltheaFactory.eINSTANCE.createAsynchronousServerCall();
 		container.getItems().add(obj);
@@ -444,7 +444,7 @@
 	public void need(final ExecutionNeed container, final String key, final IDiscreteValueDeviation need) {
 		container.getNeeds().put(key, need);
 	}
-	
+
 	// ********** IActivityGraphItemContainer - Items - Ticks **********
 
 	public void ticks(final IActivityGraphItemContainer container, final Procedure1<Ticks> initializer) {
@@ -466,7 +466,7 @@
 	public void extended(final Ticks container, final ProcessingUnitDefinition puDef, final IDiscreteValueDeviation ticks) {
 		container.getExtended().put(puDef, ticks);
 	}
-	
+
 	// ********** IActivityGraphItemContainer - Items - to be extended **********
 
 }
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/StimuliBuilder.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/StimuliBuilder.java
index 89e979c..9499eb2 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/StimuliBuilder.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/builder/StimuliBuilder.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -23,19 +23,19 @@
 import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
 
 public class StimuliBuilder {
-	
+
 	public void periodicStimulus(final StimuliModel container, Procedure1<PeriodicStimulus> initializer) {
 		final PeriodicStimulus obj = AmaltheaFactory.eINSTANCE.createPeriodicStimulus();
 		container.getStimuli().add(obj);
 		initializer.apply(obj);
 	}
-	
+
 	public void variableRateStimulus(final StimuliModel container, Procedure1<VariableRateStimulus> initializer) {
 		final VariableRateStimulus obj = AmaltheaFactory.eINSTANCE.createVariableRateStimulus();
 		container.getStimuli().add(obj);
 		initializer.apply(obj);
 	}
-	
+
 	public void clockStepList(final StimuliModel container, Procedure1<ClockStepList> initializer) {
 		final ClockStepList obj = AmaltheaFactory.eINSTANCE.createClockStepList();
 		container.getClocks().add(obj);
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/check/ModelStructureCheck.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/check/ModelStructureCheck.java
index 3ed5107..f77ac63 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/check/ModelStructureCheck.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/check/ModelStructureCheck.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -43,9 +43,9 @@
 
 	/**
 	 * Model checker for debugging: Checks a single file model.
-	 * 
+	 *
 	 * Illegal references to non contained elements will be printed to stream.
-	 * 
+	 *
 	 * @param model   to-be-checked model (self contained)
 	 * @param stream  output stream for messages (<code>null</code> -> disable messages)
 	 * @param verbose <code>true</code> -> prints all performed checks
@@ -57,9 +57,9 @@
 
 	/**
 	 * Model checker for debugging: Checks a model that consists of multiple files.
-	 * 
+	 *
 	 * Illegal references to non contained elements will be printed to stream.
-	 * 
+	 *
 	 * @param models  to-be-checked logical model (multiple split models)
 	 * @param stream  output stream for messages (<code>null</code> -> disable messages)
 	 * @param verbose <code>true</code> -> prints all performed checks
@@ -90,17 +90,17 @@
 
 			// check references to top level types
 
-			for (Amalthea amalthea : models) {		
+			for (Amalthea amalthea : models) {
 				boolean ok = checkObjectReferences(amalthea, idMap, out, verbose);
 				result = result && ok;
 			}
-			
+
 			// cleanup
 			idMap.clear();
-			
+
 			out.println("++++ Model check finished at " + dateFormat.format(new Date()));
 		}
-		
+
 		return result;
 	}
 
@@ -108,7 +108,7 @@
 		final TreeIterator<EObject> iterator = EcoreUtil.getAllContents(model, false);
 		while (iterator.hasNext()) {
 			final EObject element = iterator.next();
-	
+
 			if (element instanceof IReferable) {
 				final IReferable refObj = (IReferable) element;
 				final String id = refObj.getUniqueName();
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaEObjectImpl.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaEObjectImpl.java
index a3404ac..8059b5e 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaEObjectImpl.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaEObjectImpl.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2020 Robert Bosch GmbH.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResource.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResource.java
index 5ecc483..26bd6ad 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResource.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResource.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -103,7 +103,7 @@
 	}
 
 	private URI convertToAbsoluteFileURI(final URI uri) {
-		URI result = null;
+		URI result;
 
 		// Try to convert to absolute file URI
 		result = CommonPlugin.asLocalURI(uri);
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResourceFactory.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResourceFactory.java
index a480f93..add0e28 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResourceFactory.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResourceFactory.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResourceHandler.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResourceHandler.java
index 0b88d6f..7097578 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResourceHandler.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResourceHandler.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -40,7 +40,7 @@
 	public void postLoad(XMLResource resource, InputStream inputStream, Map<?, ?> options) {
 		// Keep cache for intrinsic IDs
 		// It will be used to resolve cross-resource references
-		
+
 		resetExtrinsicIDs(resource);
 	}
 
@@ -51,7 +51,7 @@
 		if (resource instanceof AmaltheaResource) {
 			((AmaltheaResource) resource).setIntrinsicIDToEObjectMap(null);
 		}
-		
+
 		setExtrinsicIDs(resource);
 	}
 
@@ -62,7 +62,7 @@
 
 	private void setExtrinsicIDs(XMLResource resource) {
 		if (resource == null) return;
-		
+
 		// set xmi:id for all objects with a valid ID attribute
 		TreeIterator<EObject> allProperContents = EcoreUtil.getAllProperContents(resource, false);
 		while (allProperContents.hasNext()) {
@@ -75,7 +75,7 @@
 
 	private void resetExtrinsicIDs(XMLResource resource) {
 		if (resource == null) return;
-		
+
 		if (resource instanceof AmaltheaResource) {
 			// reset the ID <-> EObject maps
 			((AmaltheaResource) resource).resetIDMaps();
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResourceSetImpl.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResourceSetImpl.java
index 9e37c75..f5641be 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResourceSetImpl.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/emf/AmaltheaResourceSetImpl.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/io/AmaltheaFileHelper.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/io/AmaltheaFileHelper.java
index 062f904..7c2c743 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/io/AmaltheaFileHelper.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/io/AmaltheaFileHelper.java
@@ -36,12 +36,12 @@
 import org.slf4j.LoggerFactory;
 
 public final class AmaltheaFileHelper {
-	
+
 	private static final Logger LOGGER = LoggerFactory.getLogger(AmaltheaFileHelper.class);
 
 	public static final String INVALID = "invalid";
 	public static final String MODEL_FILE_EXTENSION = "amxmi";
-	
+
 	// Suppress default constructor
 	private AmaltheaFileHelper() {
 		throw new IllegalStateException("Utility class");
@@ -49,7 +49,7 @@
 
 	/**
 	 * Check if the given file is a zip archive.
-	 * 
+	 *
 	 * @param file The {@link File} to check.
 	 * @return <code>true</code> if the given file is a zip archive,
 	 *         <code>false</code> if not.
@@ -71,7 +71,7 @@
 
 	/**
 	 * Extract the model namespace of the given input file.
-	 * 
+	 *
 	 * @param inputFile The file for which the model namespace is
 	 *                       requested.
 	 * @return The model namespace of the given input file or <i>invalid</i> if
@@ -79,7 +79,7 @@
 	 */
 	public static String getNamespace(File inputFile) {
 		String result = INVALID;
-		
+
 		if (inputFile != null && inputFile.exists() && inputFile.getName().endsWith(MODEL_FILE_EXTENSION)) {
 			Path inputPath = Paths.get(inputFile.toURI());
 			if (isZipFile(inputFile)) {
@@ -88,13 +88,13 @@
 				return getNamespaceFromFile(inputPath);
 			}
 		}
-		
+
 		return result;
 	}
-	
+
 	/**
 	 * Extract the model namespace of the given input file.
-	 * 
+	 *
 	 * @param inputPath The {@link Path} of the model file for which the model
 	 *                  namespace is requested.
 	 * @return The model namespace of the given input file or <i>invalid</i> if an
@@ -106,13 +106,13 @@
 		} catch (IOException | XMLStreamException e) {
 			LOGGER.error("Error on parsing input model file for namespace", e);
 		}
-		
+
 		return INVALID;
 	}
 
 	/**
 	 * Extract the model namespace of the given input file.
-	 * 
+	 *
 	 * @param inputPath The {@link Path} of the model file for which the model
 	 *                  namespace is requested.
 	 * @return The model namespace of the given input file or <i>invalid</i> if an
@@ -127,7 +127,7 @@
 		} catch (IOException | XMLStreamException e) {
 			LOGGER.error("Error on parsing input model file for namespace", e);
 		}
-		
+
 		return INVALID;
 	}
 
@@ -135,7 +135,7 @@
 		XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();
 		xmlInputFactory.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, "");
 		xmlInputFactory.setProperty(XMLConstants.ACCESS_EXTERNAL_SCHEMA, "");
-		
+
 		XMLEventReader reader = xmlInputFactory.createXMLEventReader(input);
 		while (reader.hasNext()) {
 			XMLEvent nextEvent = reader.nextEvent();
@@ -146,14 +146,14 @@
 				}
 			}
 		}
-		
+
 		return INVALID;
 	}
 
 	/**
 	 * Check if the model namespace of the provided file is of the current
 	 * supported model version.
-	 * 
+	 *
 	 * @param toCheck The model file to check.
 	 * @return <code>true</code> if the model namespace is the current supported model
 	 *         namespace, <code>false</code> if not.
@@ -165,7 +165,7 @@
 
 	/**
 	 * Extract the model version of the given input model file.
-	 * 
+	 *
 	 * @param inputModelFile The model file for which the model version is
 	 *                       requested.
 	 * @return The model version of the given input model file or <i>invalid</i> if
@@ -177,7 +177,7 @@
 
 	/**
 	 * Extract the model version of the given input model file.
-	 * 
+	 *
 	 * @param inputPath The {@link Path} to the model file.
 	 * @return The model version of the given input model file or <i>invalid</i> if
 	 *         an error occurs on parsing or the model version is invalid.
@@ -188,7 +188,7 @@
 
 	/**
 	 * Extract the model version of the given zipped input model file.
-	 * 
+	 *
 	 * @param inputPath The {@link Path} to the model file.
 	 * @return The model version of the given input model file or <i>invalid</i> if
 	 *         an error occurs on parsing or the model version is invalid.
@@ -209,7 +209,7 @@
 	/**
 	 * Check if the model version of the provided file is of the current
 	 * supported model version.
-	 * 
+	 *
 	 * @param toCheck The model file to check.
 	 * @return <code>true</code> if the model version is the current supported model
 	 *         version, <code>false</code> if not.
@@ -218,11 +218,11 @@
 		String versionFromFile = getModelVersion(toCheck);
 		return ModelUtil.MODEL_VERSION.equals(versionFromFile);
 	}
-	
+
 	/**
 	 * Checks if the file with the given filename is an Amalthea model file by
 	 * checking the file extension.
-	 * 
+	 *
 	 * @param filename the name of the file to check.
 	 * @return <code>true</code> if the given file is an Amalthea model file,
 	 *         <code>false</code> if not.
@@ -231,10 +231,10 @@
 		String fileExtension = filename.substring(filename.lastIndexOf('.') + 1).toLowerCase();
 		return isModelFileExtension(fileExtension);
 	}
-	
+
 	/**
 	 * Checks if the given file extension is an Amalthea model file extension.
-	 * 
+	 *
 	 * @param fileExtension the file extension to check.
 	 * @return <code>true</code> if the given file extension is an Amalthea model
 	 *         file extension, <code>false</code> if not.
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/io/AmaltheaLoader.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/io/AmaltheaLoader.java
index 9d57619..f86fa0e 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/io/AmaltheaLoader.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/io/AmaltheaLoader.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -47,7 +47,7 @@
 	 * <li>absolute (example: "d:/temp/model.amxmi")</li>
 	 * <li>relative to project folder (example: "input/model.amxmi")</li>
 	 * </ul>
-	 * 
+	 *
 	 * @param pathname	String
 	 * @return
 	 * 		AMALTHEA model - null if load failed
@@ -61,7 +61,7 @@
 
 	/**
 	 * Static method to load an AMALTHEA model from a file.
-	 * 
+	 *
 	 * @param file	standard Java file
 	 * @return
 	 * 		AMALTHEA model - null if load failed
@@ -75,7 +75,7 @@
 
 	/**
 	 * Static method to load an AMALTHEA model from a file URI.
-	 * 
+	 *
 	 * @param uri	org.eclipse.emf.common.util.URI
 	 * @return
 	 * 		AMALTHEA model - null if load failed
@@ -115,21 +115,21 @@
 	 * <li>absolute (example: "d:/temp/")</li>
 	 * <li>relative to project folder (example: "input/")</li>
 	 * </ul>
-	 * 
+	 *
 	 * @param pathname	String
 	 * @return
 	 * 		ResourceSet - null if load failed
 	 */
 	public static ResourceSet loadFromDirectoryNamed(String pathname) {
 		if (pathname == null) return null;
-		
+
 		final File folder = new File(pathname);
 		return loadFromDirectory(folder);
 	}
 
 	/**
 	 * Static method to load AMALTHEA models from a directory.
-	 * 
+	 *
 	 * @param folder	standard Java file
 	 * @return
 	 * 		ResourceSet - null if load failed
@@ -152,7 +152,7 @@
 
 	/**
 	 * Static method to load AMALTHEA models from a list of URIs.
-	 * 
+	 *
 	 * @param uriList	List of URIs
 	 * @return
 	 * 		ResourceSet - null if load failed
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/io/AmaltheaWriter.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/io/AmaltheaWriter.java
index 713fc86..75f35f8 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/io/AmaltheaWriter.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/io/AmaltheaWriter.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -43,7 +43,7 @@
 	 * <li>absolute (example: "d:/temp/model_new.amxmi")</li>
 	 * <li>relative to project folder (example: "output/model_new.amxmi")</li>
 	 * </ul>
-	 * 
+	 *
 	 * @param model		source model
 	 * @param pathname	String
 	 * @return
@@ -61,7 +61,7 @@
 	 * <li>absolute (example: "d:/temp/model_new.amxmi")</li>
 	 * <li>relative to project folder (example: "output/model_new.amxmi")</li>
 	 * </ul>
-	 * 
+	 *
 	 * @param model		source model
 	 * @param pathname	String
 	 * @param useZip	boolean
@@ -77,7 +77,7 @@
 
 	/**
 	 * Static method to save an AMALTHEA model to a file.
-	 * 
+	 *
 	 * @param model		source model
 	 * @param file		standard Java file
 	 * @return
@@ -89,7 +89,7 @@
 
 	/**
 	 * Static method to save an AMALTHEA model to a file.
-	 * 
+	 *
 	 * @param model		source model
 	 * @param file		standard Java file
 	 * @param useZip	boolean
@@ -105,7 +105,7 @@
 
 	/**
 	 * Static method to save an AMALTHEA model to a file URI.
-	 * 
+	 *
 	 * @param model		source model
 	 * @param uri		org.eclipse.emf.common.util.URI
 	 * @return
@@ -117,7 +117,7 @@
 
 	/**
 	 * Static method to save an AMALTHEA model to a file URI.
-	 * 
+	 *
 	 * @param model		source model
 	 * @param uri		org.eclipse.emf.common.util.URI
 	 * @param useZip	boolean
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/predefined/AmaltheaTemplates.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/predefined/AmaltheaTemplates.java
index ea546b1..a1940f6 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/predefined/AmaltheaTemplates.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/predefined/AmaltheaTemplates.java
@@ -36,9 +36,9 @@
 
 	/**
 	 * Adds a standard scheduler definition with required parameters to the OSModel.
-	 * 
+	 *
 	 * If elements with the same unique name are already defined then the creation of that part is skipped.
-	 * 
+	 *
 	 * @param os
 	 * @param standardScheduler
 	 * @return The just added or existing scheduler definition. <code>NULL</code> if some error occurred.
@@ -48,12 +48,12 @@
 
 		String schedulerName = standardScheduler.getAlgorithmName();
 		if (schedulerName == null) return null;
-		
+
 		@SuppressWarnings("null")
-		Set<SchedulerDefinition> existingSchedulerDefs = 
+		Set<SchedulerDefinition> existingSchedulerDefs =
 					AmaltheaIndex.getElements(os, schedulerName, SchedulerDefinition.class);
 		@SuppressWarnings("null")
-		Map<String, SchedulingParameterDefinition> existingParameterDefs = 
+		Map<String, SchedulingParameterDefinition> existingParameterDefs =
 					AmaltheaIndex.getElements(os, SchedulingParameterDefinition.class).stream()
 						.collect(Collectors.toMap(SchedulingParameterDefinition::getName, Function.identity()));
 
@@ -70,19 +70,19 @@
 
 			// link to algorithm parameter definition (and create if necessary)
 			for (Parameter stdParam : standardScheduler.getAlgorithmParameters()) {
-				SchedulingParameterDefinition paramDef = existingParameterDefs.get(stdParam.getParameterName()); 
+				SchedulingParameterDefinition paramDef = existingParameterDefs.get(stdParam.getParameterName());
 				if (paramDef == null) {
 					paramDef = addNewParameterDefinition(os, stdParam);
 				}
-				schedulerDef.getAlgorithmParameters().add(paramDef);					
+				schedulerDef.getAlgorithmParameters().add(paramDef);
 			}
 			// link to process parameter definition (and create if necessary)
 			for (Parameter stdParam : standardScheduler.getProcessParameters()) {
-				SchedulingParameterDefinition paramDef = existingParameterDefs.get(stdParam.getParameterName()); 
+				SchedulingParameterDefinition paramDef = existingParameterDefs.get(stdParam.getParameterName());
 				if (paramDef == null) {
 					paramDef = addNewParameterDefinition(os, stdParam);
 				}
-				schedulerDef.getProcessParameters().add(paramDef);					
+				schedulerDef.getProcessParameters().add(paramDef);
 			}
 			return schedulerDef;
 		} else {
@@ -92,9 +92,9 @@
 
 	/**
 	 * Adds a standard scheduling parameter definition to the OSModel.
-	 * 
+	 *
 	 * If an element with the same unique name is already defined then the creation is skipped.
-	 * 
+	 *
 	 * @param os
 	 * @param standardParameter
 	 * @return The just added or existing scheduling parameter definition. <code>NULL</code> if some error occurred.
@@ -106,9 +106,9 @@
 		if (parameterName == null) return null;
 
 		@SuppressWarnings("null")
-		Set<SchedulingParameterDefinition> existingParameterDefs = 
+		Set<SchedulingParameterDefinition> existingParameterDefs =
 			AmaltheaIndex.getElements(os, parameterName, SchedulingParameterDefinition.class);
-		
+
 		// create scheduling parameter definition (only if not already available)
 		if (existingParameterDefs.isEmpty()) {
 			// create definition
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/predefined/StandardSchedulers.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/predefined/StandardSchedulers.java
index ecfa060..4b6148c 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/predefined/StandardSchedulers.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/predefined/StandardSchedulers.java
@@ -443,7 +443,7 @@
 		private final boolean requiresParentScheduler;
 
 		// private enum constructor
-		private Algorithm(String algorithmName, String description,
+		Algorithm(String algorithmName, String description,
 				Parameter[] algorithmParameters, Parameter[] processParameters,
 				boolean hasExactlyOneChild, boolean passesParametersUpwards, boolean requiresParentScheduler) {
 			this.algorithmName = algorithmName;
@@ -514,11 +514,11 @@
 		private final String defaultValue;
 
 		// private enum constructors
-		private Parameter(String parameterName, Type type, boolean many, boolean mandatory) {
+		Parameter(String parameterName, Type type, boolean many, boolean mandatory) {
 			this(parameterName, type, many, mandatory, null);
 		}
 
-		private Parameter(String parameterName, Type type, boolean many, boolean mandatory, String defaultValue) {
+		Parameter(String parameterName, Type type, boolean many, boolean mandatory, String defaultValue) {
 			this.parameterName = parameterName;
 			this.type = type;
 			this.many = many;
@@ -557,7 +557,7 @@
 		private final String typeName;
 
 		// private enum constructor
-		private Type(String typeName) {
+		Type(String typeName) {
 			this.typeName = typeName;
 		}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/ConstraintsUtil.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/ConstraintsUtil.java
index 3101c70..853dc3e 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/ConstraintsUtil.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/ConstraintsUtil.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -61,10 +61,10 @@
 	 */
 	public static @Nullable Time getDeadline(final @NonNull AbstractProcess process) {
 		checkArgument(process != null, ARG_NULL_MESSAGE);
-		
+
 		final ConstraintsModel constraintsModel = getConstraintsModel(process);
 		if (constraintsModel == null) return null;
-		
+
 		return getDeadline(process, constraintsModel);
 	}
 
@@ -83,7 +83,7 @@
 				.sorted(Time::compareTo)
 				.collect(Collectors.toList());
 		if (list.isEmpty()) return null;
-		
+
 		return list.get(0);
 	}
 
@@ -93,7 +93,7 @@
 	 */
 	public static @Nullable Time getDeadline(final @NonNull Runnable runnable) {
 		checkArgument(runnable != null, ARG_NULL_MESSAGE);
-		
+
 		final ConstraintsModel constraintsModel = getConstraintsModel(runnable);
 		if (constraintsModel == null) return null;
 
@@ -108,14 +108,14 @@
 	public static @Nullable Time getDeadline(final @NonNull Runnable runnable, final @NonNull ConstraintsModel constModel) {
 		checkArgument(runnable != null, ARG_NULL_MESSAGE);
 		checkArgument(constModel != null, ARG_NULL_MESSAGE);
-		
+
 		List<Time> list = getDeadlineRequirements(runnable, constModel).stream()
 				.map(req -> ((TimeRequirementLimit) req.getLimit()).getLimitValue())
 				.filter(Objects::nonNull)
 				.sorted(Time::compareTo)
 				.collect(Collectors.toList());
 		if (list.isEmpty()) return null;
-		
+
 		return list.get(0);
 	}
 
@@ -170,7 +170,7 @@
 	public static void updateDeadlineRequirement(final @NonNull Task task, final @NonNull Time deadline) {
 		checkArgument(task != null, ARG_NULL_MESSAGE);
 		checkArgument(deadline != null, ARG_NULL_MESSAGE);
-		
+
 		final ConstraintsModel constraintsModel = getConstraintsModel(task);
 		if (constraintsModel == null) return;
 
@@ -188,7 +188,7 @@
 		checkArgument(constModel != null, ARG_NULL_MESSAGE);
 
 		final List<ProcessRequirement> requirements = getDeadlineRequirements(task, constModel);
-		
+
 		if (requirements.isEmpty()) {
 			// create deadline requirement
 			addNewDeadlineRequirement(constModel, task, deadline);
@@ -208,10 +208,10 @@
 	public static void updateDeadlineRequirement(final @NonNull Runnable runnable, final @NonNull Time deadline) {
 		checkArgument(runnable != null, ARG_NULL_MESSAGE);
 		checkArgument(deadline != null, ARG_NULL_MESSAGE);
-		
+
 		final ConstraintsModel constraintsModel = getConstraintsModel(runnable);
 		if (constraintsModel == null) return;
-		
+
 		updateDeadlineRequirement(runnable, deadline, constraintsModel);
 	}
 
@@ -226,7 +226,7 @@
 		checkArgument(constModel != null, ARG_NULL_MESSAGE);
 
 		final List<RunnableRequirement> requirements = getDeadlineRequirements(runnable, constModel);
-		
+
 		if (requirements.isEmpty()) {
 			// create deadline requirement
 			addNewDeadlineRequirement(constModel, runnable, deadline);
@@ -285,7 +285,7 @@
 	 */
 	public static List<AbstractEventChain> getAllAbstractEventChains(final @NonNull ConstraintsModel constModel) {
 		checkArgument(constModel != null, ARG_NULL_MESSAGE);
-		
+
 		final List<AbstractEventChain> allECs = new ArrayList<>(constModel.getEventChains());
 		final Deque<AbstractEventChain> compositeECs = allECs.stream().filter(ec -> !ec.getItems().isEmpty()).collect(Collectors.toCollection(LinkedList::new));
 		// search for arbitrarily deep nested sub event chains
@@ -296,7 +296,7 @@
 			allECs.addAll(subChains);
 			subChains.stream().filter(sec -> !sec.getItems().isEmpty()).forEach(compositeECs::offer);
 		}
-		
+
 		return allECs;
 	}
 
@@ -304,10 +304,10 @@
 	@SuppressWarnings("unused")
 	private static ConstraintsModel getConstraintsModel(final @NonNull EObject object) {
 		checkArgument(object != null, ARG_NULL_MESSAGE);
-		
+
 		Amalthea modelRoot = AmaltheaServices.getContainerOfType(object, Amalthea.class);
 		if (modelRoot == null) return null;
-		
+
 		return ModelUtil.getOrCreateConstraintsModel(modelRoot);
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/CustomPropertyUtil.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/CustomPropertyUtil.java
index 6d3ba2f..5d92530 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/CustomPropertyUtil.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/CustomPropertyUtil.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -48,7 +48,7 @@
 	public static Value customPut(@NonNull IAnnotatable object, @NonNull String key, int num) {
 		checkArgument(object != null, ARG1_MESSAGE);
 		checkArgument(! isNullOrEmpty(key), ARG2_MESSAGE);
-		
+
 		IntegerObject valueObject;
 		valueObject = FactoryUtil.createIntegerObject(num);
 
@@ -142,7 +142,7 @@
 		checkArgument(! isNullOrEmpty(key), ARG2_MESSAGE);
 
 		List<String> keys = Splitter.on(separator).splitToList(key);
-		
+
 		String firstKey = keys.get(0);
 		if (firstKey == null || firstKey.isEmpty()) return null;
 
@@ -172,7 +172,7 @@
 
 		}
 		return valueObject;
-		
+
 	}
 
     private static boolean isIndex(String str) {
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/DeploymentUtil.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/DeploymentUtil.java
index 281982a..f456003 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/DeploymentUtil.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/DeploymentUtil.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -64,7 +64,7 @@
 	 * schedulers and the task allocated to them Assumption: Scheduler
 	 * responsibilities are set empty core affinities are ignored otherwise the
 	 * intersection of core affinity and scheduler responsibility is returned
-	 * 
+	 *
 	 * @return Set of tasks
 	 */
 	public static Set<Task> getTasksMappedToCore(final @NonNull ProcessingUnit core, final @NonNull Amalthea model) { /// called it mapping
@@ -86,11 +86,8 @@
 			if (schedulers.contains(taskAlloc.getScheduler())) {
 				// check core affinities - if affinities are empty the responsibility counts
 				// otherwise the affinity also needs to contain the core
-				if (taskAlloc.getAffinity().isEmpty()) {
+				if (taskAlloc.getAffinity().isEmpty() || taskAlloc.getAffinity().contains(core)) {
 					tasks.add(taskAlloc.getTask());
-				} else {
-					if (taskAlloc.getAffinity().contains(core))
-						tasks.add(taskAlloc.getTask());
 				}
 			}
 		}
@@ -99,7 +96,7 @@
 
 	/**
 	 * Returns a set of all ISR mapped to that core
-	 * 
+	 *
 	 * @return Set of interrupt service routines (ISR)
 	 */
 	public static Set<ISR> getISRsMappedToCore(final @NonNull ProcessingUnit core, final @NonNull Amalthea model) {
@@ -116,7 +113,7 @@
 					for (SchedulerAllocation coreAlloc : schedulerAllocs) {
 						if (coreAlloc.getResponsibility().contains(core) && coreAlloc.getScheduler() == ia.getController()) {
 							result.add(isr);
-							
+
 						}
 					}
 				}
@@ -127,7 +124,7 @@
 
 	/**
 	 * Returns a list of all allocations of a task
-	 * 
+	 *
 	 * @return List of task allocations
 	 */
 	public static List<TaskAllocation> getTaskAllocations(final @NonNull Task task, final @NonNull Amalthea model) {
@@ -139,20 +136,20 @@
 		}
 		return allocs;
 	}
-	
+
 	/**
 	 * Returns a list of all allocations of a task
-	 * 
+	 *
 	 * @return List of task allocations
 	 */
 	public static Set<TaskAllocation> getTaskAllocations(final @NonNull Task task) {
 		return AmaltheaIndex.getReferringObjects(task, TaskAllocation.class);
-		
+
 	}
-	
+
 	/**
 	 * Returns a list of all allocations of a isr
-	 * 
+	 *
 	 * @return List of isr allocations
 	 */
 	public static Set<ISRAllocation> getIsrAllocations(final @NonNull Process isr) {
@@ -165,10 +162,10 @@
 	public static boolean isMapped(final @NonNull AbstractMemoryElement element) {
 		return !getMapping(element).isEmpty();
 	}
-	
+
 	/**
 	 * Set of memories the abstract element is mapped to (should be only one!)
-	 * 
+	 *
 	 * @return Set of Memories
 	 */
 	public static Set<Memory> getMapping(final @NonNull AbstractMemoryElement element) {
@@ -179,16 +176,16 @@
 
 	/**
 	 * Set of memories the label is mapped to (should be only one!)
-	 * 
+	 *
 	 * @return Set of Memories
 	 */
 	public static Set<Memory> getLabelMapping(final @NonNull Label label) {
 		return getMapping(label);
 	}
-	
+
 	/**
 	 * Returns a created Memory element which was already added to the model
-	 * 
+	 *
 	 * @return MemoryMapping
 	 */
 	public static MemoryMapping setMapping(final @NonNull AbstractMemoryElement element, final @NonNull Memory mem, final @NonNull Amalthea model) {
@@ -201,10 +198,10 @@
 		ModelUtil.getOrCreateMappingModel(model).getMemoryMapping().add(mapping);
 		return mapping;
 	}
-	
+
 	/**
 	 * Returns a created LabelMapping element which was already added to the model
-	 * 
+	 *
 	 * @return MemoryMapping
 	 */
 	public static MemoryMapping setLabelMapping(final @NonNull Label label, final @NonNull Memory mem, final @NonNull Amalthea model) {
@@ -220,15 +217,15 @@
 	 * @param model the containing model
 	 * @return Set of cores
 	 * @deprecated
-	 * This method was replaced by the function below, which does not need the containing model as a 
+	 * This method was replaced by the function below, which does not need the containing model as a
 	 * parameter, instead the Amalthea index is used to access the loaded model.
 	 * use: public static Set<ProcessingUnit> getAssignedCoreForProcess(final @NonNull Process process)
-	 * 
+	 *
 	 */
 	@Deprecated
 	public static Set<ProcessingUnit> getAssignedCoreForProcess(Process process, Amalthea model) {
 		if (model == null || process == null) return null;
-		
+
 		final MappingModel mappingModel = model.getMappingModel();
 		if (mappingModel == null) return null;
 
@@ -244,10 +241,10 @@
 
 		return processingUnits;
 	}
-	
+
 	@Deprecated
 	private static void getAssignedCoresForISR(ISR isr, final MappingModel mappingModel, Set<ProcessingUnit> processingUnits) {
-		
+
 		for (ISRAllocation isrAlloc : mappingModel.getIsrAllocation()) {
 			if (isrAlloc.getIsr()!=null && isrAlloc.getIsr().equals(isr)) {
 				for (SchedulerAllocation coreAlloc : mappingModel.getSchedulerAllocation()) {
@@ -258,15 +255,15 @@
 			}
 		}
 	}
-	
+
 	@Deprecated
 	private static void getAssignedCoresForTask(Task task, final MappingModel mappingModel, Set<ProcessingUnit> processingUnits) {
-		
+
 		Set<TaskAllocation> taskAllocations = new HashSet<>();
-		
+
 		for (TaskAllocation taskAlloc : mappingModel.getTaskAllocation()) {
 			if (taskAlloc.getTask()!=null && taskAlloc.getTask().equals(task)) {
-				taskAllocations.add(taskAlloc);				
+				taskAllocations.add(taskAlloc);
 			}
 		}
 
@@ -274,10 +271,10 @@
 			if (!(schedAlloc.getScheduler() instanceof TaskScheduler)) continue;
 
 			TaskScheduler scheduler1 = (TaskScheduler) schedAlloc.getScheduler();
-			
+
 			for (TaskAllocation taskAlloc : taskAllocations) {
 				TaskScheduler scheduler2 = taskAlloc.getScheduler();
-				
+
 				// check if the same scheduler manages the task and the core -- this includes hierarchical schedulers.
 				if (scheduler1!=null && (scheduler1.equals(scheduler2) || scheduler1.getChildSchedulers().contains(scheduler2))) {
 					// check core affinity -- retain the core affinity with the scheduler responsibility
@@ -288,7 +285,7 @@
 						}
 					} else {
 						// responsibility defines core mapping
-						processingUnits.addAll(schedAlloc.getResponsibility());							
+						processingUnits.addAll(schedAlloc.getResponsibility());
 					}
 				}
 			}
@@ -299,12 +296,12 @@
 	 * Returns the cores the process is assigned to. Empty core affinities are
 	 * ignored, otherwise the intersection of core affinity and scheduler
 	 * responsibility is returned.
-	 * 
+	 *
 	 * @param process Task or ISR
 	 * @return Set of cores
 	 */
 	public static Set<ProcessingUnit> getAssignedCoreForProcess(final @NonNull Process process){
-		
+
 		final Set<ProcessingUnit> processingUnits = new HashSet<>();
 
 		if (process instanceof Task) {
@@ -324,9 +321,9 @@
 		final Set<ProcessingUnit> processingUnitsFromAffinity = new HashSet<>();
 		AmaltheaIndex.getReferringObjects(task, TaskAllocation.class).stream().forEach(ta -> {
 			schedulers.add(ta.getScheduler());
-			processingUnitsFromAffinity.addAll(ta.getAffinity()); 
+			processingUnitsFromAffinity.addAll(ta.getAffinity());
 		});
-		
+
 		for (Scheduler scheduler : schedulers) {
 			if (scheduler != null) {
 				AmaltheaIndex.getReferringObjects(scheduler, SchedulerAllocation.class).stream()
@@ -336,8 +333,8 @@
 		if (!processingUnitsFromAffinity.isEmpty()) {
 			processingUnits.removeIf(pu -> !processingUnitsFromAffinity.contains(pu));
 		}
-	}	
-	
+	}
+
 	private static void getAssignedCoresForISR(final @NonNull ISR isr, final Set<ProcessingUnit> processingUnits) {
 		final Set<InterruptController> controllers = new HashSet<>();
 		AmaltheaIndex.getReferringObjects(isr, ISRAllocation.class).stream()
@@ -350,7 +347,7 @@
 			}
 		}
 	}
-	
+
 
 	/**
 	 * @param procUnitDef	 processing unit definition
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/FactoryUtil.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/FactoryUtil.java
index 0e5e8d0..42d432b 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/FactoryUtil.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/FactoryUtil.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -72,7 +72,7 @@
 	public static Counter createCounter(long prescaler) {
 		return createCounter(prescaler, 0);
 	}
-	
+
 	/**
 	 * Creates a counter
 	 */
@@ -239,10 +239,10 @@
 	}
 
 	/**
-	 * Creates a Time object parsed from a text representation. 
-	 * @param timeString	string representation of a time (number followed by time unit s, ms, us, ns or ps)  
+	 * Creates a Time object parsed from a text representation.
+	 * @param timeString	string representation of a time (number followed by time unit s, ms, us, ns or ps)
 	 * @return The new Time object
-	 * 
+	 *
 	 */
 	public static Time createTime(String timeString) {
 		Pattern p = Pattern.compile("(-?\\d+)(\\.\\d+)?\\s?(s|ms|us|ns|ps)");
@@ -262,14 +262,14 @@
 
 	private static TimeUnit parseTimeUnit(String input) {
 		if (input == null) return TimeUnit.MS;	//default millisecond
-		
+
 		String unit = input.trim().toLowerCase();
 		if(unit.equals("ps")) return TimeUnit.PS;
 		if(unit.equals("ns")) return TimeUnit.NS;
 		if(unit.equals("us")) return TimeUnit.US;
 		if(unit.equals("ms")) return TimeUnit.MS;
 		if(unit.equals("s")) return TimeUnit.S;
-	
+
 		return null;
 	}
 
@@ -430,7 +430,7 @@
 		valueObject.setValue(value);
 		return valueObject;
 	}
-	
+
 	public static ListObject createListObject(Collection<? extends Value> values) {
 		ListObject valueObject = AmaltheaFactory.eINSTANCE.createListObject();
 		valueObject.getValues().addAll(values);
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/HardwareUtil.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/HardwareUtil.java
index c185c04..f940815 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/HardwareUtil.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/HardwareUtil.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -62,17 +62,17 @@
 	public static <T extends HwModule> List<T> getModulesFromHWStructure(Class<T> targetClass, HwStructure structure) {
 		List<T> results = new ArrayList<>();
 		collectModulesFromHWStructure(structure, targetClass, results);
-		
+
 		return results;
 	}
-	
+
 	private static <T extends HwModule> void collectModulesFromHWStructure(HwStructure structure, Class<T> targetClass, List<T> results) {
 		// check all modules
 		for (HwModule module : structure.getModules()) {
 			if (targetClass.isInstance(module)) {
 				results.add(targetClass.cast(module));
 			}
-			
+
 			// special handling of processing unit caches
 			if (targetClass.isAssignableFrom(Cache.class) && module instanceof ProcessingUnit) {
 				for (Cache containedCache : ((ProcessingUnit) module).getCaches()) {
@@ -82,7 +82,7 @@
 				}
 			}
 		}
-		
+
 		// call method recursive to also get modules of included structures
 		for (HwStructure hwStruct : structure.getStructures()) {
 			collectModulesFromHWStructure(hwStruct, targetClass, results);
@@ -93,7 +93,7 @@
 		if (puDef == null) { // null is the key for default values!
 			return new ArrayList<>();
 		}
-		
+
 		List<ProcessingUnit> result = new ArrayList<>();
 		for (ProcessingUnit pu : getModulesFromHwModel(ProcessingUnit.class, model)) {
 			if (puDef.equals(pu.getDefinition())) {
@@ -124,7 +124,7 @@
 			Time time = RuntimeUtil.getExecutionTimeForCycles(cycles, defaultFrequency);
 			result.put(memory, time);
 		}
-		
+
 		return result;
 	}
 
@@ -155,7 +155,7 @@
 				} else {
 					latency = calculateLatencyPathTime(accessElement, timeType, direction);
 				}
-				
+
 				Time previousLatency = memoryAccessMap.get(destination);
 				if (previousLatency == null || (latency != null && AmaltheaServices.compareTimes(previousLatency, latency) < 0)) {
 					memoryAccessMap.put(destination, latency);
@@ -183,8 +183,8 @@
 		default:
 			break;
 		}
-		
-		return RuntimeUtil.getExecutionTimeForCycles((double)calculateLatency(latency, timeType), 
+
+		return RuntimeUtil.getExecutionTimeForCycles(calculateLatency(latency, timeType),
 				accessElement.getSource().getFrequencyDomain().getDefaultValue());
 	}
 
@@ -222,7 +222,7 @@
 			}
 
 			Long tmpLatency = calculateLatency(latency, timeType);
-			Time executionTimeForCycles = RuntimeUtil.getExecutionTimeForCycles((double)tmpLatency, frequency);
+			Time executionTimeForCycles = RuntimeUtil.getExecutionTimeForCycles(tmpLatency, frequency);
 			result = result.add(executionTimeForCycles);
 		}
 
@@ -232,7 +232,7 @@
 	private static IDiscreteValueDeviation getLatency(ConnectionHandler handler, AccessDirection direction) {
 		final ConnectionHandlerDefinition definition = handler.getDefinition();
 		if (definition == null) return null;
-		
+
 		return (direction.equals(AccessDirection.READ)) ? definition.getReadLatency() : definition.getWriteLatency();
 	}
 
@@ -258,7 +258,7 @@
 		case WCET:
 			return latency.getUpperBound();
 		}
-		
+
 		return (latency.getAverage() != null) ? latency.getAverage().longValue() : null;
 	}
 
@@ -304,7 +304,7 @@
 	public static long getFrequencyOfModuleInHz(HwModule module) {
 		final Frequency frequencyOfModule = getFrequencyOfModule(module);
 		if (frequencyOfModule == null) return 0L;
-		
+
 		return AmaltheaServices.convertToHertz(frequencyOfModule).longValue() ;
 	}
 }
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/InstructionsUtil.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/InstructionsUtil.java
index ed3e342..6830709 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/InstructionsUtil.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/InstructionsUtil.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -32,8 +32,8 @@
 import org.eclipse.app4mc.amalthea.model.Ticks;
 
 /**
- * Creates Need entries for Instructions 
- * 
+ * Creates Need entries for Instructions
+ *
  * @deprecated (0.9.3) use {@link Ticks} instead.
  */
 @Deprecated
@@ -70,11 +70,11 @@
 	public static IDiscreteValueDeviation getNeed(ExecutionNeed execNeed) {
 		return execNeed.getNeeds().get(INSTRUCTIONS_CATEGORY_NAME);
 	}
-	
+
 	public static long getNeedConstant(ExecutionNeed execNeed) {
 		return getNeedConstant(execNeed, INSTRUCTIONS_CATEGORY_NAME);
 	}
-	
+
 	public static IDiscreteValueDeviation getNeedDeviation(ExecutionNeed execNeed) {
 		return getNeedDeviation(execNeed, INSTRUCTIONS_CATEGORY_NAME);
 	}
@@ -89,38 +89,38 @@
 	}
 
 
-	//----------------------- General ----------------------- 
+	//----------------------- General -----------------------
 
 
 	private static ExecutionNeed createExecutionNeed(String category, long value) {
 		DiscreteValueConstant dev = AmaltheaFactory.eINSTANCE.createDiscreteValueConstant();
 		dev.setValue(value);
-		
+
 		ExecutionNeed execNeed = AmaltheaFactory.eINSTANCE.createExecutionNeed();
 		execNeed.getNeeds().put(category, dev);
-		
+
 		return execNeed;
 	}
 
 	private static long getNeedConstant(ExecutionNeed execNeed, String category) {
 		if (execNeed == null || category == null) return 0;
-		
+
 		IDiscreteValueDeviation dev = execNeed.getNeeds().get(category);
 		if (dev instanceof DiscreteValueConstant) {
 			return ((DiscreteValueConstant) dev).getValue();
 		}
 		return 0;
 	}
-	
+
 	private static IDiscreteValueDeviation getNeedDeviation(ExecutionNeed execNeed, String category) {
 		if (execNeed == null || category == null) return null;
-		
+
 		return execNeed.getNeeds().get(category);
 	}
 
 	public static List<HwFeature> getFeaturesOfCategory(ProcessingUnitDefinition puDefinition, HwFeatureCategory category) {
 		if (puDefinition == null || category == null) return Collections.<HwFeature>emptyList();
-		
+
 		return puDefinition.getFeatures().stream()
 				.filter(i -> i.getContainingCategory() == category)
 				.collect(Collectors.toList());
@@ -128,7 +128,7 @@
 
 	public static List<Double> getFeatureValuesOfCategory(ProcessingUnitDefinition puDefinition, HwFeatureCategory category) {
 		if (puDefinition == null || category == null) return Collections.<Double>emptyList();
-		
+
 		return puDefinition.getFeatures().stream()
 				.filter(i -> i.getContainingCategory() == category)
 				.map(HwFeature::getValue)
@@ -136,4 +136,4 @@
 	}
 
 }
-	
+
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/ModelUtil.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/ModelUtil.java
index e18f070..b6e5573 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/ModelUtil.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/ModelUtil.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015, 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -44,7 +44,7 @@
 	}
 
 	private static final String ARG_NULL_MESSAGE = "Argument is null, expected: Amalthea";
-	
+
 	// Get namespace from AmaltheaPackage (for symmetric access and convenience)
 	public static final String MODEL_NAMESPACE = AmaltheaPackage.eNS_URI;
 	// Extract AMALTHEA version
@@ -56,7 +56,7 @@
 				? MODEL_NAMESPACE
 				: MODEL_NAMESPACE.substring(lastIndex + 1);
 	}
-	
+
 	public static CommonElements getOrCreateCommonElements(final @NonNull Amalthea model) {
 		checkArgument(model != null, ARG_NULL_MESSAGE);
 
@@ -163,7 +163,7 @@
 		}
 		return process.getActivityGraph();
 	}
-	
+
 	public static ActivityGraph getOrCreateActivityGraph(final @NonNull Runnable runnable) {
 		checkArgument(runnable != null, ARG_NULL_MESSAGE);
 		if (runnable.getActivityGraph() == null) {
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/RuntimeUtil.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/RuntimeUtil.java
index ad1adfc..d060100 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/RuntimeUtil.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/RuntimeUtil.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -82,7 +82,7 @@
 
 	/**
 	 * Computes the execution time of a Process (Task or ISR) - unique mapping is required
-	 * 
+	 *
 	 * @param process		task or isr
 	 * @param modes			(optional) - null works
 	 * @param executionCase	BCET, ACET, WCET
@@ -91,23 +91,23 @@
 	public static Time getExecutionTimeForProcess(Process process, EMap<ModeLabel, String> modes, TimeType executionCase) {
 		Time dummy = FactoryUtil.createTime();
 		if (process == null) return dummy;
-		
+
 		Amalthea model = getContainingModel(process);
 		if (model == null) return dummy;
-		
+
 		Set<ProcessingUnit> puSet = DeploymentUtil.getAssignedCoreForProcess(process);
 		if (puSet.size() != 1) {
 			System.out.println("Mapping unclear. Process mapped to " + puSet.size() + " Cores - Use PU specific method");
 			return dummy;
 		}
-		
-		ProcessingUnit processingUnit = puSet.iterator().next(); 
+
+		ProcessingUnit processingUnit = puSet.iterator().next();
 		return getExecutionTimeForProcess(process, processingUnit, modes, executionCase);
 	}
 
 	/**
 	 * Computes the execution time of a Process (Task or ISR) on a given processing unit
-	 * 
+	 *
 	 * @param process			task or isr
 	 * @param processingUnit	executing processing unit
 	 * @param modes				(optional) - null works
@@ -117,7 +117,7 @@
 	public static Time getExecutionTimeForProcess(Process process, ProcessingUnit processingUnit, EMap<ModeLabel, String> modes, TimeType executionCase) {
 		Time result = FactoryUtil.createTime();
 		if (process == null || processingUnit == null) return result;
-		
+
 		for (Runnable runnable : SoftwareUtil.getRunnableList(process, modes) ) {
 			result = result.add(getExecutionTimeForRunnable(runnable, processingUnit, modes, executionCase));
 		}
@@ -126,7 +126,7 @@
 
 	/**
 	 * Computes the execution time of a Runnable on a given processing unit
-	 * 
+	 *
 	 * @param runnable			runnable
 	 * @param processingUnit	executing processing unit
 	 * @param modes				(optional) - null works
@@ -140,14 +140,14 @@
 		for (Ticks tick : tickList) {
 			result = result.add(getExecutionTimeForTicks(tick, processingUnit, executionCase));
 		}
-		
-		List<ExecutionNeed> executionNeedList = SoftwareUtil.getExecutionNeeds(runnable, modes);		
+
+		List<ExecutionNeed> executionNeedList = SoftwareUtil.getExecutionNeeds(runnable, modes);
 		if (!executionNeedList.isEmpty()) {
 			for (ExecutionNeed need : executionNeedList) {
 				result = result.add(getExecutionTimeForExecutionNeeds(need, processingUnit, executionCase));
 			}
 		}
-		return result;			
+		return result;
 	}
 
 	// Simon 11.01.2019:
@@ -174,7 +174,7 @@
 
 	/**
 	 * Computes time for ticks on a given processing unit
-	 * 
+	 *
 	 * @param deviation			ticks deviation
 	 * @param processingUnit	executing processing unit
 	 * @param executionCase		BCET, ACET, WCET
@@ -198,7 +198,7 @@
 
 	/**
 	 * Computes time for execution needs on a given processing unit
-	 * 
+	 *
 	 * @param need				execution need
 	 * @param processingUnit	executing processing unit
 	 * @param executionCase		BCET, ACET, WCET
@@ -207,14 +207,14 @@
 	public static Time getExecutionTimeForExecutionNeeds(ExecutionNeed need, ProcessingUnit processingUnit, TimeType executionCase) {
 		Time result = FactoryUtil.createTime();
 		if (need == null || processingUnit == null) return result;
-		
+
 		Amalthea model = getContainingModel(processingUnit);
 		if (model == null) return result;
-		
+
 		for (Entry<String, IDiscreteValueDeviation> needEntry : need.getNeeds()) {
 			String categoryName = needEntry.getKey();
 			if (categoryName == null) continue;
-			
+
 			Set<HwFeatureCategory> categorySet = AmaltheaIndex.getElements(model, categoryName, HwFeatureCategory.class);
 			if (categorySet.size() == 1) {
 				result = getExecutionTimeForExecutionNeedEntry(needEntry.getValue(), categorySet.iterator().next(), processingUnit, executionCase);
@@ -229,7 +229,7 @@
 
 	/**
 	 * Computes time for specific execution need entry on a given processing unit
-	 * 
+	 *
 	 * @param deviation			needs deviation
 	 * @param hwFeatureCategory	corresponding feature category
 	 * @param processingUnit	executing processing unit
@@ -261,14 +261,14 @@
 
 	/**
 	 * Computes time for a number of ticks with a given frequency
-	 * 
+	 *
 	 * @param ticks			ticks / cycles
 	 * @param frequency		frequency (of an executing processing unit)
 	 * @return execution time
 	 */
 	public static Time getExecutionTimeForCycles(double ticks, Frequency frequency) {
 		if (frequency == null) return null;
-		
+
 		double cyclesPerSecond = AmaltheaServices.convertToHertz(frequency).doubleValue();
 		double factor = 1.0d / cyclesPerSecond;
 		Time oneSecond = FactoryUtil.createTime(1, TimeUnit.S);
@@ -276,26 +276,26 @@
 		Time result = t1.multiply(factor);
 		return result.adjustUnit();
 	}
-	
+
 	/**
 	 * Computes ticks for a given time (in seconds) and frequency.
-	 * 
+	 *
 	 * @param executionTime execution time in seconds
 	 * @param frequency     frequency (of an executing processing unit)
 	 * @return ticks / cycles
 	 */
 	public static double getTicksForExecutionTimeInSeconds(BigDecimal executionTime, Frequency frequency) {
 		if (executionTime == null || frequency == null) return Double.NaN;
-		
+
 		BigDecimal cyclesPerSecond = AmaltheaServices.convertToHertz(frequency);
 		BigDecimal ticks = executionTime.multiply(cyclesPerSecond);
-		
+
 		return ticks.doubleValue();
 	}
-	
+
 	/**
 	 * Computes ticks for a given time and frequency.
-	 * 
+	 *
 	 * @param executionTime execution time
 	 * @param frequency     frequency (of an executing processing unit)
 	 * @return ticks / cycles
@@ -339,7 +339,7 @@
 
 	/**
 	 * Clears all runtime information (execution needs and ticks)
-	 * 
+	 *
 	 * @param model		Amalthea model
 	 * @param modes		(optional) - null works
 	 */
@@ -355,7 +355,7 @@
 
 	/**
 	 * Clears all runtime information (execution needs and ticks)
-	 * 
+	 *
 	 * @param process	task or isr
 	 * @param modes		(optional) - null works
 	 */
@@ -369,21 +369,21 @@
 
 	/**
 	 * Clears all runtime information (execution needs and ticks)
-	 * 
+	 *
 	 * @param runnable	runnable
 	 * @param modes		(optional) - null works
 	 */
 	public static void clearRuntimeOfRunnable(Runnable runnable, EMap<ModeLabel, String> modes) {
 		List<ExecutionNeed> executionNeeds = SoftwareUtil.getExecutionNeeds(runnable, modes);
 		AmaltheaIndex.deleteAll(executionNeeds);
-	
+
 		List<Ticks> ticks = SoftwareUtil.getTicks(runnable, modes);
 		AmaltheaIndex.deleteAll(ticks);
 	}
 
 	/**
 	 * Creates a new Runnable with the given runtime at beginning / end of the given process
-	 * 
+	 *
 	 * @param process		containing process (task or isr)
 	 * @param need			execution need
 	 * @param runnableName	name of new runnable
@@ -405,11 +405,11 @@
 		}
 
 		return run;
-	}		
+	}
 
 	/**
 	 * Creates a new Runnable with the given runtime at beginning / end of the given process
-	 * 
+	 *
 	 * @param process		containing process (task or isr)
 	 * @param ticks			ticks
 	 * @param runnableName	name of new runnable
@@ -431,7 +431,7 @@
 		}
 
 		return run;
-	}		
+	}
 
 
 	//#######################################################
@@ -453,7 +453,7 @@
 
 	/**
 	 * Calculates the utilization for a given process
-	 * 
+	 *
 	 * @return Map: procUnit -&gt; utilization
 	 */
 	public static Map<ProcessingUnit, Double> getProcessUtilization(Process process, Amalthea model, TimeType tt,
@@ -474,7 +474,7 @@
 	 * Calculates the utilization for a given process on a given procUnit
 	 * <p>
 	 * Assumption (wrong): All triggers activate the process on all procUnits together! (at the same time)
-	 * 
+	 *
 	 * @return utilization
 	 */
 	public static double getProcessUtilization(Process process, ProcessingUnit procUnit, Amalthea model, TimeType tt,
@@ -506,7 +506,7 @@
 
 	/**
 	 * Returns the cumulative process utilization, i.e. runtime on every procUnit summed up
-	 * 
+	 *
 	 * @return Map: process -&gt; sum of utilization on all procUnits
 	 */
 	public static Map<Process, Double> getCumulativeProcessUtilizations(Amalthea model, TimeType tt,
@@ -524,7 +524,7 @@
 			for (Double value : utilizationMap.values()) {
 				util += value;
 			}
-			
+
 			utilizations.put(proc, util);
 		}
 
@@ -579,7 +579,7 @@
 					// System.out.println(" --triggered by " + triggeringProcess.getName());
 					// InterProcessActivation ipa = getIpaForStimulus(stimulus, triggeringProcess, modes);
 					long ipaPrescaler = entry.getValue();
-					
+
 					List<Time> periods = getPeriodsOfProcess(triggeringProcess, tt, modes);
 					for (Time t : periods) {
 						// if(ipa.getCounter() != null) {
@@ -631,7 +631,7 @@
 
 	/**
 	 * Returns all Processes that trigger the given InterProcessStimulus
-	 * 
+	 *
 	 * @return Map: process -&gt; prescaler value
 	 */
 	public static Map<Process, Long> getTriggeringProcesses(InterProcessStimulus ip, EMap<ModeLabel, String> modes) {
@@ -671,7 +671,7 @@
 
 	/**
 	 * Returns a Map of all sporadically triggered processes with their prescaler
-	 * 
+	 *
 	 * @return Map of processes with a sporadic activation and depending on tt the
 	 *         time between activations
 	 */
@@ -704,7 +704,7 @@
 
 	/**
 	 * Returns a Map of all sporadically triggered processes with their prescaler
-	 * 
+	 *
 	 * @return Map of processes with a sporadic activation and the deviation of the
 	 *         activations
 	 */
@@ -735,7 +735,7 @@
 	public static Map<Process, Map<Stimulus, Long>> getPlainTriggersForModel(Amalthea model, Function<Stimulus, Boolean> filter) {
 		HashMap<Process, Map<Stimulus, Long>> map = new HashMap<>();
 		List<Process> processes = new ArrayList<>();
-		
+
 		SWModel swModel = ModelUtil.getOrCreateSwModel(model);
 		processes.addAll(swModel.getTasks());
 		processes.addAll(swModel.getIsrs());
@@ -811,7 +811,7 @@
 
 	private static Amalthea getContainingModel(EObject object) {
 		if (object == null) return null;
-		
+
 		return AmaltheaServices.getContainerOfType(object, Amalthea.class);
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/SoftwareUtil.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/SoftwareUtil.java
index d382849..c3c9694 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/SoftwareUtil.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/SoftwareUtil.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -85,7 +85,7 @@
 
 	/**
 	 * Traverse the contained call graph items and collect all items.
-	 * 
+	 *
 	 * @param container	call graph, group, ...
 	 * @return
 	 * 		List of ActivityGraphItems
@@ -97,7 +97,7 @@
 	/**
 	 * Traverse the contained call graph items and collect all items.
 	 * Collection can be restricted to specific modes.
-	 * 
+	 *
 	 * @param container	call graph, group, ...
 	 * @param modes		(optional) - null works
 	 * @return
@@ -110,7 +110,7 @@
 	/**
 	 * Traverse the contained call graph items and collect all items.
 	 * Collection can be restricted to specific modes and filtered by a lambda expression.
-	 * 
+	 *
 	 * @param container	call graph, group, ...
 	 * @param modes		(optional) - null works
 	 * @param filter	lambda expression (e.g. "a -&gt; a instanceof LabelAccess")
@@ -121,11 +121,11 @@
 			final Function<ActivityGraphItem, Boolean> filter) {
 		return collectActivityGraphItems(container, modes, ActivityGraphItem.class, filter);
 	}
-	
+
 	/**
 	 * Traverse the runnable items graph of a runnable and collect all items.
 	 * Collection can be restricted to specific modes and filtered by class.
-	 * 
+	 *
 	 * @param container		call graph, group, ...
 	 * @param modes			(optional) - null works
 	 * @param targetClass	subclass of ActivityGraphItem that restricts the result
@@ -136,11 +136,11 @@
 			final Class<T> targetClass) {
 		return collectActivityGraphItems(container, modes, targetClass, null);
 	}
-	
+
 	/**
 	 * Traverse the runnable items graph of a runnable and collect all items.
 	 * Collection can be restricted to specific modes and filtered by class and lambda expression.
-	 * 
+	 *
 	 * @param container		call graph, group, ...
 	 * @param modes			(optional) - null works
 	 * @param targetClass	subclass of ActivityGraphItem that restricts the result
@@ -152,7 +152,7 @@
 			final Class<T> targetClass, final Function<T, Boolean> filter) {
 		EList<T> itemList = new BasicEList<>();
 		if (container != null) {
-			collectActivityGraphItems(container.getItems(), modes, targetClass, filter, itemList);			
+			collectActivityGraphItems(container.getItems(), modes, targetClass, filter, itemList);
 		}
 		return itemList;
 	}
@@ -229,27 +229,27 @@
 	public static boolean conditionIsSatisfiedBy(Object condition, EMap<ModeLabel, String> context) {
 		// no context defined => satisfied (no restriction)
 		if (context == null) return true;
-	
+
 		// OR condition
 		if (condition instanceof ConditionDisjunction) {
 			return conditionIsSatisfiedBy((ConditionDisjunction) condition, context);
 		}
-	
+
 		// AND condition
 		if (condition instanceof ConditionConjunction) {
 			return conditionIsSatisfiedBy((ConditionConjunction) condition, context);
 		}
-	
+
 		// Compare the value of a mode label with a given value
 		if (condition instanceof ModeValueCondition) {
 			return conditionIsSatisfiedBy((ModeValueCondition) condition, context);
 		}
-	
+
 		// Compare the values of two mode labels
 		if (condition instanceof ModeLabelCondition) {
 			return conditionIsSatisfiedBy((ModeLabelCondition) condition, context);
 		}
-	
+
 		// no restriction for other types
 		return true;
 	}
@@ -270,7 +270,7 @@
 	public static boolean conditionIsSatisfiedBy(ConditionConjunction condition, EMap<ModeLabel, String> context) {
 		// no context defined => satisfied (no restriction)
 		if (context == null) return true;
-		
+
 		// AND condition
 		for (Condition entry : condition.getEntries()) {
 			if (!conditionIsSatisfiedBy(entry, context)) {
@@ -302,7 +302,7 @@
 	public static boolean conditionIsSatisfiedBy(ModeLabelCondition condition, EMap<ModeLabel, String> context) {
 		// no context defined => satisfied (no restriction)
 		if (context == null) return true;
-		
+
 		// Compare the values of two mode labels
 
 		// check completeness of specified condition
@@ -417,7 +417,7 @@
 	 * 		List of LabelAccesses
 	 */
 	public static List<LabelAccess> getLabelAccessList(Runnable runnable, EMap<ModeLabel, String> modes) {
-		return collectActivityGraphItems(runnable.getActivityGraph(), modes, LabelAccess.class);	
+		return collectActivityGraphItems(runnable.getActivityGraph(), modes, LabelAccess.class);
 	}
 
 	/**
@@ -428,7 +428,7 @@
 	 * 		List of LabelAccesses
 	 */
 	public static List<LabelAccess> getReadLabelAccessList(Runnable runnable, EMap<ModeLabel, String> modes) {
-		return collectActivityGraphItems(runnable.getActivityGraph(), modes, LabelAccess.class, (la -> la.getAccess() == READ));	
+		return collectActivityGraphItems(runnable.getActivityGraph(), modes, LabelAccess.class, (la -> la.getAccess() == READ));
 	}
 
 	/**
@@ -439,7 +439,7 @@
 	 * 		List of LabelAccesses
 	 */
 	public static List<LabelAccess> getWriteLabelAccessList(Runnable runnable, EMap<ModeLabel, String> modes) {
-		return collectActivityGraphItems(runnable.getActivityGraph(), modes, LabelAccess.class, (la -> la.getAccess() == WRITE));	
+		return collectActivityGraphItems(runnable.getActivityGraph(), modes, LabelAccess.class, (la -> la.getAccess() == WRITE));
 	}
 
 	/**
@@ -498,7 +498,7 @@
 					LabelAccess::getData,
 					Collectors.mapping(LabelAccess::getStatistic, Collectors.toList()) ));
 	}
-	
+
 	/**
 	 * Returns a set of labels accessed by the process
 	 * @param process	process (Task or ISR)
@@ -521,7 +521,7 @@
 	 * 		Set of Labels
 	 */
 	public static Set<Label> getReadLabelSet(Process  process, EMap<ModeLabel, String> modes) {
-		HashSet<Label> result = new HashSet<>(); 
+		HashSet<Label> result = new HashSet<>();
 		for (Runnable r : getRunnableList(process, modes))
 			result.addAll(getReadLabelSet(r, modes));
 		return result;
@@ -535,7 +535,7 @@
 	 * 		Set of Labels
 	 */
 	public static Set<Label> getWriteLabelSet(Process process, EMap<ModeLabel, String> modes) {
-		HashSet<Label> result = new HashSet<>(); 
+		HashSet<Label> result = new HashSet<>();
 		for (Runnable r : getRunnableList(process, modes))
 			result.addAll(getWriteLabelSet(r, modes));
 		return result;
@@ -549,7 +549,7 @@
 	 * 		List of LabelAccesses
 	 */
 	public static List<LabelAccess> getLabelAccessList(Process process, EMap<ModeLabel, String> modes) {
-		ArrayList<LabelAccess> result = new ArrayList<>(); 
+		ArrayList<LabelAccess> result = new ArrayList<>();
 		for (Runnable r : getRunnableList(process, modes))
 			result.addAll(getLabelAccessList(r, modes));
 		return result;
@@ -641,16 +641,16 @@
 			}
 		}
 		return result;
-	}	
+	}
 
 	/**
-	 * Returns the reads from a process to a certain label. Evaluates the LabelAccessStatistic. 
+	 * Returns the reads from a process to a certain label. Evaluates the LabelAccessStatistic.
 	 * Definition of TimeType is possible. Null value returns the average case.
 	 */
 	public static float getLabelReadCount(Label label, Process process, EMap<ModeLabel, String> modes, TimeType timeType) {
 		if (timeType == null)
 			timeType = TimeType.ACET;
-		
+
 		EList<@NonNull LabelAccess> accessList = collectActivityGraphItems(
 				process.getActivityGraph(),
 				modes,
@@ -661,13 +661,13 @@
 	}
 
 	/**
-	 * Returns the writes from a process to a certain label. Evaluates the LabelAccessStatistic. 
+	 * Returns the writes from a process to a certain label. Evaluates the LabelAccessStatistic.
 	 * Definition of TimeType is possible. Null value returns the average case.
 	 */
 	public static float getLabelWriteCount(Label label, Process process, EMap<ModeLabel, String> modes, TimeType timeType) {
 		if (timeType == null)
 			timeType = TimeType.ACET;
-		
+
 		EList<@NonNull LabelAccess> accessList = collectActivityGraphItems(
 				process.getActivityGraph(),
 				modes,
@@ -684,7 +684,7 @@
 				accesses += 1f;
 				continue;
 			}
-			
+
 			NumericStatistic statistic = la.getStatistic().getValue();
 			if (statistic instanceof SingleValueStatistic) {
 				accesses += ((SingleValueStatistic) statistic).getValue();
@@ -719,9 +719,9 @@
 	}
 
 	/**
-	 * Returns a set of runnables called by the process - no duplicates 
+	 * Returns a set of runnables called by the process - no duplicates
 	 * @param process	process (Task or ISR)
-	 * @param modes		(optional) - null works 
+	 * @param modes		(optional) - null works
 	 * @return
 	 * 		Set of runnables called by the process
 	 */
@@ -736,14 +736,14 @@
 	public static float getLabelAccessCountFromStatistics(LabelAccess labelAcc, TimeType accType) {
 		if (labelAcc.getStatistic() == null)
 			return 1;
-		
+
 		float accesses = 1;
 		final NumericStatistic value = labelAcc.getStatistic().getValue();
 		if (value instanceof SingleValueStatistic) {
 			accesses = ((SingleValueStatistic)value).getValue();
 		} else if (value instanceof MinAvgMaxStatistic) {
 			switch(accType) {
-			case ACET: 
+			case ACET:
 				accesses = ((MinAvgMaxStatistic)value).getAvg();
 				break;
 			case BCET:
@@ -759,12 +759,12 @@
 		return accesses;
 	}
 
-	/** 
+	/**
 	 * Returns a list of runnables reading the label
 	 * @param label		label
 	 * @param modes		(optional) - null works
 	 * @return
-	 * 		List of Runnables 
+	 * 		List of Runnables
 	 */
 	public static List<Runnable> getReaderListOfLabel(Label label, EMap<ModeLabel, String> modes) {
 		ArrayList<Runnable> result = new ArrayList<>();
@@ -815,7 +815,7 @@
 	 * @param label		label
 	 * @param modes		(optional) - null works
 	 * @return
-	 * 		Set of Runnables 
+	 * 		Set of Runnables
 	 */
 	public static Set<Runnable> getWriterSetOfLabel(Label label, EMap<ModeLabel, String> modes) {
 		return new HashSet<>(getWriterListOfLabel(label, modes));
@@ -958,7 +958,7 @@
 	 */
 	public static List<ExecutionNeed> getExecutionNeeds(Runnable runnable, EMap<ModeLabel, String> modes) {
 		return collectActivityGraphItems(runnable.getActivityGraph(), modes, ExecutionNeed.class);
-		
+
 		// Should nested runnable calls also be included ? (potential cycles)
 	}
 
@@ -977,11 +977,11 @@
 		for (Runnable run : getRunnableList(process, modes)) {
 			result.addAll(getExecutionNeeds(run, modes));
 		}
-		return result; 
+		return result;
 	}
 
-	/** 
-	 * Returns a list of all ticks for a given runnable 
+	/**
+	 * Returns a list of all ticks for a given runnable
 	 * @param runnable	runnable
 	 * @param modes		(optional) - null works
 	 * @return
@@ -989,12 +989,12 @@
 	 */
 	public static List<Ticks> getTicks(Runnable runnable, EMap<ModeLabel, String> modes) {
 		return collectActivityGraphItems(runnable.getActivityGraph(), modes, Ticks.class);
-		
+
 		// Should nested runnable calls also be included ? (potential cycles)
 	}
 
-	/** 
-	 * Returns a list of all ticks for a given process 
+	/**
+	 * Returns a list of all ticks for a given process
 	 * @param process	process (Task or ISR)
 	 * @param modes		(optional) - null works
 	 * @return
@@ -1030,7 +1030,7 @@
 	 * 		Set of ServerCall
 	 */
 	public static Set<ServerCall> getServerCallSet(Process process, EMap<ModeLabel, String> modes) {
-		HashSet<ServerCall> result = new HashSet<>(); 
+		HashSet<ServerCall> result = new HashSet<>();
 		for (Runnable run : getRunnableList(process, modes)) {
 			result.addAll(getServerCallSet(run, modes));
 		}
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/TimeUtil.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/TimeUtil.java
index 347da65..e5b66d3 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/TimeUtil.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/TimeUtil.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -34,10 +34,10 @@
 	 * Returns a list with all possible Units
 	 * @return TimeUnit.VALUES
 	 */
-	public static List<TimeUnit> getTimeUnitList() {	
+	public static List<TimeUnit> getTimeUnitList() {
 		return AmaltheaServices.TIME_UNIT_LIST;
 	}
-	
+
 	/**
 	 * Converts a Time object to the given TimeUnit.
 	 * Note: when convert from small unit to bigger unit, the function will round the number e.g 5200Ps = 5Ns
@@ -47,27 +47,27 @@
 			// Units are the same, no conversion
 			return time;
 		}
-		
+
 		if (time.getUnit() == TimeUnit._UNDEFINED_ || unit == TimeUnit._UNDEFINED_ ) {
 			return null;
 		}
-		
+
 		Time newTime = AmaltheaFactory.eINSTANCE.createTime();
-		
+
 		List<TimeUnit> units = getTimeUnitList();
-		int power = units.indexOf(time.getUnit()) - units.indexOf(unit); 
+		int power = units.indexOf(time.getUnit()) - units.indexOf(unit);
 		// Get the difference from the source TimeUnit to the destination TimeUnit as a factor
 		double factor = Math.pow(1000, power);
-		
+
 		// Convert
-		if(factor >= 1.0) { 
+		if(factor >= 1.0) {
 			newTime.setValue(time.getValue().multiply(BigInteger.valueOf((long)factor)));
 		} else {
 			factor = 1 / factor;
 			newTime.setValue(time.getValue().divide(BigInteger.valueOf((long)factor)));
 		}
 		newTime.setUnit(unit);
-		
+
 		return newTime;
 	}
 }
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/WeibullUtil.java b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/WeibullUtil.java
index f07fe74..5277b0c 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/WeibullUtil.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/src/org/eclipse/app4mc/amalthea/model/util/WeibullUtil.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -36,10 +36,10 @@
 		public double given_upperBound = 0.0;
 		public double requested_mean = 0.0;
 		public double requested_pRemainPromille = 0.0;
-		
+
 		public double shape = 1.0;
 		public double scale = 1.0;
-		
+
 		public String error = null;
 
 		@Override
@@ -78,8 +78,8 @@
 
 	/**
 	 * See Crénin, François, Truncated Weibull Distribution Functions and Moments (October 30, 2015).
-	 * Available at SSRN: https://ssrn.com/abstract=2690255 or http://dx.doi.org/10.2139/ssrn.2690255 
-	 * 
+	 * Available at SSRN: https://ssrn.com/abstract=2690255 or http://dx.doi.org/10.2139/ssrn.2690255
+	 *
 	 * @param shape
 	 * @param scale
 	 * @param location
@@ -88,7 +88,7 @@
 	 */
 	public static double computeAverage(double shape, double scale, double location, Double upperBound) {
 		if (shape <= 0.0 || scale <= 0.0) return Double.NaN;
-		
+
 		if (upperBound == null || upperBound.isNaN() || upperBound.isInfinite()) {
 			// Standard Weibull distribution
 			return location + scale * Gamma.gamma(1 + 1 / shape);
@@ -107,7 +107,7 @@
 
 	/**
 	 * See https://en.wikipedia.org/wiki/Incomplete_gamma_function
-	 * 
+	 *
 	 * @param s
 	 * @param x
 	 * @return
@@ -123,13 +123,12 @@
 		} else {
 			pRemainPromille = computePRemainPromille(shape, scale, location, upperBound);
 		}
-		
+
 		return computeMedianWithPRemainPromille(shape, scale, location, pRemainPromille);
 	}
 
 	public static double computeMedianWithPRemainPromille(double shape, double scale, double location, double pRemainPromille) {
-		if (shape <= 0.0 || scale <= 0.0) return Double.NaN;
-		if (pRemainPromille < 0 || pRemainPromille >= 1000) return Double.NaN;
+		if (shape <= 0.0 || scale <= 0.0 || pRemainPromille < 0 || pRemainPromille >= 1000) return Double.NaN;
 
 		double x = scale * Math.pow(-1.0 * Math.log(0.5 + pRemainPromille / 2000.0), 1 / shape);
 		return location + x;
@@ -137,37 +136,37 @@
 
 	public static double computePRemainPromille(double shape, double scale, double location, double upperBound) {
 		if (shape <= 0.0 || scale <= 0.0) return Double.NaN;
-	
+
 		if (location < upperBound) {
 			// Compute CDF at upper bound; pRemainPromille = (1 - CDF) * 1000
 			final double range = upperBound - location;
 			final double power = Math.pow(range / scale, shape);
 			return Math.exp(-1.0 * power) * 1000.0;
 		}
-	
+
 		return Double.NaN;
 	}
 
 	public static double computeUpperBound(double shape, double scale, double location, double pRemainPromille) {
 		if (shape <= 0.0 || scale <= 0.0) return Double.NaN;
-		
+
 		double pRemain = pRemainPromille / 1000.0;
 		if (pRemain > 0 && pRemain < 1) {
 			// Compute CDF at upper bound; pRemain = (1 - CDF)
 			return location + Math.pow(-1.0 * Math.log(pRemain), 1.0 / shape) * scale;
 		}
-		
+
 		return Double.NaN;
 	}
 
 	/**
 	 * This is a simple attempt to get a better parameter estimation for big pRemainPromille values.
-	 * 
+	 *
 	 * As an alternative to the regular estimation another estimation based on the median value is calculated.
 	 * The better result is selected according to the relative error of both requested values.
-	 * 
+	 *
 	 * Better solutions are welcome !
-	 * 
+	 *
 	 * @param lowerBound
 	 * @param average
 	 * @param upperBound
@@ -188,11 +187,11 @@
 		double p2_pRemainPromille = computePRemainPromille(p2.shape, p2.scale, lowerBound, upperBound);
 
 		// find the better one
-		
+
 		double error1 = Math.abs(1.0 - p1_average / average) + Math.abs(1.0 - p1_pRemainPromille / pRemainPromille);
 		double error2 = Math.abs(1.0 - p2_average / average) + Math.abs(1.0 - p2_pRemainPromille / pRemainPromille);
 		if (error2 < error1) return p2;
-		
+
 		return p1;
 	}
 
@@ -227,26 +226,26 @@
 		result.shape = 1;
 		result.scale = 1;
 		result.requested_pRemainPromille = pRemainPromille;
-	
+
 		result.given_lowerBound = lowerBound;
 		result.requested_mean = average;
 		result.given_upperBound = upperBound;
-	
+
 		// shifted values for standard 2 parameter Weibull distribution
 		double avg = average - lowerBound;
 		double max = upperBound - lowerBound;
 		double pRemain = pRemainPromille / 1000;
-	
+
 		if ((max / avg) > 10000) {
 			result.error = "finding: upper bound and mean have no valid value for parameter";
 			return result;
 		}
-	
+
 		if (pRemain > 1) {
 			result.error = "invalid_argument: pRemainPromille needs to be smaller than 1";
 			return result;
 		}
-	
+
 		/* find zero interval */
 		double right = 0.2;
 		double left = 0.1;
@@ -262,19 +261,19 @@
 			result.error = NO_VALID_WEIBULL_DISTRIBUTION_FOUND;
 			return result;
 		}
-	
+
 		// if we found the exact solution on one of the interval borders, return it
 		if (left_f == 0) {
 			right = left;
 			right_f = left_f;
 		}
-	
+
 		if (right_f == 0) {
 			result.shape = right;
 			result.scale = computeScaleForAverage(result.shape, avg);
 			return result;
 		}
-	
+
 		while (true) {
 			double half = left + (right - left) / 2;
 			double half_f = paramZeroFunctionforAverage(half, avg, max, pRemain);
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimBasicProfile.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimBasicProfile.java
index d2bdb3d..9554cd5 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimBasicProfile.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimBasicProfile.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimHardwareProfile.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimHardwareProfile.java
index 1b967e0..a29b170 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimHardwareProfile.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimHardwareProfile.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -31,7 +31,7 @@
 		SimHwConnection.class,
 		SimHwMemoryDefinition.class,
 		InchronHWModuleMissingClock.class,
-		
+
 	}
 )
 @ValidationGroup(
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimMappingProfile.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimMappingProfile.java
index f14d097..5e2a220 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimMappingProfile.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimMappingProfile.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimOsProfile.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimOsProfile.java
index 79db9df..00a989d 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimOsProfile.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimOsProfile.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimSoftwareProfile.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimSoftwareProfile.java
index 5456f5f..8bf24c9 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimSoftwareProfile.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/SimSoftwareProfile.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/basic/SimBasicIdentifiers.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/basic/SimBasicIdentifiers.java
index 188c6d1..8d128c6 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/basic/SimBasicIdentifiers.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/basic/SimBasicIdentifiers.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -29,7 +29,7 @@
 
 /**
  * Checks the sanity of HwConnection attributes.
- * 
+ *
  * <ul>
  * <li>All names of IReferable objects must be valid C++ identifier names</li>
  * </ul>
@@ -82,7 +82,7 @@
 			if (c != '_' && !Character.isLetter(c) && !Character.isDigit(c))
 				return false;
 		}
-		
+
 		return true;
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/hardware/SimHwConnection.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/hardware/SimHwConnection.java
index b3998c5..3b97844 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/hardware/SimHwConnection.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/hardware/SimHwConnection.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -26,7 +26,7 @@
 
 /**
  * Checks the sanity of HwConnection attributes.
- * 
+ *
  * <ul>
  * <li>Read latency must be set</li>
  * <li>Write latency must be set</li>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/hardware/SimHwMemoryDefinition.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/hardware/SimHwMemoryDefinition.java
index b5d2bc2..205c341 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/hardware/SimHwMemoryDefinition.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/hardware/SimHwMemoryDefinition.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -26,7 +26,7 @@
 
 /**
  * Checks the sanity of MemoryDefinition attributes.
- * 
+ *
  * <ul>
  * <li>Access latency must be set</li>
  * <li>Data rate must be set</li>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/mapping/SimMappingSchedulerAllocation.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/mapping/SimMappingSchedulerAllocation.java
index f1051c0..4d04b99 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/mapping/SimMappingSchedulerAllocation.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/mapping/SimMappingSchedulerAllocation.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -26,7 +26,7 @@
 
 /**
  * Checks the sanity of scheduler allocations.
- * 
+ *
  * <ul>
  * <li>Executing processing unit must be set</li>
  * </ul>
@@ -51,7 +51,7 @@
 			if (alloc.getExecutingPU() == null) {
 				addIssue(results, alloc, ePackage.getSchedulerAllocation_ExecutingPU(), "SchedulerAllocation: Executing processing unit must be set");
 			}
-			
+
 		}
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/mapping/SimMappingTaskPriorityIsSet.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/mapping/SimMappingTaskPriorityIsSet.java
index be2695b..6fa546f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/mapping/SimMappingTaskPriorityIsSet.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/mapping/SimMappingTaskPriorityIsSet.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -26,7 +26,7 @@
 
 /**
  * Checks the sanity of scheduler allocations.
- * 
+ *
  * <ul>
  * <li>Executing processing unit must be set</li>
  * </ul>
@@ -52,7 +52,7 @@
 //			if (alloc.getSchedulingParameters() == null || alloc.getSchedulingParameters().getPriority() == null ) {
 //				addIssue(results, alloc, ePackage.getTaskAllocation_Task(), "Priority of allocated task is not set");
 //			}
-			
+
 		}
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/mapping/SimSchedulingParametersNegativePriority.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/mapping/SimSchedulingParametersNegativePriority.java
index 6de1487..b91105d 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/mapping/SimSchedulingParametersNegativePriority.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/mapping/SimSchedulingParametersNegativePriority.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -25,7 +25,7 @@
 
 /**
  * Checks the sanity of scheduler allocations.
- * 
+ *
  * <ul>
  * <li>Executing processing unit must be set</li>
  * </ul>
@@ -53,7 +53,7 @@
 //			if (param.getPriority() <0 ) {
 //				addIssue(results, param, ePackage.getSchedulingParameters_Priority(), "Scheduling parameter priority cannot be negative" );
 //			}
-//			
+//
 //		}
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/os/SimOsSchedulerAllocation.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/os/SimOsSchedulerAllocation.java
index 2fb5c1e..7e9d73d 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/os/SimOsSchedulerAllocation.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/os/SimOsSchedulerAllocation.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -31,7 +31,7 @@
 
 /**
  * Checks if scheduler is referenced by one scheduler allocation mapping
- * 
+ *
  * <ul>
  * <li>Each scheduler must be linked to a processing unit. Therefore a unique
  * scheduler allocation mapping is necessary. Further checks (e.g. mapping to a
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareChannelAccessFeasibility.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareChannelAccessFeasibility.java
index 8f166df..48a929a 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareChannelAccessFeasibility.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareChannelAccessFeasibility.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -27,7 +27,7 @@
 
 /**
  * Checks feasibility of a memory access (channel or channel)
- * 
+ *
  * <ul>
  * <li>Checks if a channel access is feasible for simulation. This requires that
  * its memory location is accessible from each core, the access can be initiated
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareChannelElements.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareChannelElements.java
index c3edcae..795ac97 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareChannelElements.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareChannelElements.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -26,7 +26,7 @@
 
 /**
  * Checks if channel access's property elements is greater 0
- * 
+ *
  * <ul>
  * <li>Channel must specify the number of elements to be send/received, with elements > 0</li> T
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareChannelMapped.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareChannelMapped.java
index 5f2d0ef..9fb2043 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareChannelMapped.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareChannelMapped.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -27,7 +27,7 @@
 
 /**
  * Checks if an channel is mapped to a memory
- * 
+ *
  * <ul>
  * <li>Channel must be mapped to a memory for simulation</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareLabelAccessFeasibility.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareLabelAccessFeasibility.java
index 391f813..caca73f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareLabelAccessFeasibility.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareLabelAccessFeasibility.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -27,7 +27,7 @@
 
 /**
  * Checks feasibility of a memory access (label or channel)
- * 
+ *
  * <ul>
  * <li>Checks if a label access is feasible for simulation. This requires that
  * its memory location is accessible from each core, the access can be initiated
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareLabelAccessType.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareLabelAccessType.java
index 0a57d1e..eb9cbc0 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareLabelAccessType.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareLabelAccessType.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -27,7 +27,7 @@
 
 /**
  * Checks if an label is mapped to a memory node
- * 
+ *
  * <ul>
  * <li>Label access must be either read or write</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareLabelMapped.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareLabelMapped.java
index c4eeb92..a236a4f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareLabelMapped.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareLabelMapped.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -27,7 +27,7 @@
 
 /**
  * Checks if an label is mapped to a memory node
- * 
+ *
  * <ul>
  * <li>Label must be mapped to a memory for simulation.</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareMemoryAccessHelper.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareMemoryAccessHelper.java
index 53c0a10..6c92347 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareMemoryAccessHelper.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareMemoryAccessHelper.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -50,7 +50,7 @@
 		if (memories.isEmpty() || memories.size() > 1) {
 			/*
 			 * No memory location was found for this label. As this check is part of another validation we will
-			 * return at this point without adding an issue. This validation may be re-run when the mapping is 
+			 * return at this point without adding an issue. This validation may be re-run when the mapping is
 			 * complete.
 			 */
 			return true;
@@ -80,15 +80,15 @@
 					processingUnits.addAll(schedulerAllocation.getResponsibility());
 				}
 			}
-		}					
+		}
 
 		if (processingUnits.isEmpty()) {
 			/*
 			 * 	No executing was found for the (task/ISR) contexts in which this activity item's runnable may be launched.
 			 *	This is not per se a problem within this validation since the mapping of tasks to schedulers, and schedulers to cores
 			 * 	is handled in other validations. However it prevents this validation from checking, if a valid hw access element has been defined.
-			 *	Therefore we return at this point without adding issues, only when the mappings are complete, this needs to be evaluated as 
-			 * 	a task/scheduler combination that is not fully mapped will not be brought to execution. When the mapping is complete this validation 
+			 *	Therefore we return at this point without adding issues, only when the mappings are complete, this needs to be evaluated as
+			 * 	a task/scheduler combination that is not fully mapped will not be brought to execution. When the mapping is complete this validation
 			 * 	may be re-run to completion.
 			 *
 			*/
@@ -97,7 +97,7 @@
 
 		for (ProcessingUnit processingUnit : processingUnits) {
 			for (Memory memory : memories) {
-				Set<HwAccessElement> hwAccessElements = 
+				Set<HwAccessElement> hwAccessElements =
 						AmaltheaIndex.getReferringObjects(memory,HwAccessElement.class);
 				boolean foundAccessElement = false;
 				for (HwAccessElement hwAccessElement : hwAccessElements) {
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareModeLabelAccessFeasibility.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareModeLabelAccessFeasibility.java
index 0464548..b730388 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareModeLabelAccessFeasibility.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareModeLabelAccessFeasibility.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -27,7 +27,7 @@
 
 /**
  * Checks feasibility of a memory access (modeLabel or channel)
- * 
+ *
  * <ul>
  * <li>Checks if a modeLabel access is feasible for simulation. This requires
  * that its memory location is accessible from each core, the access can be
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareModeLabelAccessType.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareModeLabelAccessType.java
index 79aa52f..82dff56 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareModeLabelAccessType.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareModeLabelAccessType.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -29,7 +29,7 @@
 /**
  * Checks if an modeLabel access has valid access type
  * (read/set/increment/decrement)
- * 
+ *
  * <ul>
  * <li>ModeLabel access must be either read or write</li>
  * </ul>
@@ -53,15 +53,15 @@
 		if (eObject instanceof ModeLabelAccess) {
 			ModeLabelAccess modeLabelAccess= (ModeLabelAccess)eObject;
 
-//			if (!(modeLabelAccess.getAccess() == ModeLabelAccessEnum.READ || 
-//					modeLabelAccess.getAccess() == ModeLabelAccessEnum.SET|| 
-//					modeLabelAccess.getAccess() == ModeLabelAccessEnum.INCREMENT|| 
+//			if (!(modeLabelAccess.getAccess() == ModeLabelAccessEnum.READ ||
+//					modeLabelAccess.getAccess() == ModeLabelAccessEnum.SET||
+//					modeLabelAccess.getAccess() == ModeLabelAccessEnum.INCREMENT||
 //					modeLabelAccess.getAccess() == ModeLabelAccessEnum.DECREMENT)) {
 //				addIssue(results, modeLabelAccess, null, getMessage());
 //			}
 
 			if (modeLabelAccess.getAccess() == null || modeLabelAccess.getAccess() == ModeLabelAccessEnum._UNDEFINED_) {
-				addIssue(results, modeLabelAccess, null, MESSAGE);				
+				addIssue(results, modeLabelAccess, null, MESSAGE);
 			}
 		}
 	}
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareModeLabelMapped.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareModeLabelMapped.java
index b4468fd..46da2e2 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareModeLabelMapped.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareModeLabelMapped.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -27,7 +27,7 @@
 
 /**
  * Checks if an modeLabel is mapped to a memory
- * 
+ *
  * <ul>
  * <li>ModeLabel must be mapped to a memory for simulation.</li> T
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareProcess.java b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareProcess.java
index d3fe7a2..d76fe73 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareProcess.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.sim/src/org/eclipse/app4mc/amalthea/validations/sim/software/SimSoftwareProcess.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -26,7 +26,7 @@
 
 /**
  * Checks the sanity of process attributes.
- * 
+ *
  * <ul>
  * <li>At least one stimulus must be set</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validation/core/AmaltheaValidation.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validation/core/AmaltheaValidation.java
index 6648483..c6699a2 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validation/core/AmaltheaValidation.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validation/core/AmaltheaValidation.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -55,17 +55,17 @@
 	protected String qualifiedName(final IReferable object) {
 		if (object == null) return "?";
 
-		return "\"" + object.getQualifiedName() + "\"";			
+		return "\"" + object.getQualifiedName() + "\"";
 	}
-	
+
 	protected String namedContainerInfo(final EObject object) {
 		return " ( in " + objectInfo(AmaltheaServices.getContainerOfType(object, INamed.class)) + " )";
 	}
-	
+
 	@Override
 	public String objectInfo(final EObject object) {
 		if (object == null) return "?";
-		
+
 		String s1 = typeInfo(object);
 		String s2 = (object instanceof INamed) ? " " + name((INamed) object) : "";
 		return s1 + s2;
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/OSProfile.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/OSProfile.java
index 2e80995..de3a981 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/OSProfile.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/OSProfile.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/SoftwareProfile.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/SoftwareProfile.java
index 03e6f56..b72c74c 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/SoftwareProfile.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/SoftwareProfile.java
@@ -27,7 +27,7 @@
 
 @ValidationGroup(
 		severity = Severity.ERROR,
-		validations =  { 
+		validations =  {
 				AmSwCallArgument.class,
 				AmSwDataDependency.class,
 				AmSwGroup.class
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicCounter.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicCounter.java
index c3b4cdc9..6a888b1 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicCounter.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicCounter.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2020 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -25,7 +25,7 @@
 
 /**
 * Checks the correctness of counters
-* 
+*
 * <ul>
 * <li>The offset value of a counter must not be negative</li>
 * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicCustomPropertyKey.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicCustomPropertyKey.java
index 2bcaeb5..a592b31 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicCustomPropertyKey.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicCustomPropertyKey.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -31,7 +31,7 @@
 
 /**
  * Checks the correctness of objects with custom properties
- * 
+ *
  * <ul>
  * <li>Custom property keys have to be unique</li>
  * </ul>
@@ -52,7 +52,7 @@
 	public void validate(final EObject object, final List<ValidationDiagnostic> results) {
 		if (object instanceof IAnnotatable) {
 			IAnnotatable anno = (IAnnotatable) object;
-			
+
 			// Map of key -> isFirst
 			final Map<String, Boolean> visitedKeys = new HashMap<>();
 
@@ -61,11 +61,11 @@
 				if (visitedKeys.containsKey(key)) {
 					if (Boolean.TRUE.equals(visitedKeys.get(key))) {
 						// second entry: report duplicate
-						
+
 						// AmaltheaPackage.eINSTANCE.getCustomProperty_Key()
 						addIssue(results, anno, ePackage.getIAnnotatable_CustomProperties(),
 								"CustomProperty: duplicate key \"" + key + "\" ( in " + objectInfo(anno) + " )");
-						
+
 						// mark key as duplicate that already has been reported
 						visitedKeys.put(key, false);
 					}
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicDataSize.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicDataSize.java
index 6386b68..19870a8 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicDataSize.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicDataSize.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2020 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -26,7 +26,7 @@
 
 /**
  * Checks the correctness of data sizes
- * 
+ *
  * <ul>
  * <li>Some data sizes have to fulfill the condition >0 or >=0</li>
  * </ul>
@@ -56,7 +56,7 @@
 			if (containingFeature == null) {
 				return;
 			}
-			
+
 			// check for features where data size has to be positive (>0)
 			if (containingFeature == ePackage.getAbstractMemoryElement_Size()) {
 				addIssue(results, ds, ePackage.getDataSize_Value(),
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicFrequency.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicFrequency.java
index 09d455e..2535e4d 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicFrequency.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicFrequency.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -27,7 +27,7 @@
 
 /**
  * Checks the correctness of Frequencies
- * 
+ *
  * <ul>
  * <li>Some frequencies have to fulfill the condition >0 (validation >=0 is already covered by EMF)</li>
  * </ul>
@@ -51,13 +51,13 @@
 
 			if (frequency.getValue() > 0d)
 				return; // always valid
-			
+
 			final EStructuralFeature containingFeature = frequency.eContainingFeature();
 			if (containingFeature == null)
 				return; // unknown context
-			
+
 			//*** the value of the following elements should be > 0
-			
+
 			if (frequency.getValue() <= 0d) {
 				if (containingFeature == ePackage.getFrequencyDomain_DefaultValue()
 				|| containingFeature == ePackage.getClockFunction_YOffset()
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicQuantity.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicQuantity.java
index bb65742..e3530eb 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicQuantity.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicQuantity.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -28,7 +28,7 @@
 
 /**
  * Checks the correctness of Quantity
- * 
+ *
  * <ul>
  * <li>Quantity unit has to be set (_undefined_ is an error)</li>
  * </ul>
@@ -51,7 +51,7 @@
 	public void validate(final EObject object, final List<ValidationDiagnostic> results) {
 		if (object instanceof Quantity) {
 			Quantity quantity = (Quantity) object;
-			
+
 			Object unit = attributeValue(quantity, UNIT);
 			if (unit instanceof Enumerator) {
 				Enumerator unitEnum = (Enumerator) unit;
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicTimeRange.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicTimeRange.java
index e322f45..e5b7c07 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicTimeRange.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/basic/AmBasicTimeRange.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -28,7 +28,7 @@
 
 /**
  * Checks the correctness of Time ranges
- * 
+ *
  * <ul>
  * <li>Some time ranges has to fulfill the condition >0 or >=0</li>
  * </ul>
@@ -52,18 +52,18 @@
 
 			if (time.getValue().signum() > 0)
 				return; // always valid
-			
+
 			final EStructuralFeature containingFeature = time.eContainingFeature();
 			if (containingFeature == null)
 				return; // unknown context
-			
+
 			//*** the value of the following elements should be > 0
-			
+
 			if (time.getValue().signum() <= 0) {
 				if (containingFeature == ePackage.getFixedPeriodic_Recurrence()
-						
+
 				|| containingFeature == ePackage.getPeriodicActivation_Recurrence()
-				
+
 				|| containingFeature == ePackage.getClockFunction_Period()
 				|| containingFeature == ePackage.getClockStepList_Period()
 				) {
@@ -73,41 +73,41 @@
 			}
 
 			//*** the value of the following elements should be >= 0
-			
+
 			if (time.getValue().signum() < 0) {
 				if (containingFeature == ePackage.getFixedPeriodic_Offset()
-						
+
 				|| containingFeature == ePackage.getSingleStimulus_Occurrence()
-				
+
 				|| containingFeature == ePackage.getArrivalCurveEntry_LowerTimeBorder()
 				|| containingFeature == ePackage.getArrivalCurveEntry_UpperTimeBorder()
-				
+
 				|| containingFeature == ePackage.getPeriodicSyntheticStimulus_OccurrenceTimes()
-						
+
 				|| containingFeature == ePackage.getPeriodicActivation_Offset()
 				|| containingFeature == ePackage.getPeriodicActivation_Min()
 				|| containingFeature == ePackage.getPeriodicActivation_Max()
-				
+
 				|| containingFeature == ePackage.getSingleActivation_Min()
 				|| containingFeature == ePackage.getSingleActivation_Max()
 
 				|| containingFeature == ePackage.getClockFunction_XOffset()
 				|| containingFeature == ePackage.getClockStep_Time()
-				
+
 				|| containingFeature == ePackage.getDataAgeTime_MinimumTime()
 				|| containingFeature == ePackage.getDataAgeTime_MaximumTime()
-				
+
 				|| containingFeature == ePackage.getDelayConstraint_Lower()
 				|| containingFeature == ePackage.getDelayConstraint_Upper()
-				
+
 				|| containingFeature == ePackage.getEventChainLatencyConstraint_Minimum()
 				|| containingFeature == ePackage.getEventChainLatencyConstraint_Maximum()
-				
+
 				|| containingFeature == ePackage.getRepetitionConstraint_Lower()
 				|| containingFeature == ePackage.getRepetitionConstraint_Upper()
 				|| containingFeature == ePackage.getRepetitionConstraint_Jitter()
 				|| containingFeature == ePackage.getRepetitionConstraint_Period()
-				
+
 				|| containingFeature == ePackage.getSynchronizationConstraint_Tolerance()
 				) {
 					addIssue(results, time, ePackage.getTime_Value(),
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/emf/AmEmfScope.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/emf/AmEmfScope.java
index 98e1ce5..1ebe889 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/emf/AmEmfScope.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/emf/AmEmfScope.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -30,7 +30,7 @@
 
 /**
  * Checks EMF scope
- * 
+ *
  * <ul>
  * <li>ID has to be unique in folder scope</li>
  * <li>ID has to be set for {@link IReferable}</li>
@@ -53,25 +53,25 @@
 	public void validate(final EObject object, final List<ValidationDiagnostic> results) {
 		if (object instanceof Amalthea) {
 			Amalthea root = (Amalthea) object;
-			
+
 			List<Set<IReferable>> conflictingObjects = AmaltheaIndex.getObjectsWithConflictingNames(root);
 
 			for (Set<IReferable> set : conflictingObjects) {
 				for (IReferable element : set) {
 					addIssue(results, element, ePackage.getINamed_Name(),
-							typeInfo(element) + ": duplicate name " + qualifiedName(element));						
+							typeInfo(element) + ": duplicate name " + qualifiedName(element));
 				}
 			}
-			
+
 // Already implemented as EMF invariant
 //
 //			Set<IReferable> unnamedObjects = AmaltheaIndex.getElements(root, "", IReferable.class);
-//			
+//
 //			for (IReferable element : unnamedObjects) {
 //				addIssue(results, element, ePackage.getINamed_Name(),
-//						typeInfo(element) + ": missing name");						
+//						typeInfo(element) + ": missing name");
 //			}
-			
+
 		}
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwAccessPath.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwAccessPath.java
index 872881b..033f8af 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwAccessPath.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwAccessPath.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -35,7 +35,7 @@
 
 /**
  * Checks the correctness of HwAccessPath
- * 
+ *
  * <ul>
  * <li>HwAccessPath ranges and memory size must be consistent</li>
  * <li>HwAccessPath elements must be consistent</li>
@@ -60,22 +60,22 @@
 	public void validate(final EObject object, final List<ValidationDiagnostic> results) {
 		if (object instanceof HwAccessPath) {
 			HwAccessPath path = (HwAccessPath) object;
-			
+
 			boolean performRangeCheck = true;
 			Memory memory = null;
 			MemoryDefinition memoryDef = null;
-			
+
 			// ***** HwAccessPath ranges and memory size must be consistent
-			
+
 			long addressRange = path.getEndAddress() - path.getStartAddress();
 			long requiredSize = path.getMemOffset() + addressRange;
-			
+
 			if (addressRange < 0) {
 				addIssue(results, path, ePackage.getHwAccessPath_EndAddress(),
 						HW_ACCESS_PATH + name(path) + ": Start address > End address");
 				performRangeCheck = false; // address range is invalid
 			}
-			
+
 			if (path.getDestination() instanceof Memory) {
 				memory = (Memory) path.getDestination();
 				memoryDef = memory.getDefinition();
@@ -87,25 +87,25 @@
 			} else {
 				performRangeCheck = false; // destination is not of type Memory
 			}
-			
+
 			if (performRangeCheck && requiredSize > memoryDef.getSize().getNumberBytes()) {
 				addIssue(results, path, ePackage.getHwAccessPath_EndAddress(),
 						HW_ACCESS_PATH + name(path) + ": Address range > Memory size");
 			}
-			
+
 			// ***** HwAccessPath elements must be consistent
-			
+
 			EList<HwPathElement> pathElements = path.getPathElements();
-			
+
 			if (pathElements.isEmpty()) return; // no further checks possible
-			
+
 			ProcessingUnit source = path.getSource();
 			HwDestination destination = path.getDestination();
 			HwPathElement first = pathElements.get(0);
 			HwPathElement last = pathElements.get(pathElements.size() - 1);
-			
+
 			if (first instanceof HwConnection) {
-				// check if source has a common port with the first path element 
+				// check if source has a common port with the first path element
 				if (Collections.disjoint(source.getPorts(), first.getPorts())) {
 					addIssue(results, path, ePackage.getHwAccessPath_PathElements(),
 							HW_ACCESS_PATH + name(path) + ": No common port at the beginning of the path");
@@ -114,13 +114,13 @@
 				addIssue(results, path, ePackage.getHwAccessPath_PathElements(),
 						HW_ACCESS_PATH + name(path) + ": First path element must be a connection");
 			}
-			
+
 			if (last instanceof HwConnection) {
 				if (destination == null) {
 					addIssue(results, path, ePackage.getHwPath_Destination(),
 							HW_ACCESS_PATH + name(path) + ": Destination is undefined");
 				} else {
-					// check if destination has a common port with the last path element 
+					// check if destination has a common port with the last path element
 					if (Collections.disjoint(destination.getPorts(), last.getPorts())) {
 						addIssue(results, path, ePackage.getHwAccessPath_PathElements(),
 								HW_ACCESS_PATH + name(path) + ": No common port at the end of the path");
@@ -130,15 +130,15 @@
 				addIssue(results, path, ePackage.getHwAccessPath_PathElements(),
 						HW_ACCESS_PATH + name(path) + ": Last path element must be a connection");
 			}
-			
+
 			if (pathElements.size() < 2) return;  // no further checks possible
-			
+
 			// iterate over list
-			
+
 			for (int i = 0; i < pathElements.size() - 1; i++) {
 				HwPathElement item1 = pathElements.get(i);
 				HwPathElement item2 = pathElements.get(i + 1);
-				
+
 				if (Collections.disjoint(item1.getPorts(), item2.getPorts())) {
 					addIssue(results, path, ePackage.getHwAccessPath_PathElements(),
 							HW_ACCESS_PATH + name(path) + ": No common port between element[" + i + "] and element[" + (i+1) + "]");
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwConnection.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwConnection.java
index 33f4979..bee3d3d 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwConnection.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwConnection.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -28,7 +28,7 @@
 
 /**
  * Checks the correctness of HwConnection
- * 
+ *
  * <ul>
  * <li>HwConnections must refer to two HwPorts</li>
  * <li>HwConnections must be linked to HwPorts of the same Interface</li>
@@ -53,36 +53,36 @@
 	public void validate(final EObject object, final List<ValidationDiagnostic> results) {
 		if (object instanceof HwConnection) {
 			HwConnection connection = (HwConnection) object;
-			
+
 			boolean continueChecks = true;
 			HwPort port1 = connection.getPort1();
 			HwPort port2 = connection.getPort2();
-			
+
 			// ***** HwConnections must refer to two HwPorts
-			
+
 			if (port1 == null) {
 				addIssue(results, connection, ePackage.getHwConnection_Port1(),
 						HW_CONNECTION + qualifiedName(connection) + ": Port 1 is missing");
 				continueChecks = false;
 			}
-			
+
 			if (port2 == null) {
 				addIssue(results, connection, ePackage.getHwConnection_Port2(),
 						HW_CONNECTION + qualifiedName(connection) + ": Port 2 is missing");
 				continueChecks = false;
 			}
-			
+
 			if (port1 != null && port1 == port2) {
 				addIssue(results, connection, ePackage.getHwConnection_Port1(),
 						HW_CONNECTION + qualifiedName(connection) + ": Port 1 equals port 2");
 				continueChecks = false;
 			}
-			
+
 			if (!continueChecks)
 				return; // fundamental error -> no further checks
-			
+
 			// ***** HwConnections must be linked to HwPorts of the same Interface
-			
+
 			if (!connection.isInternal() // internal connection -> no error
 					&& port1.getPortInterface() != PortInterface._UNDEFINED_ // undefined -> no error
 					&& port2.getPortInterface() != PortInterface._UNDEFINED_
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwDefinition.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwDefinition.java
index 47712ee..bf6ac10 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwDefinition.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwDefinition.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -31,7 +31,7 @@
 
 /**
  * Checks the correctness of HwDefinition
- * 
+ *
  * <ul>
  * <li>Only one feature of a category can be referred</li>
  * </ul>
@@ -52,7 +52,7 @@
 	public void validate(final EObject object, final List<ValidationDiagnostic> results) {
 		if (object instanceof HwDefinition) {
 			HwDefinition definition = (HwDefinition) object;
-			
+
 			// currently only ProcessingUnitDefinitions have references to HwFeatures
 			if (definition instanceof ProcessingUnitDefinition) {
 				ProcessingUnitDefinition puDef = (ProcessingUnitDefinition) definition;
@@ -60,7 +60,7 @@
 				final Map<HwFeatureCategory, HwFeature> visitedCategories = new HashMap<>();
 				for (final HwFeature feature : puDef.getFeatures()) {
 					final HwFeatureCategory category = feature.getContainingCategory();
-					
+
 					if (visitedCategories.containsKey(category)) {
 						final HwFeature firstFeature = visitedCategories.put(category, null);
 						if (firstFeature != null) {
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwModuleDefinition.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwModuleDefinition.java
index 6895a60..ca3cb8b 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwModuleDefinition.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwModuleDefinition.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -30,7 +30,7 @@
 
 /**
  * Checks the correctness of HwModule definitions
- * 
+ *
  * <ul>
  * <li>Memory definition must be set</li>
  * <li>ProcessingUnit definition must be set</li>
@@ -59,9 +59,9 @@
 	public void validate(final EObject object, final List<ValidationDiagnostic> results) {
 		if (object instanceof HwModule) {
 			HwModule module = (HwModule) object;
-			
+
 			// ***** Memory definition must be set
-			
+
 			if (module instanceof Memory) {
 				Memory memory = (Memory) module;
 				if (memory.getDefinition() == null) {
@@ -69,9 +69,9 @@
 							"HW Module (Memory) " + name(module) + MISSING_DEFINITION);
 				}
 			}
-			
+
 			// ***** ProcessingUnit definition must be set
-			
+
 			if (module instanceof ProcessingUnit) {
 				ProcessingUnit pu = (ProcessingUnit) module;
 				if (pu.getDefinition() == null) {
@@ -79,9 +79,9 @@
 							"HW Module (ProcessingUnit) " + name(module) + MISSING_DEFINITION);
 				}
 			}
-			
+
 			// ***** ConnectionHandler definition must be set
-			
+
 			if (module instanceof ConnectionHandler) {
 				ConnectionHandler handler = (ConnectionHandler) module;
 				if (handler.getDefinition() == null) {
@@ -89,9 +89,9 @@
 							"HW Module (ConnectionHandler) " + name(module) + MISSING_DEFINITION);
 				}
 			}
-			
+
 			// ***** Cache definition must be set
-			
+
 			if (module instanceof Cache) {
 				Cache cache = (Cache) module;
 				if (cache.getDefinition() == null) {
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwPort.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwPort.java
index ab9fc20..3a2e46a 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwPort.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwPort.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -28,7 +28,7 @@
 
 /**
  * Checks the correctness of HwPort
- * 
+ *
  * <ul>
  * <li>A HwPort can only have one (non internal) HwConnection</li>
  * </ul>
@@ -49,12 +49,12 @@
 	public void validate(final EObject object, final List<ValidationDiagnostic> results) {
 		if (object instanceof HwPort) {
 			HwPort port = (HwPort) object;
-			
+
 			// ***** A HwPort can only have one (non internal) HwConnection
-			
+
 			if (port.isDelegated())
 				return; // ignore HwStructure ports
-			
+
 			EList<HwConnection> connections = port.getConnections();
 			if (connections.size() > 1) {
 				int counter = 0;
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwPortBitWidth.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwPortBitWidth.java
index 2e52103..e1b94ba 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwPortBitWidth.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwPortBitWidth.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -26,7 +26,7 @@
 
 /**
  * Checks the correctness of HwPort enumerations
- * 
+ *
  * <ul>
  * <li>PortType must be set</li>
  * <li>PortInterface must be set</li>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwPortEnumerations.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwPortEnumerations.java
index f628970..c69df4f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwPortEnumerations.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwPortEnumerations.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -28,7 +28,7 @@
 
 /**
  * Checks the correctness of HwPort enumerations
- * 
+ *
  * <ul>
  * <li>PortType must be set</li>
  * <li>PortInterface must be set</li>
@@ -51,16 +51,16 @@
 	public void validate(final EObject object, final List<ValidationDiagnostic> results) {
 		if (object instanceof HwPort) {
 			HwPort port = (HwPort) object;
-			
+
 			// ***** PortType must be set
-			
+
 			if (port.getPortType() == PortType._UNDEFINED_) {
 				addIssue(results, port, ePackage.getHwPort_PortType(),
 						"HW Port " + qualifiedName(port) + ": undefined port type");
 			}
-			
+
 			// ***** PortInterface must be set
-			
+
 			if (port.getPortInterface() == PortInterface._UNDEFINED_) {
 				addIssue(results, port, ePackage.getHwPort_PortInterface(),
 						"HW Port " + qualifiedName(port) + ": undefined port interface");
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwStructure.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwStructure.java
index 3958866..86b184c 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwStructure.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/hardware/AmHwStructure.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -56,23 +56,23 @@
 	public void validate(final EObject object, final List<ValidationDiagnostic> results) {
 		if (object instanceof HwStructure) {
 			HwStructure structure = (HwStructure) object;
-			
+
 			final HashSet<HwModule> subModules = new HashSet<>(AmaltheaServices.getAllModules(structure));
 			final HashSet<HwStructure> subStructures = new HashSet<>(structure.getStructures());
-			
+
 			// check for each connection of structure
 			for (HwConnection conn : structure.getConnections()) {
 				boolean p1InnerPort = false;
 				boolean p1OuterPort = false;
 				boolean p2InnerPort = false;
 				boolean p2OuterPort = false;
-				
+
 				HwPort port1 = conn.getPort1();
 				HwPort port2 = conn.getPort2();
 				// fundamental checks are handled in method checkHwConnection(HwConnection)
 				if (port1 == null || port2 == null || port1 == port2)
 					break;
-				
+
 				EObject container1 = port1.eContainer();
 				if (subModules.contains(container1) || subStructures.contains(container1)) {
 					p1InnerPort = true;
@@ -82,7 +82,7 @@
 // It is only a recommendation (perhaps a future warning)
 //				addIssue(results, conn, "HW Connection " + name(conn) + ": Port 1 is not contained in structure");
 				}
-				
+
 				EObject container2 = port2.eContainer();
 				if (subModules.contains(container2) || subStructures.contains(container2)) {
 					p2InnerPort = true;
@@ -92,9 +92,9 @@
 // It is only a recommendation (perhaps a future warning)
 //				addIssue(results, conn, "HW Connection " + name(conn) + ": Port 2 is not contained in structure");
 				}
-				
+
 				if ((p1InnerPort && p2InnerPort) || (p1OuterPort && p2OuterPort)) {
-					
+
 					// ***** regular test: HwConnections always need one Initiator and one Responder
 					// HwPort
 					if ((port1.getPortType() == PortType.INITIATOR && port2.getPortType() == PortType.INITIATOR)
@@ -102,9 +102,9 @@
 						addIssue(results, conn, ePackage.getHwConnection_Port1(),
 								"HW Connection " + qualifiedName(conn) + ": Port types do not fulfill initiator -> responder");
 					}
-					
+
 				} else if ((p1InnerPort && p2OuterPort) || (p1OuterPort && p2InnerPort)) {
-					
+
 					// ***** delegate test: HwConnections always need one Initiator and one
 					// Responder HwPort
 					if ((port1.getPortType() == PortType.INITIATOR && port2.getPortType() == PortType.RESPONDER)
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingIsrScheduler.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingIsrScheduler.java
index 62e5293..7ddf867 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingIsrScheduler.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingIsrScheduler.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -29,7 +29,7 @@
 
 /**
  * Checks the correctness of ISR -> Scheduler mapping
- * 
+ *
  * <ul>
  * <li>An ISR should have an allocation to an interrupt controller</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingSchedulerAllocationHierarchy.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingSchedulerAllocationHierarchy.java
index ed50933..4a0d7b3 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingSchedulerAllocationHierarchy.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingSchedulerAllocationHierarchy.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -31,7 +31,7 @@
 
 /**
  * Checks the correctness of SchedulerAllocations for hierarchical task schedulers.
- * 
+ *
  * <ul>
  * <li>A child scheduler should only be responsible for a subset of processing units of its ancestors</li>
  * </ul>
@@ -55,11 +55,11 @@
 
 			final Scheduler sched = sall.getScheduler();
 			if (sched == null || !(sched instanceof TaskScheduler)) return; // only task schedulers can be hierarchical
-			
+
 			final TaskScheduler ts = (TaskScheduler)sched;
 			// skip empty responsibilities or top level schedulers
 			if (sall.getResponsibility().isEmpty() || null == ts.getParentScheduler()) return;
-				
+
 			final Set<ProcessingUnit> ancestorResponsibilities = new HashSet<>();
 			TaskScheduler parent = ts.getParentScheduler();
 			do {
@@ -67,8 +67,8 @@
 					.forEach(ancestorResponsibilities::addAll);
 				parent = parent.getParentScheduler();
 			} while (ancestorResponsibilities.isEmpty() && null != parent);
-			
-			if (false == ancestorResponsibilities.containsAll(sall.getResponsibility())) {
+
+			if (!ancestorResponsibilities.containsAll(sall.getResponsibility())) {
 				addIssue(results, sall, ePackage.getSchedulerAllocation_Responsibility(), objectInfo(sall)
 						+ " for child " + objectInfo(ts) + " should only be responsible for a "
 						+ "subset of processing units of its parent schedulers");
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingSchedulerAllocationTopLevelResponsibility.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingSchedulerAllocationTopLevelResponsibility.java
index 392cc16..bb8e0c0 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingSchedulerAllocationTopLevelResponsibility.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingSchedulerAllocationTopLevelResponsibility.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -33,7 +33,7 @@
 
 /**
  * Checks the correctness of SchedulerAllocations per processing unit.
- * 
+ *
  * <ul>
  * <li>A processing unit should have at most one interrupt controller responsible for it</li>
  * <li>A processing unit should have at most one top level scheduler responsible for it</li>
@@ -55,21 +55,21 @@
 	public void validate(EObject object, List<ValidationDiagnostic> results) {
 		if (object instanceof MappingModel) {
 			final MappingModel mm = (MappingModel) object;
-			
+
 			// sets to check for multiple core responsibilities
 			final Set<ProcessingUnit> pUsWithTLScheduler = new HashSet<>();
 			final Set<ProcessingUnit> pUsWithIC = new HashSet<>();
-			
+
 			for(final SchedulerAllocation sall:mm.getSchedulerAllocation()) {
 				if (null == sall.getScheduler()) continue; // skip allocations without scheduler value
-				
+
 				final Scheduler sched = sall.getScheduler();
 				for(final ProcessingUnit pu:sall.getResponsibility()) {
 					if (sched instanceof InterruptController && !pUsWithIC.add(pu)) {
 						addIssue(results, sall, ePackage.getSchedulerAllocation_Responsibility(), objectInfo(pu)
 								+ " should have at most one interrupt controller that is responsible for it");
 					}
-					
+
 					if (sched instanceof TaskScheduler && ((TaskScheduler)sched).getParentScheduler() == null && !pUsWithTLScheduler.add(pu)) {
 						addIssue(results, sall, ePackage.getSchedulerAllocation_Responsibility(), objectInfo(pu)
 								+ " should have at most one top level scheduler that is responsible for it");
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingSchedulerProcessingUnit.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingSchedulerProcessingUnit.java
index 0bd0736..8c6cb7b 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingSchedulerProcessingUnit.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingSchedulerProcessingUnit.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -29,7 +29,7 @@
 
 /**
  * Checks the correctness of Scheduler -> ProcessingUnit mapping
- * 
+ *
  * <ul>
  * <li>A top level scheduler should be responsible for at least one processing unit</li>
  * </ul>
@@ -50,11 +50,11 @@
 	public void validate(EObject object, List<ValidationDiagnostic> results) {
 		if (object instanceof Scheduler) {
 			Scheduler sched = (Scheduler) object;
-			
+
 			if (sched instanceof TaskScheduler && ((TaskScheduler)sched).getParentScheduler() != null) {
 				return; // no core responsibility required for child schedulers
 			}
-			
+
 			EList<SchedulerAllocation> allocations = sched.getSchedulerAllocations();
 			if (allocations.isEmpty()) {
 				addIssue(results, sched, null, "Scheduler not responsible for any core: " + name(sched));
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingTaskScheduler.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingTaskScheduler.java
index 0dde266..5006a40 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingTaskScheduler.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/mapping/AmMappingTaskScheduler.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -29,7 +29,7 @@
 
 /**
  * Checks the correctness of Task -> Scheduler mapping
- * 
+ *
  * <ul>
  * <li>A task should have an allocation to a task scheduler</li>
  * </ul>
@@ -50,7 +50,7 @@
 	public void validate(EObject object, List<ValidationDiagnostic> results) {
 		if (object instanceof Task) {
 			Task task = (Task) object;
-			
+
 			Set<TaskAllocation> allocations = AmaltheaIndex.getReferringObjects(task, TaskAllocation.class);
 			if (allocations.isEmpty()) {
 				addIssue(results, task, null, "Unmapped task found: " + name(task));
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/misc/AmConstraintsEventChain.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/misc/AmConstraintsEventChain.java
index f1824e9..d0d6d36 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/misc/AmConstraintsEventChain.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/misc/AmConstraintsEventChain.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -32,7 +32,7 @@
 
 /**
  * Checks the correctness of event chains
- * 
+ *
  * <ul>
  * <li>Stimulus and response shall not reference the same event</li>
  * <li>The stimulus of the first segment has to be the same as the stimulus of the event chain</li>
@@ -61,7 +61,7 @@
 	public void validate(EObject object, List<ValidationDiagnostic> results) {
 		if (object instanceof AbstractEventChain) {
 			AbstractEventChain chain = (AbstractEventChain) object;
-			
+
 			checkChainConsistency(chain, results);
 		}
 	}
@@ -76,13 +76,13 @@
 					AmaltheaPackage.eINSTANCE.getAbstractEventChain_Stimulus(),
 					EVENT_CHAIN + name(eventChain) + ": stimulus and response refer to the same event");
 		}
-		
+
 		switch (eventChain.getItemType()) {
 		case SEQUENCE:
-			checkSequence(eventChain, eventChain.getItems(), results);			
+			checkSequence(eventChain, eventChain.getItems(), results);
 			break;
 		case PARALLEL:
-			checkParallel(eventChain, eventChain.getItems(), results);			
+			checkParallel(eventChain, eventChain.getItems(), results);
 			break;
 
 		default:
@@ -123,7 +123,7 @@
 		for (int i = 0; i < subEventChains.size() - 1; i++) {
 			AbstractEventChain current = subEventChains.get(i);
 			AbstractEventChain next = subEventChains.get(i + 1);
-			
+
 			if (current.getResponse() != next.getStimulus()) {
 				addIssue(results, eventChain,
 						AmaltheaPackage.eINSTANCE.getAbstractEventChain_Items(),
@@ -133,20 +133,20 @@
 	}
 
 	private void checkParallel(final AbstractEventChain eventChain, final EList<EventChainItem> eventChainItems, List<ValidationDiagnostic> results) {
-		
+
 		if (eventChainItems == null || eventChainItems.isEmpty()) return;
-		
+
 		if (eventChainItems.contains(null)) {
 			addIssue(results, eventChain,
 					AmaltheaPackage.eINSTANCE.getAbstractEventChain_Items(),
 					EVENT_CHAIN + name(eventChain) + ": parallel item list contains null reference");
 		}
-		
+
 		List<AbstractEventChain> subEventChains = eventChainItems.stream()
 				.map(EventChainItem::getEventChain)
 				.filter(Objects::nonNull)
 				.collect(Collectors.toList());
-		
+
 		for (AbstractEventChain subEC : subEventChains) {
 			// check stimuli (should be identical)
 			if (eventChain.getStimulus() != subEC.getStimulus()) {
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSMandatorySchedulingParametersSet.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSMandatorySchedulingParametersSet.java
index fda4a8c..f3d8027 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSMandatorySchedulingParametersSet.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSMandatorySchedulingParametersSet.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -40,7 +40,7 @@
 
 /**
  * Checks for each scheduler, if mandatory parameters are set.
- * 
+ *
  * <ul>
  * <li>Mandatory algorithm scheduling parameters must be set.</li>
  * <li>Mandatory process scheduling parameters for task and ISR allocations must be set.</li>
@@ -63,17 +63,17 @@
 	public void validate(EObject object, List<ValidationDiagnostic> results) {
 		if (object instanceof Scheduler) {
 			final Scheduler sc = (Scheduler) object;
-			
+
 			if (sc.getDefinition() == null) return;
-			
+
 			final Map<Pair<EObject, EStructuralFeature>, List<SchedulingParameterDefinition>> missingSPs = new LinkedHashMap<>();
-			
+
 			// check algorithm parameters
 			final List<SchedulingParameterDefinition> missingMandatoryAlgorithmParameterDefs = sc.getDefinition().getAlgorithmParameters()
 					.stream().filter(SchedulingParameterDefinition::isMandatory).collect(Collectors.toList());
 			sc.getSchedulingParameters().stream().map(Entry::getKey).forEach(missingMandatoryAlgorithmParameterDefs::remove);
 			missingSPs.put(new Pair<>(sc, ePackage.getISchedulingParameterContainer_SchedulingParameters()), missingMandatoryAlgorithmParameterDefs);
-			
+
 			final List<SchedulingParameterDefinition> mandatoryProcessParameterDefs = sc.getDefinition().getProcessParameters()
 					.stream().filter(SchedulingParameterDefinition::isMandatory).collect(Collectors.toList());
 			if (sc instanceof TaskScheduler) {
@@ -85,7 +85,7 @@
 					// TODO: consider grouping schedulers - look for parent scheduler parameters
 					missingSPs.put(new Pair<>(ta, ePackage.getISchedulingParameterContainer_SchedulingParameters()), perTAMissing);
 				}
-				
+
 				// check scheduler association parameters
 				for(final SchedulerAssociation sa:ts.getChildAssociations()) {
 					final List<SchedulingParameterDefinition> perSAMissing = new ArrayList<>(mandatoryProcessParameterDefs);
@@ -103,7 +103,7 @@
 					missingSPs.put(new Pair<>(ia, ePackage.getISRAllocation_Priority()), perIAMissing);
 				}
 			}
-			
+
 			missingSPs.forEach((eo, missingList) -> missingList.forEach(missing ->
 				addIssue(results, eo.getKey(), eo.getValue(), "Mandatory scheduling parameter \"" + missing.getName()
 						+ "\" is not set for " + objectInfo(eo.getKey()))
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSSchedulingParameterEmptyOverriddenValue.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSSchedulingParameterEmptyOverriddenValue.java
index 5c947fd..6d410af 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSSchedulingParameterEmptyOverriddenValue.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSSchedulingParameterEmptyOverriddenValue.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -28,7 +28,7 @@
 
 /**
  * Checks whether an overridden scheduling parameter actually provides a value.
- * 
+ *
  * <ul>
  * <li>An overridden scheduling parameter should provide a value.</li>
  * </ul>
@@ -49,12 +49,12 @@
 	public void validate(EObject object, List<ValidationDiagnostic> results) {
 		if (object instanceof SchedulingParameterImpl) {
 			final SchedulingParameterImpl sp = (SchedulingParameterImpl) object;
-			
+
 			if (sp.getKey() == null) return; // checked by standard EMF validations
-			
+
 			final List<Value> values = AmOSSchedulingParameterMultiplicityMatchesDefinition.getAllValues(sp.getValue());
 			final SchedulingParameterDefinition spd = sp.getKey();
-			
+
 			if (spd.eIsSet(ePackage.getSchedulingParameterDefinition_DefaultValue()) && values.isEmpty()) {
 				final String message = "There should be " + (spd.isMany() ? "at least one" : "a")
 						+ " value provided for the overridden " + typeInfo(sp) + " \"" + spd.getName()
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSSchedulingParameterMultiplicityMatchesDefinition.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSSchedulingParameterMultiplicityMatchesDefinition.java
index aaf1e97..de05124 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSSchedulingParameterMultiplicityMatchesDefinition.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSSchedulingParameterMultiplicityMatchesDefinition.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -30,7 +30,7 @@
 
 /**
  * Checks whether the multiplicity of scheduling parameters matches the parameter definition.
- * 
+ *
  * <ul>
  * <li>Number of scheduling parameter values must match their parameter definition.</li>
  * </ul>
@@ -51,12 +51,12 @@
 	public void validate(EObject object, List<ValidationDiagnostic> results) {
 		if (object instanceof SchedulingParameterImpl) {
 			final SchedulingParameterImpl sp = (SchedulingParameterImpl) object;
-			
+
 			if (sp.getKey() == null) return; // checked by standard EMF validations
-			
+
 			final List<Value> values = getAllValues(sp.getValue());
 			final SchedulingParameterDefinition spd = sp.getKey();
-			
+
 			if (spd.isMandatory() && values.isEmpty()) {
 				final String message = "There is no value for " + typeInfo(sp) + " \"" + sp.getKey().getName()
 						+ "\" - the " + typeInfo(sp.getKey()) + " requires " + (spd.isMany() ? "at least" : "exactly") + " one value";
@@ -69,7 +69,7 @@
 			}
 		}
 	}
-	
+
 	static List<Value> getAllValues(final Value value) {
 		final List<Value> ret = new ArrayList<>();
 		if (value == null) return ret;
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSSchedulingParameterValueTypeMatchesDefinedType.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSSchedulingParameterValueTypeMatchesDefinedType.java
index 99f3530..c6f6501 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSSchedulingParameterValueTypeMatchesDefinedType.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSSchedulingParameterValueTypeMatchesDefinedType.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -34,7 +34,7 @@
 
 /**
  * Checks whether the value type of a scheduling parameter matches the defined type of its parameter definition.
- * 
+ *
  * <ul>
  * <li>Scheduling parameter type must match its defined type.</li>
  * </ul>
@@ -55,9 +55,9 @@
 	public void validate(EObject object, List<ValidationDiagnostic> results) {
 		if (object instanceof SchedulingParameterImpl) {
 			final SchedulingParameterImpl sp = (SchedulingParameterImpl) object;
-			
+
 			if (sp.getKey() == null || sp.getValue() == null || sp.getValue().eClass() == null) return; // checked by standard EMF validations
-			
+
 			final Set<EClass> valueEClasses = getAllUsedEClassesForParameterValue(sp.getValue());
 			final Set<EClass> allowedEClasses = getAllowedEClassesForParameterDefinition(sp.getKey());
 			if (!allowedEClasses.containsAll(valueEClasses)) {
@@ -66,7 +66,7 @@
 			}
 		}
 	}
-	
+
 	private static Set<EClass> getAllUsedEClassesForParameterValue(final Value value) {
 		final Set<EClass> ret = new HashSet<>();
 		if (value == null || value.eClass() == null) return ret;
@@ -77,7 +77,7 @@
 		}
 		return ret;
 	}
-	
+
 	private static Set<EClass> getAllowedEClassesForParameterDefinition(final SchedulingParameterDefinition spd) {
 		final Set<EClass> ret = new HashSet<>();
 		if (spd.getType() == null) return ret;
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSStandardSchedulerDefinitionConformance.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSStandardSchedulerDefinitionConformance.java
index dc81369..c2d9273 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSStandardSchedulerDefinitionConformance.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSStandardSchedulerDefinitionConformance.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -32,7 +32,7 @@
 
 /**
  * Checks for each scheduler definition, if it represents a standard scheduler (by name) and if all standard parameters are there.
- * 
+ *
  * <ul>
  * <li>Referred algorithm and process parameters from the standard scheduler definition should also be in this scheduler definition.
  * This definition may have additional parameters, though.</li>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSStandardSchedulingParameterDefinitionConformance.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSStandardSchedulingParameterDefinitionConformance.java
index abaa188..c235082 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSStandardSchedulingParameterDefinitionConformance.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/os/AmOSStandardSchedulingParameterDefinitionConformance.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -32,7 +32,7 @@
 /**
  * Checks for each scheduling parameter definition (if used in a standard scheduler) if the parameters conform to the standard
  * scheduler's definition.
- * 
+ *
  * <ul>
  * <li>For each standard scheduling parameter, the type should be the same as modeled in this scheduler definition.</li>
  * <li>For each standard scheduling parameter, the attributes should be the same as modeled in this scheduler definition.</li>
@@ -58,7 +58,7 @@
 		if (object instanceof SchedulingParameterDefinition) {
 			final SchedulingParameterDefinition candidateSPD = (SchedulingParameterDefinition) object;
 			final OSModel dummyOSModel = AmaltheaFactory.eINSTANCE.createOSModel();
-			
+
 			// find all scheduler definition referring to this scheduling parameter definitions
 			candidateSPD.getSchedulerDefinitions().stream()
 					// check if any of these scheduler definitions is a standard scheduler and look for a parameter definition
@@ -66,7 +66,7 @@
 					// that has the same name as this parameter, go and check it against the just found standard parameter
 					.filter(spd -> spd.getParameterName().equals(candidateSPD.getName())).findFirst()
 					.map(spd -> AmaltheaTemplates.addStandardSchedulingParameterDefinition(dummyOSModel, spd)).ifPresent(standardSPD -> {
-				
+
 				// check all attributes (this includes the type)
 				ePackage.getSchedulingParameterDefinition().getEAttributes().forEach(spdAttribute -> {
 					final Object standardValue = standardSPD.eGet(spdAttribute);
@@ -77,7 +77,7 @@
 								+ "' in " + objectInfo(candidateSPD));
 					}
 				});
-				
+
 				// check if the default value should be provided
 				if (!candidateSPD.isMandatory() && candidateSPD.getDefaultValue() == null && standardSPD.getDefaultValue() != null) {
 					addIssue(results, candidateSPD, ePackage.getSchedulingParameterDefinition_DefaultValue(), "Standard scheduling parameter "
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/software/AmSwCallArgument.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/software/AmSwCallArgument.java
index 655f66c..2634481 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/software/AmSwCallArgument.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/software/AmSwCallArgument.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -29,11 +29,11 @@
 
 /**
  * Checks the correctness of call argument definitions
- * 
+ *
  * <ul>
  * <li>The referred runnable must contain the referred parameter</li>
  * </ul>
- */	
+ */
 
 @Validation(
 		id = "AM-SW-CallArgument",
@@ -50,25 +50,25 @@
 	public void validate(final EObject object, final List<ValidationDiagnostic> results) {
 		if (object instanceof CallArgument) {
 			CallArgument argument = (CallArgument) object;
-			
+
 			RunnableCall runnableCall = argument.getContainingCall();
 			Runnable calledRunnable = runnableCall.getRunnable();
 			RunnableParameter parameter = argument.getParameter();
-			
+
 			if (parameter == null) {
 				addIssue(results, argument, ePackage.getCallArgument_Parameter(),
 						"Call argument: Parameter of argument is undefined");
 			}
-			
+
 			if (calledRunnable == null) {
 				addIssue(results, runnableCall, ePackage.getRunnableCall_Runnable(),
 						"Call argument: Called runnable is undefined");
 			}
-			
+
 			if (parameter == null || calledRunnable == null) {
 				return;	// Skip further checks
 			}
-			
+
 			if (!calledRunnable.getParameters().contains(parameter)) {
 				addIssue(results, argument, ePackage.getCallArgument_Parameter(),
 						"Call argument: Called Runnable \"" + calledRunnable.getName()
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/software/AmSwDataDependency.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/software/AmSwDataDependency.java
index e86af23..4bf468f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/software/AmSwDataDependency.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/software/AmSwDataDependency.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -37,7 +37,7 @@
 
 /**
  * Checks the correctness of data dependency references
- * 
+ *
  * <ul>
  * <li>A data dependency can only be defined for:</li>
  * <ul>
@@ -69,10 +69,10 @@
 	public void validate(final EObject object, final List<ValidationDiagnostic> results) {
 		if (object instanceof DataDependency) {
 			DataDependency dependency = (DataDependency) object;
-			
+
 			Runnable runnable = dependency.getContainingRunnable();
 			if (runnable == null) return;
-			
+
 			EObject container = dependency.eContainer();
 			if (container instanceof LabelAccess) {
 				LabelAccess labelAccess = (LabelAccess) container;
@@ -82,7 +82,7 @@
 							"Data dependency: A data dependency can only be defined for WRITE label accesses");
 				}
 			}
-			
+
 			if (container instanceof RunnableParameter) {
 				RunnableParameter runParam = (RunnableParameter) container;
 				DirectionType direction = runParam.getDirection();
@@ -91,7 +91,7 @@
 							"Data dependency: A data dependency can only be defined for OUT/INOUT parameters");
 				}
 			}
-			
+
 			if (container instanceof CallArgument) {
 				CallArgument callArg = (CallArgument) container;
 				RunnableParameter parameter = callArg.getParameter();
@@ -103,13 +103,13 @@
 					}
 				}
 			}
-			
+
 			List<RunnableParameter> localParameters = getSuitableParameters(runnable);
 			if (!localParameters.containsAll(dependency.getParameters())) {
 				addIssue(results, dependency, ePackage.getDataDependency_Parameters(),
 						"Data dependency: A data dependency can only refer to local IN/INOUT parameters");
 			}
-			
+
 			List<CallArgument> localCallArguments = getSuitableCallArguments(runnable);
 			if (!localCallArguments.containsAll(dependency.getCallArguments())) {
 				addIssue(results, dependency, ePackage.getDataDependency_CallArguments(),
@@ -135,7 +135,7 @@
 
 		// CallArguments (out, inout) of contained calls
 		List<DirectionType> possibleDirections = Arrays.asList(DirectionType.OUT, DirectionType.INOUT);
-		
+
 		return SoftwareUtil.collectActivityGraphItems(runnable.getActivityGraph(), null, RunnableCall.class).stream()
 				.flatMap(e -> e.getArguments().stream())
 				.filter(e -> e.getParameter() != null)
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/software/AmSwGroup.java b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/software/AmSwGroup.java
index 0108181..65c8d48 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/software/AmSwGroup.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.standard/src/org/eclipse/app4mc/amalthea/validations/standard/software/AmSwGroup.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -26,11 +26,11 @@
 
 /**
  * Checks the correctness of groups
- * 
+ *
  * <ul>
  * <li>Groups where interruptible is set to <b>FALSE</b> must not have any nested groups</li>
  * </ul>
- */	
+ */
 
 @Validation(
 		id = "AM-SW-Group",
@@ -47,8 +47,8 @@
 	public void validate(final EObject object, final List<ValidationDiagnostic> results) {
 		if (object instanceof Group) {
 			final Group argument = (Group) object;
-			
-			if (false == argument.isInterruptible() &&
+
+			if (!argument.isInterruptible() &&
 					argument.getItems().stream().anyMatch(Group.class::isInstance)) {
 				addIssue(results, argument, ePackage.getIActivityGraphItemContainer_Items(),
 						"Group: uninterruptible groups must not contain nested groups (in group \"" + argument.getName() + "\")");
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TABasicProfile.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TABasicProfile.java
index c8ccbd6..fc10ac6 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TABasicProfile.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TABasicProfile.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2020 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TAConstraintsProfile.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TAConstraintsProfile.java
index 4eef44d..8b0cb9d 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TAConstraintsProfile.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TAConstraintsProfile.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2020 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TAHardwareProfile.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TAHardwareProfile.java
index f103af5..f034e69 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TAHardwareProfile.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TAHardwareProfile.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2020 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TASoftwareProfile.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TASoftwareProfile.java
index 731849d..963808b 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TASoftwareProfile.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TASoftwareProfile.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2020 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TAStimuliProfile.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TAStimuliProfile.java
index d0183a8..18afd47 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TAStimuliProfile.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/TAStimuliProfile.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2020 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/basic/TABasicContinuousValueGaussDistribution.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/basic/TABasicContinuousValueGaussDistribution.java
index 1dbe944..7fb711c 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/basic/TABasicContinuousValueGaussDistribution.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/basic/TABasicContinuousValueGaussDistribution.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -27,7 +27,7 @@
 
 /**
  * Checks sanity of mean of continuous value Gauss distributions
- * 
+ *
  * <ul>
  * <li>Mean must not be less than the lower bound</li>
  * <li>Mean must not be greater than the upper bound</li>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/basic/TABasicDiscreteValueGaussDistribution.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/basic/TABasicDiscreteValueGaussDistribution.java
index ac2f5fe..bfb15e0 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/basic/TABasicDiscreteValueGaussDistribution.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/basic/TABasicDiscreteValueGaussDistribution.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -27,7 +27,7 @@
 
 /**
  * Checks sanity of mean of discrete value Gauss distributions
- * 
+ *
  * <ul>
  * <li>Mean must not be less than the lower bound</li>
  * <li>Mean must not be greater than the upper bound</li>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/basic/TABasicTimeGaussDistribution.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/basic/TABasicTimeGaussDistribution.java
index c09a3a8..37dc635 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/basic/TABasicTimeGaussDistribution.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/basic/TABasicTimeGaussDistribution.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -28,7 +28,7 @@
 
 /**
  * Checks sanity of mean of time Gauss distributions
- * 
+ *
  * <ul>
  * <li>Mean must not be less than the lower bound</li>
  * <li>Mean must not be greater than the upper bound</li>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsDataAgeTime.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsDataAgeTime.java
index bd84d9e..6a7c487 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsDataAgeTime.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsDataAgeTime.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -28,7 +28,7 @@
 
 /**
  * Validates min and max times of data age time.
- * 
+ *
  * <ul>
  * <li>Maximum time must not be smaller than minimum time</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsDelayConstraint.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsDelayConstraint.java
index 55a9a78..bd3d736 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsDelayConstraint.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsDelayConstraint.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -26,7 +26,7 @@
 
 /**
  * Validates upper and lower bounds of delay constraints.
- * 
+ *
  * <ul>
  * <li>Upper bound must not be smaller than lower bound</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsECLConstraint.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsECLConstraint.java
index e0b3b7a..b24fd3a 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsECLConstraint.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsECLConstraint.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -26,7 +26,7 @@
 
 /**
  * Validates min and max bounds of event chain latency constraints.
- * 
+ *
  * <ul>
  * <li>Maximum must not be smaller than minimum</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsEDFTaskMustHaveDeadline.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsEDFTaskMustHaveDeadline.java
index 89f8a06..584e212 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsEDFTaskMustHaveDeadline.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsEDFTaskMustHaveDeadline.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -26,7 +26,7 @@
 /**
  * Validates whether a task that is mapped to a scheduler with EDF scheduling policy
  * has a deadline requirement.
- * 
+ *
  * <ul>
  * <li>EDF tasks must have a deadline requirement</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsRTLimitMustBePositive.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsRTLimitMustBePositive.java
index a19fd6b..18308c7 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsRTLimitMustBePositive.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsRTLimitMustBePositive.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -30,7 +30,7 @@
 
 /**
  * Validates whether a timing requirement limit for time metric RESPONSE_TIME is positive.
- * 
+ *
  * <ul>
  * <li>Response time must be positive</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsRepetitionConstraint.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsRepetitionConstraint.java
index 2e6a663..aa32482 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsRepetitionConstraint.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/constraints/TAConstraintsRepetitionConstraint.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -26,7 +26,7 @@
 
 /**
  * Validates lower and upper bound of repetition constraints.
- * 
+ *
  * <ul>
  * <li>Upper bound must not be smaller than lower bound</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/hardware/TAHardwareHWFIPCPositive.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/hardware/TAHardwareHWFIPCPositive.java
index ccb2f26..1107dcd 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/hardware/TAHardwareHWFIPCPositive.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/hardware/TAHardwareHWFIPCPositive.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -25,7 +25,7 @@
 
 /**
  * Validates whether the value of the instructions per cycle HwFeature is sane.
- * 
+ *
  * <ul>
  * <li>IPC (instructions per cycle) must be positive</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/hardware/TAHardwarePUDIPCMissing.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/hardware/TAHardwarePUDIPCMissing.java
index 1c05161..bf2df21 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/hardware/TAHardwarePUDIPCMissing.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/hardware/TAHardwarePUDIPCMissing.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -29,7 +29,7 @@
 /**
  * Validates whether the instructions per cycle HWFeature is set for
  * a processing unit definition of type CPU and has a sane value.
- * 
+ *
  * <ul>
  * <li>IPC (instructions per cycle) should be set, otherwise default (1.0) will be assumed</li>
  * <li>Only one IPC HwFeature should be specified for a processing unit definition</li>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/misc/TAMiscSemaphore.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/misc/TAMiscSemaphore.java
index 9769e97..e206bb6 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/misc/TAMiscSemaphore.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/misc/TAMiscSemaphore.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -25,7 +25,7 @@
 
 /**
  * Validates sanity of initial and max value of semaphores.
- * 
+ *
  * <ul>
  * <li>Initial value must not be negative</li>
  * <li>Max value must be positive</li>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareModeConditionConjunctionAlwaysFalse.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareModeConditionConjunctionAlwaysFalse.java
index 14b8cec..67c972b 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareModeConditionConjunctionAlwaysFalse.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareModeConditionConjunctionAlwaysFalse.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -19,9 +19,9 @@
 
 import org.eclipse.app4mc.amalthea.model.AmaltheaServices;
 import org.eclipse.app4mc.amalthea.model.INamed;
-import org.eclipse.app4mc.amalthea.model.ModeValueCondition;
 import org.eclipse.app4mc.amalthea.model.ModeConditionConjunction;
 import org.eclipse.app4mc.amalthea.model.ModeLiteral;
+import org.eclipse.app4mc.amalthea.model.ModeValueCondition;
 import org.eclipse.app4mc.amalthea.model.RelationalOperator;
 import org.eclipse.app4mc.amalthea.validation.core.AmaltheaValidation;
 import org.eclipse.app4mc.validation.annotation.Validation;
@@ -31,7 +31,7 @@
 
 /**
  * Validates (only simple) whether a conjunction of mode conditions always yields true.
- * 
+ *
  * <ul>
  * <li>Checks whether the logical conjunction (AND) of all entries will never be fulfilled</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareModeConditionDisjunctionAlwaysTrue.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareModeConditionDisjunctionAlwaysTrue.java
index 60f153f..9133d74 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareModeConditionDisjunctionAlwaysTrue.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareModeConditionDisjunctionAlwaysTrue.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -22,9 +22,9 @@
 import org.eclipse.app4mc.amalthea.model.AmaltheaServices;
 import org.eclipse.app4mc.amalthea.model.EnumMode;
 import org.eclipse.app4mc.amalthea.model.INamed;
-import org.eclipse.app4mc.amalthea.model.ModeValueCondition;
 import org.eclipse.app4mc.amalthea.model.ModeConditionDisjunction;
 import org.eclipse.app4mc.amalthea.model.ModeLiteral;
+import org.eclipse.app4mc.amalthea.model.ModeValueCondition;
 import org.eclipse.app4mc.amalthea.model.RelationalOperator;
 import org.eclipse.app4mc.amalthea.validation.core.AmaltheaValidation;
 import org.eclipse.app4mc.validation.annotation.Validation;
@@ -34,7 +34,7 @@
 
 /**
  * Validates (only simple) whether a disjunction of mode conditions always yields true.
- * 
+ *
  * <ul>
  * <li>Checks whether the logical disjunction (OR) of all entries of type ModeCondition will be fulfilled</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareOsEvent.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareOsEvent.java
index 280e45d..dff9a3f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareOsEvent.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareOsEvent.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -33,7 +33,7 @@
 
 /**
  * Validates sanity of usage of OsEvents.
- * 
+ *
  * <ul>
  * <li>If there is at least one wait event for this os event, there must also be at least one set event for this os event</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareRunnableCall.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareRunnableCall.java
index b6d938a..7e2a704 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareRunnableCall.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareRunnableCall.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2021 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -28,7 +28,7 @@
 
 /**
  * Validates sanity of runnable calls.
- * 
+ *
  * <ul>
  * <li>The called runnable may not refer to the runnable owning this runnable call</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareServerCall.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareServerCall.java
index b0fd1ef..42a294f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareServerCall.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/software/TASoftwareServerCall.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -28,7 +28,7 @@
 
 /**
  * Validates sanity of server calls.
- * 
+ *
  * <ul>
  * <li>Server runnable may not refer to the runnable owning this server call</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/stimuli/TAStimuliVRStimulus.java b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/stimuli/TAStimuliVRStimulus.java
index 4c50623..9b69c13 100644
--- a/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/stimuli/TAStimuliVRStimulus.java
+++ b/plugins/org.eclipse.app4mc.amalthea.validations.ta/src/org/eclipse/app4mc/amalthea/validations/ta/stimuli/TAStimuliVRStimulus.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016-2019 Vector Informatik GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Vector Informatik GmbH - initial API and implementation
  ********************************************************************************
@@ -25,7 +25,7 @@
 
 /**
  * Validates sanity of variable rate stimuli.
- * 
+ *
  * <ul>
  * <li>Scenario must be set</li>
  * </ul>
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/DiagramLocation.java b/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/DiagramLocation.java
index ae19b80..7ffb7aa 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/DiagramLocation.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/DiagramLocation.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020-2021 Robert Bosch GmbH.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  *******************************************************************************/
@@ -47,27 +47,26 @@
 	}
 
 	public DiagramLocation(IFolder folder, String baseFilename) {
-		if (folder == null || !folder.exists()) return;
-		if (baseFilename == null || baseFilename.isEmpty()) return;
-		
+		if (folder == null || !folder.exists() || baseFilename == null || baseFilename.isEmpty()) return;
+
 		initialize(folder, baseFilename);
 	}
 
 	private void initialize(IFolder folder, String baseFilename) {
-		this.diagramFolder = folder;
-		this.plantUmlFileName = baseFilename + ".plantuml";
-		this.plantUmlFilePath = folder.getFile(plantUmlFileName).getLocation().toString();
-		this.diagramFileName = baseFilename + ".svg";
-		this.diagramFilePath = folder.getFile(diagramFileName).getLocation().toString();
+		diagramFolder = folder;
+		plantUmlFileName = baseFilename + ".plantuml";
+		plantUmlFilePath = folder.getFile(plantUmlFileName).getLocation().toString();
+		diagramFileName = baseFilename + ".svg";
+		diagramFilePath = folder.getFile(diagramFileName).getLocation().toString();
 	}
 
 
 	private IFile getResourceFile(EObject eObject) {
 		if (eObject == null) return null;
-	
+
 		Resource eResource = eObject.eResource();
 		if (eResource == null) return null;
-	
+
 		URI uri = eResource.getURI();
 		IPath path = new Path(uri.toPlatformString(true));
 		return ResourcesPlugin.getWorkspace().getRoot().getFile(path);
@@ -75,7 +74,7 @@
 
 	private IFolder getOrCreateDiagramFolder(IFile file, String folderName) {
 		if (file == null) return null;
-		
+
 		IContainer parentFolder = file.getParent();
 		if (parentFolder == null) return null;
 
@@ -98,7 +97,7 @@
 		String modelName = "model"; // default
 
 		if (file != null && file.getName() != null) {
-			modelName = file.getName().replaceFirst("[.][^.]+$", ""); // remove extension	
+			modelName = file.getName().replaceFirst("[.][^.]+$", ""); // remove extension
 		}
 
 		String extendedName = "";
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/HWBlockDiagramVisualization.java b/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/HWBlockDiagramVisualization.java
index ac481b2..a68edac 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/HWBlockDiagramVisualization.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/HWBlockDiagramVisualization.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020-2021 Robert Bosch GmbH.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  *******************************************************************************/
@@ -40,23 +40,23 @@
 
 	@PostConstruct
 	public void createVisualization(
-			HWModel hwModel, 
+			HWModel hwModel,
 			Composite parent,
 			Shell shell,
 			@Optional
 			@Preference(
-					nodePath = "net.sourceforge.plantuml.eclipse", 
-					value = PlantumlConstants.GRAPHVIZ_PATH) 
+					nodePath = "net.sourceforge.plantuml.eclipse",
+					value = PlantumlConstants.GRAPHVIZ_PATH)
 			String dotPath,
 			UISynchronize sync) {
-		
+
 		Browser browser = new Browser(parent, SWT.NONE);
-		
+
 		DiagramLocation diagramLocation = new DiagramLocation(hwModel);
 		if (!diagramLocation.isValid()) return;
-		
+
 		// *** Execute job
-		
+
 		JobChangeAdapter listener = new JobChangeAdapter() {
 			@Override
 			public void done(IJobChangeEvent event) {
@@ -67,7 +67,7 @@
 				});
 			}
 		};
-		
+
 		VisualizationHandler handler = new VisualizationHandler();
 		handler.execute(shell, sync, dotPath, hwModel.getStructures(), diagramLocation, false, listener);
 	}
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/HWBlockDiagramVisualization2.java b/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/HWBlockDiagramVisualization2.java
index 00e68e6..16fd812 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/HWBlockDiagramVisualization2.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/HWBlockDiagramVisualization2.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020-2021 Robert Bosch GmbH.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  *******************************************************************************/
@@ -42,23 +42,23 @@
 
 	@PostConstruct
 	public void createVisualization(
-			List<HwStructure> structures, 
+			List<HwStructure> structures,
 			Composite parent,
 			Shell shell,
 			@Optional
 			@Preference(
-					nodePath = "net.sourceforge.plantuml.eclipse", 
-					value = PlantumlConstants.GRAPHVIZ_PATH) 
+					nodePath = "net.sourceforge.plantuml.eclipse",
+					value = PlantumlConstants.GRAPHVIZ_PATH)
 			String dotPath,
 			UISynchronize sync) {
-		
+
 		Browser browser = new Browser(parent, SWT.NONE);
-		
+
 		DiagramLocation diagramLocation = new DiagramLocation(structures.get(0));
 		if (!diagramLocation.isValid()) return;
-		
+
 		// *** Execute job
-		
+
 		JobChangeAdapter listener = new JobChangeAdapter() {
 			@Override
 			public void done(IJobChangeEvent event) {
@@ -69,7 +69,7 @@
 				});
 			}
 		};
-		
+
 		VisualizationHandler handler = new VisualizationHandler();
 		handler.execute(shell, sync, dotPath, structures, diagramLocation, false, listener);
 	}
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/ModelToTextResult.java b/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/ModelToTextResult.java
index 23293c4..7c75528 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/ModelToTextResult.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/ModelToTextResult.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2018-2020 Robert Bosch GmbH.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
 *******************************************************************************/
@@ -15,18 +15,18 @@
 package org.eclipse.app4mc.amalthea.visualization.hw;
 
 public class ModelToTextResult {
-	
+
 	private boolean errorFlag;
 	private String errorMessage;
-	
+
 	private CharSequence output;
 
 	public ModelToTextResult() {
-		this.errorFlag = false;
+		errorFlag = false;
 	}
 
 	public boolean getErrorFlag() {
-		return this.errorFlag;
+		return errorFlag;
 	}
 
 	public void setErrorFlag(boolean errorFlag) {
@@ -34,15 +34,15 @@
 	}
 
 	public boolean error() {
-		return this.errorFlag;
+		return errorFlag;
 	}
 
 	public boolean success() {
-		return !this.errorFlag;
+		return !errorFlag;
 	}
 
 	public String getErrorMessage() {
-		return this.errorMessage;
+		return errorMessage;
 	}
 
 	public void setErrorMessage(String errorMessage) {
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/VisualizationHandler.java b/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/VisualizationHandler.java
index 0578419..d093355 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/VisualizationHandler.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualization.hw/src/org/eclipse/app4mc/amalthea/visualization/hw/VisualizationHandler.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020-2021 Robert Bosch GmbH.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  *******************************************************************************/
@@ -64,8 +64,8 @@
 			UISynchronize sync,
 			@Optional
 			@Preference(
-					nodePath = "net.sourceforge.plantuml.eclipse", 
-					value = PlantumlConstants.GRAPHVIZ_PATH) 
+					nodePath = "net.sourceforge.plantuml.eclipse",
+					value = PlantumlConstants.GRAPHVIZ_PATH)
 			String dotPath,
 			@Named(IServiceConstants.ACTIVE_SELECTION) IStructuredSelection selection) {
 
@@ -84,7 +84,7 @@
 
 			// Execute job
 			List<HwStructure> structures = new ArrayList<>();
-			
+
 			if (eObject instanceof HWModel) {
 				structures.addAll(((HWModel) eObject).getStructures());
 			} else if (eObject instanceof HwStructure) {
@@ -97,7 +97,7 @@
 	}
 
 	/**
-	 * 
+	 *
 	 * @param shell The active Shell needed for info/error dialog creation.
 	 * @param dotPathFromPlantUMLPreferencePage The path to Graphviz dot.exe needed for visualization.
 	 * @param hwModel The {@link HWModel} that should be visualized.
@@ -117,7 +117,7 @@
 
 		String dotPathFromSystemProperty=System.getenv(PROPERTY_GRAPHVIZ_DOT);
 
-		
+
 		File dotFile = null;
 
 		if (dotPathFromPlantUMLPreferencePage != null) {
@@ -166,7 +166,7 @@
 
 				byte[] svgBytes = outputStream.toByteArray();
 				String svgString = new String(svgBytes, StandardCharsets.UTF_8);
-				
+
 				fileStream.write(svgBytes);
 				fileStream.flush();
 
@@ -203,8 +203,8 @@
 	}
 
 	private File ensureValidDotFile(Shell shell, UISynchronize sync, String dotPath, String origin) {
-		
-		
+
+
 		if (dotPath == null || dotPath.equals("")) {
 			showErrorDialog(shell, sync, "Missing Graphviz dot.exe location."
 						+ "\nPlease specify location via Window - Preferences - PlantUML - Path to the dot executable of Graphviz.");
@@ -213,7 +213,7 @@
 
 		final File dotFile = new File(dotPath);
 		if (!dotFile.canExecute()) {
-			
+
 			if(origin.equals("PlantUMLPreference")) {
 				showErrorDialog(shell, sync, "Invalid Graphviz dot.exe location: \'" + dotFile.getAbsolutePath()+"\'"
 				+ "\nPlease set location via Window - Preferences - PlantUML - Path to the 'dot executable of Graphviz'.");
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualizations.addon/src/org/eclipse/app4mc/amalthea/visualizations/addon/MappingModelVisualization.java b/plugins/org.eclipse.app4mc.amalthea.visualizations.addon/src/org/eclipse/app4mc/amalthea/visualizations/addon/MappingModelVisualization.java
index 6e790a5..0f866d5 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualizations.addon/src/org/eclipse/app4mc/amalthea/visualizations/addon/MappingModelVisualization.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualizations.addon/src/org/eclipse/app4mc/amalthea/visualizations/addon/MappingModelVisualization.java
@@ -235,9 +235,9 @@
 		theme.defaultHAlign = HorizontalAlignmentEnum.LEFT;
 		theme.defaultVAlign = VerticalAlignmentEnum.TOP;
 		theme.defaultCellPainter = new PaddingDecorator(new TextPainter(true, true, true), 2);
-		
+
 		theme.treeCellPainter = new PaddingDecorator(new TextPainter(false, true, true), 2, 2, 2, 15);
-		
+
 		Bundle bundle = FrameworkUtil.getBundle(this.getClass());
 		URL leafImageUrl = FileLocator.find(bundle, new Path("images/right_leaf.png"), null);
 
@@ -285,7 +285,7 @@
 	 * Public class TableItem is accessed by NatTable and contains data of one table
 	 * row.
 	 */
-	public class TableItem {
+	public static class TableItem {
 
 		private TableItem parent;
 		private List<TableItem> path = new ArrayList<>();
@@ -328,7 +328,7 @@
 		}
 
 		public void setProcessingUnits(String cores) {
-			this.processingUnits = cores;
+			processingUnits = cores;
 		}
 
 		public String getProcesses() {
@@ -340,7 +340,7 @@
 		}
 	}
 
-	private class TableItemTreeFormat implements TreeList.Format<TableItem> {
+	private static class TableItemTreeFormat implements TreeList.Format<TableItem> {
 
 		/**
 		 * Populate path with a list describing the path from a root node to this
@@ -371,7 +371,7 @@
 		 */
 		@Override
 		public Comparator<? super TableItem> getComparator(int depth) {
-			return (i1, i2) -> i1.scheduler.compareTo(i2.scheduler);
+			return Comparator.comparing(i1 -> i1.scheduler);
 		}
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/AbstractDeviationChart.java b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/AbstractDeviationChart.java
index 93b8182..c97ecbe 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/AbstractDeviationChart.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/AbstractDeviationChart.java
@@ -86,7 +86,7 @@
 
 		AreaChart<Number, Number> chart = new AreaChart<>(xAxis, yAxis);
 		chart.setTitle(getChartTitle(deviation));
-		chart.setAnimated(false);		
+		chart.setAnimated(false);
 		chart.setVerticalGridLinesVisible(false);
 		chart.setHorizontalGridLinesVisible(false);
 		chart.setLegendVisible(false);
@@ -100,7 +100,7 @@
 		if (deviation != null) {
 			String className = deviation.eClass().getName();
 			for (String genericName : DEVIATION_LIST) {
-				if (className.contains(genericName)) return genericName;				
+				if (className.contains(genericName)) return genericName;
 			}
 		}
 		return null;
@@ -123,7 +123,7 @@
 				return "occurrences";
 			}
 		}
-			
+
 		return defaultText;
 	}
 
@@ -134,7 +134,7 @@
 			statusLabel.setMaxWidth(Double.MAX_VALUE);
 			statusLabel.setAlignment(Pos.CENTER);
 			statusLabel.setTextFill(Color.RED);
-	
+
 			pane.setBottom(statusLabel);
 			return statusLabel;
 		}
@@ -143,10 +143,10 @@
 
 	protected void setChartXBounds(AreaChart<Number, Number> chart, double lowerBound, double upperBound) {
 		if (lowerBound >= upperBound) return;
-		
+
 		if (chart.getXAxis() instanceof NumberAxis) {
 			NumberAxis axis = (NumberAxis) chart.getXAxis();
-			
+
 			// ValueAxis<Number> allows to set the bounds
 			axis.setAutoRanging(false);
 			axis.setLowerBound(lowerBound);
@@ -159,7 +159,7 @@
 	protected void setChartYBounds(AreaChart<Number, Number> chart, double upperBound) {
 		if (chart.getYAxis() instanceof NumberAxis) {
 			NumberAxis axis = (NumberAxis) chart.getYAxis();
-	
+
 			// ValueAxis<Number> allows to set the bounds
 			axis.setAutoRanging(false);
 			axis.setLowerBound(0);
@@ -171,11 +171,11 @@
 		if (series.getData().isEmpty()) return;
 
 		chart.getData().add(series);
-		
+
 		// set standard color for line and fill
 		series.getNode().lookup(CHART_SERIES_AREA_LINE).setStyle("-fx-stroke: rgba(0, 128, 0, 1.0);");
 		series.getNode().lookup(CHART_SERIES_AREA_FILL).setStyle("-fx-fill: rgba(0, 128, 0, 0.15);");
-		
+
 		// hide line markers
 		for (Data<Number, Number> data : series.getData()) {
 			data.getNode().setVisible(false);
@@ -186,11 +186,11 @@
 		if (series.getData().isEmpty()) return;
 
 		chart.getData().add(series);
-		
+
 		// set color and dash style for line; no fill
 		series.getNode().lookup(CHART_SERIES_AREA_LINE).setStyle("-fx-stroke: rgba(128, 128, 128, 1.0); -fx-stroke-dash-array: 2;");
 		series.getNode().lookup(CHART_SERIES_AREA_FILL).setStyle("-fx-fill: rgba(0, 0, 0, 0.0);");
-		
+
 		// hide line markers
 		for (Data<Number, Number> data : series.getData()) {
 			data.getNode().setVisible(false);
@@ -199,13 +199,13 @@
 
 	protected void addSeriesGradient(AreaChart<Number, Number> chart, final Series<Number, Number> series) {
 		if (series.getData().isEmpty()) return;
-		
+
 		chart.getData().add(series);
-		
+
 		// set color and dash style for line; no fill
 		series.getNode().lookup(CHART_SERIES_AREA_LINE).setStyle("-fx-stroke: rgba(0, 0, 0, 0.0);");
 		series.getNode().lookup(CHART_SERIES_AREA_FILL).setStyle("-fx-fill: linear-gradient(to top, rgba(0, 128, 0, 0.3), rgba(0, 128, 0, 0.0));");
-		
+
 		// hide line markers
 		for (Data<Number, Number> data : series.getData()) {
 			data.getNode().setVisible(false);
@@ -218,7 +218,7 @@
 			chart.getData().add(series);
 			series.getData().add(new XYChart.Data<>(x, 0.0));
 			series.getData().add(new XYChart.Data<>(x, y));
-	
+
 			series.getNode().lookup(CHART_SERIES_AREA_LINE).setStyle("-fx-stroke: rgba(0, 128, 0, 1.0);");
 			series.getData().get(1).getNode().setVisible(false);
 		}
@@ -233,11 +233,11 @@
 				series.setName("min");
 				series.getData().add(new XYChart.Data<>(min, 0.0));
 				series.getData().add(new XYChart.Data<>(min, y));
-				
+
 				series.getNode().lookup(CHART_SERIES_AREA_LINE).setStyle("-fx-stroke: rgba(0, 0, 0, 1.0);");
 				series.getData().get(1).getNode().setVisible(false);
 			}
-			
+
 			// add upper bounds marker
 			if (max != null) {
 				final Series<Number, Number> series = new XYChart.Series<>();
@@ -245,11 +245,11 @@
 				series.setName("max");
 				series.getData().add(new XYChart.Data<>(max, 0.0));
 				series.getData().add(new XYChart.Data<>(max, y));
-				
+
 				series.getNode().lookup(CHART_SERIES_AREA_LINE).setStyle("-fx-stroke: rgba(0, 0, 0, 1.0);");
 				series.getData().get(1).getNode().setVisible(false);
 			}
-			
+
 			// add average marker if computed average is in correct bounds (skip otherwise)
 			if (avg != null && (min == null || min <= avg) && (max == null || max >= avg)) {
 				final Series<Number, Number> series = new XYChart.Series<>();
@@ -257,7 +257,7 @@
 				series.setName("avg");
 				series.getData().add(new XYChart.Data<>(avg, 0.0));
 				series.getData().add(new XYChart.Data<>(avg, y));
-				
+
 				series.getNode().lookup(CHART_SERIES_AREA_LINE).setStyle("-fx-stroke: rgba(150, 5, 5, 1.0); -fx-stroke-dash-array: 3;");
 				series.getData().get(1).getNode().setVisible(false);
 			}
@@ -281,10 +281,7 @@
 			for (DiscreteValueHistogramEntry entry : entries) {
 				final Long lowerBound = entry.getLowerBound();
 				final Long upperBound = entry.getUpperBound();
-				if (lowerBound == null) return false;
-				if (upperBound == null) return false;
-				if (lowerBound.compareTo(upperBound) > 0) return false;
-				if (entry.getOccurrences() < 0) return false;
+				if ((lowerBound == null) || (upperBound == null) || (lowerBound.compareTo(upperBound) > 0) || (entry.getOccurrences() < 0)) return false;
 			}
 			return true;
 		}
@@ -294,9 +291,7 @@
 			final DiscreteValueInterval interval = (DiscreteValueInterval) dev;
 			final Long lowerBound = interval.getLowerBound();
 			final Long upperBound = interval.getUpperBound();
-			if (lowerBound == null) return false;
-			if (upperBound == null) return false;
-			if (!isValidMinAvgMax(lowerBound.doubleValue(), getAverage(interval), upperBound.doubleValue())) return false;
+			if ((lowerBound == null) || (upperBound == null) || !isValidMinAvgMax(lowerBound.doubleValue(), getAverage(interval), upperBound.doubleValue())) return false;
 		}
 
 		// check Weibull parameters
@@ -315,8 +310,7 @@
 		// check Gauss parameters
 		if (dev instanceof DiscreteValueGaussDistribution) {
 			final DiscreteValueGaussDistribution gaussDist = (DiscreteValueGaussDistribution) dev;
-			if  (gaussDist.getSd() <= 0) return false;
-			if (!isValidMinAvgMax(gaussDist.getLowerBound(), null, gaussDist.getUpperBound())) return false;
+			if ((gaussDist.getSd() <= 0) || !isValidMinAvgMax(gaussDist.getLowerBound(), null, gaussDist.getUpperBound())) return false;
 		}
 
 		return true;
@@ -336,10 +330,7 @@
 			for (ContinuousValueHistogramEntry entry : entries) {
 				final Double lowerBound = entry.getLowerBound();
 				final Double upperBound = entry.getUpperBound();
-				if (lowerBound == null) return false;
-				if (upperBound == null) return false;
-				if (lowerBound.compareTo(upperBound) > 0) return false;
-				if (entry.getOccurrences() < 0) return false;
+				if ((lowerBound == null) || (upperBound == null) || (lowerBound.compareTo(upperBound) > 0) || (entry.getOccurrences() < 0)) return false;
 			}
 			return true;
 		}
@@ -349,9 +340,7 @@
 			final ContinuousValueInterval interval = (ContinuousValueInterval) dev;
 			final Double lowerBound = interval.getLowerBound();
 			final Double upperBound = interval.getUpperBound();
-			if (lowerBound == null) return false;
-			if (upperBound == null) return false;
-			if (!isValidMinAvgMax(lowerBound, getAverage(interval), upperBound)) return false;
+			if ((lowerBound == null) || (upperBound == null) || !isValidMinAvgMax(lowerBound, getAverage(interval), upperBound)) return false;
 		}
 
 		// check Weibull parameters
@@ -366,35 +355,31 @@
 			final ContinuousValueBetaDistribution betaDist = (ContinuousValueBetaDistribution) dev;
 			return betaDist.getAlpha() > 0 && betaDist.getBeta() > 0;
 		}
-	
+
 		// check Gauss parameters
 		if (dev instanceof ContinuousValueGaussDistribution) {
 			final ContinuousValueGaussDistribution gaussDist = (ContinuousValueGaussDistribution) dev;
-			if  (gaussDist.getSd() <= 0) return false;
-			if (!isValidMinAvgMax(gaussDist.getLowerBound(), null, gaussDist.getUpperBound())) return false;
+			if ((gaussDist.getSd() <= 0) || !isValidMinAvgMax(gaussDist.getLowerBound(), null, gaussDist.getUpperBound())) return false;
 		}
-	
+
 		return true;
 	}
-	
+
 	public boolean isValid(ITimeDeviation dev) {
 		// check constant value
 		if (dev instanceof TimeConstant) {
 			return isValidTime(((TimeConstant) dev).getValue());
 		}
-	
+
 		// check histogram entries
 		if (dev instanceof TimeHistogram) {
 			final EList<TimeHistogramEntry> entries = ((TimeHistogram) dev).getEntries();
 			if (entries.isEmpty()) return false;
-			
+
 			for (TimeHistogramEntry entry : entries) {
 				final Time lowerBound = entry.getLowerBound();
 				final Time upperBound = entry.getUpperBound();
-				if (!isValidTime(lowerBound)) return false;
-				if (!isValidTime(upperBound)) return false;
-				if (lowerBound.compareTo(upperBound) > 0) return false;
-				if (entry.getOccurrences() < 0) return false;
+				if (!isValidTime(lowerBound) || !isValidTime(upperBound) || (lowerBound.compareTo(upperBound) > 0) || (entry.getOccurrences() < 0)) return false;
 			}
 			return true;
 		}
@@ -404,14 +389,13 @@
 			final TimeStatistics statistics = (TimeStatistics) dev;
 			if (!isValidTime(statistics.getAverage())) return false;
 		}
-		
+
 		// check Weibull parameters (part 1)
 		if (dev instanceof TimeWeibullEstimatorsDistribution) {
 			final TimeWeibullEstimatorsDistribution weibullDist = (TimeWeibullEstimatorsDistribution) dev;
 			if (!isValidTime(weibullDist.getAverage())) return false;
 			final double promille = weibullDist.getPRemainPromille();
-			if (promille <= 0) return false;
-			if (promille >= 1000) return false;
+			if ((promille <= 0) || (promille >= 1000)) return false;
 		}
 
 		// check attributes of (abstract) interval; check average if available
@@ -419,9 +403,7 @@
 			final TimeInterval interval = (TimeInterval) dev;
 			final Time lowerBound = interval.getLowerBound();
 			final Time upperBound = interval.getUpperBound();
-			if (!isValidTime(lowerBound)) return false;
-			if (!isValidTime(upperBound)) return false;
-			if (!isValidMinAvgMax(lowerBound, getAverage(interval), upperBound)) return false;
+			if (!isValidTime(lowerBound) || !isValidTime(upperBound) || !isValidMinAvgMax(lowerBound, getAverage(interval), upperBound)) return false;
 		}
 
 		// check Beta parameters
@@ -429,19 +411,16 @@
 			final TimeBetaDistribution betaDist = (TimeBetaDistribution) dev;
 			return betaDist.getAlpha() > 0 && betaDist.getBeta() > 0;
 		}
-	
+
 		// check Gauss parameters
 		if (dev instanceof TimeGaussDistribution) {
 			final TimeGaussDistribution gaussDist = (TimeGaussDistribution) dev;
 			final Time mean = gaussDist.getMean();
 			final Time sd = gaussDist.getSd();
-	
-			if (!isValidTime(mean)) return false;
-			if (!isValidTime(sd)) return false;
-			if  (sd.getValue().signum() < 1) return false;
-			if (!isValidMinAvgMax(gaussDist.getLowerBound(), null, gaussDist.getUpperBound())) return false;
+
+			if (!isValidTime(mean) || !isValidTime(sd) || (sd.getValue().signum() < 1) || !isValidMinAvgMax(gaussDist.getLowerBound(), null, gaussDist.getUpperBound())) return false;
 		}
-	
+
 		return true;
 	}
 
@@ -469,7 +448,7 @@
 		if (avg != null && max != null && avg.compareTo(max) >= 0) {
 			return false;
 		}
-		
+
 		return true;
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/DeviationChartContinuousValue.java b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/DeviationChartContinuousValue.java
index d3e7ffd..7d48b61 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/DeviationChartContinuousValue.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/DeviationChartContinuousValue.java
@@ -191,7 +191,7 @@
 			if (lowerBound == null && upperBound != null) {
 				xMin = Math.min(xMin, upperBound - dev.getSd());
 				xMax = Math.max(xMax, upperBound + dev.getSd());
-			}			
+			}
 		}
 
 		final double step = (xMax - xMin) / 200;
@@ -210,7 +210,7 @@
 			} else if (upperBound != null && x > upperBound) {
 				seriesRight.getData().add(new Data<>(x, y));
 			} else {
-				seriesMain.getData().add(new Data<>(x, y));				
+				seriesMain.getData().add(new Data<>(x, y));
 			}
 		}
 
@@ -278,7 +278,7 @@
 		} else {
 			maxY = 100; // single value
 		}
-	
+
 		// adopt range and add markers (min, avg, max)
 		setChartYBounds(chart, maxY * 1.2);
 		addMarkers(chart, maxY * 1.1, lower, average, upper);
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/DeviationChartDiscreteValue.java b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/DeviationChartDiscreteValue.java
index c45bc5b..1ac5b66 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/DeviationChartDiscreteValue.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/DeviationChartDiscreteValue.java
@@ -191,7 +191,7 @@
 			if (lowerBound == null && upperBound != null) {
 				xMin = Math.min(xMin, upperBound - dev.getSd());
 				xMax = Math.max(xMax, upperBound + dev.getSd());
-			}			
+			}
 		}
 
 		final double step = (xMax - xMin) / 200;
@@ -210,7 +210,7 @@
 			} else if (upperBound != null && x > upperBound) {
 				seriesRight.getData().add(new Data<>(x, y));
 			} else {
-				seriesMain.getData().add(new Data<>(x, y));				
+				seriesMain.getData().add(new Data<>(x, y));
 			}
 		}
 
@@ -278,7 +278,7 @@
 		} else {
 			maxY = 100; // single value
 		}
-	
+
 		// adopt range and add markers (min, avg, max)
 		setChartYBounds(chart, maxY * 1.2);
 		addMarkers(chart, maxY * 1.1, lower, average, upper);
@@ -330,7 +330,7 @@
 		final double average = dev.getAverage().doubleValue();
 		final double remain = dev.getPRemainPromille();
 
-		WeibullUtil.Parameters params = WeibullUtil.findParameters(lower, average, upper, remain);		
+		WeibullUtil.Parameters params = WeibullUtil.findParameters(lower, average, upper, remain);
 		double shape = params.shape;
 		double scale = params.scale;
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/DeviationChartTime.java b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/DeviationChartTime.java
index b2b952b..c64247b 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/DeviationChartTime.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/DeviationChartTime.java
@@ -198,7 +198,7 @@
 	private double scaleTo(Time time, TimeUnit unit) {
 		// Get the difference from the source TimeUnit to the destination TimeUnit as a factor
 		List<TimeUnit> units = AmaltheaServices.TIME_UNIT_LIST;
-		int power = units.indexOf(time.getUnit()) - units.indexOf(unit); 
+		int power = units.indexOf(time.getUnit()) - units.indexOf(unit);
 		double factor = Math.pow(1000, power);
 
 		return time.getValue().doubleValue() * factor;
@@ -236,7 +236,7 @@
 
 	private String fillChart(AreaChart<Number, Number> chart, TimeGaussDistribution dev, TimeUnit commonUnit) {
 		double maxY = 0.000001; // initialize with a lower bound > 0
-	
+
 		final double mean = scaleTo(dev.getMean(), commonUnit);
 		final double sd = scaleTo(dev.getSd(), commonUnit);
 
@@ -263,7 +263,7 @@
 			if (lowerBound == null && upperBound != null) {
 				xMin = Math.min(xMin, upperBound - sd);
 				xMax = Math.max(xMax, upperBound + sd);
-			}			
+			}
 		}
 
 		final double step = (xMax - xMin) / 200;
@@ -282,7 +282,7 @@
 			} else if (upperBound != null && x > upperBound) {
 				seriesRight.getData().add(new Data<>(x, y));
 			} else {
-				seriesMain.getData().add(new Data<>(x, y));				
+				seriesMain.getData().add(new Data<>(x, y));
 			}
 		}
 
@@ -351,7 +351,7 @@
 		} else {
 			maxY = 100; // single value
 		}
-	
+
 		// adopt range and add markers (min, avg, max)
 		setChartYBounds(chart, maxY * 1.2);
 		addMarkers(chart, maxY * 1.1, lower, average, upper);
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/RunnableDependencyVisualization.java b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/RunnableDependencyVisualization.java
index 3a7c706..e3a4eed 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/RunnableDependencyVisualization.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/RunnableDependencyVisualization.java
@@ -32,8 +32,6 @@
 import org.eclipse.e4.core.services.events.IEventBroker;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.osgi.service.component.annotations.Component;
@@ -61,39 +59,39 @@
 public class RunnableDependencyVisualization implements Visualization {
 
 	private ArrowPainter arrowPainter = new ArrowPainter();
-	
+
 	@PostConstruct
 	public void createVisualization(Runnable runnable, Composite parent, IEventBroker broker) {
 		if (runnable.eContainer() instanceof SWModel) {
 			parent.setLayout(new GridLayout());
-			
+
 			FXCanvas fxCanvas = new FXCanvas(parent, SWT.NONE);
-			
+
 			GridDataFactory
 				.fillDefaults()
 				.grab(true, true)
 				.applyTo(fxCanvas);
-			
+
 			// create the root layout pane
 			BorderPane layout = new BorderPane();
 			layout.setBackground(new Background(new BackgroundFill(Color.WHITE, null, null)));
-			
+
 			// create a Scene instance
 			// set the layout container as root
 			// set the background fill to the background color of the shell
 			Scene scene = new Scene(layout);
-		
+
 			// set the Scene to the FXCanvas
 			fxCanvas.setScene(scene);
-			
+
 			List<Runnable> runnables = RunnableHelper.getRunnableDependencies((SWModel)runnable.eContainer(), runnable, false);
 			int indexOfSelected = runnables.indexOf(runnable);
-			
+
 			List<RunnablePainter> painter = runnables.stream()
 					.map(r -> new RunnablePainter(r, false))
 					.collect(Collectors.toList());
-			
-			List<RunnablePainter> readPainter = painter.subList(0, indexOfSelected); 
+
+			List<RunnablePainter> readPainter = painter.subList(0, indexOfSelected);
 			RunnablePainter selectedPainter = painter.get(indexOfSelected);
 			List<RunnablePainter> writePainter = indexOfSelected < painter.size() - 1
 					? painter.subList(indexOfSelected + 1, painter.size())
@@ -101,26 +99,26 @@
 
 			double[] columnWidths = calculateColumnWidths(readPainter, selectedPainter, writePainter);
 			double[] rowHeights = calculateRowHeights(readPainter, selectedPainter, writePainter);
-			
+
 			// calculate the max scale factor
 			double minWidth = Arrays.stream(columnWidths).sum();
 			double minHeight = Arrays.stream(rowHeights).sum();
-			
+
 			double max = Math.max(minWidth, minHeight);
 			double factor = RunnableHelper.CANVAS_MAX / max;
 			painter.forEach(p -> p.setMaxScaleFactor(factor));
-			
+
 			// add zoom buttons
 			Button zoomIn = new Button("+");
 			zoomIn.setPrefSize(40, 40);
-			
+
 			Button zoomOut = new Button("-");
 			zoomOut.setPrefSize(40, 40);
 
 			zoomIn.setOnAction(event -> {
 				if (!zoomIn.isDisabled()) {
 					painter.forEach(RunnablePainter::zoomIn);
-					
+
 					if (painter.get(0).getScaleFactor() == painter.get(0).getMaxScaleFactor()) {
 						zoomIn.setDisable(true);
 					}
@@ -128,14 +126,14 @@
 						zoomOut.setDisable(false);
 					}
 				}
-				
+
 				parent.redraw();
 			});
-			
+
 			zoomOut.setOnAction(event -> {
 				if (!zoomOut.isDisabled()) {
 					painter.forEach(RunnablePainter::zoomOut);
-					
+
 					if (painter.get(0).getScaleFactor() == 0.1) {
 						zoomOut.setDisable(true);
 					}
@@ -143,15 +141,15 @@
 						zoomIn.setDisable(false);
 					}
 				}
-				
+
 				parent.redraw();
 			});
-			
+
 			VBox vBox = new VBox(5);
 			vBox.setPadding(new Insets(5));
 			vBox.getChildren().addAll(zoomIn, zoomOut);
 			layout.setLeft(vBox);
-			
+
 			// disable zoom buttons if max scaling is reached on start
 			if (!painter.isEmpty()) {
 				if (painter.get(0).getScaleFactor() == painter.get(0).getMaxScaleFactor()) {
@@ -163,14 +161,14 @@
 			}
 
 			Canvas canvas = new Canvas();
-			
+
 			ScrollPane scrollable = new ScrollPane();
 			scrollable.setPadding(new Insets(0));
 			scrollable.setStyle("-fx-background: rgb(255,255,255);\n -fx-background-color: rgb(255,255,255)");
 			scrollable.setContent(canvas);
-			
+
 			layout.setCenter(scrollable);
-			
+
 			canvas.setOnMouseClicked(event -> {
 				for (RunnablePainter p : painter) {
 					if (p.equals(selectedPainter)) {
@@ -187,13 +185,13 @@
 			canvas.setOnScroll(event -> {
 				if (event.isControlDown()) {
 					double deltaY = event.getDeltaY();
-					
+
 					if (deltaY < 0){
 						zoomOut.fire();
 					} else {
 						zoomIn.fire();
 					}
-					
+
 					event.consume();
 				}
 			});
@@ -202,7 +200,7 @@
 				Point2D screenToLocal = canvas.screenToLocal(event.getScreenX(), event.getScreenY());
 				double x = screenToLocal.getX();
 				double y = screenToLocal.getY();
-				
+
 				boolean activate = false;
 				for (RunnablePainter p : painter) {
 					if (p.equals(selectedPainter)) {
@@ -213,133 +211,129 @@
 						break;
 					}
 				}
-				
+
 				if (activate) {
 					scene.setCursor(Cursor.HAND);
 				} else {
 					scene.setCursor(Cursor.DEFAULT);
 				}
 			});
-			
+
 			GraphicsContext gc = canvas.getGraphicsContext2D();
 
-			parent.addPaintListener(new PaintListener() {
-				
-				@Override
-				public void paintControl(PaintEvent e) {
-					
-					org.eclipse.swt.graphics.Rectangle parentBounds = parent.getBounds();
+			parent.addPaintListener(e -> {
 
-					double[] scaledColumnWidths = Arrays.stream(columnWidths).map(width -> width * selectedPainter.getScaleFactor()).toArray();
-					double[] scaledRowHeights = Arrays.stream(rowHeights).map(height -> height * selectedPainter.getScaleFactor()).toArray();
-					
-					double minWidth = Arrays.stream(scaledColumnWidths).sum();
-					double minHeight = Arrays.stream(scaledRowHeights).sum();
+				org.eclipse.swt.graphics.Rectangle parentBounds = parent.getBounds();
 
-					double canvasWidth = minWidth;
-					double canvasHeight = minHeight;
-					
-					double parentBoundsWidth = parentBounds.width - 30d - vBox.getWidth();
-					if (parentBoundsWidth > minWidth) {
-						canvasWidth = parentBoundsWidth;
-					}
-					
-					double parentBoundsHeight = parentBounds.height - 30d;
-					if (parentBoundsHeight > minHeight) {
-						canvasHeight = parentBoundsHeight;
-					}
-					
-					// textures with bigger dimensions than 8192 x 8192 can't processed by even modern graphic cards
-					// therefore we max it out by applying the max zoom factor we set to the painter before
-					canvasWidth = Math.min(RunnableHelper.CANVAS_MAX, canvasWidth);
-					canvasHeight = Math.min(RunnableHelper.CANVAS_MAX, canvasHeight);
-					
-					canvas.setWidth(canvasWidth);
-					canvas.setHeight(canvasHeight);
-					gc.clearRect(0, 0, canvasWidth, canvasHeight);
+				double[] scaledColumnWidths = Arrays.stream(columnWidths).map(width -> width * selectedPainter.getScaleFactor()).toArray();
+				double[] scaledRowHeights = Arrays.stream(rowHeights).map(height -> height * selectedPainter.getScaleFactor()).toArray();
 
-					double xStart = parentBounds.x;
-					double yStart = parentBounds.y;
-					
-					Rectangle bounds = null;
+				double minWidth1 = Arrays.stream(scaledColumnWidths).sum();
+				double minHeight1 = Arrays.stream(scaledRowHeights).sum();
 
-					int row = 0;
-					int column = 0;
-					
-					// paint the read dependencies
-					for (RunnablePainter p : readPainter) {
-						bounds = new Rectangle(
-								Double.valueOf(xStart),
-								Double.valueOf(yStart),
-								scaledColumnWidths[column],
-								scaledRowHeights[row]);
-						
-						p.paint(gc, bounds);
+				double canvasWidth = minWidth1;
+				double canvasHeight = minHeight1;
 
-						yStart += scaledRowHeights[row];
-						
-						row++;
-					}
-					
-					// paint the selected Runnable
-					xStart = parentBounds.x + scaledColumnWidths[0];
-					yStart = parentBounds.y;
+				double parentBoundsWidth = parentBounds.width - 30d - vBox.getWidth();
+				if (parentBoundsWidth > minWidth1) {
+					canvasWidth = parentBoundsWidth;
+				}
 
-					selectedPainter.setRunnableHeaderFontFill(Color.WHITE);
-					selectedPainter.setRunnableColor(Color.GREEN);
-					
-					row = 0;
-					column = 1;
-					
+				double parentBoundsHeight = parentBounds.height - 30d;
+				if (parentBoundsHeight > minHeight1) {
+					canvasHeight = parentBoundsHeight;
+				}
+
+				// textures with bigger dimensions than 8192 x 8192 can't processed by even modern graphic cards
+				// therefore we max it out by applying the max zoom factor we set to the painter before
+				canvasWidth = Math.min(RunnableHelper.CANVAS_MAX, canvasWidth);
+				canvasHeight = Math.min(RunnableHelper.CANVAS_MAX, canvasHeight);
+
+				canvas.setWidth(canvasWidth);
+				canvas.setHeight(canvasHeight);
+				gc.clearRect(0, 0, canvasWidth, canvasHeight);
+
+				double xStart = parentBounds.x;
+				double yStart = parentBounds.y;
+
+				Rectangle bounds = null;
+
+				int row = 0;
+				int column = 0;
+
+				// paint the read dependencies
+				for (RunnablePainter p1 : readPainter) {
 					bounds = new Rectangle(
 							Double.valueOf(xStart),
 							Double.valueOf(yStart),
 							scaledColumnWidths[column],
 							scaledRowHeights[row]);
-					
-					selectedPainter.paint(gc, bounds);
-					
-					// paint the write dependencies
-					xStart = parentBounds.x + scaledColumnWidths[0] + scaledColumnWidths[1];
-					yStart = parentBounds.y;
-					
-					row = 0;
-					column = 2;
-					
-					for (RunnablePainter p : writePainter) {
-						bounds = new Rectangle(
-								Double.valueOf(xStart),
-								Double.valueOf(yStart),
-								scaledColumnWidths[column],
-								scaledRowHeights[row]);
-						
-						p.paint(gc, bounds);
 
-						yStart += scaledRowHeights[row];
-						
-						row++;
-					}
-					
-					// paint arrows
-					for (RunnablePainter rp : painter) {
-						Map<Label, Rectangle> writeRectangles = rp.getWriteRectangles();
-						writeRectangles.entrySet().forEach(entry -> {
-							for (RunnablePainter rp2 : painter) {
-								Rectangle readRect = rp2.getReadRectangle(entry.getKey());
-								if (readRect != null) {
-									Rectangle writeRect = entry.getValue();
+					p1.paint(gc, bounds);
 
-									double startX = writeRect.getX() + writeRect.getWidth();
-									double startY = writeRect.getY() + ((writeRect.getHeight() / 10) * 9);
-									double endX = readRect.getX();
-									double endY = readRect.getY() + ((readRect.getHeight() / 10) * 9);
-									
-									arrowPainter.paint(gc, startX, startY, endX, endY);
-								}
+					yStart += scaledRowHeights[row];
+
+					row++;
+				}
+
+				// paint the selected Runnable
+				xStart = parentBounds.x + scaledColumnWidths[0];
+				yStart = parentBounds.y;
+
+				selectedPainter.setRunnableHeaderFontFill(Color.WHITE);
+				selectedPainter.setRunnableColor(Color.GREEN);
+
+				row = 0;
+				column = 1;
+
+				bounds = new Rectangle(
+						Double.valueOf(xStart),
+						Double.valueOf(yStart),
+						scaledColumnWidths[column],
+						scaledRowHeights[row]);
+
+				selectedPainter.paint(gc, bounds);
+
+				// paint the write dependencies
+				xStart = parentBounds.x + scaledColumnWidths[0] + scaledColumnWidths[1];
+				yStart = parentBounds.y;
+
+				row = 0;
+				column = 2;
+
+				for (RunnablePainter p2 : writePainter) {
+					bounds = new Rectangle(
+							Double.valueOf(xStart),
+							Double.valueOf(yStart),
+							scaledColumnWidths[column],
+							scaledRowHeights[row]);
+
+					p2.paint(gc, bounds);
+
+					yStart += scaledRowHeights[row];
+
+					row++;
+				}
+
+				// paint arrows
+				for (RunnablePainter rp : painter) {
+					Map<Label, Rectangle> writeRectangles = rp.getWriteRectangles();
+					writeRectangles.entrySet().forEach(entry -> {
+						for (RunnablePainter rp2 : painter) {
+							Rectangle readRect = rp2.getReadRectangle(entry.getKey());
+							if (readRect != null) {
+								Rectangle writeRect = entry.getValue();
+
+								double startX = writeRect.getX() + writeRect.getWidth();
+								double startY = writeRect.getY() + ((writeRect.getHeight() / 10) * 9);
+								double endX = readRect.getX();
+								double endY = readRect.getY() + ((readRect.getHeight() / 10) * 9);
+
+								arrowPainter.paint(gc, startX, startY, endX, endY);
 							}
-							
-						});
-					}
+						}
+
+					});
 				}
 			});
 		}
@@ -347,20 +341,20 @@
 
 	private static double[] calculateColumnWidths(List<RunnablePainter> readPainter, RunnablePainter selectedPainter, List<RunnablePainter> writePainter) {
 		double[] widths = { 0d, 0d, 0d };
-		
+
 		for (RunnablePainter runnablePainter : readPainter) {
 			widths[0] = Math.max(widths[0], runnablePainter.getPreferredMinimumWidth());
 		}
-		
+
 		widths[1] = selectedPainter.getPreferredMinimumWidth();
-		
+
 		for (RunnablePainter runnablePainter : writePainter) {
 			widths[2] = Math.max(widths[2], runnablePainter.getPreferredMinimumWidth());
 		}
-		
+
 		return widths;
 	}
-	
+
 	private static double[] calculateRowHeights(List<RunnablePainter> readPainter, RunnablePainter selectedPainter, List<RunnablePainter> writePainter) {
 		int rowCount = Math.max(readPainter.size(), writePainter.size());
 		if (rowCount == 0) {
@@ -369,25 +363,25 @@
 			rowCount = 1;
 		}
 		double[] heights = new double[rowCount];
-		
+
 		for (int row = 0; row < rowCount; row++) {
 			double height = 0;
-			
+
 			if (readPainter.size() > row) {
 				height = Math.max(height, readPainter.get(row).getPreferredMinimumHeight());
 			}
-			
+
 			if (row == 0) {
 				height = Math.max(height, selectedPainter.getPreferredMinimumHeight());
 			}
-			
+
 			if (writePainter.size() > row) {
 				height = Math.max(height, writePainter.get(row).getPreferredMinimumHeight());
 			}
-			
+
 			heights[row] = height;
 		}
-		
+
 		return heights;
 	}
 }
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/RunnableSharedDependencyVisualization.java b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/RunnableSharedDependencyVisualization.java
index bfbcc16..16a243d 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/RunnableSharedDependencyVisualization.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/RunnableSharedDependencyVisualization.java
@@ -33,8 +33,6 @@
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.window.Window;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.osgi.service.component.annotations.Component;
@@ -63,7 +61,7 @@
 public class RunnableSharedDependencyVisualization implements Visualization {
 
 	private ArrowPainter arrowPainter = new ArrowPainter();
-	
+
 	@PostConstruct
 	public void createVisualization(List<Runnable> runnables, Composite parent, IEventBroker broker) {
 		parent.setLayout(new GridLayout());
@@ -73,19 +71,19 @@
 		    .fillDefaults()
 		    .grab(true, true)
 		    .applyTo(fxCanvas);
-	
+
 		// create the root layout pane
 		BorderPane layout = new BorderPane();
 		layout.setBackground(new Background(new BackgroundFill(Color.WHITE, null, null)));
-		
+
 		// create a Scene instance
 		// set the layout container as root
 		// set the background fill to the background color of the shell
 		Scene scene = new Scene(layout);
-	
+
 		// set the Scene to the FXCanvas
 		fxCanvas.setScene(scene);
-		
+
 		// if to many Runnables, show dialog to provide filter
 		List<Runnable> toRender = runnables;
 		RunnableFilterDialog dialog = new RunnableFilterDialog(parent.getShell(), runnables);
@@ -96,15 +94,15 @@
 				toRender = Collections.emptyList();
 			}
 		}
-		
+
 		List<RunnablePainter> painter = toRender.stream()
 				.map(r -> new RunnablePainter(r, false))
 				.collect(Collectors.toList());
-		
+
 		// add zoom buttons
 		Button zoomIn = new Button("+");
 		zoomIn.setPrefSize(40, 40);
-		
+
 		Button zoomOut = new Button("-");
 		zoomOut.setPrefSize(40, 40);
 
@@ -122,11 +120,11 @@
 				parent.redraw();
 			}
 		});
-		
+
 		zoomIn.setOnAction(event -> {
 			if (!zoomIn.isDisabled()) {
 				painter.forEach(RunnablePainter::zoomIn);
-				
+
 				if (painter.get(0).getScaleFactor() == painter.get(0).getMaxScaleFactor()) {
 					zoomIn.setDisable(true);
 				}
@@ -134,14 +132,14 @@
 					zoomOut.setDisable(false);
 				}
 			}
-			
+
 			parent.redraw();
 		});
-		
+
 		zoomOut.setOnAction(event -> {
 			if (!zoomOut.isDisabled()) {
 				painter.forEach(RunnablePainter::zoomOut);
-				
+
 				if (painter.get(0).getScaleFactor() == 0.1) {
 					zoomOut.setDisable(true);
 				}
@@ -149,17 +147,17 @@
 					zoomIn.setDisable(false);
 				}
 			}
-			
+
 			parent.redraw();
 		});
-		
+
 		VBox vBox = new VBox(5);
 		vBox.setPadding(new Insets(5));
 		vBox.getChildren().addAll(zoomIn, zoomOut, filter);
 		layout.setLeft(vBox);
 
 		RunnableHelper.setMaxScaleFactor(painter);
-		
+
 		// disable zoom buttons if max scaling is reached on start
 		if (!painter.isEmpty()) {
 			if (painter.get(0).getScaleFactor() == painter.get(0).getMaxScaleFactor()) {
@@ -169,15 +167,15 @@
 				zoomOut.setDisable(true);
 			}
 		}
-		
+
 		Canvas canvas = new Canvas();
-		
+
 		ScrollPane scrollable = new ScrollPane();
 		scrollable.setStyle("-fx-background: rgb(255,255,255);\n -fx-background-color: rgb(255,255,255)");
 		scrollable.setContent(canvas);
-		
+
 		layout.setCenter(scrollable);
-		
+
 		canvas.setOnMouseClicked(event -> {
 			for (RunnablePainter p : painter) {
 				if (p.getRunnableRectangle().contains(event.getX(), event.getY())) {
@@ -191,13 +189,13 @@
 		canvas.setOnScroll(event -> {
 			if (event.isControlDown()) {
 				double deltaY = event.getDeltaY();
-				
+
 				if (deltaY < 0){
 					zoomOut.fire();
 				} else {
 					zoomIn.fire();
 				}
-				
+
 				event.consume();
 			}
 		});
@@ -206,7 +204,7 @@
 			Point2D screenToLocal = canvas.screenToLocal(event.getScreenX(), event.getScreenY());
 			double x = screenToLocal.getX();
 			double y = screenToLocal.getY();
-			
+
 			boolean activate = false;
 			for (RunnablePainter p : painter) {
 				if (p.getRunnableRectangle().contains(x, y)) {
@@ -214,7 +212,7 @@
 					break;
 				}
 			}
-			
+
 			if (activate) {
 				scene.setCursor(Cursor.HAND);
 			} else {
@@ -224,94 +222,90 @@
 
 		GraphicsContext gc = canvas.getGraphicsContext2D();
 
-		parent.addPaintListener(new PaintListener() {
-			
-			@Override
-			public void paintControl(PaintEvent e) {
-				
-				org.eclipse.swt.graphics.Rectangle parentBounds = parent.getBounds();
-				
-				// need to calculate the minimum dimensions based on the scaling level
-				double[] grid = RunnableHelper.calculateGrid(painter.size());
-				double[] minDim = RunnableHelper.calculateMinimumCellDimensions(grid, painter);
-				
-				double minWidth = grid[0] * minDim[0]; 
-				double minHeight = grid[1] * minDim[1]; 
-				
-				double canvasWidth = minWidth;
-				double canvasHeight = minHeight;
-				
-				double width = minWidth / grid[0];
-				double height = minHeight / grid[1];
-				
-				double parentBoundsWidth = parentBounds.width - 35d - vBox.getWidth();
-				if (parentBoundsWidth > minWidth) {
-					canvasWidth = parentBoundsWidth;
-				}
-				
-				double parentBoundsHeight = parentBounds.height - 30d;
-				if (parentBoundsHeight > minHeight) {
-					canvasHeight = parentBoundsHeight;
-				}
-				
-				// textures with bigger dimensions than 8192 x 8192 can't processed by even modern graphic cards
-				// therefore we max it out by applying the max zoom factor we set to the painter before
-				canvasWidth = Math.min(RunnableHelper.CANVAS_MAX, canvasWidth);
-				canvasHeight = Math.min(RunnableHelper.CANVAS_MAX, canvasHeight);
-				
-				canvas.setWidth(canvasWidth);
-				canvas.setHeight(canvasHeight);
-				gc.clearRect(0, 0, canvasWidth, canvasHeight);
-				
-				double xStart = parentBounds.x;
-				double yStart = parentBounds.y;
-				
-				int count = 0;
-				RunnablePainter p = null;
-				for (int row = 0; row < grid[1]; row++) {
-					for (int column = 0; column < grid[0]; column++) {
-						if (count >= painter.size()) {
-							break;
-						}
-						
-						p = painter.get(count);
-						
-						Rectangle bounds = new Rectangle(
-								Double.valueOf(xStart),
-								Double.valueOf(yStart),
-								Double.valueOf(width),
-								Double.valueOf(height));
-						
-						p.paint(gc, bounds);
-						
-						count++;
-						xStart += width;
-					}
-					
-					xStart = parentBounds.x;
-					yStart += height;
-				}
-				
-				// paint arrows
-				for (RunnablePainter rp : painter) {
-					Map<Label, Rectangle> writeRectangles = rp.getWriteRectangles();
-					writeRectangles.entrySet().forEach(entry -> {
-						for (RunnablePainter rp2 : painter) {
-							Rectangle readRect = rp2.getReadRectangle(entry.getKey());
-							if (readRect != null) {
-								Rectangle writeRect = entry.getValue();
+		parent.addPaintListener(e -> {
 
-								double startX = writeRect.getX() + writeRect.getWidth();
-								double startY = writeRect.getY() + ((writeRect.getHeight() / 10) * 9);
-								double endX = readRect.getX();
-								double endY = readRect.getY() + ((readRect.getHeight() / 10) * 9);
-								
-								arrowPainter.paint(gc, startX, startY, endX, endY);
-							}
-						}
-						
-					});
+			org.eclipse.swt.graphics.Rectangle parentBounds = parent.getBounds();
+
+			// need to calculate the minimum dimensions based on the scaling level
+			double[] grid = RunnableHelper.calculateGrid(painter.size());
+			double[] minDim = RunnableHelper.calculateMinimumCellDimensions(grid, painter);
+
+			double minWidth = grid[0] * minDim[0];
+			double minHeight = grid[1] * minDim[1];
+
+			double canvasWidth = minWidth;
+			double canvasHeight = minHeight;
+
+			double width = minWidth / grid[0];
+			double height = minHeight / grid[1];
+
+			double parentBoundsWidth = parentBounds.width - 35d - vBox.getWidth();
+			if (parentBoundsWidth > minWidth) {
+				canvasWidth = parentBoundsWidth;
+			}
+
+			double parentBoundsHeight = parentBounds.height - 30d;
+			if (parentBoundsHeight > minHeight) {
+				canvasHeight = parentBoundsHeight;
+			}
+
+			// textures with bigger dimensions than 8192 x 8192 can't processed by even modern graphic cards
+			// therefore we max it out by applying the max zoom factor we set to the painter before
+			canvasWidth = Math.min(RunnableHelper.CANVAS_MAX, canvasWidth);
+			canvasHeight = Math.min(RunnableHelper.CANVAS_MAX, canvasHeight);
+
+			canvas.setWidth(canvasWidth);
+			canvas.setHeight(canvasHeight);
+			gc.clearRect(0, 0, canvasWidth, canvasHeight);
+
+			double xStart = parentBounds.x;
+			double yStart = parentBounds.y;
+
+			int count = 0;
+			RunnablePainter p = null;
+			for (int row = 0; row < grid[1]; row++) {
+				for (int column = 0; column < grid[0]; column++) {
+					if (count >= painter.size()) {
+						break;
+					}
+
+					p = painter.get(count);
+
+					Rectangle bounds = new Rectangle(
+							Double.valueOf(xStart),
+							Double.valueOf(yStart),
+							Double.valueOf(width),
+							Double.valueOf(height));
+
+					p.paint(gc, bounds);
+
+					count++;
+					xStart += width;
 				}
+
+				xStart = parentBounds.x;
+				yStart += height;
+			}
+
+			// paint arrows
+			for (RunnablePainter rp : painter) {
+				Map<Label, Rectangle> writeRectangles = rp.getWriteRectangles();
+				writeRectangles.entrySet().forEach(entry -> {
+					for (RunnablePainter rp2 : painter) {
+						Rectangle readRect = rp2.getReadRectangle(entry.getKey());
+						if (readRect != null) {
+							Rectangle writeRect = entry.getValue();
+
+							double startX = writeRect.getX() + writeRect.getWidth();
+							double startY = writeRect.getY() + ((writeRect.getHeight() / 10) * 9);
+							double endX = readRect.getX();
+							double endY = readRect.getY() + ((readRect.getHeight() / 10) * 9);
+
+							arrowPainter.paint(gc, startX, startY, endX, endY);
+						}
+					}
+
+				});
 			}
 		});
 	}
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/RunnableVisualization.java b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/RunnableVisualization.java
index 7c01e04..382fa4c 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/RunnableVisualization.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/RunnableVisualization.java
@@ -21,8 +21,6 @@
 import org.eclipse.app4mc.visualization.ui.registry.Visualization;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.osgi.service.component.annotations.Component;
@@ -47,51 +45,51 @@
 })
 public class RunnableVisualization implements Visualization {
 
-	
+
 	@PostConstruct
 	public void createVisualization(Runnable runnable, Composite parent) {
 		parent.setLayout(new GridLayout());
-		
+
 		FXCanvas fxCanvas = new FXCanvas(parent, SWT.NONE);
-		
+
 		GridDataFactory
 		    .fillDefaults()
 		    .grab(true, true)
 		    .applyTo(fxCanvas);
-	
+
 		// create the root layout pane
 		BorderPane layout = new BorderPane();
 		layout.setBackground(new Background(new BackgroundFill(Color.WHITE, null, null)));
-		
+
 		// create a Scene instance
 		// set the layout container as root
 		// set the background fill to the background color of the shell
 		Scene scene = new Scene(layout);
-	
+
 		// set the Scene to the FXCanvas
 		fxCanvas.setScene(scene);
-		
+
 		RunnablePainter painter = new RunnablePainter(runnable);
 
 		// calculate the max scale factor
 		double minWidth = painter.getPreferredMinimumWidth();
 		double minHeight = painter.getPreferredMinimumHeight();
-		
+
 		double max = Math.max(minWidth, minHeight);
 		double factor = RunnableHelper.CANVAS_MAX / max;
 		painter.setMaxScaleFactor(factor);
-		
+
 		// add zoom buttons
 		Button zoomIn = new Button("+");
 		zoomIn.setPrefSize(40, 40);
-		
+
 		Button zoomOut = new Button("-");
 		zoomOut.setPrefSize(40, 40);
 
 		zoomIn.setOnAction(event -> {
 			if (!zoomIn.isDisabled()) {
 				painter.zoomIn();
-				
+
 				if (painter.getScaleFactor() == painter.getMaxScaleFactor()) {
 					zoomIn.setDisable(true);
 				}
@@ -99,14 +97,14 @@
 					zoomOut.setDisable(false);
 				}
 			}
-			
+
 			parent.redraw();
 		});
-		
+
 		zoomOut.setOnAction(event -> {
 			if (!zoomOut.isDisabled()) {
 				painter.zoomOut();
-				
+
 				if (painter.getScaleFactor() == 0.1) {
 					zoomOut.setDisable(true);
 				}
@@ -114,15 +112,15 @@
 					zoomIn.setDisable(false);
 				}
 			}
-			
+
 			parent.redraw();
 		});
-		
+
 		VBox vBox = new VBox(5);
 		vBox.setPadding(new Insets(5));
 		vBox.getChildren().addAll(zoomIn, zoomOut);
 		layout.setLeft(vBox);
-		
+
 		// disable zoom buttons if max scaling is reached on start
 		if (painter.getScaleFactor() == painter.getMaxScaleFactor()) {
 			zoomIn.setDisable(true);
@@ -132,70 +130,66 @@
 		}
 
 		Canvas canvas = new Canvas();
-		
+
 		ScrollPane scrollable = new ScrollPane();
 		scrollable.setPadding(new Insets(0));
 		scrollable.setStyle("-fx-background: rgb(255,255,255);\n -fx-background-color: rgb(255,255,255)");
 		scrollable.setContent(canvas);
-		
+
 		layout.setCenter(scrollable);
 
 		canvas.setOnScroll(event -> {
 			if (event.isControlDown()) {
 				double deltaY = event.getDeltaY();
-				
+
 				if (deltaY < 0){
 					zoomOut.fire();
 				} else {
 					zoomIn.fire();
 				}
-				
+
 				event.consume();
 			}
 		});
 
 		GraphicsContext gc = canvas.getGraphicsContext2D();
-		
-		parent.addPaintListener(new PaintListener() {
-			
-			@Override
-			public void paintControl(PaintEvent e) {
-			
-				org.eclipse.swt.graphics.Rectangle parentBounds = parent.getBounds();
-	
-				double scaledColumnWidth = painter.getPreferredMinimumWidth() * painter.getScaleFactor();
-				double scaledRowHeight = painter.getPreferredMinimumHeight() * painter.getScaleFactor();
-				
-				double canvasWidth = scaledColumnWidth;
-				double canvasHeight = scaledRowHeight;
-				
-				double parentBoundsWidth = parentBounds.width - 30d - vBox.getWidth();
-				if (parentBoundsWidth > scaledColumnWidth) {
-					canvasWidth = parentBoundsWidth;
-				}
-				
-				double parentBoundsHeight = parentBounds.height - 30d;
-				if (parentBoundsHeight > scaledRowHeight) {
-					canvasHeight = parentBoundsHeight;
-				}
-				
-				// textures with bigger dimensions than 8192 x 8192 can't processed by even modern graphic cards
-				// therefore we max it out by applying the max zoom factor we set to the painter before
-				canvasWidth = Math.min(RunnableHelper.CANVAS_MAX, canvasWidth);
-				canvasHeight = Math.min(RunnableHelper.CANVAS_MAX, canvasHeight);
-				
-				canvas.setWidth(canvasWidth);
-				canvas.setHeight(canvasHeight);
-				gc.clearRect(0, 0, canvasWidth, canvasHeight);
-				
-				Rectangle bounds = new Rectangle(
-						Double.valueOf(parentBounds.x),
-						Double.valueOf(parentBounds.y),
-						Double.valueOf(scaledColumnWidth),
-						Double.valueOf(scaledRowHeight));
-				
-				painter.paint(gc, bounds);
+
+		parent.addPaintListener(e -> {
+
+			org.eclipse.swt.graphics.Rectangle parentBounds = parent.getBounds();
+
+			double scaledColumnWidth = painter.getPreferredMinimumWidth() * painter.getScaleFactor();
+			double scaledRowHeight = painter.getPreferredMinimumHeight() * painter.getScaleFactor();
+
+			double canvasWidth = scaledColumnWidth;
+			double canvasHeight = scaledRowHeight;
+
+			double parentBoundsWidth = parentBounds.width - 30d - vBox.getWidth();
+			if (parentBoundsWidth > scaledColumnWidth) {
+				canvasWidth = parentBoundsWidth;
 			}
+
+			double parentBoundsHeight = parentBounds.height - 30d;
+			if (parentBoundsHeight > scaledRowHeight) {
+				canvasHeight = parentBoundsHeight;
+			}
+
+			// textures with bigger dimensions than 8192 x 8192 can't processed by even modern graphic cards
+			// therefore we max it out by applying the max zoom factor we set to the painter before
+			canvasWidth = Math.min(RunnableHelper.CANVAS_MAX, canvasWidth);
+			canvasHeight = Math.min(RunnableHelper.CANVAS_MAX, canvasHeight);
+
+			canvas.setWidth(canvasWidth);
+			canvas.setHeight(canvasHeight);
+			gc.clearRect(0, 0, canvasWidth, canvasHeight);
+
+			Rectangle bounds = new Rectangle(
+					Double.valueOf(parentBounds.x),
+					Double.valueOf(parentBounds.y),
+					Double.valueOf(scaledColumnWidth),
+					Double.valueOf(scaledRowHeight));
+
+			painter.paint(gc, bounds);
 		});
 	}
 }
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/SWModelRunnableSharedDependencyVisualization.java b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/SWModelRunnableSharedDependencyVisualization.java
index 7af35ee..c8ab75c 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/SWModelRunnableSharedDependencyVisualization.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/SWModelRunnableSharedDependencyVisualization.java
@@ -30,10 +30,10 @@
 
 	@Reference
 	RunnableSharedDependencyVisualization visualization;
-	
+
 	@PostConstruct
 	public void createVisualization(SWModel model, Composite parent, IEventBroker broker) {
-		this.visualization.createVisualization(model.getRunnables(), parent, broker);
+		visualization.createVisualization(model.getRunnables(), parent, broker);
 	}
 
 }
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/SoftwareModelVisualization.java b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/SoftwareModelVisualization.java
index a8b592e..b2905ec 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/SoftwareModelVisualization.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/SoftwareModelVisualization.java
@@ -54,29 +54,29 @@
 	@PostConstruct
 	public void createVisualization(SWModel model, Composite parent) {
 		parent.setLayout(new GridLayout());
-		
+
 		FXCanvas canvas = new FXCanvas(parent, SWT.NONE);
-		
+
 		GridDataFactory
 		    .fillDefaults()
 		    .grab(true, true)
 		    .applyTo(canvas);
-	
+
 		// create the root layout pane
 		BorderPane layout = new BorderPane();
 		layout.setBackground(new Background(new BackgroundFill(Color.WHITE, null, null)));
-	
+
 		// create a Scene instance
 		// set the layout container as root
 		// set the background fill to the background color of the shell
 		Scene scene = new Scene(layout);
-	
+
 		// set the Scene to the FXCanvas
 		canvas.setScene(scene);
-		
+
 		Label output = new Label();
 		layout.setCenter(output);
-		
+
 		RotateTransition rotateTransition = new RotateTransition(Duration.seconds(1), output);
 		rotateTransition.setByAngle(360);
 
@@ -94,12 +94,12 @@
         	TranslateTransition trans = new TranslateTransition(Duration.seconds(0.5), output);
         	trans.setFromY(output.getBoundsInLocal().getMinY());
         	trans.setToY(-1 * ((scene.getHeight() / 2) - output.getHeight()) + 25);
-        	
+
         	trans.setOnFinished(event -> {
-        		
+
         		GridPane grid = new GridPane();
         		grid.setHgap(10);
-        		
+
         		ColumnConstraints leftCol = new ColumnConstraints();
         		leftCol.setHgrow(Priority.NEVER);
         		ColumnConstraints rightCol = new ColumnConstraints();
@@ -107,23 +107,23 @@
         		rightCol.setHalignment(HPos.RIGHT);
         		ColumnConstraints spacerCol = new ColumnConstraints();
         		spacerCol.setHgrow(Priority.ALWAYS);
-        		
+
         		grid.getColumnConstraints().addAll(leftCol, rightCol, spacerCol);
-        		
+
         		Font defaultFont = Font.getDefault();
         		Font boldFont = Font.font(defaultFont.getFamily(), FontWeight.BOLD, defaultFont.getSize());
-        		
+
         		Text headlineText = new Text(output.getText());
         		headlineText.setFont(Font.font(defaultFont.getFamily(), defaultFont.getSize() * 4));
         		grid.add(headlineText, 0, 0);
         		GridPane.setColumnSpan(headlineText, 3);
         		GridPane.setHalignment(headlineText, HPos.CENTER);
         		GridPane.setValignment(headlineText, VPos.CENTER);
-        		
+
         		grid.add(new Text(), 0, 1);
         		grid.add(new Text(), 1, 1);
         		grid.add(new Text(), 2, 1);
-        		
+
         		addLine(grid, defaultFont, boldFont, "Activations:", model.getActivations().size(), 2);
         		addLine(grid, defaultFont, boldFont, "Channels:", model.getChannels().size(), 3);
         		addLine(grid, defaultFont, boldFont, "Custom Entities:", model.getCustomEntities().size(), 4);
@@ -139,16 +139,16 @@
         		addLine(grid, defaultFont, boldFont, "Sections:", model.getSections().size(), 14);
         		addLine(grid, defaultFont, boldFont, "Tasks:", model.getTasks().size(), 15);
         		addLine(grid, defaultFont, boldFont, "Type Definitions:", model.getTypeDefinitions().size(), 16);
-        		
+
         		layout.setCenter(grid);
         	});
-        	
-        	trans.play();       
+
+        	trans.play();
         });
-        
+
 		parallelTransition.play();
 	}
-	
+
 	private void addLine(GridPane grid, Font defaultFont, Font boldFont, String label, int size, int row) {
 		Text activationsText = new Text(label);
 		activationsText.setFont(size > 0 ? boldFont : defaultFont);
@@ -157,7 +157,7 @@
 		activationsNumber.setFont(size > 0 ? boldFont : defaultFont);
 		grid.add(activationsNumber, 1, row);
 	}
-	
+
 	@PreDestroy
 	public void dispose() {
 		System.out.println("Destroy resources");
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/ArrowPainter.java b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/ArrowPainter.java
index 8f22d1e..cf83e32 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/ArrowPainter.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/ArrowPainter.java
@@ -25,17 +25,17 @@
 
 	private Paint arrowColor;
 	private double[] lineDashes;
-	
+
 	/**
 	 * Create an {@link ArrowPainter} with orange color and a dashed line style.
 	 */
 	public ArrowPainter() {
 		this(Color.ORANGE, new double[] {6, 3});
 	}
-	
+
 	/**
 	 * Create an {@link ArrowPainter} with the given color and dash style.
-	 * 
+	 *
 	 * @param arrowColor The color to use.
 	 * @param lineDashes The line dash to use.
 	 */
@@ -46,7 +46,7 @@
 
 	/**
 	 * Paint an arrow on the given {@link GraphicsContext}.
-	 * 
+	 *
 	 * @param gc     The {@link GraphicsContext} that should be used for painting.
 	 * @param startX The start X of the arrow.
 	 * @param startY The start Y of the arrow.
@@ -54,18 +54,18 @@
 	 * @param endY   The end Y of the arrow.
 	 */
 	public void paint(GraphicsContext gc, double startX, double startY, double endX, double endY) {
-		
+
 		Paint previousStroke = gc.getStroke();
 		double[] previousDashes = gc.getLineDashes();
-		
-		gc.setStroke(this.arrowColor);
-		gc.setLineDashes(this.lineDashes);
+
+		gc.setStroke(arrowColor);
+		gc.setLineDashes(lineDashes);
 		gc.strokeLine(
-				startX, 
-				startY, 
-				endX, 
+				startX,
+				startY,
+				endX,
 				endY);
-		
+
 		double factor = 10 / Math.hypot(startX-endX, startY-endY);
         double factorO = 7 / Math.hypot(startX-endX, startY-endY);
 
@@ -80,15 +80,15 @@
         gc.setLineDashes(0);
         // upper arrow line
 		gc.strokeLine(
-				endX + dx - oy, 
-				endY + dy + ox, 
-				endX, 
+				endX + dx - oy,
+				endY + dy + ox,
+				endX,
 				endY);
         // lower arrow line
 		gc.strokeLine(
-				endX + dx + oy, 
-				endY + dy - ox, 
-				endX, 
+				endX + dx + oy,
+				endY + dy - ox,
+				endX,
 				endY);
 
 		gc.setStroke(previousStroke);
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/FontMetrics.java b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/FontMetrics.java
index 814ad1a..aaf41c2 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/FontMetrics.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/FontMetrics.java
@@ -21,7 +21,7 @@
  * Helper class to calculate metrics based on a {@link Font}.
  */
 public class FontMetrics {
-	
+
 	private final Text internal = new Text();
 	public final double lineHeight;
 	public final double ascent;
@@ -29,26 +29,26 @@
 
 	/**
 	 * Create a new {@link FontMetrics} object for the given {@link Font}.
-	 * 
+	 *
 	 * @param font The {@link Font} for which the {@link FontMetrics} class should
 	 *             be created.
 	 */
 	public FontMetrics(Font font) {
-		this.internal.setFont(font);
-		Bounds bounds = this.internal.getLayoutBounds();
-		this.lineHeight = bounds.getHeight();
-		this.ascent = -bounds.getMinY();
-		this.descent = bounds.getMaxY();
+		internal.setFont(font);
+		Bounds bounds = internal.getLayoutBounds();
+		lineHeight = bounds.getHeight();
+		ascent = -bounds.getMinY();
+		descent = bounds.getMaxY();
 	}
 
 	/**
 	 * The width needed for a given text.
-	 * 
+	 *
 	 * @param txt The text for which the width is requested.
 	 * @return The width of the given text for the configured {@link Font}.
 	 */
 	public double computeStringWidth(String txt) {
-		this.internal.setText(txt);
-		return this.internal.getLayoutBounds().getWidth();
+		internal.setText(txt);
+		return internal.getLayoutBounds().getWidth();
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/RunnableFilterDialog.java b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/RunnableFilterDialog.java
index 37de90b..2060cb4 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/RunnableFilterDialog.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/RunnableFilterDialog.java
@@ -25,14 +25,10 @@
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.viewers.ArrayContentProvider;
 import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
@@ -44,7 +40,7 @@
  * Dialog to filter a list of Runnables.
  */
 public class RunnableFilterDialog extends Dialog {
-	
+
 	private static final String STATISTICS_MSG = "Currently selected {0} of {1}";
 
 	private List<Runnable> originalList;
@@ -57,45 +53,45 @@
 	 * Fake empty Activation needed to support clearing of activation filter.
 	 */
 	private Activation emptyActivation;
-	
+
 	public RunnableFilterDialog(Shell parentShell, List<Runnable> toFilter) {
 		super(parentShell);
-		this.originalList = toFilter;
-		this.result = toFilter;
-		
-		this.emptyActivation = AmaltheaFactory.eINSTANCE.createCustomActivation();
-		this.emptyActivation.setName("---");
-		
-		this.activationFilter = this.emptyActivation;
+		originalList = toFilter;
+		result = toFilter;
+
+		emptyActivation = AmaltheaFactory.eINSTANCE.createCustomActivation();
+		emptyActivation.setName("---");
+
+		activationFilter = emptyActivation;
 	}
 
 	private void filterRunnable() {
-		this.result = this.originalList.stream().filter(r -> {
-			return r.getName().contains(this.nameFilter) 
-					&& ((this.activationFilter != null && !this.activationFilter.equals(emptyActivation)) 
-							? r.getActivations().contains(this.activationFilter) 
+		result = originalList.stream().filter(r -> {
+			return r.getName().contains(nameFilter)
+					&& ((activationFilter != null && !activationFilter.equals(emptyActivation))
+							? r.getActivations().contains(activationFilter)
 							: true);
 		}).collect(Collectors.toList());
 	}
-	
+
 	@Override
 	protected Control createDialogArea(Composite parent) {
 		Composite container = (Composite) super.createDialogArea(parent);
-		
+
 		container.setLayout(new GridLayout(2, false));
-		
+
 		Label hint = new Label(container, SWT.NONE);
 		hint.setText("The number of Runnables to visualize is greater than 100. The painting may take very long or even fail at all.\n\nPlease try to reduce the number of Runnables by applying a filter.");
-		
+
 		GridDataFactory.swtDefaults()
 			.align(SWT.FILL, SWT.BEGINNING)
 			.span(2, 1)
 			.grab(true, false)
 			.applyTo(hint);
-		
+
 		Label statistics = new Label(container, SWT.NONE);
 		statistics.setText(MessageFormat.format(STATISTICS_MSG, result.size(), originalList.size()));
-		
+
 		GridDataFactory.swtDefaults()
 			.align(SWT.FILL, SWT.BEGINNING)
 			.span(2, 1)
@@ -104,26 +100,22 @@
 
 		Label name = new Label(container, SWT.NONE);
 		name.setText("Name filter:");
-		
+
 		GridDataFactory.swtDefaults()
 			.align(SWT.FILL, SWT.BEGINNING)
 			.grab(false, false)
 			.applyTo(name);
-		
+
 		Text nameFilterText = new Text(container, SWT.BORDER);
-		nameFilterText.setText(this.nameFilter);
-		nameFilterText.addModifyListener(new ModifyListener() {
-			
-			@Override
-			public void modifyText(ModifyEvent e) {
-				nameFilter = nameFilterText.getText();
-				
-				filterRunnable();
-				
-				statistics.setText(MessageFormat.format(STATISTICS_MSG, result.size(), originalList.size()));
-			}
+		nameFilterText.setText(nameFilter);
+		nameFilterText.addModifyListener(e -> {
+			nameFilter = nameFilterText.getText();
+
+			filterRunnable();
+
+			statistics.setText(MessageFormat.format(STATISTICS_MSG, result.size(), originalList.size()));
 		});
-		
+
 		GridDataFactory.swtDefaults()
 			.align(SWT.FILL, SWT.FILL)
 			.grab(true, false)
@@ -131,13 +123,13 @@
 
 		Label activation = new Label(container, SWT.NONE);
 		activation.setText("Activation filter:");
-		
+
 		GridDataFactory.swtDefaults()
 			.align(SWT.FILL, SWT.BEGINNING)
 			.grab(false, false)
 			.applyTo(activation);
-		
-		
+
+
 		ComboViewer activationFilterCombo = new ComboViewer(container, SWT.READ_ONLY);
 
 		activationFilterCombo.setContentProvider(ArrayContentProvider.getInstance());
@@ -152,48 +144,45 @@
 		    }
 		});
 
-		List<Activation> activations = this.originalList.stream().flatMap(r -> r.getActivations().stream()).distinct().collect(Collectors.toList());
-		activations.add(0, this.emptyActivation);
+		List<Activation> activations = originalList.stream().flatMap(r -> r.getActivations().stream()).distinct().collect(Collectors.toList());
+		activations.add(0, emptyActivation);
 		activationFilterCombo.setInput(activations);
-		
-		if (this.activationFilter != null) {
-			activationFilterCombo.setSelection(new StructuredSelection(Arrays.asList(this.activationFilter)));
+
+		if (activationFilter != null) {
+			activationFilterCombo.setSelection(new StructuredSelection(Arrays.asList(activationFilter)));
 		}
-		
+
 		GridDataFactory.swtDefaults()
 			.align(SWT.FILL, SWT.FILL)
 			.grab(true, false)
 			.applyTo(activationFilterCombo.getControl());
 
-		activationFilterCombo.addSelectionChangedListener(new ISelectionChangedListener() {
-		    @Override
-		    public void selectionChanged(SelectionChangedEvent event) {
-		        IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-		        if (selection.size() > 0) {
-		        	activationFilter = (Activation) selection.getFirstElement();
-		        	
-		        	filterRunnable();
-		        	
-					statistics.setText(MessageFormat.format(STATISTICS_MSG, result.size(), originalList.size()));
-		        }
+		activationFilterCombo.addSelectionChangedListener(event -> {
+		    IStructuredSelection selection = (IStructuredSelection) event.getSelection();
+		    if (selection.size() > 0) {
+		    	activationFilter = (Activation) selection.getFirstElement();
+
+		    	filterRunnable();
+
+				statistics.setText(MessageFormat.format(STATISTICS_MSG, result.size(), originalList.size()));
 		    }
 		});
-		
+
 		return container;
 	}
-	
+
 	@Override
 	protected void configureShell(Shell newShell) {
 		super.configureShell(newShell);
 		newShell.setText("Filter Runnables");
 	}
-	
+
 	@Override
 	protected boolean isResizable() {
 		return true;
 	}
-	
+
 	public List<Runnable> getSelectedRunnables() {
-		return this.result;
+		return result;
 	}
 }
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/RunnableHelper.java b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/RunnableHelper.java
index 3a8ae45..84f1472 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/RunnableHelper.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/RunnableHelper.java
@@ -29,17 +29,17 @@
 	private RunnableHelper() {
 		// empty private default constructor for helper class
 	}
-	
+
 	/**
 	 * Typically textures with bigger dimensions than 8192 x 8192 can't even be
 	 * processed by modern graphic cards. Since even that is to much in some cases,
 	 * we specify an even smaller value.
 	 */
 	public static final double CANVAS_MAX = 6000;
-	
+
 	/**
 	 * Calculates a grid out of the given number of items.
-	 * 
+	 *
 	 * @param count The number of items.
 	 * @return A grid definition where the first entry in the array is the number of
 	 *         columns, the second is the number of rows.
@@ -49,25 +49,25 @@
 		if (count == 3) {
 			return new double[] {3, 1};
 		}
-		
+
 		double sqrt = Math.sqrt(count);
-		
+
 		double columns = Math.ceil(sqrt);
 		double rows = Math.max(1, Math.floor(sqrt));
 
 		double cells = columns * rows;
-		
+
 		if (cells < count) {
 			rows += 1;
 		}
 
 		return new double[] {columns, rows};
 	}
-	
+
 	/**
 	 * Calculate the minimum grid cell width based on the minimum preferred
 	 * dimensions of the given painter.
-	 * 
+	 *
 	 * @param grid    The grid definition.
 	 * @param painter The painter that should be rendered in the grid cells.
 	 * @return The minimum cell dimensions where the first entry in the array is the
@@ -95,7 +95,7 @@
 	/**
 	 * Find all {@link Runnable} to which the given {@link Runnable} has
 	 * dependencies in terms of Label access.
-	 * 
+	 *
 	 * @param swModel           The {@link SWModel} needed to access all available
 	 *                          {@link Runnable}.
 	 * @param runnable          The {@link Runnable} for which the dependencies
@@ -109,11 +109,11 @@
 	 *         dependent.
 	 */
 	public static List<Runnable> getRunnableDependencies(SWModel swModel, Runnable runnable, boolean collectTransitive) {
-		
+
 		List<Label> readItems = SoftwareUtil.getReadLabelAccessList(runnable, null).stream()
 				.map(LabelAccess::getData)
 				.collect(Collectors.toList());
-		
+
 		List<Label> writeItems = SoftwareUtil.getWriteLabelAccessList(runnable, null).stream()
 				.map(LabelAccess::getData)
 				.collect(Collectors.toList());
@@ -122,22 +122,22 @@
 		List<Runnable> dependencies = new ArrayList<>();
 		collectReadDependencies(swModel, readItems, dependencies, collectTransitive);
 		Collections.reverse(dependencies);
-		
+
 		// first remove the starting point if it was added to the read dependencies
 		dependencies.remove(runnable);
-		
+
 		// now add it at the correct position
 		dependencies.add(runnable);
-		
+
 		// find all Runnables that read from labels that are written by the given Runnable
 		collectWriteDependencies(swModel, writeItems, dependencies, collectTransitive);
 
 		return dependencies;
 	}
-	
+
 	/**
 	 * Collect all {@link Runnable} that write to the given {@link Label}s.
-	 * 
+	 *
 	 * @param swModel           The {@link SWModel} needed to access all available
 	 *                          {@link Runnable}.
 	 * @param readItems         The {@link Label}s to check for.
@@ -156,34 +156,34 @@
 					List<Label> wItems = SoftwareUtil.getWriteLabelAccessList(r, null).stream()
 							.map(LabelAccess::getData)
 							.collect(Collectors.toList());
-					
+
 					for (Label l : readItems) {
 						if (wItems.contains(l)) {
 							return true;
 						}
 					}
-					
+
 					return false;
 				})
 				.filter(item -> !collected.contains(item))
 				.collect(Collectors.toList());
 
 		collected.addAll(directReadDependency);
-		
+
 		if (collectTransitive) {
 			directReadDependency.forEach(dependency -> {
 				List<Label> read = SoftwareUtil.getReadLabelAccessList(dependency, null).stream()
 						.map(LabelAccess::getData)
 						.collect(Collectors.toList());
-								
+
 				collectReadDependencies(swModel, read, collected, collectTransitive);
 			});
 		}
 	}
-	
+
 	/**
 	 * Collect all {@link Runnable} that read from the given {@link Label}s.
-	 * 
+	 *
 	 * @param swModel           The {@link SWModel} needed to access all available
 	 *                          {@link Runnable}.
 	 * @param writeItems        The {@link Label}s to check for.
@@ -202,35 +202,35 @@
 					List<Label> rItems = SoftwareUtil.getReadLabelAccessList(r, null).stream()
 							.map(LabelAccess::getData)
 							.collect(Collectors.toList());
-									
+
 					for (Label l : writeItems) {
 						if (rItems.contains(l)) {
 							return true;
 						}
 					}
-					
+
 					return false;
 				})
 				.filter(item -> !collected.contains(item))
 				.collect(Collectors.toList());
-		
+
 		collected.addAll(directWriteDependency);
-		
+
 		if (collectTransitive) {
 			directWriteDependency.forEach(dependency -> {
 				List<Label> write = SoftwareUtil.getWriteLabelAccessList(dependency, null).stream()
 						.map(LabelAccess::getData)
 						.collect(Collectors.toList());
-								
+
 				collectWriteDependencies(swModel, write, collected, collectTransitive);
 			});
 		}
 	}
-	
+
 	/**
 	 * Calculates the maximum scale factor to be used to avoid texture overflows on
 	 * rendering.
-	 * 
+	 *
 	 * @param painter The list of {@link RunnablePainter} needed for calculation of
 	 *                the grid and the minimum cell dimensions.
 	 */
@@ -241,7 +241,7 @@
 	/**
 	 * Calculates the maximum scale factor to be used to avoid texture overflows on
 	 * rendering.
-	 * 
+	 *
 	 * @param painter The list of {@link RunnablePainter} needed for calculation of
 	 *                the minimum cell dimensions.
 	 * @param grid    The grid definition needed for calculation of the minimum cell
@@ -249,7 +249,7 @@
 	 */
 	public static void setMaxScaleFactor(List<RunnablePainter> painter, double[] grid) {
 		double[] minDim = RunnableHelper.calculateMinimumCellDimensions(grid, painter);
-		
+
 		// calculate the maximum scaling factor
 		// because textures with bigger dimensions than 8192 x 8192 can't even be processed by modern graphic cards
 		double max = Math.max(grid[0] * minDim[0], grid[1] * minDim[1]);
diff --git a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/RunnablePainter.java b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/RunnablePainter.java
index 37c5064..c59d1c8 100644
--- a/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/RunnablePainter.java
+++ b/plugins/org.eclipse.app4mc.amalthea.visualizations.standard/src/org/eclipse/app4mc/amalthea/visualizations/standard/util/RunnablePainter.java
@@ -33,39 +33,39 @@
 	private static final double MIN_UNIT_HEIGHT = 20;
 	private static final FontMetrics MIN_BOLD_FONT_METRICS = new FontMetrics(Font.font(Font.getDefault().getFamily(), FontWeight.BOLD, 12));
 	private static final FontMetrics MIN_FONT_METRICS = new FontMetrics(Font.font(Font.getDefault().getFamily(), 12));
-	
+
 	private final Runnable runnable;
 	private List<LabelAccess> readItems;
 	private List<LabelAccess> writeItems;
-	
+
 	private int itemMax = 0;
-	
+
 	private double scaleFactor = 1.0d;
 	private double maxScaleFactor = 0d;
 	private boolean autoscale = true;
-	
+
 	private Rectangle runnableRectangle;
 	private HashMap<Label, Rectangle> readAccessRectangles = new HashMap<>();
 	private HashMap<Label, Rectangle> writeAccessRectangles = new HashMap<>();
-	
+
 	private Color runnableStroke = Color.GREEN;
 	private Color runnableHeaderFillColor = Color.LIGHTGREEN;
 	private Color runnableBodyFillColor = null;
 	private Color runnableHeaderFontFill = Color.BLACK;
 	private Color labelFontFill = Color.GREEN;
-	
+
 	/**
 	 * Create a new painter for the given {@link Runnable} with enable autoscaling.
-	 * 
+	 *
 	 * @param runnable The {@link Runnable} for which the painter should be created.
 	 */
 	public RunnablePainter(Runnable runnable) {
 		this(runnable, true);
 	}
-		
+
 	/**
 	 * Create a new painter for the given {@link Runnable}.
-	 * 
+	 *
 	 * @param runnable  The {@link Runnable} for which the painter should be
 	 *                  created.
 	 * @param autoscale <code>true</code> if the rendering should be automatically
@@ -76,40 +76,40 @@
 		this.runnable = runnable;
 		this.autoscale = autoscale;
 
-		this.readItems = SoftwareUtil.getReadLabelAccessList(runnable, null);
-		this.writeItems = SoftwareUtil.getWriteLabelAccessList(runnable, null);
-		
-		this.itemMax = Math.max(this.readItems.size(), this.writeItems.size());
-		if (this.itemMax == 0) {
+		readItems = SoftwareUtil.getReadLabelAccessList(runnable, null);
+		writeItems = SoftwareUtil.getWriteLabelAccessList(runnable, null);
+
+		itemMax = Math.max(readItems.size(), writeItems.size());
+		if (itemMax == 0) {
 			// if there are no items yet, we use 1 to have at least a reasonable rendering
-			this.itemMax = 1;
+			itemMax = 1;
 		}
 	}
 
 	/**
-	 * 
+	 *
 	 * @return The preferred minimum height using a unit height of 20.
 	 */
 	public double getPreferredMinimumHeight() {
 		// number of units needed for height calculation
 		// number of items + number of gaps between items + gap on top and bottom of box + box header + padding to border
-		int units = this.itemMax + (this.itemMax - 1) + 2 + 2 + 2;
-		return MIN_UNIT_HEIGHT * this.scaleFactor * units;
+		int units = itemMax + (itemMax - 1) + 2 + 2 + 2;
+		return MIN_UNIT_HEIGHT * scaleFactor * units;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @return the preferred minimum width using a font size of 12.
 	 */
 	public double getPreferredMinimumWidth() {
 		double longestRead = 0;
-		for (LabelAccess item : this.readItems) {
+		for (LabelAccess item : readItems) {
 			String name = item.getData().getDisplayName() != null ? item.getData().getDisplayName() : item.getData().getName();
 			longestRead = Math.max(longestRead, MIN_FONT_METRICS.computeStringWidth(name));
 		}
-		
+
 		double longestWrite = 0;
-		for (LabelAccess item : this.writeItems) {
+		for (LabelAccess item : writeItems) {
 			String name = item.getData().getDisplayName() != null ? item.getData().getDisplayName() : item.getData().getName();
 			longestWrite = Math.max(longestWrite, MIN_FONT_METRICS.computeStringWidth(name));
 		}
@@ -117,77 +117,77 @@
 		double textWidth = MIN_BOLD_FONT_METRICS.computeStringWidth(runnable.getName());
 
 		// padding left/ right + longestRead + longestWrite + padding label access to rectangle + rectangle width
-		return ((6 * MIN_UNIT_HEIGHT) + longestRead + longestWrite + textWidth) * this.scaleFactor;
+		return ((6 * MIN_UNIT_HEIGHT) + longestRead + longestWrite + textWidth) * scaleFactor;
 	}
-	
+
 	/**
 	 * Paint the {@link Runnable} on the given {@link GraphicsContext}.
-	 * 
+	 *
 	 * @param gc           The {@link GraphicsContext} that should be used for
 	 *                     rendering.
 	 * @param parentBounds The bounds on which the {@link Runnable} should be
 	 *                     painted.
 	 */
 	public void paint(GraphicsContext gc, Rectangle parentBounds) {
-		
+
 		// number of units needed for height calculation
 		// number of items + number of gaps between items + gap on top and bottom of box + box header + padding to border
-		int units = this.itemMax + (this.itemMax - 1) + 2 + 2 + 2;
-		
+		int units = itemMax + (itemMax - 1) + 2 + 2 + 2;
+
 		// the minimum item height is 20
-		double unitHeight = MIN_UNIT_HEIGHT * this.scaleFactor;
+		double unitHeight = MIN_UNIT_HEIGHT * scaleFactor;
 		double minHeight = units * unitHeight;
-		
-		if (this.autoscale && (parentBounds.getHeight() > minHeight)) {
+
+		if (autoscale && (parentBounds.getHeight() > minHeight)) {
 			unitHeight = parentBounds.getHeight() / units;
 		}
-		
+
 		// calculate with font metrics
 		Font defaultFont = gc.getFont();
 		double fontSize = 12 * (Double.valueOf(unitHeight) / 20);
-		
+
 		Font headlineFont = Font.font(defaultFont.getFamily(), FontWeight.BOLD, fontSize);
 		Font labelAccessFont = Font.font(defaultFont.getFamily(), fontSize);
-		
+
 		// calculate start x positions
 		gc.setFont(headlineFont);
 		FontMetrics headlineMetrics = new FontMetrics(headlineFont);
 		double textWidth = headlineMetrics.computeStringWidth(runnable.getName());
-		
+
 		// check the longest read access label
 		gc.setFont(labelAccessFont);
 		FontMetrics labelAccessMetrics = new FontMetrics(gc.getFont());
 		double longestRead = 0;
-		for (LabelAccess item : this.readItems) {
+		for (LabelAccess item : readItems) {
 			String name = item.getData().getDisplayName() != null ? item.getData().getDisplayName() : item.getData().getName();
 			longestRead = Math.max(longestRead, labelAccessMetrics.computeStringWidth(name));
 		}
-		
+
 		double longestWrite = 0;
-		for (LabelAccess item : this.writeItems) {
+		for (LabelAccess item : writeItems) {
 			String name = item.getData().getDisplayName() != null ? item.getData().getDisplayName() : item.getData().getName();
 			longestWrite = Math.max(longestWrite, labelAccessMetrics.computeStringWidth(name));
 		}
 
 		// padding left/ right + longestRead + longestWrite + padding label access to rectangle + rectangle width
 		double runnableWidth = (2 * unitHeight) + longestRead + longestWrite + (2 * unitHeight) + textWidth + (2 * unitHeight);
-		if (this.autoscale && (runnableWidth > parentBounds.getWidth())) {
+		if (autoscale && (runnableWidth > parentBounds.getWidth())) {
 			double factor = parentBounds.getWidth() / runnableWidth;
 			unitHeight *= factor;
 
 			fontSize = 12 * (Double.valueOf(unitHeight) / 20);
-			
+
 			headlineFont = Font.font(defaultFont.getFamily(), FontWeight.BOLD, fontSize);
 			labelAccessFont = Font.font(defaultFont.getFamily(), fontSize);
 
 			headlineMetrics = new FontMetrics(headlineFont);
-			textWidth = headlineMetrics.computeStringWidth(this.runnable.getName());
-			
+			textWidth = headlineMetrics.computeStringWidth(runnable.getName());
+
 			// check the longest read access label
 			gc.setFont(labelAccessFont);
 			labelAccessMetrics = new FontMetrics(gc.getFont());
 			longestRead = 0;
-			for (LabelAccess item : this.readItems) {
+			for (LabelAccess item : readItems) {
 				String name = item.getData().getDisplayName() != null ? item.getData().getDisplayName() : item.getData().getName();
 				longestRead = Math.max(longestRead, labelAccessMetrics.computeStringWidth(name));
 			}
@@ -196,147 +196,147 @@
 		// calculate start x positions
 		double rectX = parentBounds.getX() + (2 * unitHeight) + longestRead;
 		double runnableX = rectX + unitHeight;
-		
+
 		// draw runnable
 		gc.setFont(headlineFont);
-		gc.setStroke(this.runnableStroke);
-		
+		gc.setStroke(runnableStroke);
+
 		// first draw the body
-		if (this.runnableBodyFillColor != null) {
-			gc.setFill(this.runnableBodyFillColor);
+		if (runnableBodyFillColor != null) {
+			gc.setFill(runnableBodyFillColor);
 			gc.fillRect(
-					rectX, 
-					parentBounds.getY() + unitHeight, 
-					textWidth + (2 * unitHeight), 
+					rectX,
+					parentBounds.getY() + unitHeight,
+					textWidth + (2 * unitHeight),
 					(units - 2) * unitHeight);
 		}
 		gc.strokeRect(
-				rectX, 
-				parentBounds.getY() + unitHeight, 
-				textWidth + (2 * unitHeight), 
+				rectX,
+				parentBounds.getY() + unitHeight,
+				textWidth + (2 * unitHeight),
 				(units - 2) * unitHeight);
 
 		// now draw the runnable header
-		gc.setFill(this.runnableHeaderFillColor);
+		gc.setFill(runnableHeaderFillColor);
 		headlineMetrics = new FontMetrics(headlineFont);
 
-		this.runnableRectangle = new Rectangle(
-				rectX, 
-				parentBounds.getY() + unitHeight, 
-				textWidth + (2 * unitHeight), 
+		runnableRectangle = new Rectangle(
+				rectX,
+				parentBounds.getY() + unitHeight,
+				textWidth + (2 * unitHeight),
 				2 * unitHeight);
 		gc.fillRect(
-				rectX, 
-				parentBounds.getY() + unitHeight, 
-				textWidth + (2 * unitHeight), 
+				rectX,
+				parentBounds.getY() + unitHeight,
+				textWidth + (2 * unitHeight),
 				2 * unitHeight);
 
-		gc.setFill(this.runnableHeaderFontFill);
+		gc.setFill(runnableHeaderFontFill);
 		gc.fillText(
-				this.runnable.getName(), 
-				runnableX, 
+				runnable.getName(),
+				runnableX,
 				parentBounds.getY() + (unitHeight / 2) + (2 * unitHeight) - ((unitHeight - headlineMetrics.lineHeight) / 2) - headlineMetrics.descent);
-		
+
 		gc.setFont(labelAccessFont);
-		gc.setStroke(this.runnableStroke);
+		gc.setStroke(runnableStroke);
 		labelAccessMetrics = new FontMetrics(gc.getFont());
 
 		// draw read access
 		double yStart = parentBounds.getY() + 4 * unitHeight;
 		double readX = rectX - (unitHeight / 2);
-		for (LabelAccess item : this.readItems) {
+		for (LabelAccess item : readItems) {
 			gc.setFill(Color.WHITE);
 			gc.fillRoundRect(
-					readX, 
-					yStart, 
-					unitHeight, 
-					unitHeight, 
-					10, 
+					readX,
+					yStart,
+					unitHeight,
+					unitHeight,
+					10,
 					10);
 			gc.strokeRoundRect(
-					readX, 
-					yStart, 
-					unitHeight, 
-					unitHeight, 
-					10, 
+					readX,
+					yStart,
+					unitHeight,
+					unitHeight,
+					10,
 					10);
-			
-			this.readAccessRectangles.put(item.getData(), new Rectangle(
-					readX, 
-					yStart, 
-					unitHeight, 
+
+			readAccessRectangles.put(item.getData(), new Rectangle(
+					readX,
+					yStart,
+					unitHeight,
 					unitHeight));
-			
-			gc.setFill(this.labelFontFill);
-			String name = item.getData().getDisplayName() != null ? item.getData().getDisplayName() : item.getData().getName(); 
+
+			gc.setFill(labelFontFill);
+			String name = item.getData().getDisplayName() != null ? item.getData().getDisplayName() : item.getData().getName();
 			gc.fillText(
-					name, 
-					readX - labelAccessMetrics.computeStringWidth(name) - (unitHeight / 2), 
+					name,
+					readX - labelAccessMetrics.computeStringWidth(name) - (unitHeight / 2),
 					yStart + unitHeight - ((unitHeight - labelAccessMetrics.lineHeight) / 2) - labelAccessMetrics.descent);
-			
+
 			yStart += (2 * unitHeight);
 		}
 
 		// draw write access
 		yStart = parentBounds.getY() + 4 * unitHeight;
 		double writeX = rectX + textWidth + (2 * unitHeight) - (unitHeight / 2);
-		for (LabelAccess item : this.writeItems) {
+		for (LabelAccess item : writeItems) {
 			gc.setFill(Color.WHITE);
 			gc.fillRoundRect(
-					writeX, 
-					yStart, 
-					unitHeight, 
-					unitHeight, 
-					10, 
+					writeX,
+					yStart,
+					unitHeight,
+					unitHeight,
+					10,
 					10);
 			gc.strokeRoundRect(
-					writeX, 
-					yStart, 
-					unitHeight, 
-					unitHeight, 
-					10, 
+					writeX,
+					yStart,
+					unitHeight,
+					unitHeight,
+					10,
 					10);
-			
-			this.writeAccessRectangles.put(item.getData(), new Rectangle(
-					writeX, 
-					yStart, 
-					unitHeight, 
+
+			writeAccessRectangles.put(item.getData(), new Rectangle(
+					writeX,
+					yStart,
+					unitHeight,
 					unitHeight));
 
-			gc.setFill(this.labelFontFill);
-			String name = item.getData().getDisplayName() != null ? item.getData().getDisplayName() : item.getData().getName(); 
+			gc.setFill(labelFontFill);
+			String name = item.getData().getDisplayName() != null ? item.getData().getDisplayName() : item.getData().getName();
 			gc.fillText(
-					name, 
-					writeX + unitHeight + (unitHeight / 2), 
+					name,
+					writeX + unitHeight + (unitHeight / 2),
 					yStart + unitHeight - ((unitHeight - labelAccessMetrics.lineHeight) / 2) - labelAccessMetrics.descent);
-			
+
 			yStart += (2 * unitHeight);
 		}
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @return The {@link Runnable} that this painter is assigned to.
 	 */
 	public Runnable getRunnable() {
-		return this.runnable;
+		return runnable;
 	}
-	
+
 	/**
 	 * Get the {@link Rectangle} for the read label access of the given label.
 	 * <p>
 	 * <b>Note: </b> The {@link Rectangle} is only available AFTER
 	 * {@link #paint(GraphicsContext, Rectangle)} was executed.
 	 * </p>
-	 * 
+	 *
 	 * @param label The label for which the {@link Rectangle} is requested.
 	 * @return The {@link Rectangle} for the read label access of the given label,
 	 *         or <code>null</code> if no {@link Rectangle} is available.
 	 */
 	public Rectangle getReadRectangle(Label label) {
-		return this.readAccessRectangles.get(label);
+		return readAccessRectangles.get(label);
 	}
-	
+
 	/**
 	 * Get the {@link Rectangle}s for the read label access of this painters
 	 * {@link Runnable}.
@@ -344,29 +344,29 @@
 	 * <b>Note: </b> The {@link Rectangle}s are only available AFTER
 	 * {@link #paint(GraphicsContext, Rectangle)} was executed.
 	 * </p>
-	 * 
+	 *
 	 * @return The {@link Label} to {@link Rectangle} mapping for the read label
 	 *         access of this painters {@link Runnable}.
 	 */
 	public Map<Label, Rectangle> getReadRectangles() {
-		return this.readAccessRectangles;
+		return readAccessRectangles;
 	}
-	
+
 	/**
 	 * Get the {@link Rectangle} for the write label access of the given label.
 	 * <p>
 	 * <b>Note: </b> The {@link Rectangle} is only available AFTER
 	 * {@link #paint(GraphicsContext, Rectangle)} was executed.
 	 * </p>
-	 * 
+	 *
 	 * @param label The label for which the {@link Rectangle} is requested.
 	 * @return The {@link Rectangle} for the write label access of the given label,
 	 *         or <code>null</code> if no {@link Rectangle} is available.
 	 */
 	public Rectangle getWriteRectangle(Label label) {
-		return this.writeAccessRectangles.get(label);
+		return writeAccessRectangles.get(label);
 	}
-	
+
 	/**
 	 * Get the {@link Rectangle}s for the write label access of this painters
 	 * {@link Runnable}.
@@ -374,14 +374,14 @@
 	 * <b>Note: </b> The {@link Rectangle}s are only available AFTER
 	 * {@link #paint(GraphicsContext, Rectangle)} was executed.
 	 * </p>
-	 * 
+	 *
 	 * @return The {@link Label} to {@link Rectangle} mapping for the write label
 	 *         access of this painters {@link Runnable}.
 	 */
 	public Map<Label, Rectangle> getWriteRectangles() {
-		return this.writeAccessRectangles;
+		return writeAccessRectangles;
 	}
-	
+
 	/**
 	 * Get the {@link Rectangle}s for the runnable header of this painters
 	 * {@link Runnable}.
@@ -389,96 +389,96 @@
 	 * <b>Note: </b> The {@link Rectangle} is only available AFTER
 	 * {@link #paint(GraphicsContext, Rectangle)} was executed.
 	 * </p>
-	 * 
+	 *
 	 * @return The {@link Rectangle} for the runnable header of this painters
 	 *         {@link Runnable}.
 	 */
 	public Rectangle getRunnableRectangle() {
-		return this.runnableRectangle;
+		return runnableRectangle;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @param fill The color that should be used to fill the runnable rectangle.
 	 */
 	public void setRunnableHeaderFill(Color fill) {
-		this.runnableHeaderFillColor = fill;
+		runnableHeaderFillColor = fill;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @param fill The color that should be used to fill the runnable body
 	 *             rectangle. Setting it to <code>null</code> will result in a
 	 *             transparent body.
 	 */
 	public void setRunnableBodyFill(Color fill) {
-		this.runnableBodyFillColor = fill;
+		runnableBodyFillColor = fill;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @param stroke The color that should be used for the border of the rectangle.
 	 */
 	public void setRunnableStroke(Color stroke) {
-		this.runnableStroke = stroke;
+		runnableStroke = stroke;
 	}
 
 	/**
-	 * 
+	 *
 	 * @param fill The color that should be used for the runnable header text.
 	 */
 	public void setRunnableHeaderFontFill(Color fill) {
-		this.runnableHeaderFontFill = fill;
+		runnableHeaderFontFill = fill;
 	}
 
 	/**
-	 * 
+	 *
 	 * @param fill The color that should be used for the label access labels.
 	 */
 	public void setLabelFontFill(Color fill) {
-		this.labelFontFill = fill;
+		labelFontFill = fill;
 	}
 
 	/**
 	 * Set the color for the runnable. This includes the rectangle border, the label
 	 * access labels and the header background.
-	 * 
+	 *
 	 * @param color The color to set.
 	 */
 	public void setRunnableColor(Color color) {
-		this.runnableStroke = color;
-		this.runnableHeaderFillColor = color;
-		this.labelFontFill = color;
+		runnableStroke = color;
+		runnableHeaderFillColor = color;
+		labelFontFill = color;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @return The scaling factor applied to the rendering of this painter.
 	 */
 	public double getScaleFactor() {
-		return this.scaleFactor;
+		return scaleFactor;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @param scaleFactor The scaling factor that should be applied to the rendering of this painter.
 	 */
 	public void setScaleFactor(double scaleFactor) {
-		if (scaleFactor <= this.maxScaleFactor && scaleFactor >= 0.1) {
+		if (scaleFactor <= maxScaleFactor && scaleFactor >= 0.1) {
 			this.scaleFactor = scaleFactor;
 		}
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @return The maximum supported scale factor.
 	 */
 	public double getMaxScaleFactor() {
-		return this.maxScaleFactor;
+		return maxScaleFactor;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @param maxScaleFactor The maximum supported scale factor.
 	 */
 	public void setMaxScaleFactor(double maxScaleFactor) {
@@ -487,29 +487,29 @@
 		if (this.maxScaleFactor < 0.1) {
 			this.maxScaleFactor = 0.1d;
 		}
-		if (this.maxScaleFactor < this.scaleFactor) {
-			this.scaleFactor = this.maxScaleFactor;
+		if (this.maxScaleFactor < scaleFactor) {
+			scaleFactor = this.maxScaleFactor;
 		}
 	}
-	
+
 	/**
 	 * Increase the scaling factor to zoom in.
 	 */
 	public void zoomIn() {
-		if (this.scaleFactor <= this.maxScaleFactor) {
-			double newFactor = this.scaleFactor + 0.1d;
+		if (scaleFactor <= maxScaleFactor) {
+			double newFactor = scaleFactor + 0.1d;
 			newFactor = Math.round(newFactor * 10d) / 10d;
-			
-			this.scaleFactor = Math.min(this.maxScaleFactor, newFactor);
+
+			scaleFactor = Math.min(maxScaleFactor, newFactor);
 		}
 	}
-	
+
 	/**
 	 * Decrease the scaling factor to zoom out.
 	 */
 	public void zoomOut() {
-		double newFactor = this.scaleFactor - 0.1d;
+		double newFactor = scaleFactor - 0.1d;
 		newFactor = Math.round(newFactor * 10d) / 10d;
-		this.scaleFactor = Math.max(newFactor, 0.1d);
+		scaleFactor = Math.max(newFactor, 0.1d);
 	}
 }
diff --git a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/EventChainImporter.java b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/EventChainImporter.java
index 1e149b2..86206c4 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/EventChainImporter.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/EventChainImporter.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -31,10 +31,10 @@
 import org.eclipse.jface.operation.IRunnableWithProgress;
 
 public class EventChainImporter implements IRunnableWithProgress {
-	
+
 	private final ATDBConnection con;
 	private final Amalthea model;
-	
+
 	public EventChainImporter(final ATDBConnection con, final Amalthea model) {
 		this.con = con;
 		this.model = model;
@@ -42,35 +42,35 @@
 
 	@Override
 	public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException {
-		if (this.model.getConstraintsModel() != null) {
-			final List<AbstractEventChain> allECs = ConstraintsUtil.getAllAbstractEventChains(this.model.getConstraintsModel());
+		if (model.getConstraintsModel() != null) {
+			final List<AbstractEventChain> allECs = ConstraintsUtil.getAllAbstractEventChains(model.getConstraintsModel());
 			final int eventChainCount = allECs.size();
 			final SubMonitor subMon = SubMonitor.convert(progressMonitor, "Importing event chains from AMALTHEA...", eventChainCount);
 			try {
-				this.con.executeBatchUpdate(atdbCon -> {
+				con.executeBatchUpdate(atdbCon -> {
 					for(final EntityProperty ep:EntityProperty.eventChainProperties) {
 						atdbCon.insertProperty(ep.camelName, ep.type);
 					}
-					
+
 					// first add all ecs as entity, so that we can refer to them in the second step
 					for(final AbstractEventChain ec:allECs) {
 						final String eventChainName = ec.getName();
 						atdbCon.insertEventChain(eventChainName);
 					}
-					
+
 					// second set all properties
 					for(final AbstractEventChain ec:allECs) {
 						final String eventChainName = ec.getName();
-						
+
 						// items
 						final List<String> itemNames = ec.getItems().stream().map(EventChainItem::getEventChain)
 								.map(AbstractEventChain::getName).collect(Collectors.toList());
 						atdbCon.insertEntityRefsPropertyValue(eventChainName, EntityProperty.EC_ITEMS.camelName, itemNames);
-						
+
 						// stimulus/response events
 						insertEventRefProp(atdbCon, eventChainName, EntityProperty.EC_STIMULUS.camelName, ec.getStimulus());
 						insertEventRefProp(atdbCon, eventChainName, EntityProperty.EC_RESPONSE.camelName, ec.getResponse());
-						
+
 						// min items completed
 						if (ec.getItemType() == EventChainItemType.PARALLEL && ec.getMinItemsCompleted() > 0) {
 							atdbCon.insertPropertyValue(eventChainName, EntityProperty.EC_MIN_ITEMS_COMPLETED.camelName, ec.getMinItemsCompleted());
@@ -84,7 +84,7 @@
 			subMon.done();
 		}
 	}
-	
+
 	private static void insertEventRefProp(final ATDBConnection atdbCon, final String eventChainName, final String propertyName,
 			final Event ev) throws SQLException{
 		final String eventName = ev.getName();
diff --git a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/EventChainMetricCalculator.java b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/EventChainMetricCalculator.java
index a17e854..5d02f3a 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/EventChainMetricCalculator.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/EventChainMetricCalculator.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020-2021 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -32,9 +32,9 @@
 import org.osgi.framework.FrameworkUtil;
 
 public class EventChainMetricCalculator implements IRunnableWithProgress {
-	
+
 	private final ATDBConnection con;
-	
+
 	public EventChainMetricCalculator(final ATDBConnection con) {
 		this.con = con;
 	}
@@ -42,18 +42,18 @@
 	@Override
 	public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException {
 		final SubMonitor subMon = SubMonitor.convert(progressMonitor, "Calculating event chain metrics...", 3);
-		try (final Statement mStmt = this.con.createStatement()) {
+		try (final Statement mStmt = con.createStatement()) {
 			// create event chain instances with separate sql program (a sequence of queries)
-			String ecInstCalculationSQL = "";
+			String ecInstCalculationSQL;
 			final Bundle bundle = FrameworkUtil.getBundle(EventChainMetricCalculator.class);
 			final String pathInBundle = EventChainMetricCalculator.class.getPackage().getName().replace('.', '/') + "/ecinststatements.sql";
 			final URL fileURL = bundle.getResource(pathInBundle);
 			ecInstCalculationSQL = loadStringFromFile(fileURL);
 			if (ecInstCalculationSQL.length() == 0) return;
-			this.con.executeUpdate(ecInstCalculationSQL);
+			con.executeUpdate(ecInstCalculationSQL);
 			subMon.worked(1);
-			
-			this.con.executeBatchUpdate(atdbCon -> {
+
+			con.executeBatchUpdate(atdbCon -> {
 				// calculate event chain metrics min max avg for age and reaction latency values
 				final List<String> latencyTypes = Arrays.asList("Age", "Reaction");
 				for (final String latencyType : latencyTypes) {
@@ -75,14 +75,14 @@
 				}
 			});
 			subMon.worked(1);
-			
-			this.con.executeBatchStatements(mStmt);
+
+			con.executeBatchStatements(mStmt);
 			subMon.worked(1);
 		} catch (SQLException e) {
 			throw new InvocationTargetException(e);
 		}
 	}
-	
+
 	private static String loadStringFromFile(final URL fileURL) {
 		try (final InputStream fileIS = fileURL.openStream();
 			 final ByteArrayOutputStream bAOS = new ByteArrayOutputStream();) {
diff --git a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/EventImporter.java b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/EventImporter.java
index 9d0340d..78c802e 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/EventImporter.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/EventImporter.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -33,10 +33,10 @@
 import org.eclipse.jface.operation.IRunnableWithProgress;
 
 public class EventImporter implements IRunnableWithProgress {
-	
+
 	private final ATDBConnection con;
 	private final Amalthea model;
-	
+
 	public EventImporter(final ATDBConnection con, final Amalthea model) {
 		this.con = con;
 		this.model = model;
@@ -44,31 +44,31 @@
 
 	@Override
 	public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException {
-		if (this.model.getEventModel() != null) {
-			final int eventCount = this.model.getEventModel().getEvents().size();
+		if (model.getEventModel() != null) {
+			final int eventCount = model.getEventModel().getEvents().size();
 			final SubMonitor subMon = SubMonitor.convert(progressMonitor, "Importing events from AMALTHEA...", eventCount);
 			try {
-				this.con.executeBatchUpdate(atdbCon -> {
-					final List<Event> events = this.model.getEventModel().getEvents();
+				con.executeBatchUpdate(atdbCon -> {
+					final List<Event> events = model.getEventModel().getEvents();
 					for(final Event event:events) {
 						// ignore event sets for now
 						if (event instanceof EventSet) continue;
-						
+
 						final String eventName = event.getName();
 						final Optional<String> optEventTypeName = getEventTypeName(event);
 						if (optEventTypeName.isPresent()) {
 							atdbCon.insertEventType(optEventTypeName.get());
 						}
 						final String eventTypeName = optEventTypeName.orElse("");
-						
+
 						final Optional<String> optEntityName = getEntityName(event);
 						if (optEntityName.isPresent()) {
 							atdbCon.insertEntity(optEntityName.get(), "");
 						}
 						final String entityName = optEntityName.orElse("");
-						
+
 						final String sourceEntityName = getSourceEntityName(event).orElse("");
-						
+
 						atdbCon.insertEvent(eventName, eventTypeName, entityName, sourceEntityName);
 						subMon.worked(1);
 					}
@@ -79,22 +79,22 @@
 			subMon.done();
 		}
 	}
-	
+
 	public static Optional<String> getEventTypeName(final Event event) {
 		return Stream.of("eventType").map(p -> getPropertyValue(event, p)).filter(Objects::nonNull)
 				.map(p -> p instanceof Enumerator ? ((Enumerator)p).getName() : p.toString()).findFirst();
 	}
-	
+
 	public static Optional<String> getEntityName(final Event event) {
 		return Stream.of("entity").map(p -> getPropertyValue(event, p)).filter(Objects::nonNull)
 				.map(p -> p instanceof INamed ? ((INamed)p).getName() : p.toString()).findFirst();
 	}
-	
+
 	public static Optional<String> getSourceEntityName(final Event event) {
 		return Stream.of("runnable", "process", "core").map(p -> getPropertyValue(event, p)).filter(Objects::nonNull)
 				.map(p -> p instanceof INamed ? ((INamed)p).getName() : p.toString()).findFirst();
 	}
-	
+
 	private static Object getPropertyValue(final EObject eo, final String propertyName) {
 		if (eo == null || propertyName == null || eo.eClass() == null) {
 			return null;
diff --git a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/ImportTransformation.java b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/ImportTransformation.java
index 3a3702b..6c9e5f8 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/ImportTransformation.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/ImportTransformation.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -30,12 +30,12 @@
 import com.google.common.io.Files;
 
 public class ImportTransformation implements IRunnableWithProgress {
-	
+
 	private final String amxmiSource;
 	private final String atdbSource;
 	private final String atdbFile;
 	private final boolean copySource;
-	
+
 	public ImportTransformation(final String amxmiSource, final String atdbSource, final String atdbFile, final boolean copySource) {
 		this.amxmiSource = amxmiSource;
 		this.atdbSource = atdbSource;
@@ -45,43 +45,43 @@
 
 	@Override
 	public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException {
-		if (this.amxmiSource.isEmpty() || this.atdbFile.isEmpty()) {
+		if (amxmiSource.isEmpty() || atdbFile.isEmpty()) {
 			return;
 		}
 		final SubMonitor subMon = SubMonitor.convert(progressMonitor, "Inserting AMALTHEA model specification parts to ATDB...", 4);
 		// copy atdb source if not empty
-		if (this.copySource && !this.atdbSource.isEmpty() && !this.atdbSource.equals(this.atdbFile)) {
+		if (copySource && !atdbSource.isEmpty() && !atdbSource.equals(atdbFile)) {
 			try {
-				Files.copy(new File(this.atdbSource), new File(this.atdbFile));
+				Files.copy(new File(atdbSource), new File(atdbFile));
 			} catch (IOException e) {
 				throw new InvocationTargetException(e);
 			}
 		}
 		final SubMonitor openAMXMI_ATDBMonitor = subMon.split(1);
 		openAMXMI_ATDBMonitor.beginTask("Opening AMXMI and ATDB files...", 1);
-		try (final ATDBConnection con = new ATDBConnection(this.atdbFile, AccessMode.ReadWrite)) {
-			final Amalthea model = AmaltheaLoader.loadFromFileNamed(this.amxmiSource);
-			
+		try (final ATDBConnection con = new ATDBConnection(atdbFile, AccessMode.ReadWrite)) {
+			final Amalthea model = AmaltheaLoader.loadFromFileNamed(amxmiSource);
+
 			// ensure that we have a minimal data base
 			new ATDBBuilder(con).createBasicDBStructure().createBasicViews();
-			
+
 			// import events
 			final SubMonitor eventImportMonitor = subMon.split(1);
 			final EventImporter eventImporter = new EventImporter(con, model);
 			eventImporter.run(eventImportMonitor);
-			
+
 			// import event chains
 			final SubMonitor ecImportMonitor = subMon.split(1);
 			final EventChainImporter ecImporter = new EventChainImporter(con, model);
 			ecImporter.run(ecImportMonitor);
-			
+
 			// calculate event chain instances and metrics
 			final SubMonitor ecInstMetricMonitor = subMon.split(1);
 			if (con.tableExists("traceEvent")) {
 				final EventChainMetricCalculator ecmc = new EventChainMetricCalculator(con);
 				ecmc.run(ecInstMetricMonitor);
 			}
-			
+
 		} catch (SQLException e) {
 			throw new InvocationTargetException(e);
 		} finally {
diff --git a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/handler/AMXMI2ATDBImport.java b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/handler/AMXMI2ATDBImport.java
index 3ed1d25..224a9ce 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/handler/AMXMI2ATDBImport.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/handler/AMXMI2ATDBImport.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -43,14 +43,11 @@
 					final String name = amxmiSource.substring(from + 1, to);
 					return c.getProject().getFile(name + ".atdb");
 				}).findFirst().orElseThrow(() -> new IllegalArgumentException("Selected *.amxmi file is not part of a Eclipse workspace!"));
-		if (amxmiSource.length() == 0 || atdbSource.length() == 0) {
+		if (amxmiSource.length() == 0 || atdbSource.length() == 0 || (runnableContext == null)) {
 			return;
 		}
-		if (runnableContext == null) {
-			return;
-		}
-		
+
 		ImportWizard.importAndOpenInIDE(amxmiSource, atdbSource, atdbTarget, true, runnableContext);
 	}
-	
+
 }
diff --git a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/handler/AmaltheaModelAndATDBElementExpression.java b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/handler/AmaltheaModelAndATDBElementExpression.java
index de9ab92..32ba540 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/handler/AmaltheaModelAndATDBElementExpression.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/handler/AmaltheaModelAndATDBElementExpression.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -24,7 +24,7 @@
 import org.eclipse.jface.viewers.IStructuredSelection;
 
 public class AmaltheaModelAndATDBElementExpression {
-	
+
 	@Evaluate
 	public boolean evaluate(@Optional @Named(IServiceConstants.ACTIVE_SELECTION) IStructuredSelection selection) {
 		if (selection != null && selection.size() == 2) {
diff --git a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/wizard/ImportPage.java b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/wizard/ImportPage.java
index b6e4758..b027b32 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/wizard/ImportPage.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/wizard/ImportPage.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Timing-Architects Embedded Systems GmbH - initial API and implementation
  ********************************************************************************
@@ -68,11 +68,11 @@
 		amxmiGroupLabel.setFont(parent.getFont());
 
 		// amxmi name entry field
-		this.amxmiNameField = new Text(sourceContainerGroup, SWT.READ_ONLY | SWT.BORDER);
+		amxmiNameField = new Text(sourceContainerGroup, SWT.READ_ONLY | SWT.BORDER);
 		final GridData amxmiData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
 		amxmiData.widthHint = SIZING_TEXT_FIELD_WIDTH;
-		this.amxmiNameField.setLayoutData(amxmiData);
-		this.amxmiNameField.setFont(parent.getFont());
+		amxmiNameField.setLayoutData(amxmiData);
+		amxmiNameField.setFont(parent.getFont());
 
 		// amxmi browse button
 		final Button amxmiBrowseButton = new Button(sourceContainerGroup, SWT.PUSH);
@@ -87,43 +87,43 @@
 		amxmiBrowseButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
 		amxmiBrowseButton.setFont(parent.getFont());
 		setButtonLayoutData(amxmiBrowseButton);
-		
+
 		// atdb label
-		this.atdbGroupLabel = new Label(sourceContainerGroup, SWT.NONE);
-		this.atdbGroupLabel.setText(Messages.ImportPage_fromATDB);
-		this.atdbGroupLabel.setFont(parent.getFont());
-		this.atdbGroupLabel.setEnabled(false);
+		atdbGroupLabel = new Label(sourceContainerGroup, SWT.NONE);
+		atdbGroupLabel.setText(Messages.ImportPage_fromATDB);
+		atdbGroupLabel.setFont(parent.getFont());
+		atdbGroupLabel.setEnabled(false);
 
 		// atdb name entry field
-		this.atdbNameField = new Text(sourceContainerGroup, SWT.READ_ONLY | SWT.BORDER);
+		atdbNameField = new Text(sourceContainerGroup, SWT.READ_ONLY | SWT.BORDER);
 		final GridData atdbData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
 		atdbData.widthHint = SIZING_TEXT_FIELD_WIDTH;
-		this.atdbNameField.setLayoutData(atdbData);
-		this.atdbNameField.setFont(parent.getFont());
-		this.atdbNameField.setEnabled(false);
+		atdbNameField.setLayoutData(atdbData);
+		atdbNameField.setFont(parent.getFont());
+		atdbNameField.setEnabled(false);
 
 		// atdb browse button
-		this.atdbBrowseButton = new Button(sourceContainerGroup, SWT.PUSH);
-		this.atdbBrowseButton.setText(IDEWorkbenchMessages.WizardImportPage_browse2);
-		this.atdbBrowseButton.addSelectionListener(new SelectionAdapter() {
+		atdbBrowseButton = new Button(sourceContainerGroup, SWT.PUSH);
+		atdbBrowseButton.setText(IDEWorkbenchMessages.WizardImportPage_browse2);
+		atdbBrowseButton.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(final SelectionEvent e) {
 				selectATDBFile();
 				update();
 			}
 		});
-		this.atdbBrowseButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		this.atdbBrowseButton.setFont(parent.getFont());
-		this.atdbBrowseButton.setEnabled(false);
-		setButtonLayoutData(this.atdbBrowseButton);
+		atdbBrowseButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
+		atdbBrowseButton.setFont(parent.getFont());
+		atdbBrowseButton.setEnabled(false);
+		setButtonLayoutData(atdbBrowseButton);
 	}
-	
+
 	@Override
 	protected void createOptionsGroupButtons(Group optionsGroup) {
-		this.updateExistingATDBFile = new Button(optionsGroup, SWT.CHECK);
-		this.updateExistingATDBFile.setFont(optionsGroup.getFont());
-		this.updateExistingATDBFile.setText(Messages.ImportPage_optionUpdateATDB);
-		this.updateExistingATDBFile.addSelectionListener(new SelectionAdapter() {
+		updateExistingATDBFile = new Button(optionsGroup, SWT.CHECK);
+		updateExistingATDBFile.setFont(optionsGroup.getFont());
+		updateExistingATDBFile.setText(Messages.ImportPage_optionUpdateATDB);
+		updateExistingATDBFile.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				super.widgetSelected(e);
@@ -146,12 +146,12 @@
 	protected boolean determinePageCompletion() {
 		boolean result = super.determinePageCompletion();
 
-		final String amxmiPath = this.amxmiNameField.getText();
+		final String amxmiPath = amxmiNameField.getText();
 		final File amxmiFile = new File(amxmiPath);
 		result &= amxmiFile.exists();
-		
-		if (this.updateExistingATDBFile != null && this.updateExistingATDBFile.getSelection()) {
-			final String atdbPath = this.atdbNameField.getText();
+
+		if (updateExistingATDBFile != null && updateExistingATDBFile.getSelection()) {
+			final String atdbPath = atdbNameField.getText();
 			final File atdbFile = new File(atdbPath);
 			result &= atdbFile.exists();
 		}
@@ -165,43 +165,43 @@
 		fileDialog.setFilterExtensions(new String[] { "*.amxmi" }); //$NON-NLS-1$
 		final String open = fileDialog.open();
 		if (open != null) {
-			this.amxmiNameField.setText(open);
+			amxmiNameField.setText(open);
 			update();
 		}
 	}
-	
+
 	private void selectATDBFile() {
 		final FileDialog fileDialog = new FileDialog(getShell(), SWT.OPEN);
 		fileDialog.setText(Messages.ImportPage_selectFile);
 		fileDialog.setFilterExtensions(new String[] { "*.atdb" }); //$NON-NLS-1$
 		final String open = fileDialog.open();
 		if (open != null) {
-			this.atdbNameField.setText(open);
+			atdbNameField.setText(open);
 			update();
 		}
 	}
 
 	private void update() {
 		setPageComplete(determinePageCompletion());
-		this.atdbGroupLabel.setEnabled(this.updateExistingATDBFile.getSelection());
-		this.atdbBrowseButton.setEnabled(this.updateExistingATDBFile.getSelection());
-		this.atdbNameField.setEnabled(this.updateExistingATDBFile.getSelection());
+		atdbGroupLabel.setEnabled(updateExistingATDBFile.getSelection());
+		atdbBrowseButton.setEnabled(updateExistingATDBFile.getSelection());
+		atdbNameField.setEnabled(updateExistingATDBFile.getSelection());
 	}
 
 	String getAMXMISource() {
-		return this.amxmiNameField.getText();
+		return amxmiNameField.getText();
 	}
-	
+
 	String getATDBSource() {
-		return this.atdbNameField.getText();
+		return atdbNameField.getText();
 	}
 
 	IContainer getTargetContainer() {
 		return getSpecifiedContainer();
 	}
-	
+
 	boolean isUpdateExistingATDB() {
-		return this.updateExistingATDBFile.getSelection();
+		return updateExistingATDBFile.getSelection();
 	}
 
 }
diff --git a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/wizard/ImportWizard.java b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/wizard/ImportWizard.java
index 7d454f0..bebbefb 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/wizard/ImportWizard.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/wizard/ImportWizard.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Timing-Architects Embedded Systems GmbH - initial API and implementation
  ********************************************************************************
@@ -23,6 +23,7 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.operation.IRunnableContext;
@@ -47,8 +48,8 @@
 	@Override
 	public void addPages() {
 		super.addPages();
-		this.mainPage = new ImportPage(this.selection);
-		addPage(this.mainPage);
+		mainPage = new ImportPage(selection);
+		addPage(mainPage);
 	}
 
 	@Override
@@ -66,16 +67,16 @@
 
 	@Override
 	public boolean performFinish() {
-		final String amxmiSource = this.mainPage.getAMXMISource();
-		final String atdbSource = this.mainPage.getATDBSource();
+		final String amxmiSource = mainPage.getAMXMISource();
+		final String atdbSource = mainPage.getATDBSource();
 		// get the file name of the amxmi
 		final int from = Math.max(amxmiSource.lastIndexOf('/'), amxmiSource.lastIndexOf('\\'));
 		final int to = amxmiSource.lastIndexOf(".amxmi"); //$NON-NLS-1$
 		final String name = amxmiSource.substring(from + 1, to);
-		final IFile targetATDB = this.mainPage.getTargetContainer().getFile(this.mainPage.getTargetContainer().getLocation().append(name).addFileExtension("atdb"));
-		return importAndOpenInIDE(amxmiSource, atdbSource, targetATDB, this.mainPage.isUpdateExistingATDB(), getContainer());
+		final IFile targetATDB = mainPage.getTargetContainer().getFile(mainPage.getTargetContainer().getLocation().append(name).addFileExtension("atdb"));
+		return importAndOpenInIDE(amxmiSource, atdbSource, targetATDB, mainPage.isUpdateExistingATDB(), getContainer());
 	}
-	
+
 	public static boolean importAndOpenInIDE(final String amxmiSource, final String atdbSource, final IFile atdbTarget, final boolean copySource,
 			final IRunnableContext runnableContext) {
 
@@ -94,7 +95,7 @@
 		try {
 			runnableContext.run(true, true, operation);
 		} catch (InvocationTargetException e1) {
-			Platform.getLog(AMXMI2ATDBImport.class).log(new Status(Status.ERROR,
+			Platform.getLog(AMXMI2ATDBImport.class).log(new Status(IStatus.ERROR,
 					FrameworkUtil.getBundle(AMXMI2ATDBImport.class).getSymbolicName(), e1.getLocalizedMessage(), e1));
 			return false;
 		} catch (InterruptedException e2) {
@@ -108,12 +109,12 @@
 			IDE.openEditor(page, atdbTarget);
 		}
 		catch (final PartInitException e) {
-			Platform.getLog(AMXMI2ATDBImport.class).log(new Status(Status.ERROR,
+			Platform.getLog(AMXMI2ATDBImport.class).log(new Status(IStatus.ERROR,
 					FrameworkUtil.getBundle(AMXMI2ATDBImport.class).getSymbolicName(), e.getLocalizedMessage(), e));
 			return false;
 		}
 
 		return true;
 	}
-	
+
 }
diff --git a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/wizard/Messages.java b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/wizard/Messages.java
index 2ef8dab..63813a5 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/wizard/Messages.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.amalthea/src/org/eclipse/app4mc/atdb/_import/amalthea/wizard/Messages.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
diff --git a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/ATDBMetricCalculator.java b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/ATDBMetricCalculator.java
index b6a7c02..5c7d503 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/ATDBMetricCalculator.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/ATDBMetricCalculator.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -30,9 +30,9 @@
 import org.eclipse.jface.operation.IRunnableWithProgress;
 
 public class ATDBMetricCalculator implements IRunnableWithProgress {
-	
+
 	private final ATDBConnection con;
-	
+
 	public ATDBMetricCalculator(final ATDBConnection con) {
 		this.con = con;
 	}
@@ -43,7 +43,7 @@
 		try {
 			// for each state: add a '[state]Time' metric signifying how long the entity instance was in that state
 			for (final BTFEntityState state : BTFEntityState.actStates) {
-				this.con.executeBatchUpdate(atdbCon -> {
+				con.executeBatchUpdate(atdbCon -> {
 					for (final Entry<BTFEntityType, Entry<List<Enum<?>>, List<Enum<?>>>> et2io:state.entityType2InOutEvents.entrySet()) {
 						final BTFEntityType entityType = et2io.getKey();
 						// map and collect events as SQL list
@@ -58,7 +58,7 @@
 				progressMonitor.worked(1);
 			}
 
-			this.con.executeBatchUpdate(atdbCon -> {
+			con.executeBatchUpdate(atdbCon -> {
 				// consider combi states for processes
 				for (final BTFCombiState cState : BTFCombiState.values()) {
 					final List<String> relevantStates = cState.getStates().stream().map(s -> s + "Time").collect(Collectors.toList());
@@ -67,7 +67,7 @@
 			});
 			progressMonitor.worked(1);
 
-			this.con.executeBatchUpdate(atdbCon -> {
+			con.executeBatchUpdate(atdbCon -> {
 				// calculate inter-instance metrics
 				for (final BTFInterInstanceMetric metric : BTFInterInstanceMetric.values()) {
 					for (final Entry<BTFEntityType, Entry<Enumerator, Enumerator>> et2fs:metric.entityType2FirstAndSecond.entrySet()) {
@@ -81,7 +81,7 @@
 			});
 			progressMonitor.worked(1);
 
-			this.con.executeBatchUpdate(atdbCon -> {
+			con.executeBatchUpdate(atdbCon -> {
 				// calculate stimuli activate2activate distances
 				final String activateEvent = BTFInterInstanceMetric.activateToActivate.entityType2FirstAndSecond
 						.entrySet().iterator().next().getValue().getKey().toString();
@@ -90,13 +90,13 @@
 			});
 			progressMonitor.worked(1);
 
-			this.con.executeBatchUpdate(atdbCon -> {
+			con.executeBatchUpdate(atdbCon -> {
 				// calculate entity metrics min max avg for all time metric values
 				atdbCon.insertAggregatedEntityInstanceMetricsForDimension("time");
 			});
 			progressMonitor.worked(1);
 
-			this.con.executeBatchUpdate(atdbCon -> {
+			con.executeBatchUpdate(atdbCon -> {
 				// insert entity specific count metrics
 				for (final BTFCountMetric cm : BTFCountMetric.values()) {
 					atdbCon.insertMetric(cm.toString(), "count");
diff --git a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/BTFImporter.java b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/BTFImporter.java
index 1612ac6..3d90019 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/BTFImporter.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/BTFImporter.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020-2021 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -60,9 +60,9 @@
 		this.btfFile = btfFile;
 		final long maxMemory = Runtime.getRuntime().maxMemory();
 		if (maxMemory < Long.MAX_VALUE) {
-			this.maxBatchSize = maxMemory >> 16;
+			maxBatchSize = maxMemory >> 16;
 		} else {
-			this.maxBatchSize = 2 << 16;
+			maxBatchSize = 2 << 16;
 		}
 	}
 
@@ -72,14 +72,14 @@
 		final SubMonitor readingBTFMonitor = subMon.split(1, SubMonitor.SUPPRESS_NONE);
 		readingBTFMonitor.beginTask("Reading BTF file...", 10_000);
 		int readingBTFProgress = 0;
-		try (final FileInputStream fis = new FileInputStream(this.btfFile);
+		try (final FileInputStream fis = new FileInputStream(btfFile);
 				final Scanner sc = new Scanner(fis, "UTF-8");
-				final Statement propStmt = this.con.createStatement()) {
+				final Statement propStmt = con.createStatement()) {
 
-			final PreparedStatement updEntStmt = this.con.getPreparedStatementFor("UPDATE entity SET entityTypeId = ? WHERE name = ?;");
-			final PreparedStatement instStmt = this.con.getPreparedStatementFor("INSERT INTO entityInstance VALUES(?, ?);");
-			final PreparedStatement evStmt = this.con.getPreparedStatementFor("INSERT INTO traceEvent VALUES(?, ?, ?, ?, ?, ?, ?, ?)");
-			final long fileSize = new File(this.btfFile).length();
+			final PreparedStatement updEntStmt = con.getPreparedStatementFor("UPDATE entity SET entityTypeId = ? WHERE name = ?;");
+			final PreparedStatement instStmt = con.getPreparedStatementFor("INSERT INTO entityInstance VALUES(?, ?);");
+			final PreparedStatement evStmt = con.getPreparedStatementFor("INSERT INTO traceEvent VALUES(?, ?, ?, ?, ?, ?, ?, ?)");
+			final long fileSize = new File(btfFile).length();
 			long currentTimestamp = Long.MIN_VALUE;
 			int currentSQCNR = 0;
 			String currentECU = "";
@@ -212,17 +212,17 @@
 								appendToProperty(rName, WRITTEN_SIGNALS, ENTITY_ID_REF, entityName);
 							}
 						}
-						final List<Object> parameters = Arrays.asList(currentTimestamp, currentSQCNR, this.entityName2Id.get(entityName),
-								entityInstance, this.entityName2Id.get(sourceName), sourceInstance, this.eventTypeName2Id.get(eventType), null);
+						final List<Object> parameters = Arrays.asList(currentTimestamp, currentSQCNR, entityName2Id.get(entityName),
+								entityInstance, entityName2Id.get(sourceName), sourceInstance, eventTypeName2Id.get(eventType), null);
 						if (value.isPresent()) {
 							parameters.set(parameters.size()-1, value.get());
 						}
-						this.con.setPreparedParameters(evStmt, parameters);
+						con.setPreparedParameters(evStmt, parameters);
 						evStmt.addBatch();
 					}
 				} else {
 					if (line.toLowerCase().startsWith("#timescale")) {
-						this.con.insertMetaInformation("timeBase", line.substring(11));
+						con.insertMetaInformation("timeBase", line.substring(11));
 					} else if (line.startsWith("#simulation_duration")) {
 						setProperty("SIM", "simulationDuration", "time", line.substring(21, line.lastIndexOf(' ')));
 					}
@@ -239,8 +239,8 @@
 							readingBTFProgress = worked;
 						}
 					}
-					if (currentBatchSize > this.maxBatchSize) {
-						this.con.executeBatchStatements(instStmt, evStmt);
+					if (currentBatchSize > maxBatchSize) {
+						con.executeBatchStatements(instStmt, evStmt);
 						currentBatchSize = 0;
 					}
 				}
@@ -249,7 +249,7 @@
 			executePropertyInsertStatements(propStmt);
 			readingBTFMonitor.done();
 
-			this.con.executeBatchStatements(updEntStmt, instStmt, evStmt, propStmt);
+			con.executeBatchStatements(updEntStmt, instStmt, evStmt, propStmt);
 		} catch (final IOException | SQLException e) {
 			throw new InvocationTargetException(e);
 		}
@@ -261,25 +261,25 @@
 	private final Map<String, Long> entityName2Id = new LinkedHashMap<>();
 
 	private void insertEntity(final String name, final String entityType) throws SQLException {
-		if ((!entityType.isEmpty()) && this.entityTypes.add(entityType)) {
-			final long entityTypeId = this.con.immediateInsertEntityType(entityType);
-			this.entityTypeName2Id.put(entityType, entityTypeId);
+		if ((!entityType.isEmpty()) && entityTypes.add(entityType)) {
+			final long entityTypeId = con.immediateInsertEntityType(entityType);
+			entityTypeName2Id.put(entityType, entityTypeId);
 		}
-		if (!this.entity2Type.containsKey(name)) {
-			final long entityId = this.con.immediateInsertEntity(name, -1);
-			this.entityName2Id.put(name, entityId);
+		if (!entity2Type.containsKey(name)) {
+			final long entityId = con.immediateInsertEntity(name, -1);
+			entityName2Id.put(name, entityId);
 		}
-		this.entity2Type.compute(name, (k, v) -> ((v == null) || v.isEmpty()) ? entityType : v);
+		entity2Type.compute(name, (k, v) -> ((v == null) || v.isEmpty()) ? entityType : v);
 	}
 
 	private void updateEntityTypes(final PreparedStatement updEStmt) throws SQLException {
-		for (final Entry<String, String> entry : this.entity2Type.entrySet()) {
+		for (final Entry<String, String> entry : entity2Type.entrySet()) {
 			if (entry.getValue() == null || entry.getValue().isEmpty()) {
 				continue;
 			}
 			final String entityName = entry.getKey();
-			final long entityType = this.entityTypeName2Id.get(entry.getValue());
-			this.con.setPreparedParameters(updEStmt, Arrays.asList(entityType, entityName));
+			final long entityType = entityTypeName2Id.get(entry.getValue());
+			con.setPreparedParameters(updEStmt, Arrays.asList(entityType, entityName));
 			updEStmt.addBatch();
 		}
 	}
@@ -289,7 +289,7 @@
 	private void insertEntityInstance(final PreparedStatement stmt, final String name, final int inst) throws SQLException {
 		final Set<Integer> instSet = instNames.computeIfAbsent(name, k -> new HashSet<>());
 		if (instSet.add(inst)) {
-			this.con.setPreparedParameters(stmt, Arrays.asList(this.entityName2Id.get(name), inst));
+			con.setPreparedParameters(stmt, Arrays.asList(entityName2Id.get(name), inst));
 			stmt.addBatch();
 		}
 	}
@@ -298,9 +298,9 @@
 	private final Map<String, Long> eventTypeName2Id = new LinkedHashMap<>();
 
 	private void insertEventType(final String name) throws SQLException {
-		if (this.eventTypes.add(name)) {
-			final long eventTypeId = this.con.immediateInsertEventType(name);
-			this.eventTypeName2Id.put(name, eventTypeId);
+		if (eventTypes.add(name)) {
+			final long eventTypeId = con.immediateInsertEventType(name);
+			eventTypeName2Id.put(name, eventTypeId);
 		}
 	}
 
@@ -320,8 +320,8 @@
 
 	private void setProperty(final String entityName, final String propertyName, final String propertyType,
 			final String propertyValue, final boolean append) {
-		this.properties.putIfAbsent(propertyName, propertyType);
-		final Map<String, List<String>> property2Value = this.entity2property2Value.computeIfAbsent(entityName, k -> new LinkedHashMap<>());
+		properties.putIfAbsent(propertyName, propertyType);
+		final Map<String, List<String>> property2Value = entity2property2Value.computeIfAbsent(entityName, k -> new LinkedHashMap<>());
 		final List<String> values = property2Value.computeIfAbsent(propertyName, k -> new ArrayList<>());
 		if (!append) {
 			values.clear();
@@ -331,11 +331,11 @@
 
 	private void executePropertyInsertStatements(final Statement stmt) throws SQLException {
 		final List<String> statements = new ArrayList<>();
-		this.properties.forEach((propertyName, propertyType) -> statements.add("INSERT INTO property(name, type) VALUES('"//
+		properties.forEach((propertyName, propertyType) -> statements.add("INSERT INTO property(name, type) VALUES('"//
 				+ propertyName + "', '" + propertyType + "');"));
-		this.entity2property2Value.forEach((entityName, property2Value) -> property2Value.forEach((propertyName, propertyValue) -> {
+		entity2property2Value.forEach((entityName, property2Value) -> property2Value.forEach((propertyName, propertyValue) -> {
 			final List<String> propertyValueStrings = new ArrayList<>();
-			final String propertyType = this.properties.get(propertyName);
+			final String propertyType = properties.get(propertyName);
 			if (propertyType.endsWith("IdRef")) {
 				final String tableName = propertyType.substring(0, propertyType.lastIndexOf("IdRef"));
 				propertyValue.forEach(pv -> propertyValueStrings.add("(SELECT id FROM " + tableName + " WHERE name = '" + pv + "')"));
diff --git a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/ImportTransformation.java b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/ImportTransformation.java
index 71e57f1..a8e1506 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/ImportTransformation.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/ImportTransformation.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Timing-Architects Embedded Systems GmbH - initial API and implementation
  ********************************************************************************
@@ -28,21 +28,21 @@
 
 
 public class ImportTransformation implements IRunnableWithProgress {
-	
+
 	private final String btfFile;
 	private final String atdbFile;
 	private final boolean calculateMetrics;
 	private final boolean persistTraceEvents;
 	private final boolean doInMemoryDBImport;
-	
+
 	public ImportTransformation(final String source, final String target, final boolean calculateMetrics,
 			final boolean persistTraceEvents, final boolean doInMemoryDBImport) {
 		if (source.endsWith(".btf") && target.endsWith(".atdb")) {
-			this.btfFile = source;
-			this.atdbFile = target;
+			btfFile = source;
+			atdbFile = target;
 		} else {
-			this.btfFile = "";
-			this.atdbFile = "";
+			btfFile = "";
+			atdbFile = "";
 		}
 		this.calculateMetrics = calculateMetrics;
 		this.persistTraceEvents = persistTraceEvents;
@@ -51,21 +51,21 @@
 
 	@Override
 	public void run(final IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException {
-		if (!this.btfFile.isEmpty() && !this.atdbFile.isEmpty()) {
+		if (!btfFile.isEmpty() && !atdbFile.isEmpty()) {
 			final SubMonitor subMon = SubMonitor.convert(progressMonitor, "Converting BTF trace to ATDB...", 100);
-			AccessMode accessMode = this.doInMemoryDBImport ? AccessMode.ReadWriteInMemory : AccessMode.ReadWrite;
-			try (final ATDBConnection con = new ATDBConnection(this.atdbFile, accessMode)) {
+			AccessMode accessMode = doInMemoryDBImport ? AccessMode.ReadWriteInMemory : AccessMode.ReadWrite;
+			try (final ATDBConnection con = new ATDBConnection(atdbFile, accessMode)) {
 				final SubMonitor createATDBMonitor = subMon.split(1, SubMonitor.SUPPRESS_NONE);
 				createATDBMonitor.beginTask("Creating empty ATDB...", 1);
 				final ATDBBuilder atdbBuilder = new ATDBBuilder(con).createBasicDBStructure().createBasicViews()
-						.createOptionalAndTemporaryTables(BTFEntityType.literals, this.persistTraceEvents);
-				if (this.persistTraceEvents)
+						.createOptionalAndTemporaryTables(BTFEntityType.literals, persistTraceEvents);
+				if (persistTraceEvents)
 					atdbBuilder.createOptionalViews(BTFEntityType.literals);
 				con.flushAllStatements();
 				createATDBMonitor.done();
-				
-				final SubMonitor btfImportMonitor = subMon.split(this.calculateMetrics ? 59 : 89, SubMonitor.SUPPRESS_NONE);
-				final IRunnableWithProgress btfImporter = new BTFImporter(con, this.btfFile);
+
+				final SubMonitor btfImportMonitor = subMon.split(calculateMetrics ? 59 : 89, SubMonitor.SUPPRESS_NONE);
+				final IRunnableWithProgress btfImporter = new BTFImporter(con, btfFile);
 				btfImporter.run(btfImportMonitor);
 				con.flushAllStatements();
 
@@ -75,8 +75,8 @@
 				con.flushAllStatements();
 				writeIndicesMonitor.done();
 				btfImportMonitor.done();
-				
-				if (this.calculateMetrics) {
+
+				if (calculateMetrics) {
 					final SubMonitor metricCalcMonitor = subMon.split(30, SubMonitor.SUPPRESS_NONE);
 					calculateMetrics(metricCalcMonitor, con);
 				}
@@ -87,7 +87,7 @@
 			}
 		}
 	}
-	
+
 	public static void calculateMetrics(final IProgressMonitor progressMonitor, final ATDBConnection con)
 			throws InvocationTargetException, InterruptedException, SQLException {
 		final ATDBBuilder atdbBuilder = new ATDBBuilder(con);
diff --git a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/handler/ATDBElementExpression.java b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/handler/ATDBElementExpression.java
index 7362e43..3553f2a 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/handler/ATDBElementExpression.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/handler/ATDBElementExpression.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -24,7 +24,7 @@
 import org.eclipse.jface.viewers.IStructuredSelection;
 
 public class ATDBElementExpression {
-	
+
 	@Evaluate
 	public boolean evaluate(@Optional @Named(IServiceConstants.ACTIVE_SELECTION) IStructuredSelection selection) {
 		if (selection != null && selection.size() == 1) {
diff --git a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/handler/CalculateATDBMetrics.java b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/handler/CalculateATDBMetrics.java
index 28ee7b3..3517c76 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/handler/CalculateATDBMetrics.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/handler/CalculateATDBMetrics.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -25,6 +25,7 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.e4.core.di.annotations.Execute;
@@ -66,15 +67,15 @@
 				atdbSource.refreshLocal(1, progressMonitor);
 			}
 		};
-		
+
 		try {
 			runnableContext.run(true, true, operation);
 		} catch (InvocationTargetException e1) {
-			Platform.getLog(CalculateATDBMetrics.class).log(new Status(Status.ERROR,
+			Platform.getLog(CalculateATDBMetrics.class).log(new Status(IStatus.ERROR,
 					FrameworkUtil.getBundle(CalculateATDBMetrics.class).getSymbolicName(), e1.getLocalizedMessage(), e1));
 		} catch (InterruptedException e2) {
 			Thread.currentThread().interrupt();
 		}
 	}
-	
+
 }
diff --git a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFCombiState.java b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFCombiState.java
index 393be08..43e70a5 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFCombiState.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFCombiState.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -23,8 +23,8 @@
 
 	private final EnumSet<BTFEntityState> states;
 
-	private BTFCombiState(final BTFEntityState firstState, final BTFEntityState... otherStates) {
-		this.states = EnumSet.of(firstState, otherStates);
+	BTFCombiState(final BTFEntityState firstState, final BTFEntityState... otherStates) {
+		states = EnumSet.of(firstState, otherStates);
 	}
 
 	public EnumSet<BTFEntityState> getStates() {
diff --git a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFCountMetric.java b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFCountMetric.java
index a865f42..393aac6 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFCountMetric.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFCountMetric.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -29,13 +29,13 @@
 	public final Enum<?> eventToCount;
 	public final BTFEntityType entityType;
 
-	private BTFCountMetric(final Enum<?> eventToCount) {
+	BTFCountMetric(final Enum<?> eventToCount) {
 		this.eventToCount = eventToCount;
 		String entityTypeName = eventToCount.getClass().getSimpleName();
 		entityTypeName = entityTypeName.substring(0, entityTypeName.indexOf("EventType")).toLowerCase();
-		this.entityType = BTFEntityType.getForName(entityTypeName);
+		entityType = BTFEntityType.getForName(entityTypeName);
 	}
-	
+
 	public static List<Enum<?>> getInvolvedBTFEventsForEntityType(final BTFEntityType entityType) {
 		return Stream.of(BTFCountMetric.values()).filter(cm -> cm.entityType == entityType)
 				.map(cm -> cm.eventToCount).collect(Collectors.toList());
diff --git a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFEntityState.java b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFEntityState.java
index 4674307..1633113 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFEntityState.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFEntityState.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -54,24 +54,23 @@
 	// final state
 	terminated(new SimpleEntry<>(Arrays.asList(RunnableEventType.TERMINATE), Collections.emptyList()), //
 			new SimpleEntry<>(Arrays.asList(ProcessEventType.TERMINATE), Collections.emptyList()));
-	
+
 	public final Map<BTFEntityType, Entry<List<Enum<?>>, List<Enum<?>>>> entityType2InOutEvents;
 	// list of all states excluding initial and final states
 	public static final List<BTFEntityState> actStates = Stream.of(values())
 			.filter(p -> p.entityType2InOutEvents.values().stream().noneMatch(e -> e.getKey().isEmpty()))
 			.filter(p -> p.entityType2InOutEvents.values().stream().noneMatch(e -> e.getValue().isEmpty()))
 			.collect(Collectors.toList());
-	
-	@SafeVarargs
-	private BTFEntityState(final Entry<List<Enum<?>>, List<Enum<?>>>... inOutEvents) {
-		this.entityType2InOutEvents = new LinkedHashMap<>();
+
+	@SafeVarargs BTFEntityState(final Entry<List<Enum<?>>, List<Enum<?>>>... inOutEvents) {
+		entityType2InOutEvents = new LinkedHashMap<>();
 		Stream.of(inOutEvents).forEach(e -> {
 			String entityTypeName = e.getKey().stream().findFirst().orElseGet(e.getValue().stream().findFirst()::get).getClass().getSimpleName();
 			entityTypeName = entityTypeName.substring(0, entityTypeName.indexOf("EventType")).toLowerCase();
-			this.entityType2InOutEvents.put(BTFEntityType.getForName(entityTypeName), e);
+			entityType2InOutEvents.put(BTFEntityType.getForName(entityTypeName), e);
 		});
 	}
-	
+
 	public static List<String> getValidityConstraints(final BTFEntityType entityType) {
 		final List<String> validityConstraints = new ArrayList<>();
 		// events for initial and final states must occur exactly once
diff --git a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFEntityType.java b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFEntityType.java
index 4c9d2c0..adc4b8f 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFEntityType.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFEntityType.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020-2021 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -36,30 +36,30 @@
 	private final List<String> traceAliases;
 	private final String entityTypeName;
 
-	private BTFEntityType(final Class<? extends Enum<?>> eventTypeClass, final String... traceAlias) {
-		this.traceAliases = Collections.unmodifiableList(Arrays.asList(traceAlias));
+	BTFEntityType(final Class<? extends Enum<?>> eventTypeClass, final String... traceAlias) {
+		traceAliases = Collections.unmodifiableList(Arrays.asList(traceAlias));
 		String className = eventTypeClass.getSimpleName();
-		this.entityTypeName = className.substring(0, className.indexOf("EventType")).toLowerCase();
+		entityTypeName = className.substring(0, className.indexOf("EventType")).toLowerCase();
 	}
 
 	@Override
 	public String getName() {
-		return this.entityTypeName;
+		return entityTypeName;
 	}
-	
+
 	public boolean isTraceAlias(final String traceAlias) {
-		return this.traceAliases.stream().anyMatch(traceAlias::equals);
+		return traceAliases.stream().anyMatch(traceAlias::equals);
 	}
-	
+
 	@Override
 	public List<String> getTraceAliases() {
-		return this.traceAliases;
+		return traceAliases;
 	}
-	
+
 	public static BTFEntityType getForName(final String name) {
 		return name2Literal.get(name);
 	}
-	
+
 	@Override
 	public Set<Enum<?>> getPossibleEvents() {
 		return BTFEntityState.getPossibleEventsFor(this);
diff --git a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFInterInstanceMetric.java b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFInterInstanceMetric.java
index 54afb75..b802e4f 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFInterInstanceMetric.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/model/BTFInterInstanceMetric.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
@@ -33,13 +33,12 @@
 
 	public final Map<BTFEntityType, Entry<Enumerator, Enumerator>> entityType2FirstAndSecond;
 
-	private BTFInterInstanceMetric(final Enumerator firstInstEvent, final Enumerator secondInstEvent) {
+	BTFInterInstanceMetric(final Enumerator firstInstEvent, final Enumerator secondInstEvent) {
 		this(new SimpleEntry<>(firstInstEvent, secondInstEvent));
 	}
-	
-	@SafeVarargs
-	private BTFInterInstanceMetric(final Entry<Enumerator, Enumerator>...firstAndSecondInstEvent) {
-		this.entityType2FirstAndSecond = new LinkedHashMap<>();
+
+	@SafeVarargs BTFInterInstanceMetric(final Entry<Enumerator, Enumerator>...firstAndSecondInstEvent) {
+		entityType2FirstAndSecond = new LinkedHashMap<>();
 		Stream.of(firstAndSecondInstEvent).forEach(entry -> {
 			String entityTypeName = entry.getKey().getClass().getSimpleName();
 			entityTypeName = entityTypeName.substring(0, entityTypeName.indexOf("EventType")).toLowerCase();
diff --git a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/wizard/ImportPage.java b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/wizard/ImportPage.java
index 1b98fdb..b6f6b57 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/wizard/ImportPage.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/wizard/ImportPage.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Timing-Architects Embedded Systems GmbH - initial API and implementation
  ********************************************************************************
@@ -67,11 +67,11 @@
 		groupLabel.setFont(parent.getFont());
 
 		// source name entry field
-		this.sourceNameField = new Text(sourceContainerGroup, SWT.READ_ONLY | SWT.BORDER);
+		sourceNameField = new Text(sourceContainerGroup, SWT.READ_ONLY | SWT.BORDER);
 		final GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
 		data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-		this.sourceNameField.setLayoutData(data);
-		this.sourceNameField.setFont(parent.getFont());
+		sourceNameField.setLayoutData(data);
+		sourceNameField.setFont(parent.getFont());
 
 		// source browse button
 		final Button sourceBrowseButton = new Button(sourceContainerGroup, SWT.PUSH);
@@ -87,23 +87,23 @@
 		sourceBrowseButton.setFont(parent.getFont());
 		setButtonLayoutData(sourceBrowseButton);
 	}
-	
+
 	@Override
 	protected void createOptionsGroupButtons(Group optionsGroup) {
-		this.calculateMetrics = new Button(optionsGroup, SWT.CHECK);
-		this.calculateMetrics.setFont(optionsGroup.getFont());
-		this.calculateMetrics.setText(Messages.ImportPage_optionCalculateMetrics);
-		this.calculateMetrics.setSelection(true);
-		
-		this.persistTraceEvents = new Button(optionsGroup, SWT.CHECK);
-		this.persistTraceEvents.setFont(optionsGroup.getFont());
-		this.persistTraceEvents.setText(Messages.ImportPage_optionPersistTraceEvents);
-		this.persistTraceEvents.setSelection(true);
-		
-		this.doInMemoryDBImport = new Button(optionsGroup, SWT.CHECK);
-		this.doInMemoryDBImport.setFont(optionsGroup.getFont());
-		this.doInMemoryDBImport.setText(Messages.ImportPage_optionDoInMemoryDBImport);
-		this.doInMemoryDBImport.setSelection(true);
+		calculateMetrics = new Button(optionsGroup, SWT.CHECK);
+		calculateMetrics.setFont(optionsGroup.getFont());
+		calculateMetrics.setText(Messages.ImportPage_optionCalculateMetrics);
+		calculateMetrics.setSelection(true);
+
+		persistTraceEvents = new Button(optionsGroup, SWT.CHECK);
+		persistTraceEvents.setFont(optionsGroup.getFont());
+		persistTraceEvents.setText(Messages.ImportPage_optionPersistTraceEvents);
+		persistTraceEvents.setSelection(true);
+
+		doInMemoryDBImport = new Button(optionsGroup, SWT.CHECK);
+		doInMemoryDBImport.setFont(optionsGroup.getFont());
+		doInMemoryDBImport.setText(Messages.ImportPage_optionDoInMemoryDBImport);
+		doInMemoryDBImport.setSelection(true);
 	}
 
 	@Override
@@ -120,7 +120,7 @@
 	protected boolean determinePageCompletion() {
 		boolean result = super.determinePageCompletion();
 
-		final String path = this.sourceNameField.getText();
+		final String path = sourceNameField.getText();
 		final File file = new File(path);
 		result &= file.exists();
 
@@ -133,7 +133,7 @@
 		fileDialog.setFilterExtensions(new String[] { "*.btf" }); //$NON-NLS-1$
 		final String open = fileDialog.open();
 		if (open != null) {
-			this.sourceNameField.setText(open);
+			sourceNameField.setText(open);
 			update();
 		}
 	}
@@ -143,23 +143,23 @@
 	}
 
 	String getSource() {
-		return this.sourceNameField.getText();
+		return sourceNameField.getText();
 	}
 
 	IContainer getTargetContainer() {
 		return getSpecifiedContainer();
 	}
-	
+
 	boolean isCalculateMetrics() {
-		return this.calculateMetrics.getSelection();
+		return calculateMetrics.getSelection();
 	}
-	
+
 	boolean isPersistTraceEvents() {
-		return this.persistTraceEvents.getSelection();
+		return persistTraceEvents.getSelection();
 	}
-	
+
 	boolean isDoInMemoryDBImport() {
-		return this.doInMemoryDBImport.getSelection();
+		return doInMemoryDBImport.getSelection();
 	}
 
 }
diff --git a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/wizard/ImportWizard.java b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/wizard/ImportWizard.java
index 04a6115..3c8de10 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/wizard/ImportWizard.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/wizard/ImportWizard.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2021 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Timing-Architects Embedded Systems GmbH - initial API and implementation
  ********************************************************************************
@@ -48,8 +48,8 @@
 	@Override
 	public void addPages() {
 		super.addPages();
-		this.mainPage = new ImportPage(this.selection);
-		addPage(this.mainPage);
+		mainPage = new ImportPage(selection);
+		addPage(mainPage);
 	}
 
 	@Override
@@ -67,17 +67,17 @@
 
 	@Override
 	public boolean performFinish() {
-		final String source = this.mainPage.getSource();
-		final IContainer target = this.mainPage.getTargetContainer();
+		final String source = mainPage.getSource();
+		final IContainer target = mainPage.getTargetContainer();
 		// get the file name of the btf
 		final int from = Math.max(source.lastIndexOf('/'), source.lastIndexOf('\\'));
 		final int to = source.lastIndexOf(".btf"); //$NON-NLS-1$
 		final String name = source.substring(from + 1, to);
 		final String atdbFile = target.getLocation() + "/" + name + ".atdb"; //$NON-NLS-1$
-		
-		final boolean calculateMetrics = this.mainPage.isCalculateMetrics();
-		final boolean persistTraceEvents = this.mainPage.isPersistTraceEvents();
-		final boolean doInMemoryDBImport = this.mainPage.isDoInMemoryDBImport();
+
+		final boolean calculateMetrics = mainPage.isCalculateMetrics();
+		final boolean persistTraceEvents = mainPage.isPersistTraceEvents();
+		final boolean doInMemoryDBImport = mainPage.isDoInMemoryDBImport();
 
 		final WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
 
diff --git a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/wizard/Messages.java b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/wizard/Messages.java
index 0141c0e..26c7015 100644
--- a/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/wizard/Messages.java
+++ b/plugins/org.eclipse.app4mc.atdb.import.btf/src/org/eclipse/app4mc/atdb/_import/btf/wizard/Messages.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Eclipse APP4MC contributors.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  ********************************************************************************
  */
 
diff --git a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/Profile.java b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/Profile.java
index 48c4756..24e3ac4 100644
--- a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/Profile.java
+++ b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/Profile.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -22,7 +22,7 @@
 
 /**
  * Annotation for validation profiles.
- * 
+ *
  * Classes annotated as Profile can provide information like name and description.
  * They are used at runtime to characterize the contained group of validations.
  */
diff --git a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ProfileGroup.java b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ProfileGroup.java
index dd808c7..b9fc913 100644
--- a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ProfileGroup.java
+++ b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ProfileGroup.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -25,7 +25,7 @@
 
 /**
  * Annotation for validation profiles.
- * 
+ *
  * Can be used multiple times per class (repeatable).
  */
 
diff --git a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ProfileGroupList.java b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ProfileGroupList.java
index 35a19f7..61b50c4 100644
--- a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ProfileGroupList.java
+++ b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ProfileGroupList.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/Validation.java b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/Validation.java
index 8845735..0e22215 100644
--- a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/Validation.java
+++ b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/Validation.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -22,7 +22,7 @@
 
 /**
  * Annotation for validation classes.
- * 
+ *
  * Classes annotated as Validation can be run through a profile annotated with {@link ValidationGroup}.
  * Requires the specification of a target type on which the validation shall be executed.
  */
diff --git a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ValidationGroup.java b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ValidationGroup.java
index 1f5412f..f0837b1 100644
--- a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ValidationGroup.java
+++ b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ValidationGroup.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -26,7 +26,7 @@
 
 /**
  * Annotation for validation profiles.
- * 
+ *
  * Optionally mapping from {@link Validation} to {@link Severity}.
  * Can be used multiple times per class (repeatable).
  */
diff --git a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ValidationGroupList.java b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ValidationGroupList.java
index 0847548..d751486 100644
--- a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ValidationGroupList.java
+++ b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/annotation/ValidationGroupList.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/IProfile.java b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/IProfile.java
index ee0b794..5fb5592 100644
--- a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/IProfile.java
+++ b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/IProfile.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/IProfileConfiguration.java b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/IProfileConfiguration.java
index fcecfc8..7b29758 100644
--- a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/IProfileConfiguration.java
+++ b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/IProfileConfiguration.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/IValidation.java b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/IValidation.java
index 05dd093..e373d5a 100644
--- a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/IValidation.java
+++ b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/IValidation.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -25,15 +25,15 @@
 
 public interface IValidation {
 
-	public EPackage getEPackage();
-	
-	public EClassifier getEClassifier();
+	EPackage getEPackage();
+
+	EClassifier getEClassifier();
 
 	/**
 	 * @param eObject the Ecore object to validate
 	 * @param results the list of validation results
 	 */
-	public void validate(final EObject eObject, final List<ValidationDiagnostic> results);
+	void validate(final EObject eObject, final List<ValidationDiagnostic> results);
 
 	default String typeInfo(final EObject object) {
 		if (object == null) return "?";
@@ -41,10 +41,10 @@
 		final String type = object.eClass().getName();
 		return StringUtils.join(StringUtils.splitByCharacterTypeCamelCase(type), ' ');	// type with blanks
 	}
-	
+
 	default String objectInfo(final EObject object) {
 		if (object == null) return "?";
-		
+
 		String s1 = typeInfo(object);
 		Object name = attributeValue(object, "name");
 		String s2;
@@ -55,13 +55,13 @@
 		} else {
 			s2 = " \"" + name + "\"";
 		}
-		
+
 		return s1 + s2;
 	}
-	
+
 	default Object attributeValue(final EObject object, final String attribName) {
 		if (object == null || attribName == null) return null;
-		
+
 		EStructuralFeature feature = object.eClass().getEStructuralFeature(attribName);
 		if (feature == null) return null;
 
diff --git a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/Severity.java b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/Severity.java
index 7a5912f..52b29a3 100644
--- a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/Severity.java
+++ b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/Severity.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -16,7 +16,7 @@
 package org.eclipse.app4mc.validation.core;
 
 /**
- *  
+ *
  */
 public enum Severity
 {
diff --git a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/ValidationDiagnostic.java b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/ValidationDiagnostic.java
index 44a65d8..43d4fd0 100644
--- a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/ValidationDiagnostic.java
+++ b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/core/ValidationDiagnostic.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -31,10 +31,10 @@
 
 	private static final String SOURCE = "org.eclipse.app4mc.validation";
 	private static final int NO_INDEX = -1;
-	
+
 	private Severity severity = Severity.UNDEFINED;
 	private String validationID;
-	
+
 	private final String message;
 	private final EObject targetObject;
 	private final EStructuralFeature targetFeature;
@@ -63,13 +63,13 @@
 		}
 
 		this.message = message;
-		this.targetObject = object;
-		this.targetFeature = feature;
+		targetObject = object;
+		targetFeature = feature;
 	}
 
 
 	public EObject getTargetObject() {
-		return this.targetObject;
+		return targetObject;
 	}
 
 	public EStructuralFeature getTargetFeature() {
@@ -77,7 +77,7 @@
 	}
 
 	public String getValidationID() {
-		return this.validationID;
+		return validationID;
 	}
 
 	public void setValidationID(String validationID) {
@@ -85,7 +85,7 @@
 	}
 
 	public Severity getSeverityLevel() {
-		return this.severity;
+		return severity;
 	}
 
 	public void setSeverityLevel(final Severity severity) {
@@ -94,12 +94,12 @@
 
 	@Override
 	public String toString() {
-		return this.validationID + ": " + this.message + " (" + this.targetObject + ")";
+		return validationID + ": " + message + " (" + targetObject + ")";
 	}
 
 	@Override
 	public int getSeverity() {
-		switch (this.severity) {
+		switch (severity) {
 		case INFO:
 			return INFO;
 		case WARNING:
@@ -113,7 +113,7 @@
 
 	@Override
 	public String getMessage() {
-		return this.message;
+		return message;
 	}
 
 	@Override
diff --git a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/util/CachedProfile.java b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/util/CachedProfile.java
index 3c10f77..3d32603 100644
--- a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/util/CachedProfile.java
+++ b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/util/CachedProfile.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019, 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -34,12 +34,12 @@
 
 	private final Class<? extends IProfile> profileClass;
 	private final CachedProfile parentProfile;
-	
+
 	private final String name;
 	private final String description;
 	private final Map<Class<? extends IProfile>, CachedProfile> profiles = new HashMap<>();
 	private final Map<Class<? extends IValidation>, CachedValidator> validations = new HashMap<>();
-	
+
 
 	public CachedProfile(final Class<? extends IProfile> profileClass) {
 		this(profileClass, null);
@@ -47,20 +47,20 @@
 
 	public CachedProfile(final Class<? extends IProfile> profileClass, final CachedProfile parent) {
 		super();
-		
+
 		if (profileClass == null) {
 			throw new IllegalArgumentException("Loading aborted - Undefined profile class (null)");
 		}
-		
+
 		this.profileClass = profileClass;
-		this.parentProfile = parent;
-		
+		parentProfile = parent;
+
 		Profile profile = profileClass.getAnnotation(Profile.class);
 		name = (profile != null) ? profile.name() : profileClass.getSimpleName();
 		description = (profile != null) ? profile.description() : "";
-		
+
 		List<Class<? extends IProfile>> forbiddenClasses = forbiddenSubProfileClasses();
-		
+
 		ProfileGroup[] profileGroupList = profileClass.getAnnotationsByType(ProfileGroup.class);
 		for (ProfileGroup pGroup : profileGroupList) {
 			for (Class<? extends IProfile> pClass : pGroup.profiles()) {
@@ -90,16 +90,16 @@
 
 	private List<Class<? extends IProfile>> forbiddenSubProfileClasses() {
 		List<Class<? extends IProfile>> classes = new ArrayList<>();
-		
+
 		for (CachedProfile profile = this; profile != null; profile = profile.getParentProfile()) {
 			Class<? extends IProfile> pc = profile.getProfileClass();
 			if (pc != null) classes.add(pc);
 		}
-		return classes;	
+		return classes;
 	}
 
 	// *** public getters ***
-	
+
 	public CachedProfile getParentProfile() {
 		return parentProfile;
 	}
@@ -129,20 +129,20 @@
 		addAllValidations(this, resultMap);
 		return resultMap;
 	}
-	
+
 	private void addAllValidations(final CachedProfile profile, final Map<Class<? extends IValidation>, Severity> resultMap) {
 		// add contained validations
 		for (CachedValidator cachedValidator : profile.getCachedValidations().values()) {
 			Class<? extends IValidation> validatorClass = cachedValidator.getValidatorClass();
 			Severity validatorSeverity = cachedValidator.getSeverity();
-			
+
 			Severity oldSeverity = resultMap.get(validatorClass);
 			if (oldSeverity == null || oldSeverity.ordinal() < validatorSeverity.ordinal()) {
 				// insert: class -> higher severity
 				resultMap.put(validatorClass, validatorSeverity);
 			}
 		}
-		
+
 		// add validations of contained profiles (recursive)
 		for (CachedProfile subProfile : profile.getCachedProfiles().values()) {
 			addAllValidations(subProfile, resultMap);
diff --git a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/util/ProfileManager.java b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/util/ProfileManager.java
index f647bfb..e7a5d94 100644
--- a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/util/ProfileManager.java
+++ b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/util/ProfileManager.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -31,28 +31,28 @@
 
 @Component(service=ProfileManager.class)
 public class ProfileManager {
-	
+
 	private final HashMap<Class<? extends IProfile>, CachedProfile> profileMap = new HashMap<>();
 
 	@Reference(
-			cardinality = ReferenceCardinality.MULTIPLE, 
-			policy = ReferencePolicy.DYNAMIC, 
+			cardinality = ReferenceCardinality.MULTIPLE,
+			policy = ReferencePolicy.DYNAMIC,
 			policyOption = ReferencePolicyOption.GREEDY)
 	public void bindProfileConfiguration(IProfileConfiguration config) {
-		synchronized (this.profileMap) {
+		synchronized (profileMap) {
 			Class<? extends IProfile> profileClass = config.getClass();
-			this.profileMap.put(profileClass, getCachedProfile(profileClass));
+			profileMap.put(profileClass, getCachedProfile(profileClass));
 		}
 	}
-	
+
 	public void unbindProfileConfiguration(IProfileConfiguration config) {
-		synchronized (this.profileMap) {
-			this.profileMap.remove(config.getClass());
+		synchronized (profileMap) {
+			profileMap.remove(config.getClass());
 		}
 	}
-	
+
 	public Map<Class<? extends IProfile>, CachedProfile> getRegisteredValidationProfiles() {
-		return Collections.unmodifiableMap(this.profileMap);
+		return Collections.unmodifiableMap(profileMap);
 	}
 
 	protected void loadProfile(Class<? extends IProfile> profileClass) {
@@ -60,7 +60,7 @@
 			return;
 		}
 
-		this.profileMap.put(profileClass, new CachedProfile(profileClass));
+		profileMap.put(profileClass, new CachedProfile(profileClass));
 	}
 
 	public CachedProfile getCachedProfile(Class<? extends IProfile> profileClass) {
@@ -68,11 +68,11 @@
 			return null;
 		}
 
-		if (!this.profileMap.containsKey(profileClass)) {
+		if (!profileMap.containsKey(profileClass)) {
 			loadProfile(profileClass);
 		}
 
-		return this.profileMap.get(profileClass);
+		return profileMap.get(profileClass);
 	}
 
 	// *** Some helper methods
diff --git a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/util/ValidationAggregator.java b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/util/ValidationAggregator.java
index 1632d0d..eab4a56 100644
--- a/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/util/ValidationAggregator.java
+++ b/plugins/org.eclipse.app4mc.validation.core/src/org/eclipse/app4mc/validation/util/ValidationAggregator.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -49,14 +49,14 @@
 	private final Map<EClassifier, Set<CachedValidator>> validationMap2 = new HashMap<>();
 
 	private boolean rebuildValidationMaps = false;
-	
+
 	public ValidationAggregator() {
 		super();
 	}
-	
+
 	public void addProfiles(final Collection<Class<? extends IProfile>> profileClasses) {
 		if (profileClasses == null || profileClasses.isEmpty()) return;
-		
+
 		// store profiles in cache
 		for (Class<? extends IProfile> pClass : profileClasses) {
 			addProfile(pClass);
@@ -66,11 +66,11 @@
 	public void addProfile(final Class<? extends IProfile> profileClass) {
 		if (profileClass == null) return;
 
-		if (!this.profileCache.containsKey(profileClass)) {
+		if (!profileCache.containsKey(profileClass)) {
 			// create new profile and add to cache
 			CachedProfile profile = new CachedProfile(profileClass);
-			this.profileCache.put(profileClass, profile);
-			
+			profileCache.put(profileClass, profile);
+
 			// add validations of profile to cache
 			addValidations(profile.getAllValidations());
 		}
@@ -78,26 +78,26 @@
 
 	public void addValidations(final Map<Class<? extends IValidation>, Severity> map) {
 		if (map == null || map.isEmpty()) return;
-		
+
 		for (Entry<Class<? extends IValidation>, Severity> entry : map.entrySet()) {
 			addValidation(entry.getKey(), entry.getValue());
 		}
 	}
-	
+
 	public void addValidation(final Class<? extends IValidation> validatorClass, Severity validatorSeverity) {
 		if (validatorClass == null) return;
-		
-		CachedValidator cachedValidator = this.validatorCache.get(validatorClass);
+
+		CachedValidator cachedValidator = validatorCache.get(validatorClass);
 		if (cachedValidator == null) {
 			// create new validator and add to cache
 			CachedValidator newValidator = new CachedValidator(validatorClass, validatorSeverity);
-			this.validatorCache.put(validatorClass, newValidator);
-			this.rebuildValidationMaps = true;
-			
+			validatorCache.put(validatorClass, newValidator);
+			rebuildValidationMaps = true;
+
 			// store affected Ecore package and classes
 			EPackage ePackage = newValidator.getValidatorInstance().getEPackage();
-			if (ePackage != null && !this.ePackageSet.contains(ePackage)) {
-				this.ePackageSet.add(ePackage);
+			if (ePackage != null && !ePackageSet.contains(ePackage)) {
+				ePackageSet.add(ePackage);
 				extendClassSet(ePackage);
 			}
 		} else {
@@ -114,50 +114,50 @@
 			if (classifier instanceof EClass) {
 				EClass eClass = (EClass) classifier;
 				if (!eClass.isAbstract() && !eClass.isInterface())
-					this.eClassSet.add(eClass);
+					eClassSet.add(eClass);
 			}
 		}
 	}
 
 	private void rebuildValidationMaps() {
-		
+
 		// Collect validations in Map 1
-		
-		this.validationMap1.clear();
-		
-		for (CachedValidator validator : this.validatorCache.values()) {
+
+		validationMap1.clear();
+
+		for (CachedValidator validator : validatorCache.values()) {
 			EClassifier eClassifier = validator.getTargetEClassifier();
-			
-			this.validationMap1
-				.computeIfAbsent(eClassifier, k -> new ArrayList<CachedValidator>())
+
+			validationMap1
+				.computeIfAbsent(eClassifier, k -> new ArrayList<>())
 				.add(validator);
 		}
-		
+
 		// Reuse validations of Map1 in Map2
-		
-		this.validationMap2.clear();
-		
+
+		validationMap2.clear();
+
 		for (Entry<EClassifier, List<CachedValidator>> entry : validationMap1.entrySet()) {
 			addValidationsToMap2(entry.getKey(), entry.getValue());
 		}
-		
-		this.rebuildValidationMaps = false;
+
+		rebuildValidationMaps = false;
 	}
-	
+
 	private void addValidationsToMap2(final EClassifier eClassifier, final List<CachedValidator> validatorList) {
 		if (eClassifier instanceof EDataType) {
 			// Add entry for data type
 			basicAddValidationsToMap2(eClassifier, validatorList);
-			
+
 		} else if (eClassifier instanceof EClass) {
 			// Add entry for concrete target class
 			EClass eClass = (EClass) eClassifier;
 			if (!eClass.isAbstract() && !eClass.isInterface()) {
 				basicAddValidationsToMap2(eClass, validatorList);
 			}
-			
+
 			// Add entries for sub classes of target class
-			for (EClass potentialSubclass : this.eClassSet) {
+			for (EClass potentialSubclass : eClassSet) {
 				// Hint: special check for EObject is required
 				if (eClass.equals(EcorePackage.eINSTANCE.getEObject()) || eClass.isSuperTypeOf(potentialSubclass)) {
 					basicAddValidationsToMap2(potentialSubclass, validatorList);
@@ -168,9 +168,9 @@
 
 	private void basicAddValidationsToMap2(final EClassifier eClassifier, final List<CachedValidator> validatorList) {
 		// only add entries for elements of the concerned packages
-		if (this.ePackageSet.contains(eClassifier.eContainer())) {
-			this.validationMap2
-				.computeIfAbsent(eClassifier, k -> new HashSet<CachedValidator>())
+		if (ePackageSet.contains(eClassifier.eContainer())) {
+			validationMap2
+				.computeIfAbsent(eClassifier, k -> new HashSet<>())
 				.addAll(validatorList);
 		}
 	}
@@ -179,7 +179,7 @@
 	// *** public getters ***
 
 	public List<Class<? extends IProfile>> getProfiles() {
-		return this.profileCache.values().stream().map(CachedProfile::getProfileClass).collect(Collectors.toList());
+		return profileCache.values().stream().map(CachedProfile::getProfileClass).collect(Collectors.toList());
 	}
 
 	public Set<EPackage> getEPackages() {
@@ -187,8 +187,8 @@
 	}
 
 	public Set<CachedValidator> getValidations(final EClass targetClass) {
-		if (this.rebuildValidationMaps) rebuildValidationMaps();
-		
+		if (rebuildValidationMaps) rebuildValidationMaps();
+
 		Set<CachedValidator> result = validationMap2.get(targetClass);
 		if (result == null) {
 			return Collections.emptySet();
@@ -198,10 +198,10 @@
 	}
 
 	public ConcurrentMap<EClassifier, CopyOnWriteArraySet<CachedValidator>> getConcurrentValidationMap() {
-		if (this.rebuildValidationMaps) rebuildValidationMaps();
-		
+		if (rebuildValidationMaps) rebuildValidationMaps();
+
 		ConcurrentHashMap<EClassifier, CopyOnWriteArraySet<CachedValidator>> map = new ConcurrentHashMap<>();
-		
+
 		for (Entry<EClassifier, Set<CachedValidator>> entry : validationMap2.entrySet()) {
 			map.put(entry.getKey(), new CopyOnWriteArraySet<>(entry.getValue()));
 		}
@@ -213,8 +213,8 @@
 
 	public void dumpValidationMap1(PrintStream out) {
 		if (out == null) return;
-		
-		if (this.rebuildValidationMaps) rebuildValidationMaps();
+
+		if (rebuildValidationMaps) rebuildValidationMaps();
 
 		List<EClassifier> classifiers = validationMap1.keySet().stream()
 				.sorted(Comparator.comparing(EClassifier::getName))
@@ -231,7 +231,7 @@
 	public void dumpValidationMap2(PrintStream out) {
 		if (out == null) return;
 
-		if (this.rebuildValidationMaps) rebuildValidationMaps();
+		if (rebuildValidationMaps) rebuildValidationMaps();
 
 		List<EClassifier> classifiers = validationMap2.keySet().stream()
 				.sorted(Comparator.comparing(EClassifier::getName))
diff --git a/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/ProfileDialog.java b/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/ProfileDialog.java
index b1751aa..c2c21e2 100644
--- a/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/ProfileDialog.java
+++ b/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/ProfileDialog.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -55,7 +55,7 @@
 	public ProfileDialog(Shell parentShell, ILabelProvider labelProvider, ITreeContentProvider contentProvider, ProfileDialogSettings set) {
 		super(parentShell, labelProvider, contentProvider);
 
-		this.settings = (set != null) ? set : new ProfileDialogSettings();
+		settings = (set != null) ? set : new ProfileDialogSettings();
 
 		initializeDialog();
 	}
@@ -118,13 +118,13 @@
 	}
 
 	private void initializeDialog() {
-		this.setContainerMode(true);
-		this.setMessage("Choose profiles");
-		this.setTitle("Validations");
-		this.setInput(settings);
+		setContainerMode(true);
+		setMessage("Choose profiles");
+		setTitle("Validations");
+		setInput(settings);
 
 		// set initial selection
-		List<CachedProfile> initialSelection = this.settings.getInitialSelection();
+		List<CachedProfile> initialSelection = settings.getInitialSelection();
 		setInitialElementSelections(initialSelection);
 
 		setExpandedElements(initialSelection.stream().flatMap(cached -> getParents(cached).stream()).toArray());
@@ -143,7 +143,7 @@
 
 		// scope
 		if (btnScopeFile.getSelection()) {
-			settings.setScope(ProfileDialogSettings.SCOPE_FILE);			
+			settings.setScope(ProfileDialogSettings.SCOPE_FILE);
 		} else if (btnScopeFolder.getSelection()) {
 			settings.setScope(ProfileDialogSettings.SCOPE_FOLDER);
 		}
diff --git a/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/ProfileDialogSettings.java b/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/ProfileDialogSettings.java
index e778db3..da311e3 100644
--- a/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/ProfileDialogSettings.java
+++ b/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/ProfileDialogSettings.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -17,6 +17,7 @@
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Comparator;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
@@ -56,7 +57,7 @@
 	@Inject
 	@Optional
 	public void setProfileManager(@Service ProfileManager manager) {
-		this.profileManager = manager;
+		profileManager = manager;
 	}
 
 	// getters and setters
@@ -64,7 +65,7 @@
 	public String getScope() {
 		return scope;
 	}
-	
+
 	public void setScope(String scope) {
 		this.scope = scope;
 	}
@@ -88,8 +89,8 @@
 	// methods required by tree view
 
 	public Object[] getProfiles() {
-		return this.profileManager.getRegisteredValidationProfiles().values().stream()
-				.sorted((p1, p2) -> p1.getName().compareTo(p2.getName()))
+		return profileManager.getRegisteredValidationProfiles().values().stream()
+				.sorted(Comparator.comparing(CachedProfile::getName))
 				.toArray();
 	}
 
@@ -97,14 +98,14 @@
 		List<CachedProfile> allNodes = new ArrayList<>();
 
 		// get all profiles
-		for (CachedProfile rootNode : this.profileManager.getRegisteredValidationProfiles().values()) {
+		for (CachedProfile rootNode : profileManager.getRegisteredValidationProfiles().values()) {
 			allNodes.add(rootNode);
 			collectSubNodes(rootNode, allNodes);
 		}
 
 		// keep only selected profiles and group them
 		Map<Object, List<CachedProfile>> filteredNodesMap = allNodes.stream()
-				.filter( cache -> this.selectedProfileClassNames.contains(cache.getProfileClass().getName()) )
+				.filter( cache -> selectedProfileClassNames.contains(cache.getProfileClass().getName()) )
 				.collect(Collectors.groupingBy( cache -> cache.getProfileClass().getName() ));
 
 		// select one representative per group (the one that is highest in the tree)
@@ -112,7 +113,7 @@
 		for (List<CachedProfile> list : filteredNodesMap.values()) {
 			result.add(getRepresentative(list));
 		}
-		
+
 		return result;
 	}
 
@@ -140,7 +141,7 @@
 				selectedLevel = tmpLevel;
 			}
 		}
-		
+
 		return selectedProfile;
 	}
 
@@ -158,32 +159,31 @@
 	}
 
 	public void setSelectedProfileClassNames(List<String> classNames) {
-		this.selectedProfileClassNames.clear();
-		this.selectedProfileClassNames.addAll(classNames);
+		selectedProfileClassNames.clear();
+		selectedProfileClassNames.addAll(classNames);
 	}
 
 	// dialog settings store
-	
+
 	public void loadFrom(IDialogSettings store) {
 		if (store == null) return;
-		
+
 		// KEY_SELECTED_PROFILE_CLASSES
 		String[] classNames = store.getArray(KEY_SELECTED_PROFILE_CLASSES);
 		if (classNames != null) {
-			setSelectedProfileClassNames(Arrays.asList(classNames));			
+			setSelectedProfileClassNames(Arrays.asList(classNames));
 		}
 
 		// KEY_SELECTED_SCOPE
 		String selectedScope = store.get(KEY_SELECTED_SCOPE);
 		if (selectedScope != null) {
-			setScope(selectedScope);			
+			setScope(selectedScope);
 		}
 	}
 
 	public void saveTo(IDialogSettings store) {
-		if (store == null) return;
-		if (!dialogSuccess || dialogResults == null) return;
-		
+		if ((store == null) || !dialogSuccess || dialogResults == null) return;
+
 		// KEY_SELECTED_PROFILE_CLASSES
 		String[] classNames = dialogResults.stream().map(Class::getName).toArray(String[]::new);
 		store.put(KEY_SELECTED_PROFILE_CLASSES, classNames);
diff --git a/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/ValidationUIPlugin.java b/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/ValidationUIPlugin.java
index ee65541..0fad070 100644
--- a/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/ValidationUIPlugin.java
+++ b/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/ValidationUIPlugin.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/provider/ProfileContentProvider.java b/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/provider/ProfileContentProvider.java
index 2c3abac..a3031ba 100644
--- a/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/provider/ProfileContentProvider.java
+++ b/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/provider/ProfileContentProvider.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -15,6 +15,8 @@
 
 package org.eclipse.app4mc.validation.ui.provider;
 
+import java.util.Comparator;
+
 import org.eclipse.app4mc.validation.ui.ProfileDialogSettings;
 import org.eclipse.app4mc.validation.util.CachedProfile;
 import org.eclipse.jface.viewers.ITreeContentProvider;
@@ -30,7 +32,7 @@
 	public Object[] getChildren(Object parentElement) {
 		CachedProfile profile = (CachedProfile) parentElement;
 		return profile.getCachedProfiles().values().stream()
-				.sorted((p1, p2) -> p1.getName().compareTo(p2.getName()))
+				.sorted(Comparator.comparing(CachedProfile::getName))
 				.toArray();
 	}
 
diff --git a/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/provider/ProfileLabelProvider.java b/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/provider/ProfileLabelProvider.java
index 78dc0b9..4e8be33 100644
--- a/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/provider/ProfileLabelProvider.java
+++ b/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/provider/ProfileLabelProvider.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -40,9 +40,9 @@
 
 			StringBuilder sb = new StringBuilder();
 			if (node.getDescription().isEmpty()) {
-				sb.append(node.getName());	
+				sb.append(node.getName());
 			} else {
-				sb.append(node.getDescription());				
+				sb.append(node.getDescription());
 			}
 			for (CachedValidator validator : node.getCachedValidations().values()) {
 				sb.append("\n   " + validator.getValidationID());
@@ -51,12 +51,12 @@
 				}
 			}
 			if (sb.length() > 0) {
-				return sb.toString();				
+				return sb.toString();
 			}
 		}
 		return null;
 	}
-	
+
 	@Override
 	public void update(ViewerCell cell) {
 		Object element = cell.getElement();
diff --git a/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/util/ValidationExecutorWithMonitor.java b/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/util/ValidationExecutorWithMonitor.java
index b66e645..fe6fa19 100644
--- a/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/util/ValidationExecutorWithMonitor.java
+++ b/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/util/ValidationExecutorWithMonitor.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -55,7 +55,7 @@
 
 	/**
 	 * Validates the model object (and all contained objects)
-	 * 
+	 *
 	 * @param model		the model object to validate
 	 * @return the status
 	 */
@@ -65,7 +65,7 @@
 
 	/**
 	 * Validates the model objects (and all contained objects)
-	 * 
+	 *
 	 * @param models	the list of model objects to validate
 	 * @return the status
 	 */
@@ -75,7 +75,7 @@
 
 	/**
 	 * Validates the model object (and all contained objects)
-	 * 
+	 *
 	 * @param model		the model object to validate
 	 * @param monitor	the progress monitor
 	 * @return the status
@@ -86,14 +86,14 @@
 
 	/**
 	 * Validates the model objects (and all contained objects)
-	 * 
+	 *
 	 * @param models	the list of model objects to validate
 	 * @param monitor	the progress monitor
 	 * @return the status
 	 */
 	public IStatus validateWithMonitor(final List<EObject> models, final IProgressMonitor monitor) {
-		this.results.clear();
-		
+		results.clear();
+
 		try {
 			// count overall number of objects
 			int count = 0;
diff --git a/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/util/ValidationMarkerHelper.java b/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/util/ValidationMarkerHelper.java
index 602ecbb..84e2a8b 100644
--- a/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/util/ValidationMarkerHelper.java
+++ b/plugins/org.eclipse.app4mc.validation.ui/src/org/eclipse/app4mc/validation/ui/util/ValidationMarkerHelper.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -26,16 +26,16 @@
 import org.eclipse.emf.edit.ui.action.ValidateAction.EclipseResourcesUtil;
 
 public class ValidationMarkerHelper extends EclipseResourcesUtil {
-	
+
 	@Override
 	protected boolean adjustMarker(IMarker marker, Diagnostic genericDiagnostic) throws CoreException
 	  {
 		if (genericDiagnostic instanceof ValidationDiagnostic) {
 			ValidationDiagnostic diagnostic = (ValidationDiagnostic) genericDiagnostic;
-			
+
 			EObject affectedObject = diagnostic.getTargetObject();
 			EStructuralFeature affectedFeature = diagnostic.getTargetFeature();
-			
+
 			// LOCATION attribute
 			String location;
 			if (affectedObject == null) {
@@ -47,7 +47,7 @@
 				}
 			}
 			marker.setAttribute(IMarker.LOCATION, location);
-			
+
 			// URI attribute
 			if (affectedObject != null) {
 				marker.setAttribute(EValidator.URI_ATTRIBUTE, EcoreUtil.getURI(affectedObject).toString());
@@ -55,10 +55,10 @@
 
 			// SOURCE attribute
 			marker.setAttribute(IMarker.SOURCE_ID, diagnostic.getValidationID());
-			
+
 			return true;
 		}
-		
+
 		return false;
 	  }
 
diff --git a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/VisualizationPart.java b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/VisualizationPart.java
index 1fce1b3..91f0f6f 100644
--- a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/VisualizationPart.java
+++ b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/VisualizationPart.java
@@ -132,17 +132,17 @@
 	@PostConstruct
 	public void postConstruct(Composite parent, MPart part,
 			@Optional @Named(IServiceConstants.ACTIVE_SELECTION) ISelection selection) {
-		this.parentComposite = parent;
-		this.parentComposite.setLayout(new FillLayout());
-		this.parentComposite.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE));
+		parentComposite = parent;
+		parentComposite.setLayout(new FillLayout());
+		parentComposite.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE));
 
-		if (this.visualizationComposite == null) {
-			this.visualizationComposite = new Composite(parent, SWT.NONE);
-			this.visualizationComposite.setLayout(new FillLayout());
+		if (visualizationComposite == null) {
+			visualizationComposite = new Composite(parent, SWT.NONE);
+			visualizationComposite.setLayout(new FillLayout());
 			if (selection != null) {
 				handleSelection(selection);
 			} else {
-				showEmpty(this.visualizationComposite);
+				showEmpty(visualizationComposite);
 			}
 		}
 
@@ -156,7 +156,7 @@
 			for (String entry : keyValues) {
 				String[] keyValue = entry.split("=");
 				if (keyValue.length == 2) {
-					this.lastSelected.put(keyValue[0], keyValue[1]);
+					lastSelected.put(keyValue[0], keyValue[1]);
 				}
 			}
 		}
@@ -173,7 +173,7 @@
 	/**
 	 * Disposes a current visualization and renders the visualization for the
 	 * current active model element.
-	 * 
+	 *
 	 * @param visualizationId The ID of the visualization to show. Can be
 	 *                        <code>null</code> which results in showing the first
 	 *                        available visualization.
@@ -185,7 +185,7 @@
 	/**
 	 * Disposes a current visualization and renders the visualization for the
 	 * current active model element.
-	 * 
+	 *
 	 * @param visualizationId The ID of the visualization to show. Can be
 	 *                        <code>null</code> which results in showing the first
 	 *                        available visualization.
@@ -194,98 +194,98 @@
 	 *                        visualization should be opened.
 	 */
 	public void showVisualization(String visualizationId, boolean reload) {
-		if (this.parentComposite == null || (!reload && isPinned())) {
+		if (parentComposite == null || (!reload && isPinned())) {
 			return;
 		}
 
 		// clear any current active visualization
-		if (this.visualizationComposite != null) {
-			if (this.activeContext != null && this.activeVisualization != null) {
+		if (visualizationComposite != null) {
+			if (activeContext != null && activeVisualization != null) {
 				ContextInjectionFactory.invoke(activeVisualization, PreDestroy.class, activeContext, null);
-				this.activeContext.dispose();
+				activeContext.dispose();
 			}
-			this.visualizationComposite.dispose();
+			visualizationComposite.dispose();
 		}
 
 		// create a new Composite as parent for the visualization
-		this.visualizationComposite = new Composite(this.parentComposite, SWT.NONE);
-		this.visualizationComposite.setLayout(new FillLayout());
+		visualizationComposite = new Composite(parentComposite, SWT.NONE);
+		visualizationComposite.setLayout(new FillLayout());
 
 		// find the visualization for the current active model type and the given id
-		this.availableModelVisualizations = this.registry.getVisualizations(this.activeTypes);
-		if (!this.availableModelVisualizations.isEmpty()) {
+		availableModelVisualizations = registry.getVisualizations(activeTypes);
+		if (!availableModelVisualizations.isEmpty()) {
 
 			if (visualizationId != null) {
-				this.activeVisualization = this.availableModelVisualizations.stream()
+				activeVisualization = availableModelVisualizations.stream()
 						.filter(mv -> mv.getId().equals(visualizationId))
 						.findFirst()
 						.orElse(null);
 
 				// only handle if there is a visualization for the given id
-				if (this.activeVisualization != null) {
-					this.lastSelected.put(this.activeTypes.get(0).getName(), visualizationId);	// ???
+				if (activeVisualization != null) {
+					lastSelected.put(activeTypes.get(0).getName(), visualizationId);	// ???
 				} else {
 					// take the first returned available visualization
-					this.activeVisualization = this.availableModelVisualizations.get(0);
+					activeVisualization = availableModelVisualizations.get(0);
 				}
 			} else {
 				// take the first returned available visualization
-				this.activeVisualization = this.availableModelVisualizations.get(0);
+				activeVisualization = availableModelVisualizations.get(0);
 			}
 
-			if (this.activeVisualization != null) {
-				this.activeContext = this.partContext.createChild(this.activeTypes.get(0) + " Visualization");	// ???
-				this.activeContext.set(Composite.class, this.visualizationComposite);
+			if (activeVisualization != null) {
+				activeContext = partContext.createChild(activeTypes.get(0) + " Visualization");	// ???
+				activeContext.set(Composite.class, visualizationComposite);
 
-				this.activeContext.set(this.activeVisualization.getType(), this.activeModelElements.get(0));
-				this.activeContext.set(List.class, this.activeModelElements);
+				activeContext.set(activeVisualization.getType(), activeModelElements.get(0));
+				activeContext.set(List.class, activeModelElements);
 
-				ContextInjectionFactory.invoke(this.activeVisualization.getVisualization(), PostConstruct.class, this.activeContext);
-				this.parentComposite.layout(true);
+				ContextInjectionFactory.invoke(activeVisualization.getVisualization(), PostConstruct.class, activeContext);
+				parentComposite.layout(true);
 			} else {
-				showEmpty(this.visualizationComposite);
+				showEmpty(visualizationComposite);
 			}
 		} else {
-			showEmpty(this.visualizationComposite);
+			showEmpty(visualizationComposite);
 		}
 	}
 
 	@Inject
 	@Optional
 	void handleSelection(@Named(IServiceConstants.ACTIVE_SELECTION) ISelection selection) {
-		if (!this.pinned) {
+		if (!pinned) {
 
 			// ensure that we are able to remove the adapter from a previous selection
 			EObject previous = null;
-			if (this.activeModelElements != null
-					&& this.activeModelElements.size() == 1
-					&& this.activeModelElements.get(0) instanceof EObject) {
-				previous = (EObject) this.activeModelElements.get(0);
+			if (activeModelElements != null
+					&& activeModelElements.size() == 1
+					&& activeModelElements.get(0) instanceof EObject) {
+				previous = (EObject) activeModelElements.get(0);
 			}
 
 			if (selection instanceof TreeSelection && !selection.isEmpty()) {
 				TreeSelection s = (TreeSelection) selection;
 
-				this.activeModelElements = s.toList();
+				activeModelElements = s.toList();
 
-				this.activeTypes = getNearestCommonTypes(this.activeModelElements);
+				activeTypes = getNearestCommonTypes(activeModelElements);
 
-				this.availableModelVisualizations = null;
+				availableModelVisualizations = null;
 
 				// remove the adapter from a previous selection
 				if (previous != null) {
 					adapterEnabled = false;
-					previous.eAdapters().remove(this.updateViewAdapter);
+					previous.eAdapters().remove(updateViewAdapter);
 				}
 
-				if (!this.activeTypes.isEmpty() && this.activeModelElements.size() == 1
-						&& this.activeModelElements.get(0) instanceof EObject) {
-					((EObject) this.activeModelElements.get(0)).eAdapters().add(this.updateViewAdapter);
+				if (!activeTypes.isEmpty() && activeModelElements.size() == 1
+						&& activeModelElements.get(0) instanceof EObject) {
+					((EObject) activeModelElements.get(0)).eAdapters().add(updateViewAdapter);
 					adapterEnabled = true;
 				}
 
 				// check if there is a default visualization already configured
-				showVisualization(!this.activeTypes.isEmpty() ? lastSelected.get(this.activeTypes.get(0).getName()) : null);	// ???
+				showVisualization(!activeTypes.isEmpty() ? lastSelected.get(activeTypes.get(0).getName()) : null);	// ???
 			}
 		}
 	}
@@ -347,7 +347,7 @@
 	}
 
 	/**
-	 * 
+	 *
 	 * @param parent The parent {@link Composite}, should be the {@link #visualizationComposite}.
 	 */
 	private void showEmpty(Composite parent) {
@@ -371,58 +371,58 @@
 
 	@PreDestroy
 	public void preDestroy() {
-		if (this.visualizationComposite != null) {
-			this.visualizationComposite.dispose();
+		if (visualizationComposite != null) {
+			visualizationComposite.dispose();
 		}
-		if (this.activeContext != null) {
-			this.activeContext.dispose();
+		if (activeContext != null) {
+			activeContext.dispose();
 		}
 	}
 
 	/**
-	 * 
+	 *
 	 * @return The model type that should be visualized.
 	 */
 	public List<Class<?>> getActiveModelTypes() {
-		return this.activeTypes;
+		return activeTypes;
 	}
 
 	/**
-	 * 
+	 *
 	 * @return The model elements that are used for the visualization.
 	 */
 	public List<?> getActiveModelElements() {
-		return this.activeModelElements;
+		return activeModelElements;
 	}
 
 	/**
-	 * 
+	 *
 	 * @return <code>true</code> if an active model element is set,
 	 *         <code>false</code> if no active model element is available.
 	 */
 	public boolean hasActiveModelElement() {
-		return this.activeModelElements != null && !this.activeModelElements.isEmpty();
+		return activeModelElements != null && !activeModelElements.isEmpty();
 	}
 
 	/**
-	 * 
+	 *
 	 * @return The current active rendered visualization.
 	 */
 	public ModelVisualization getActiveVisualization() {
-		return this.activeVisualization;
+		return activeVisualization;
 	}
 
 	/**
-	 * 
+	 *
 	 * @return The list of all available visualizations available for the current
 	 *         {@link #activeType}.
 	 */
 	public List<ModelVisualization> getAvailableModelVisualizations() {
-		return this.availableModelVisualizations != null ? this.availableModelVisualizations : Collections.emptyList();
+		return availableModelVisualizations != null ? availableModelVisualizations : Collections.emptyList();
 	}
 
 	/**
-	 * 
+	 *
 	 * @return <code>true</code> if the selection listener is disabled,
 	 *         <code>false</code> if the visualization is updated on
 	 *         selection changes.
@@ -432,7 +432,7 @@
 	}
 
 	/**
-	 * 
+	 *
 	 * @param pinned <code>true</code> if the selection listener should be disabled,
 	 *               <code>false</code> if the visualization should be updated on
 	 *               selection changes.
@@ -443,13 +443,13 @@
 
 	/**
 	 * Persist the local state.
-	 * 
+	 *
 	 * @param part The part to which this instance is connected.
 	 */
 	@PersistState
 	public void persistState(MPart part) {
 		Map<String, String> state = part.getPersistedState();
-		state.put(LAST_SELECTED_STATE, this.lastSelected.toString());
+		state.put(LAST_SELECTED_STATE, lastSelected.toString());
 	}
 
 }
diff --git a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/AmaltheaModelElementExpression.java b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/AmaltheaModelElementExpression.java
index 936aa91..0ddc0d9 100644
--- a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/AmaltheaModelElementExpression.java
+++ b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/AmaltheaModelElementExpression.java
@@ -10,7 +10,7 @@
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
- */ 
+ */
 package org.eclipse.app4mc.visualization.ui.handler;
 
 import javax.inject.Named;
@@ -26,10 +26,10 @@
  * Imperative expression implementation that checks if the current active selection is an Amalthea model element.
  */
 public class AmaltheaModelElementExpression {
-	
+
 	@Evaluate
 	public boolean evaluate(@Optional @Named(IServiceConstants.ACTIVE_SELECTION) IStructuredSelection selection) {
-		if (selection != null && !selection.isEmpty() 
+		if (selection != null && !selection.isEmpty()
 				&& selection.getFirstElement() instanceof EObject
 				&& ((EObject)selection.getFirstElement()).eClass().getEPackage().equals(AmaltheaPackage.eINSTANCE)) {
 			return true;
diff --git a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/OpenVisualizationHandler.java b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/OpenVisualizationHandler.java
index df72992..a0ad667 100644
--- a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/OpenVisualizationHandler.java
+++ b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/OpenVisualizationHandler.java
@@ -29,5 +29,5 @@
 		MPart part = partService.createPart(VisualizationPart.ID);
         partService.showPart(part, PartState.ACTIVATE);
 	}
-		
+
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/PinVisualizationHandler.java b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/PinVisualizationHandler.java
index b6a9015..46ba5f6 100644
--- a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/PinVisualizationHandler.java
+++ b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/PinVisualizationHandler.java
@@ -32,11 +32,11 @@
 	public void execute(@Active MPart activePart) {
 		if (activePart.getObject() instanceof VisualizationPart) {
 			VisualizationPart part = (VisualizationPart) activePart.getObject();
-			
+
 			for (MToolBarElement element : activePart.getToolbar().getChildren()) {
 				if (element.getElementId().equals("org.eclipse.app4mc.visualization.ui.directtoolitem.pin")) {
 					MDirectToolItem toolItem = (MDirectToolItem) element;
-					
+
 					boolean pinned = part.isPinned();
 					part.setPinned(!pinned);
 					toolItem.setSelected(!pinned);
@@ -44,7 +44,7 @@
 			}
 		}
 	}
-	
+
 	@CanExecute
     public boolean canExecute(@Active MPart activePart) {
 		if (activePart.getObject() instanceof VisualizationPart) {
diff --git a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/ReloadVisualizationHandler.java b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/ReloadVisualizationHandler.java
index 31fbe8a..6c71ef4 100644
--- a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/ReloadVisualizationHandler.java
+++ b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/ReloadVisualizationHandler.java
@@ -38,7 +38,7 @@
 			}
 		}
     }
-	
+
 	@CanExecute
     public boolean canExecute(@Active MPart activePart) {
 
diff --git a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/SelectInModelHandler.java b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/SelectInModelHandler.java
index ace78b2..3bb1b5f 100644
--- a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/SelectInModelHandler.java
+++ b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/SelectInModelHandler.java
@@ -26,7 +26,7 @@
  * Handler that triggers selection on the model editor.
  */
 public class SelectInModelHandler {
-	
+
 	@Execute
 	public void execute(@Active MPart activePart, IEventBroker broker) {
 		if (activePart.getObject() instanceof VisualizationPart) {
@@ -38,7 +38,7 @@
 			}
 		}
 	}
-	
+
 	@CanExecute
     public boolean canExecute(@Active MPart activePart) {
 		if (activePart.getObject() instanceof VisualizationPart) {
diff --git a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/ShowVisualizationHandler.java b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/ShowVisualizationHandler.java
index 0014316..1e03374 100644
--- a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/ShowVisualizationHandler.java
+++ b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/ShowVisualizationHandler.java
@@ -32,7 +32,7 @@
     public void execute(
     		@Named("app4mc.visualization.id") String visualizationId,
     		@Active MPart part) {
-		
+
 		VisualizationPart visualizationPart = (VisualizationPart) part.getObject();
 		visualizationPart.showVisualization(visualizationId);
     }
diff --git a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/VisualizationMenuContribution.java b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/VisualizationMenuContribution.java
index ebb249a..e3de3b5 100644
--- a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/VisualizationMenuContribution.java
+++ b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/handler/VisualizationMenuContribution.java
@@ -39,7 +39,7 @@
 
 	@AboutToShow
 	public void aboutToShow(
-			List<MMenuElement> items, 
+			List<MMenuElement> items,
 			@Active MPart activePart,
 			EModelService modelService,
 			MApplication app) {
@@ -53,13 +53,13 @@
 				menuItem.setTooltip(modelVisualization.getDescription());
 				menuItem.setElementId(modelVisualization.getId());
 				menuItem.setContributorURI("platform:/plugin/org.eclipse.app4mc.visualization.ui");
-				
+
 				menuItem.setType(ItemType.CHECK);
 				menuItem.setSelected(modelVisualization.getId().equals(part.getActiveVisualization().getId()));
 
 				List<MCommand> command = modelService.findElements(
-						app, 
-						"org.eclipse.app4mc.visualization.ui.command.showapp4mcvisualization", 
+						app,
+						"org.eclipse.app4mc.visualization.ui.command.showapp4mcvisualization",
 						MCommand.class);
 				menuItem.setCommand(command.get(0));
 
@@ -68,7 +68,7 @@
 				parameter.setValue(modelVisualization.getId());
 				menuItem.getParameters().add(parameter);
 
-				items.add(menuItem);	
+				items.add(menuItem);
 			}
 		}
 	}
diff --git a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/registry/ModelVisualization.java b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/registry/ModelVisualization.java
index 62d3f05..afed84f 100644
--- a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/registry/ModelVisualization.java
+++ b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/registry/ModelVisualization.java
@@ -24,7 +24,7 @@
 	 * The unique id of the {@link Visualization}.
 	 */
 	private final String id;
-	
+
 	/**
 	 * The {@link Visualization} instance.
 	 */
@@ -34,12 +34,12 @@
 	 * The name of the {@link Visualization}.
 	 */
 	private final String name;
-	
+
 	/**
 	 * The description of the {@link Visualization}.
 	 */
 	private final String description;
-	
+
 	/**
 	 * The model type under which the visualization is registered and the should be
 	 * injected to the {@link PostConstruct} method.
@@ -47,7 +47,7 @@
 	private final String type;
 
 	/**
-	 * 
+	 *
 	 * @param id                The unique id of the {@link Visualization}.
 	 * @param visualizationImpl The {@link Visualization} instance.
 	 * @param name              The name of the {@link Visualization}.
@@ -63,41 +63,41 @@
 		this.description = description;
 		this.type = type;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @return The unique id of the {@link Visualization}.
 	 */
 	public String getId() {
-		return this.id;
+		return id;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @return The {@link Visualization} instance.
 	 */
 	public Visualization getVisualization() {
 		return visualizationImpl;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @return The name of the {@link Visualization}.
 	 */
 	public String getName() {
 		return name;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @return The description of the {@link Visualization}.
 	 */
 	public String getDescription() {
 		return description;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @return The model type under which the visualization is registered and the
 	 *         should be injected to the {@link PostConstruct} method.
 	 */
diff --git a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/registry/ModelVisualizationRegistry.java b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/registry/ModelVisualizationRegistry.java
index 02c14e5..8e49a34 100644
--- a/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/registry/ModelVisualizationRegistry.java
+++ b/plugins/org.eclipse.app4mc.visualization.ui/src/org/eclipse/app4mc/visualization/ui/registry/ModelVisualizationRegistry.java
@@ -46,26 +46,26 @@
 public class ModelVisualizationRegistry {
 
 	private static final Logger LOGGER = LoggerFactory.getLogger(ModelVisualizationRegistry.class);
-	
+
 	private ConcurrentHashMap<String, List<ModelVisualization>> visualizationRegistry = new ConcurrentHashMap<>();
-	
+
 	@Reference(
 			cardinality = ReferenceCardinality.MULTIPLE,
 			policy = ReferencePolicy.DYNAMIC,
 			policyOption = ReferencePolicyOption.GREEDY)
 	void bindModelVisualization(Visualization visualization, Map<String, Object> properties) {
-		
+
 		String modelClassName = getModelClassName(visualization, properties);
 		if (modelClassName != null) {
-			List<ModelVisualization> visualizations = 
-					this.visualizationRegistry.computeIfAbsent(modelClassName, key -> new CopyOnWriteArrayList<ModelVisualization>());
-			
+			List<ModelVisualization> visualizations =
+					visualizationRegistry.computeIfAbsent(modelClassName, key -> new CopyOnWriteArrayList<>());
+
 			String id = (String) properties.getOrDefault("id", visualization.getClass().getName());
 			if (visualizations.stream().noneMatch(v -> v.getId().equals(id))) {
 				visualizations.add(new ModelVisualization(
-						id, 
-						visualization, 
-						(String) properties.getOrDefault("name", visualization.getClass().getSimpleName()), 
+						id,
+						visualization,
+						(String) properties.getOrDefault("name", visualization.getClass().getSimpleName()),
 						(String) properties.getOrDefault("description", null),
 						modelClassName));
 			} else {
@@ -79,13 +79,13 @@
 	void unbindModelVisualization(Visualization visualization, Map<String, Object> properties) {
 		String modelClassName = getModelClassName(visualization, properties);
 		if (modelClassName != null) {
-			this.visualizationRegistry.remove(modelClassName);
+			visualizationRegistry.remove(modelClassName);
 		}
 	}
-	
+
 	/**
 	 * Get all {@link ModelVisualization} objects that are registered for the given classes.
-	 * 
+	 *
 	 * @param classes The classes for which the {@link ModelVisualization}s are requested.
 	 * @return All {@link ModelVisualization} objects that are registered for the
 	 *         given classes.
@@ -100,10 +100,10 @@
 				classNames.addAll(allInterfaces.stream().map(Class::getName).collect(Collectors.toList()));
 			}
 		}
-		
+
 		return classNames.stream()
 				.filter(Objects::nonNull)
-				.flatMap(name -> this.visualizationRegistry.getOrDefault(name, new ArrayList<>()).stream())
+				.flatMap(name -> visualizationRegistry.getOrDefault(name, new ArrayList<>()).stream())
 				.collect(Collectors.toList());
 	}
 
@@ -112,7 +112,7 @@
 	 * registered. First checks the <i>modelClass</i> component property. If it is
 	 * not set the type of the first parameter of the method annotated with
 	 * {@link PostConstruct} will be returned.
-	 * 
+	 *
 	 * @param visualization The {@link Visualization} for which the model class name
 	 *                      should be returned.
 	 * @param properties    The component properties map of the
@@ -123,7 +123,7 @@
 	private String getModelClassName(Visualization visualization, Map<String, Object> properties) {
 		// check if property for modelClass is set
 		String modelClassName = (String) properties.getOrDefault("modelClass", null);
-		
+
 		if (modelClassName == null) {
 			// else find method annotated with @PostConstruct
 			Class<? extends Visualization> visuClass = visualization.getClass();
diff --git a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/io/tests/AmaltheaFileHelperTest.java b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/io/tests/AmaltheaFileHelperTest.java
index 4b1face..aafab30 100644
--- a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/io/tests/AmaltheaFileHelperTest.java
+++ b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/io/tests/AmaltheaFileHelperTest.java
@@ -37,35 +37,35 @@
 		assertNotNull(namespace);
 		assertEquals("http://app4mc.eclipse.org/amalthea/0.9.9", namespace);
 	}
-	
+
 	@Test
 	public void shouldGetNamespaceFromZIPFile() {
 		String namespace = AmaltheaFileHelper.getNamespace(ZIP_FILE);
 		assertNotNull(namespace);
 		assertEquals("http://app4mc.eclipse.org/amalthea/0.9.6", namespace);
 	}
-	
+
 	@Test
 	public void shouldGetInvalidNamespaceFromNull() {
 		String namespace = AmaltheaFileHelper.getNamespace(null);
 		assertNotNull(namespace);
 		assertEquals(AmaltheaFileHelper.INVALID, namespace);
 	}
-	
+
 	@Test
 	public void shouldGetVersionFromModelFile() {
 		String version = AmaltheaFileHelper.getModelVersion(MODEL_FILE);
 		assertNotNull(version);
 		assertEquals("0.9.9", version);
 	}
-	
+
 	@Test
 	public void shouldGetVersionFromZIPFile() {
 		String version = AmaltheaFileHelper.getModelVersion(ZIP_FILE);
 		assertNotNull(version);
 		assertEquals("0.9.6", version);
 	}
-	
+
 	@Test
 	public void shouldGetInvalidVersionFromNull() {
 		String version = AmaltheaFileHelper.getModelVersion(null);
@@ -78,7 +78,7 @@
 		assertFalse(AmaltheaFileHelper.isModelVersionValid(MODEL_FILE));
 		assertFalse(AmaltheaFileHelper.isModelVersionValid(ZIP_FILE));
 	}
-	
+
 	@Test
 	public void shouldFindValidModelVersion() {
 		assertTrue(AmaltheaFileHelper.isModelVersionValid(new File("./test-data/HwUtilTestModel-gen.amxmi")));
diff --git a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/AllTests.java b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/AllTests.java
index 28fd2ed..d8689a1 100644
--- a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/AllTests.java
+++ b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/AllTests.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -34,7 +34,7 @@
 	NameTest.class,
 	TimeComparisonTest.class,
 	StandardSchedulerTests.class,
-	
+
 	CustomPropertyUtilsTest.class,
 	DeploymentUtilsTest.class,
 	HardwareUtilsTest.class,
diff --git a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/DeviationsTest.java b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/DeviationsTest.java
index 3db9faa..f910516 100644
--- a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/DeviationsTest.java
+++ b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/DeviationsTest.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -35,7 +35,7 @@
 public class DeviationsTest {
 
 	private static final String MS = "ms";
-	
+
 	AmaltheaFactory fac = AmaltheaFactory.eINSTANCE;
 
 	/**
diff --git a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/MetamodelStructureTest.java b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/MetamodelStructureTest.java
index a29a3c1..aea78bf 100644
--- a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/MetamodelStructureTest.java
+++ b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/MetamodelStructureTest.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -46,15 +46,15 @@
 	@Before
 	public void setUp() {
 
-		this.logger = LogManager.getLogger("org.eclipse.app4mc.amalthea.model.tests");
-		this.logger.addAppender(new ConsoleAppender(new PatternLayout("%d{ISO8601} %-5p [%c]: %m%n")));
-		this.logger.setLevel(Level.INFO);
+		logger = LogManager.getLogger("org.eclipse.app4mc.amalthea.model.tests");
+		logger.addAppender(new ConsoleAppender(new PatternLayout("%d{ISO8601} %-5p [%c]: %m%n")));
+		logger.setLevel(Level.INFO);
 	}
 
 	@After
 	public void tearDown() {
 
-		final Enumeration<?> allAppenders = this.logger.getAllAppenders();
+		final Enumeration<?> allAppenders = logger.getAllAppenders();
 
 		if (allAppenders != null) {
 			final Object nextElement = allAppenders.nextElement();
@@ -75,7 +75,7 @@
 
 		final AmaltheaPackage amPackage = AmaltheaPackage.eINSTANCE;
 
-		this.logger.info("++++ Metamodel check startet at " + dateFormat.format(new Date()));
+		logger.info("++++ Metamodel check startet at " + dateFormat.format(new Date()));
 
 		// Get all classes
 
@@ -133,7 +133,7 @@
 				"Illegal references exists in the AMALTHEA metamodel. For detailed info of illegal references -> check the console log ",
 				!illegalReferencesFound);
 
-		this.logger.info("++++ Metamodel check finished at " + dateFormat.format(new Date()));
+		logger.info("++++ Metamodel check finished at " + dateFormat.format(new Date()));
 
 	} // main
 
@@ -149,9 +149,9 @@
 		sb.append(target.getName());
 
 		if (Level.INFO == level) {
-			this.logger.info(sb.toString());
+			logger.info(sb.toString());
 		} else if (Level.ERROR == level) {
-			this.logger.error(sb.toString());
+			logger.error(sb.toString());
 		}
 	}
 
diff --git a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/NameTest.java b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/NameTest.java
index ee2cce1..3d650ec 100644
--- a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/NameTest.java
+++ b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/NameTest.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -53,7 +53,7 @@
 
 		AmaltheaExtensions.toPlainString(null, DOT);
 	}
-	
+
 	@Test
 	public void testArguments2() {
 		thrown.expect(IllegalArgumentException.class);
@@ -67,32 +67,32 @@
 
 	@Test
 	public void testStringOperationsPlain() {
-		EList<String> segments = new BasicEList<>();		
-		
+		EList<String> segments = new BasicEList<>();
+
 		assertEquals(AMALTHEA_EXTENSIONS_TO_PLAIN_STRING, "", AmaltheaExtensions.toPlainString(segments, DOT));
-		
+
 		segments.add("one");
 		assertEquals(AMALTHEA_EXTENSIONS_TO_PLAIN_STRING, "one", AmaltheaExtensions.toPlainString(segments, DOT));
-		
+
 		segments.add("two");
 		assertEquals(AMALTHEA_EXTENSIONS_TO_PLAIN_STRING, "one.two", AmaltheaExtensions.toPlainString(segments, DOT));
-		
+
 		segments.add("three");
 		assertEquals(AMALTHEA_EXTENSIONS_TO_PLAIN_STRING, "one.two.three", AmaltheaExtensions.toPlainString(segments, DOT));
 	}
 
 	@Test
 	public void testStringOperationsEncoded() {
-		EList<String> segments = new BasicEList<>();		
-		
+		EList<String> segments = new BasicEList<>();
+
 		assertEquals(AMALTHEA_EXTENSIONS_TO_PLAIN_STRING, "", AmaltheaExtensions.toPlainString(segments, DOT));
-		
+
 		segments.add("one");
 		assertEquals(AMALTHEA_EXTENSIONS_TO_PLAIN_STRING, "one", AmaltheaExtensions.toPlainString(segments, DOT));
-		
+
 		segments.add("two");
 		assertEquals(AMALTHEA_EXTENSIONS_TO_PLAIN_STRING, "one.two", AmaltheaExtensions.toPlainString(segments, DOT));
-		
+
 		segments.add("three");
 		assertEquals(AMALTHEA_EXTENSIONS_TO_PLAIN_STRING, "one.two.three", AmaltheaExtensions.toPlainString(segments, DOT));
 	}
diff --git a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/TimeComparisonTest.java b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/TimeComparisonTest.java
index 93ff939..34f3de5 100644
--- a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/TimeComparisonTest.java
+++ b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/tests/TimeComparisonTest.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/CustomPropertyUtilsTest.java b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/CustomPropertyUtilsTest.java
index 0422010..27ae1a4 100644
--- a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/CustomPropertyUtilsTest.java
+++ b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/CustomPropertyUtilsTest.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/DeploymentUtilsTest.java b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/DeploymentUtilsTest.java
index e78636b..ed07257 100644
--- a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/DeploymentUtilsTest.java
+++ b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/DeploymentUtilsTest.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019-2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -58,82 +58,82 @@
 	TaskAllocation taT5 = null;
 	TaskAllocation taT6 = null;
 	TaskAllocation taT7 = null;
-	
+
 	@Before
 	public void initalizeModel() {
 		amaltheaModel = DeploymentModels.createModel1();
-		
+
 		Set<ProcessingUnit> coreCollector = AmaltheaIndex.getElements(amaltheaModel.getHwModel(), "core1", ProcessingUnit.class);
 		assertNotNull("Core1 not found ", coreCollector.iterator().next());
 		core1 = coreCollector.iterator().next();
-		
+
 		coreCollector = AmaltheaIndex.getElements(amaltheaModel.getHwModel(), "core2", ProcessingUnit.class);
 		assertNotNull("Core2 not found ", coreCollector.iterator().next());
 		core2 = coreCollector.iterator().next();
-		
+
 		coreCollector = AmaltheaIndex.getElements(amaltheaModel.getHwModel(), "core3", ProcessingUnit.class);
 		assertNotNull("Core3 not found ", coreCollector.iterator().next());
 		core3 = coreCollector.iterator().next();
-		
+
 		Set<Task> taskCollector = AmaltheaIndex.getElements(amaltheaModel.getSwModel(), "t1", Task.class);
 		t1 = taskCollector.iterator().next();
 		assertNotNull("T1 not found", taskCollector.iterator().next());
-		
+
 		taskCollector = AmaltheaIndex.getElements(amaltheaModel.getSwModel(), "t2", Task.class);
 		t2 = taskCollector.iterator().next();
 		assertNotNull("T2 not found", taskCollector.iterator().next());
-		
+
 		taskCollector = AmaltheaIndex.getElements(amaltheaModel.getSwModel(), "t3", Task.class);
 		t3 = taskCollector.iterator().next();
 		assertNotNull("T3 not found", taskCollector.iterator().next());
-		
+
 		taskCollector = AmaltheaIndex.getElements(amaltheaModel.getSwModel(), "t4", Task.class);
 		t4 = taskCollector.iterator().next();
 		assertNotNull("T4 not found", taskCollector.iterator().next());
-		
+
 		taskCollector = AmaltheaIndex.getElements(amaltheaModel.getSwModel(), "t5", Task.class);
 		t5 = taskCollector.iterator().next();
 		assertNotNull("T5 not found", taskCollector.iterator().next());
-		
+
 		taskCollector = AmaltheaIndex.getElements(amaltheaModel.getSwModel(), "t6", Task.class);
 		t6 = taskCollector.iterator().next();
 		assertNotNull("T6 not found", taskCollector.iterator().next());
-		
+
 		taskCollector = AmaltheaIndex.getElements(amaltheaModel.getSwModel(), "t7", Task.class);
 		t7 = taskCollector.iterator().next();
 		assertNotNull("T7 not found", taskCollector.iterator().next());
-		
+
 		Set<ISR> isrCollector = AmaltheaIndex.getElements(amaltheaModel.getSwModel(), "isr1", ISR.class);
 		isr1 = isrCollector.iterator().next();
 		assertNotNull("ISR1 not found", isrCollector.iterator().next());
-		
+
 		isrCollector = AmaltheaIndex.getElements(amaltheaModel.getSwModel(), "isr2", ISR.class);
 		isr2 = isrCollector.iterator().next();
 		assertNotNull("ISR2 not found", isrCollector.iterator().next());
-		
+
 		isrCollector = AmaltheaIndex.getElements(amaltheaModel.getSwModel(), "isr3", ISR.class);
 		isr3 = isrCollector.iterator().next();
 		assertNotNull("ISR3 not found", isrCollector.iterator().next());
-		
+
 	}
-	
+
 	@Test
 	public void testModelExistance() {
 
 		SWModel swModel = amaltheaModel.getSwModel();
 		assertNotNull("SW model is not loaded", swModel);
-		
+
 		HWModel hwModel = amaltheaModel.getHwModel();
 		assertNotNull("HW model is not loaded", hwModel);
-		
+
 		OSModel osModel = amaltheaModel.getOsModel();
 		assertNotNull("OS model is not loaded", osModel);
-		
+
 		MappingModel MappingModel = amaltheaModel.getMappingModel();
 		assertNotNull("Mapping model is not loaded", MappingModel);
 
 	}
-	
+
 	@Test
 	public void testTaskMapping() {
 
@@ -141,20 +141,20 @@
 		assert(tmp.size() == 2);
 		assert(tmp.contains(t1));
 		assert(tmp.contains(t3));
-		
+
 		tmp = DeploymentUtil.getTasksMappedToCore(core2, amaltheaModel);
 		assert(tmp.size() == 3);
 		assert(tmp.contains(t2));
 //		assert(tmp.contains(t4));
 		assert(tmp.contains(t5));
 		assert(tmp.contains(t6));
-		
+
 		tmp = DeploymentUtil.getTasksMappedToCore(core3, amaltheaModel);
 		assertNotNull("Empty mapping list is null", tmp);
 		assert(tmp.size()==0);
 	}
-	
-	
+
+
 	@Test
 	public void testProcessesMappedToCore() {
 		Set<Process> tmp = DeploymentUtil.getProcessesMappedToCore(core1, amaltheaModel);
@@ -163,7 +163,7 @@
 		assert(tmp.contains(t3));
 		assert(tmp.contains(isr1));
 		assert(tmp.contains(isr3));
-		
+
 		tmp = DeploymentUtil.getProcessesMappedToCore(core2, amaltheaModel);
 		assert(tmp.size() == 4);
 		assert(tmp.contains(t2));
@@ -171,46 +171,46 @@
 		assert(tmp.contains(t5));
 		assert(tmp.contains(t6));
 		assert(tmp.contains(isr2));
-		
+
 		tmp = DeploymentUtil.getProcessesMappedToCore(core3, amaltheaModel);
 		assertNotNull("Empty mapping list is null", tmp);
 		assert(tmp.isEmpty());
 
 	}
-	
+
 	@Test
 	public void testISRsMappedToCore() {
 		Set<ISR> tmp = DeploymentUtil.getISRsMappedToCore(core1, amaltheaModel);
 		assert(tmp.size() == 2);
 		assert(tmp.contains(isr1));
 		assert(tmp.contains(isr3));
-		
+
 		tmp = DeploymentUtil.getISRsMappedToCore(core2, amaltheaModel);
 		assert(tmp.size() == 1);
 		assert(tmp.contains(isr2));
-		
+
 		tmp = DeploymentUtil.getISRsMappedToCore(core3, amaltheaModel);
 		assertNotNull("Empty mapping list is null", tmp);
 		assert(tmp.isEmpty());
 
 	}
-	
-	
+
+
 	@Test
 	public void testAssignedCoreForProcess() {
 		Set<ProcessingUnit> tmp = DeploymentUtil.getAssignedCoreForProcess(t1);
 		assert(tmp.size() == 1);
 		assert(tmp.contains(core1));
-		
+
 		tmp = DeploymentUtil.getAssignedCoreForProcess(t3);
 		assert(tmp.size() == 1);
 		assert(tmp.contains(core1));
-		
-		
+
+
 		tmp = DeploymentUtil.getAssignedCoreForProcess(isr1);
 		assert(tmp.size() == 1);
 		assert(tmp.contains(core1));
-		
+
 		tmp = DeploymentUtil.getAssignedCoreForProcess(isr3);
 		assert(tmp.size() == 1);
 		assert(tmp.contains(core1));
@@ -222,25 +222,25 @@
 		tmp = DeploymentUtil.getAssignedCoreForProcess(t4);
 		assertNotNull("Nullpointer instead of empty list", tmp);
 		assert(tmp.isEmpty());
-		
+
 		tmp = DeploymentUtil.getAssignedCoreForProcess(t5);
 		assert(tmp.size() == 1);
 		assert(tmp.contains(core2));
-		
+
 		tmp = DeploymentUtil.getAssignedCoreForProcess(t6);
 		assert(tmp.size() == 1);
 		assert(tmp.contains(core2));
-		
+
 		tmp = DeploymentUtil.getAssignedCoreForProcess(isr2);
 		assert(tmp.size() == 1);
 		assert(tmp.contains(core2));
-		
+
 		tmp = DeploymentUtil.getAssignedCoreForProcess(t7);
 		assertNotNull("Nullpointer instead of empty list", tmp);
 		assert(tmp.isEmpty());
 	}
 }
-	
-	
-	
+
+
+
 
diff --git a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/HardwareUtilsTest.java b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/HardwareUtilsTest.java
index 469ecaf..14dfd46 100644
--- a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/HardwareUtilsTest.java
+++ b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/HardwareUtilsTest.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/RuntimeUtilsTest.java b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/RuntimeUtilsTest.java
index 4f75b34..e563f66 100644
--- a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/RuntimeUtilsTest.java
+++ b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/RuntimeUtilsTest.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -50,71 +50,71 @@
 import org.junit.Test;
 
 public class RuntimeUtilsTest {
-	
+
 	Amalthea amaltheaModel;
 	List<ExecutionNeed> executionNeedsR1;
 	List<ExecutionNeed> executionNeedsR2;
 	List<ExecutionNeed> executionNeedsR3;
-	
+
 	DiscreteValueConstant  r1_instrConstant = null;
 	DiscreteValueGaussDistribution r1_instrDeviation = null;
 	DiscreteValueConstant r2_MAC_Operations = null;
 	DiscreteValueConstant r1_MAC_Operations = null;
 	DiscreteValueGaussDistribution r3_MAC_Operations = null;
-	
+
 	Runnable r1 = null;
 	Runnable r2 = null;
 	Runnable r3 = null;
-	
+
 	Task t1 = null;
 	Task t2 = null;
-	
+
 	ProcessingUnitDefinition Pu1_def = null;
 	ProcessingUnitDefinition Pu2_def = null;
-	
+
 	HwFeature featureIPC_12 = null;
 	HwFeature featureIPC_08 = null;
 	HwFeature featureMAC_Operations = null;
-	
+
 	HwFeatureCategory instructions = null;
 	HwFeatureCategory mac_operations = null;
-	
+
 	ProcessingUnit core1 = null;
 	ProcessingUnit core2 = null;
-	
-	
+
+
 	@Before
 	public void initalizeModel() {
 		amaltheaModel = RuntimeModels.createModel1();
 		Set<Runnable> runnableCollector = AmaltheaIndex.getElements(amaltheaModel, "r1", Runnable.class);
 		assertNotNull("R1 not found", runnableCollector.iterator().next());
 		r1 = runnableCollector.iterator().next();
-		
+
 		runnableCollector = AmaltheaIndex.getElements(amaltheaModel.getSwModel(), "r2", Runnable.class);
 		assertNotNull("R2 not found", runnableCollector.iterator().next());
 		r2 = runnableCollector.iterator().next();
-		
+
 		runnableCollector = AmaltheaIndex.getElements(amaltheaModel.getSwModel(), "r3", Runnable.class);
 		assertNotNull("R3 not found", runnableCollector.iterator().next());
 		r3 = runnableCollector.iterator().next();
-		
+
 		Set<Task> taskCollector = AmaltheaIndex.getElements(amaltheaModel.getSwModel(), "t1", Task.class);
 		t1 = taskCollector.iterator().next();
 		assertNotNull("T1 not found", taskCollector.iterator().next());
-		
+
 		taskCollector = AmaltheaIndex.getElements(amaltheaModel.getSwModel(), "t2", Task.class);
 		t2 = taskCollector.iterator().next();
 		assertNotNull("T2 not found", taskCollector.iterator().next());
 
-		
+
 		executionNeedsR1 = new ArrayList<>();
 		executionNeedsR2 = new ArrayList<>();
 		executionNeedsR3 = new ArrayList<>();
-		
+
 		for (ActivityGraphItem rItem : r1.getActivityGraph().getItems()) {
 			if (rItem instanceof ExecutionNeed) {
 				executionNeedsR1.add((ExecutionNeed)rItem);
-				
+
 				EMap<String, IDiscreteValueDeviation> needs = ((ExecutionNeed)rItem).getNeeds();//.get("Instructions");
 				for (String key : needs.keySet()) {
 					if (key.equals("Instructions")) {
@@ -130,13 +130,13 @@
 							r1_MAC_Operations = (DiscreteValueConstant)needs.get(key);
 						}
 					}
-				}	
+				}
 			}
 		}
 		for (ActivityGraphItem rItem : r2.getActivityGraph().getItems()) {
 			if (rItem instanceof ExecutionNeed) {
 				executionNeedsR2.add((ExecutionNeed)rItem);
-				
+
 				EMap<String, IDiscreteValueDeviation> needs = ((ExecutionNeed)rItem).getNeeds();//.get("Instructions");
 				for (String key : needs.keySet()) {
 					if (key.equals("MAC_Operations")) {
@@ -144,7 +144,7 @@
 							r2_MAC_Operations = (DiscreteValueConstant)needs.get(key);
 						}
 					}
-				}	
+				}
 			}
 		}
 		for (ActivityGraphItem rItem : r3.getActivityGraph().getItems()) {
@@ -157,29 +157,29 @@
 							r3_MAC_Operations = (DiscreteValueGaussDistribution)needs.get(key);
 						}
 					}
-				}	
+				}
 			}
 //			executionNeedsR3.addAll(executionNeedsR2);
 		}
-	
+
 
 		Set<ProcessingUnitDefinition> puCollector = AmaltheaIndex.getElements(amaltheaModel.getHwModel(), "Pu1_def", ProcessingUnitDefinition.class );
 		assertNotNull("Pu1 not found", puCollector.iterator().next());
 		Pu1_def = puCollector.iterator().next();
-		
+
 		puCollector = AmaltheaIndex.getElements(amaltheaModel.getHwModel(), "Pu2_def", ProcessingUnitDefinition.class );
 		assertNotNull("Pu2 not found", puCollector.iterator().next());
 		Pu2_def = puCollector.iterator().next();
-		
-			
+
+
 		Set<HwFeature> featureCollector = AmaltheaIndex.getElements(amaltheaModel, "IPC_1.2", HwFeature.class);
 		assertNotNull("Feature IPC_1.2 not found ", featureCollector.iterator().next());
 		featureIPC_12 = featureCollector.iterator().next();
-		
+
 		featureCollector = AmaltheaIndex.getElements(amaltheaModel, "IPC_0.8", HwFeature.class);
 		assertNotNull("Feature IPC_0.8 not found ", featureCollector.iterator().next());
 		featureIPC_08 = featureCollector.iterator().next();
-		
+
 		featureCollector = AmaltheaIndex.getElements(amaltheaModel, "MacUnit_factor", HwFeature.class);
 		assertNotNull("Feature MacUnit_factor not found ", featureCollector.iterator().next());
 		featureMAC_Operations = featureCollector.iterator().next();
@@ -187,15 +187,15 @@
 		Set<ProcessingUnit> coreCollector = AmaltheaIndex.getElements(amaltheaModel.getHwModel(), "core1", ProcessingUnit.class);
 		assertNotNull("Core1 not found ", coreCollector.iterator().next());
 		core1 = coreCollector.iterator().next();
-		
+
 		coreCollector = AmaltheaIndex.getElements(amaltheaModel.getHwModel(), "core2", ProcessingUnit.class);
 		assertNotNull("Core2 not found ", coreCollector.iterator().next());
 		core2 = coreCollector.iterator().next();
-		
+
 		Set<HwFeatureCategory> catCollector = AmaltheaIndex.getElements(amaltheaModel.getHwModel(), "Instructions", HwFeatureCategory.class);
 		assertNotNull("Instruction Catogory not found ", catCollector.iterator().next());
 		instructions = catCollector.iterator().next();
-//		
+//
 //		catCollector = AmaltheaIndex.getElements(amaltheaModel.getHwModel(), "MAC_Operations", HwFeatureCategory.class);
 //		assertNotNull("MAC_Operations Catogory not found ", catCollector.iterator().next());
 //		mac_operations = catCollector.iterator().next();
@@ -206,17 +206,17 @@
 
 		SWModel swModel = amaltheaModel.getSwModel();
 		assertNotNull("SW model is not loaded", swModel);
-		
+
 		HWModel hwModel = amaltheaModel.getHwModel();
 		assertNotNull("HW model is not loaded", hwModel);
-		
+
 		OSModel osModel = amaltheaModel.getOsModel();
 		assertNotNull("OS model is not loaded", osModel);
-		
+
 		MappingModel MappingModel = amaltheaModel.getMappingModel();
 		assertNotNull("Mapping model is not loaded", MappingModel);
 
-						
+
 	}
 
 	@Test
@@ -234,21 +234,21 @@
 		Time r1Bcet = FactoryUtil.createTime(22200000, "PS");
 		Time r1Acet = FactoryUtil.createTime(22800000, "PS");
 		Time r1Wcet = FactoryUtil.createTime(23400000, "PS");
-		
+
 		Time r2Time = FactoryUtil.createTime(20000000, "PS");
 
 		Time r3Bcet = FactoryUtil.createTime(2700000, "PS");
 		Time r3Acet = FactoryUtil.createTime(5600000, "PS");
 		Time r3Wcet = FactoryUtil.createTime(8500000, "PS");
-		
+
 		assertEquals(0, RuntimeUtil.getExecutionTimeForRunnable(r1, core1, null, RuntimeUtil.TimeType.BCET).compareTo((r1Bcet)));
 		assertEquals(0, RuntimeUtil.getExecutionTimeForRunnable(r1, core1, null, RuntimeUtil.TimeType.ACET).compareTo((r1Acet)));
 		assertEquals(0, RuntimeUtil.getExecutionTimeForRunnable(r1, core1, null, RuntimeUtil.TimeType.WCET).compareTo((r1Wcet)));
-		
+
 		assertEquals(0, RuntimeUtil.getExecutionTimeForRunnable(r2, core2, null, RuntimeUtil.TimeType.BCET).compareTo((r2Time)));
 		assertEquals(0, RuntimeUtil.getExecutionTimeForRunnable(r2, core2, null, RuntimeUtil.TimeType.ACET).compareTo((r2Time)));
 		assertEquals(0, RuntimeUtil.getExecutionTimeForRunnable(r2, core2, null, RuntimeUtil.TimeType.WCET).compareTo((r2Time)));
-		
+
 		assertEquals(0, RuntimeUtil.getExecutionTimeForRunnable(r3, core2, null, RuntimeUtil.TimeType.BCET).compareTo((r3Bcet)));
 		assertEquals(0, RuntimeUtil.getExecutionTimeForRunnable(r3, core2, null, RuntimeUtil.TimeType.ACET).compareTo((r3Acet)));
 		assertEquals(0, RuntimeUtil.getExecutionTimeForRunnable(r3, core2, null, RuntimeUtil.TimeType.WCET).compareTo((r3Wcet)));
diff --git a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/WeibullUtilsTest.java b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/WeibullUtilsTest.java
index 31a22fc..abbd5fe 100644
--- a/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/WeibullUtilsTest.java
+++ b/tests/org.eclipse.app4mc.amalthea.model.tests/src/org/eclipse/app4mc/amalthea/model/util/tests/WeibullUtilsTest.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -150,7 +150,7 @@
 			assertTrue(Math.abs(avg2 - avg1) < 0.01);
 		}
 	}
-	
+
 	@Test
 	public void computeMedian() {
 		List<List<Double>> testData;
@@ -202,7 +202,7 @@
 			double cdfMax = mathFunction.cumulativeProbability(max - min);
 			double rem2 = (1.0 - cdfMax) * 1000.0;
 			System.out.println("    check: pRemainPromille = " + rem2);
-			
+
 			assertTrue(Math.abs(rem2 - rem1) < 0.01);
 		}
 	}
diff --git a/tests/org.eclipse.app4mc.amalthea.validations.sim.tests/src/org/eclipse/app4mc/amalthea/validations/sim/tests/AllTests.java b/tests/org.eclipse.app4mc.amalthea.validations.sim.tests/src/org/eclipse/app4mc/amalthea/validations/sim/tests/AllTests.java
index fb51a97..7b8ab39 100644
--- a/tests/org.eclipse.app4mc.amalthea.validations.sim.tests/src/org/eclipse/app4mc/amalthea/validations/sim/tests/AllTests.java
+++ b/tests/org.eclipse.app4mc.amalthea.validations.sim.tests/src/org/eclipse/app4mc/amalthea/validations/sim/tests/AllTests.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2021 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- *  
+ *
  *  Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/tests/org.eclipse.app4mc.amalthea.validations.standard.tests/src/org/eclipse/app4mc/amalthea/validations/standard/tests/AllTests.java b/tests/org.eclipse.app4mc.amalthea.validations.standard.tests/src/org/eclipse/app4mc/amalthea/validations/standard/tests/AllTests.java
index fcbf0d4..a414f7a 100644
--- a/tests/org.eclipse.app4mc.amalthea.validations.standard.tests/src/org/eclipse/app4mc/amalthea/validations/standard/tests/AllTests.java
+++ b/tests/org.eclipse.app4mc.amalthea.validations.standard.tests/src/org/eclipse/app4mc/amalthea/validations/standard/tests/AllTests.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2015-2018 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/tests/org.eclipse.app4mc.amalthea.validations.ta.tests/src/org/eclipse/app4mc/amalthea/validations/ta/tests/AllTests.java b/tests/org.eclipse.app4mc.amalthea.validations.ta.tests/src/org/eclipse/app4mc/amalthea/validations/ta/tests/AllTests.java
index 35828c1..2c6e4e9 100644
--- a/tests/org.eclipse.app4mc.amalthea.validations.ta.tests/src/org/eclipse/app4mc/amalthea/validations/ta/tests/AllTests.java
+++ b/tests/org.eclipse.app4mc.amalthea.validations.ta.tests/src/org/eclipse/app4mc/amalthea/validations/ta/tests/AllTests.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2016 Timing-Architects Embedded Systems GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- *  
+ *
  *  Contributors:
  *     Timing-Architects Embedded Systems GmbH - initial API and implementation
  ********************************************************************************
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/BaseObject.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/BaseObject.java
index f80fb5d..e7adf58 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/BaseObject.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/BaseObject.java
@@ -1,15 +1,15 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model;
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementB1.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementB1.java
index ebf978b..8d3a998 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementB1.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementB1.java
@@ -1,15 +1,15 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model;
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementN1.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementN1.java
index 76490b8..fcddaa2 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementN1.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementN1.java
@@ -1,15 +1,15 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model;
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementN2.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementN2.java
index cd00279..eda7670 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementN2.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementN2.java
@@ -1,15 +1,15 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model;
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementN3.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementN3.java
index e984001..2e26625 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementN3.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementN3.java
@@ -1,15 +1,15 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model;
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementS1.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementS1.java
index c7d78b7..2d8e594 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementS1.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementS1.java
@@ -1,15 +1,15 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model;
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementS2.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementS2.java
index 1848102..b884010 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementS2.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementS2.java
@@ -1,15 +1,15 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model;
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementS3.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementS3.java
index c18ae47..b9230be 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementS3.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/ElementS3.java
@@ -1,15 +1,15 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model;
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/NormalObject.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/NormalObject.java
index d6baaa5..bd093c6 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/NormalObject.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/NormalObject.java
@@ -1,15 +1,15 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model;
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/Root.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/Root.java
index db9181f..3d2ea35 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/Root.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/Root.java
@@ -1,15 +1,15 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model;
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/SpecialObject.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/SpecialObject.java
index b4a2b23..a0e29a2 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/SpecialObject.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/SpecialObject.java
@@ -1,15 +1,15 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model;
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/TestmodelFactory.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/TestmodelFactory.java
index ccef92d..487f08b 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/TestmodelFactory.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/TestmodelFactory.java
@@ -1,15 +1,15 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model;
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/TestmodelPackage.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/TestmodelPackage.java
index 39b8847..c9914ab 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/TestmodelPackage.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/TestmodelPackage.java
@@ -1,15 +1,15 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model;
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/BaseObjectImpl.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/BaseObjectImpl.java
index cbbab5f..c5ba854 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/BaseObjectImpl.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/BaseObjectImpl.java
@@ -1,26 +1,23 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model.impl;
 
 import org.eclipse.app4mc.validation.core.test.model.BaseObject;
 import org.eclipse.app4mc.validation.core.test.model.TestmodelPackage;
-
 import org.eclipse.emf.common.notify.Notification;
-
 import org.eclipse.emf.ecore.EClass;
-
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
 
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementB1Impl.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementB1Impl.java
index 1efba52..b57b65c 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementB1Impl.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementB1Impl.java
@@ -1,22 +1,21 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model.impl;
 
 import org.eclipse.app4mc.validation.core.test.model.ElementB1;
 import org.eclipse.app4mc.validation.core.test.model.TestmodelPackage;
-
 import org.eclipse.emf.ecore.EClass;
 
 /**
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementN1Impl.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementN1Impl.java
index f26c147..9311203 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementN1Impl.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementN1Impl.java
@@ -1,22 +1,21 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model.impl;
 
 import org.eclipse.app4mc.validation.core.test.model.ElementN1;
 import org.eclipse.app4mc.validation.core.test.model.TestmodelPackage;
-
 import org.eclipse.emf.ecore.EClass;
 
 /**
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementN2Impl.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementN2Impl.java
index 86a949e..a929ead 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementN2Impl.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementN2Impl.java
@@ -1,22 +1,21 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model.impl;
 
 import org.eclipse.app4mc.validation.core.test.model.ElementN2;
 import org.eclipse.app4mc.validation.core.test.model.TestmodelPackage;
-
 import org.eclipse.emf.ecore.EClass;
 
 /**
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementN3Impl.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementN3Impl.java
index 310d114..4cd938e 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementN3Impl.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementN3Impl.java
@@ -1,22 +1,21 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model.impl;
 
 import org.eclipse.app4mc.validation.core.test.model.ElementN3;
 import org.eclipse.app4mc.validation.core.test.model.TestmodelPackage;
-
 import org.eclipse.emf.ecore.EClass;
 
 /**
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementS1Impl.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementS1Impl.java
index 44bbeaf..f55255c 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementS1Impl.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementS1Impl.java
@@ -1,22 +1,21 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model.impl;
 
 import org.eclipse.app4mc.validation.core.test.model.ElementS1;
 import org.eclipse.app4mc.validation.core.test.model.TestmodelPackage;
-
 import org.eclipse.emf.ecore.EClass;
 
 /**
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementS2Impl.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementS2Impl.java
index 4f6a8a7..9f2a32e 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementS2Impl.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementS2Impl.java
@@ -1,22 +1,21 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model.impl;
 
 import org.eclipse.app4mc.validation.core.test.model.ElementS2;
 import org.eclipse.app4mc.validation.core.test.model.TestmodelPackage;
-
 import org.eclipse.emf.ecore.EClass;
 
 /**
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementS3Impl.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementS3Impl.java
index c392e79..3603ed5 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementS3Impl.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/ElementS3Impl.java
@@ -1,22 +1,21 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model.impl;
 
 import org.eclipse.app4mc.validation.core.test.model.ElementS3;
 import org.eclipse.app4mc.validation.core.test.model.TestmodelPackage;
-
 import org.eclipse.emf.ecore.EClass;
 
 /**
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/NormalObjectImpl.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/NormalObjectImpl.java
index bd48b0e..96b0c72 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/NormalObjectImpl.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/NormalObjectImpl.java
@@ -1,26 +1,23 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model.impl;
 
 import org.eclipse.app4mc.validation.core.test.model.NormalObject;
 import org.eclipse.app4mc.validation.core.test.model.TestmodelPackage;
-
 import org.eclipse.emf.common.notify.Notification;
-
 import org.eclipse.emf.ecore.EClass;
-
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 
 /**
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/RootImpl.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/RootImpl.java
index 92f1396..bd63a81 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/RootImpl.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/RootImpl.java
@@ -1,15 +1,15 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model.impl;
@@ -21,14 +21,10 @@
 import org.eclipse.app4mc.validation.core.test.model.Root;
 import org.eclipse.app4mc.validation.core.test.model.SpecialObject;
 import org.eclipse.app4mc.validation.core.test.model.TestmodelPackage;
-
 import org.eclipse.emf.common.notify.NotificationChain;
-
 import org.eclipse.emf.common.util.EList;
-
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
-
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
 
@@ -112,7 +108,7 @@
 	@Override
 	public EList<BaseObject> getBaseObjects() {
 		if (baseObjects == null) {
-			baseObjects = new EObjectContainmentEList<BaseObject>(BaseObject.class, this, TestmodelPackage.ROOT__BASE_OBJECTS);
+			baseObjects = new EObjectContainmentEList<>(BaseObject.class, this, TestmodelPackage.ROOT__BASE_OBJECTS);
 		}
 		return baseObjects;
 	}
@@ -125,7 +121,7 @@
 	@Override
 	public EList<NormalObject> getNormalObjects() {
 		if (normalObjects == null) {
-			normalObjects = new EObjectContainmentEList<NormalObject>(NormalObject.class, this, TestmodelPackage.ROOT__NORMAL_OBJECTS);
+			normalObjects = new EObjectContainmentEList<>(NormalObject.class, this, TestmodelPackage.ROOT__NORMAL_OBJECTS);
 		}
 		return normalObjects;
 	}
@@ -138,7 +134,7 @@
 	@Override
 	public EList<SpecialObject> getSpecialObjects() {
 		if (specialObjects == null) {
-			specialObjects = new EObjectContainmentEList<SpecialObject>(SpecialObject.class, this, TestmodelPackage.ROOT__SPECIAL_OBJECTS);
+			specialObjects = new EObjectContainmentEList<>(SpecialObject.class, this, TestmodelPackage.ROOT__SPECIAL_OBJECTS);
 		}
 		return specialObjects;
 	}
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/SpecialObjectImpl.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/SpecialObjectImpl.java
index 3a25b18..050f92d 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/SpecialObjectImpl.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/SpecialObjectImpl.java
@@ -1,26 +1,23 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model.impl;
 
 import org.eclipse.app4mc.validation.core.test.model.SpecialObject;
 import org.eclipse.app4mc.validation.core.test.model.TestmodelPackage;
-
 import org.eclipse.emf.common.notify.Notification;
-
 import org.eclipse.emf.ecore.EClass;
-
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 
 /**
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/TestmodelFactoryImpl.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/TestmodelFactoryImpl.java
index bd9f981..da23267 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/TestmodelFactoryImpl.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/TestmodelFactoryImpl.java
@@ -1,27 +1,33 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model.impl;
 
-import org.eclipse.app4mc.validation.core.test.model.*;
-
+import org.eclipse.app4mc.validation.core.test.model.ElementB1;
+import org.eclipse.app4mc.validation.core.test.model.ElementN1;
+import org.eclipse.app4mc.validation.core.test.model.ElementN2;
+import org.eclipse.app4mc.validation.core.test.model.ElementN3;
+import org.eclipse.app4mc.validation.core.test.model.ElementS1;
+import org.eclipse.app4mc.validation.core.test.model.ElementS2;
+import org.eclipse.app4mc.validation.core.test.model.ElementS3;
+import org.eclipse.app4mc.validation.core.test.model.Root;
+import org.eclipse.app4mc.validation.core.test.model.TestmodelFactory;
+import org.eclipse.app4mc.validation.core.test.model.TestmodelPackage;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
-
 import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
 import org.eclipse.emf.ecore.plugin.EcorePlugin;
 
 /**
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/TestmodelPackageImpl.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/TestmodelPackageImpl.java
index bdd4ccd..d531902 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/TestmodelPackageImpl.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/impl/TestmodelPackageImpl.java
@@ -1,15 +1,15 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model.impl;
@@ -27,12 +27,10 @@
 import org.eclipse.app4mc.validation.core.test.model.SpecialObject;
 import org.eclipse.app4mc.validation.core.test.model.TestmodelFactory;
 import org.eclipse.app4mc.validation.core.test.model.TestmodelPackage;
-
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.emf.ecore.EReference;
-
 import org.eclipse.emf.ecore.impl.EPackageImpl;
 
 /**
@@ -465,16 +463,16 @@
 		// Set bounds for type parameters
 
 		// Add supertypes to classes
-		normalObjectEClass.getESuperTypes().add(this.getBaseObject());
-		specialObjectEClass.getESuperTypes().add(this.getBaseObject());
-		rootEClass.getESuperTypes().add(this.getBaseObject());
-		elementB1EClass.getESuperTypes().add(this.getBaseObject());
-		elementN1EClass.getESuperTypes().add(this.getNormalObject());
-		elementN2EClass.getESuperTypes().add(this.getNormalObject());
-		elementN3EClass.getESuperTypes().add(this.getNormalObject());
-		elementS1EClass.getESuperTypes().add(this.getSpecialObject());
-		elementS2EClass.getESuperTypes().add(this.getSpecialObject());
-		elementS3EClass.getESuperTypes().add(this.getSpecialObject());
+		normalObjectEClass.getESuperTypes().add(getBaseObject());
+		specialObjectEClass.getESuperTypes().add(getBaseObject());
+		rootEClass.getESuperTypes().add(getBaseObject());
+		elementB1EClass.getESuperTypes().add(getBaseObject());
+		elementN1EClass.getESuperTypes().add(getNormalObject());
+		elementN2EClass.getESuperTypes().add(getNormalObject());
+		elementN3EClass.getESuperTypes().add(getNormalObject());
+		elementS1EClass.getESuperTypes().add(getSpecialObject());
+		elementS2EClass.getESuperTypes().add(getSpecialObject());
+		elementS3EClass.getESuperTypes().add(getSpecialObject());
 
 		// Initialize classes, features, and operations; add parameters
 		initEClass(baseObjectEClass, BaseObject.class, "BaseObject", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -489,9 +487,9 @@
 		initEAttribute(getSpecialObject_SpecialCount(), ecorePackage.getEInt(), "specialCount", null, 0, 1, SpecialObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(rootEClass, Root.class, "Root", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getRoot_BaseObjects(), this.getBaseObject(), null, "baseObjects", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getRoot_NormalObjects(), this.getNormalObject(), null, "normalObjects", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getRoot_SpecialObjects(), this.getSpecialObject(), null, "specialObjects", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getRoot_BaseObjects(), getBaseObject(), null, "baseObjects", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getRoot_NormalObjects(), getNormalObject(), null, "normalObjects", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getRoot_SpecialObjects(), getSpecialObject(), null, "specialObjects", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(elementB1EClass, ElementB1.class, "ElementB1", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/util/TestmodelAdapterFactory.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/util/TestmodelAdapterFactory.java
index 0df4c12..f57e376 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/util/TestmodelAdapterFactory.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/util/TestmodelAdapterFactory.java
@@ -1,26 +1,34 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model.util;
 
-import org.eclipse.app4mc.validation.core.test.model.*;
-
+import org.eclipse.app4mc.validation.core.test.model.BaseObject;
+import org.eclipse.app4mc.validation.core.test.model.ElementB1;
+import org.eclipse.app4mc.validation.core.test.model.ElementN1;
+import org.eclipse.app4mc.validation.core.test.model.ElementN2;
+import org.eclipse.app4mc.validation.core.test.model.ElementN3;
+import org.eclipse.app4mc.validation.core.test.model.ElementS1;
+import org.eclipse.app4mc.validation.core.test.model.ElementS2;
+import org.eclipse.app4mc.validation.core.test.model.ElementS3;
+import org.eclipse.app4mc.validation.core.test.model.NormalObject;
+import org.eclipse.app4mc.validation.core.test.model.Root;
+import org.eclipse.app4mc.validation.core.test.model.SpecialObject;
+import org.eclipse.app4mc.validation.core.test.model.TestmodelPackage;
 import org.eclipse.emf.common.notify.Adapter;
 import org.eclipse.emf.common.notify.Notifier;
-
 import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
 import org.eclipse.emf.ecore.EObject;
 
 /**
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/util/TestmodelSwitch.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/util/TestmodelSwitch.java
index 4650ca2..6fe7e8b 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/util/TestmodelSwitch.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/model/util/TestmodelSwitch.java
@@ -1,24 +1,33 @@
 /**
  * *******************************************************************************
  *  Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  *  This program and the accompanying materials are made
  *  available under the terms of the Eclipse Public License 2.0
  *  which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *     Generated using Eclipse EMF
- * 
+ *
  * *******************************************************************************
  */
 package org.eclipse.app4mc.validation.core.test.model.util;
 
-import org.eclipse.app4mc.validation.core.test.model.*;
-
+import org.eclipse.app4mc.validation.core.test.model.BaseObject;
+import org.eclipse.app4mc.validation.core.test.model.ElementB1;
+import org.eclipse.app4mc.validation.core.test.model.ElementN1;
+import org.eclipse.app4mc.validation.core.test.model.ElementN2;
+import org.eclipse.app4mc.validation.core.test.model.ElementN3;
+import org.eclipse.app4mc.validation.core.test.model.ElementS1;
+import org.eclipse.app4mc.validation.core.test.model.ElementS2;
+import org.eclipse.app4mc.validation.core.test.model.ElementS3;
+import org.eclipse.app4mc.validation.core.test.model.NormalObject;
+import org.eclipse.app4mc.validation.core.test.model.Root;
+import org.eclipse.app4mc.validation.core.test.model.SpecialObject;
+import org.eclipse.app4mc.validation.core.test.model.TestmodelPackage;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
-
 import org.eclipse.emf.ecore.util.Switch;
 
 /**
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TestmodelValidation.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TestmodelValidation.java
index c534fa0..d78f20e 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TestmodelValidation.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TestmodelValidation.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -36,7 +36,7 @@
 	}
 
 	// helper methods
-	
+
 	protected void addIssue(final List<ValidationDiagnostic> results, final EObject object, final EStructuralFeature feature, final String message) {
 		results.add(new ValidationDiagnostic(message, object, feature));
 	}
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TmBase.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TmBase.java
index 6e20d55..4b3ad30 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TmBase.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TmBase.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -33,7 +33,7 @@
 	public EClassifier getEClassifier() {
 		return ePackage.getBaseObject();
 	}
- 
+
 	@Override
 	public void validate(EObject eObject, List<ValidationDiagnostic> results) {
 		if (eObject instanceof BaseObject) {
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TmNormal.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TmNormal.java
index 0b97cc1..98f8e09 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TmNormal.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TmNormal.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TmSpecial.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TmSpecial.java
index a59a69d..4c69088 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TmSpecial.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/test/validations/TmSpecial.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2019 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -51,7 +51,7 @@
 
 	private long countChar(final String input, final Character c) {
 		if (input == null) return 0;
-		
+
 		return input.chars().filter(ch -> ch == c).count();
 	}
 
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/tests/ExecutorTest.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/tests/ExecutorTest.java
index f86de1a..99df7e0 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/tests/ExecutorTest.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/tests/ExecutorTest.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/tests/ProfileTest.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/tests/ProfileTest.java
index 779f12f..4afb13d 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/tests/ProfileTest.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/tests/ProfileTest.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************
@@ -67,7 +67,7 @@
 		//         TM-BaseObject(WARNING - BaseObject)
 		//             * Name must not be null or empty
 		//------------------------------------------------------------------------------
-		
+
 		CachedProfile cp2 = man.getCachedProfile(NormalProfile.class);
 
 		assertEquals(1, cp2.getCachedProfiles().size()); // one profile
diff --git a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/tests/TestModels.java b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/tests/TestModels.java
index 4008554..e5fb33a 100644
--- a/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/tests/TestModels.java
+++ b/tests/org.eclipse.app4mc.validation.core.tests/src/org/eclipse/app4mc/validation/core/tests/TestModels.java
@@ -1,13 +1,13 @@
 /**
  ********************************************************************************
  * Copyright (c) 2020 Robert Bosch GmbH and others.
- * 
+ *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
- * 
+ *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Robert Bosch GmbH - initial API and implementation
  ********************************************************************************