diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/EntityFactory.java b/src/main/java/org/eclipse/mdm/api/dflt/model/EntityFactory.java
index 0d9bb33..d18d760 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/EntityFactory.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/EntityFactory.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2019 Contributors to the Eclipse Foundation
+ * Copyright (c) 2015-2020 Contributors to the Eclipse Foundation
  *
  * See the NOTICE file(s) distributed with this work for additional
  * information regarding copyright ownership.
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/ExtSystem.java b/src/main/java/org/eclipse/mdm/api/dflt/model/ExtSystem.java
index bd420bc..a6c45b2 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/ExtSystem.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/ExtSystem.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2018 Contributors to the Eclipse Foundation
+ * Copyright (c) 2015-2020 Contributors to the Eclipse Foundation
  *
  * See the NOTICE file(s) distributed with this work for additional
  * information regarding copyright ownership.
@@ -14,36 +14,22 @@
 
 package org.eclipse.mdm.api.dflt.model;
 
+import java.util.List;
+
 import org.eclipse.mdm.api.base.adapter.Core;
 import org.eclipse.mdm.api.base.model.BaseEntity;
 import org.eclipse.mdm.api.base.model.Deletable;
 import org.eclipse.mdm.api.base.model.Describable;
 
-import java.util.List;
-
 /**
- * Implementation of an external system entity type. An external system attribute contains several mdm attributes.
+ * Implementation of an external system entity type. An external system
+ * attribute contains several mdm attributes.
  *
  * @author Juergen Kleck, Peak Solution GmbH
  *
  */
 public class ExtSystem extends BaseEntity implements Describable, Deletable {
 
-	// ======================================================================
-	// Class variables
-	// ======================================================================
-
-
-	// ======================================================================
-	// Instance variables
-	// ======================================================================
-
-
-
-	// ======================================================================
-	// Constructors
-	// ======================================================================
-
 	/**
 	 * Constructor.
 	 *
@@ -53,10 +39,6 @@
 		super(core);
 	}
 
-	// ======================================================================
-	// Public methods
-	// ======================================================================
-
 	public List<ExtSystemAttribute> getAttributes() {
 		return getExtSystemAttributes();
 	}
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/ExtSystemAttribute.java b/src/main/java/org/eclipse/mdm/api/dflt/model/ExtSystemAttribute.java
index e36da7a..806ba57 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/ExtSystemAttribute.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/ExtSystemAttribute.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2018 Contributors to the Eclipse Foundation
+ * Copyright (c) 2015-2020 Contributors to the Eclipse Foundation
  *
  * See the NOTICE file(s) distributed with this work for additional
  * information regarding copyright ownership.
@@ -14,36 +14,22 @@
 
 package org.eclipse.mdm.api.dflt.model;
 
+import java.util.List;
+
 import org.eclipse.mdm.api.base.adapter.Core;
 import org.eclipse.mdm.api.base.model.BaseEntity;
 import org.eclipse.mdm.api.base.model.Deletable;
 import org.eclipse.mdm.api.base.model.Describable;
 
-import java.util.List;
-
 /**
- * Implementation of an external system attribute entity type. An external system attribute contains several mdm attributes.
+ * Implementation of an external system attribute entity type. An external
+ * system attribute contains several mdm attributes.
  *
  * @author Juergen Kleck, Peak Solution GmbH
  *
  */
 public class ExtSystemAttribute extends BaseEntity implements Describable, Deletable {
 
-	// ======================================================================
-	// Class variables
-	// ======================================================================
-
-
-	// ======================================================================
-	// Instance variables
-	// ======================================================================
-
-
-
-	// ======================================================================
-	// Constructors
-	// ======================================================================
-
 	/**
 	 * Constructor.
 	 *
@@ -53,18 +39,13 @@
 		super(core);
 	}
 
-	// ======================================================================
-	// Public methods
-	// ======================================================================
-
-
 	public List<MDMAttribute> getAttributes() {
 		return getMDMAttributes();
 	}
 
 	/**
-	 * Returns all available {@link MDMAttribute}s related to this external
-	 * system attribute.
+	 * Returns all available {@link MDMAttribute}s related to this external system
+	 * attribute.
 	 *
 	 * @return The returned {@code List} is unmodifiable.
 	 */
@@ -72,5 +53,4 @@
 		return getCore().getChildrenStore().get(MDMAttribute.class);
 	}
 
-
 }
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/MDMAttribute.java b/src/main/java/org/eclipse/mdm/api/dflt/model/MDMAttribute.java
index cda7b5c..85b049d 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/MDMAttribute.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/MDMAttribute.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2018 Contributors to the Eclipse Foundation
+ * Copyright (c) 2015-2020 Contributors to the Eclipse Foundation
  *
  * See the NOTICE file(s) distributed with this work for additional
  * information regarding copyright ownership.
@@ -18,36 +18,20 @@
 import org.eclipse.mdm.api.base.model.BaseEntity;
 import org.eclipse.mdm.api.base.model.Deletable;
 import org.eclipse.mdm.api.base.model.Describable;
-import org.eclipse.mdm.api.base.model.Value;
-
-import java.util.List;
 
 /**
- * Implementation of an external system entity type. An external system attribute contains several mdm attributes.
+ * Implementation of an external system entity type. An external system
+ * attribute contains several mdm attributes.
  *
  * @author Juergen Kleck, Peak Solution GmbH
  *
  */
 public class MDMAttribute extends BaseEntity implements Describable, Deletable {
 
-	// ======================================================================
-	// Class variables
-	// ======================================================================
-
 	public static final String ATTR_COMPONENT_TYPE = "CompType";
 	public static final String ATTR_COMPONENT_NAME = "CompName";
 	public static final String ATTR_ATTRIBUTE_NAME = "AttrName";
 
-	// ======================================================================
-	// Instance variables
-	// ======================================================================
-
-
-
-	// ======================================================================
-	// Constructors
-	// ======================================================================
-
 	/**
 	 * Constructor.
 	 *
@@ -57,10 +41,6 @@
 		super(core);
 	}
 
-	// ======================================================================
-	// Public methods
-	// ======================================================================
-
 	/**
 	 * Returns the component type for this attribute
 	 *
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/SystemParameter.java b/src/main/java/org/eclipse/mdm/api/dflt/model/SystemParameter.java
index 140ad15..310a654 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/SystemParameter.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/SystemParameter.java
@@ -1,6 +1,15 @@
-/**
- * 
- */
+/*******************************************************************************
+ * Copyright (c) 2020 Contributors to the Eclipse Foundation
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *******************************************************************************/
 package org.eclipse.mdm.api.dflt.model;
 
 import org.eclipse.mdm.api.base.adapter.Core;
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateAttribute.java b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateAttribute.java
index 759f2cb..998862b 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateAttribute.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateAttribute.java
@@ -1,5 +1,5 @@
 /********************************************************************************
- * Copyright (c) 2015-2019 Contributors to the Eclipse Foundation
+ * Copyright (c) 2015-2020 Contributors to the Eclipse Foundation
  *
  * See the NOTICE file(s) distributed with this work for additional
  * information regarding copyright ownership.
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/UserParameter.java b/src/main/java/org/eclipse/mdm/api/dflt/model/UserParameter.java
index 43ced3f..7997ab7 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/UserParameter.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/UserParameter.java
@@ -1,6 +1,15 @@
-/**
- * 
- */
+/*******************************************************************************
+ * Copyright (c) 2020 Contributors to the Eclipse Foundation
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *******************************************************************************/
 package org.eclipse.mdm.api.dflt.model;
 
 import org.eclipse.mdm.api.base.adapter.Core;
