License update to EPL v2.0

- update in sources not currently active for the release
diff --git a/plugins/org.eclipse.objectteams.eclipse.monitor/about.html b/plugins/org.eclipse.objectteams.eclipse.monitor/about.html
index 66ef6f6..265c897 100644
--- a/plugins/org.eclipse.objectteams.eclipse.monitor/about.html
+++ b/plugins/org.eclipse.objectteams.eclipse.monitor/about.html
@@ -2,27 +2,36 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>About</title>
 </head>
 <body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 15, 2010</p>	
-<h3>License</h3>
+	<h2>About This Content</h2>
 
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>November 30, 2017</p>
+	<h3>License</h3>
 
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+	
 </body>
 </html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.eclipse.monitor/src/org/eclipse/objectteams/eclipse/monitor/internal/Activator.java b/plugins/org.eclipse.objectteams.eclipse.monitor/src/org/eclipse/objectteams/eclipse/monitor/internal/Activator.java
index 5fe8330..a537308 100644
--- a/plugins/org.eclipse.objectteams.eclipse.monitor/src/org/eclipse/objectteams/eclipse/monitor/internal/Activator.java
+++ b/plugins/org.eclipse.objectteams.eclipse.monitor/src/org/eclipse/objectteams/eclipse/monitor/internal/Activator.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: Activator.java 23468 2010-02-04 22:34:27Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.eclipse.monitor/src/org/eclipse/objectteams/eclipse/monitor/internal/MonitorMessages.java b/plugins/org.eclipse.objectteams.eclipse.monitor/src/org/eclipse/objectteams/eclipse/monitor/internal/MonitorMessages.java
index 35b8218..51554d1 100644
--- a/plugins/org.eclipse.objectteams.eclipse.monitor/src/org/eclipse/objectteams/eclipse/monitor/internal/MonitorMessages.java
+++ b/plugins/org.eclipse.objectteams.eclipse.monitor/src/org/eclipse/objectteams/eclipse/monitor/internal/MonitorMessages.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2004, 2010 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: MonitorMessages.java 23462 2010-02-04 22:13:22Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.eclipse.monitor/src/org/eclipse/objectteams/eclipse/monitor/internal/MonitorView.java b/plugins/org.eclipse.objectteams.eclipse.monitor/src/org/eclipse/objectteams/eclipse/monitor/internal/MonitorView.java
index cc219c9..671bc4f 100644
--- a/plugins/org.eclipse.objectteams.eclipse.monitor/src/org/eclipse/objectteams/eclipse/monitor/internal/MonitorView.java
+++ b/plugins/org.eclipse.objectteams.eclipse.monitor/src/org/eclipse/objectteams/eclipse/monitor/internal/MonitorView.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2004, 2010 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: MonitorView.java 23462 2010-02-04 22:13:22Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.apt/about.html b/plugins/org.eclipse.objectteams.otdt.apt/about.html
index 66ef6f6..265c897 100644
--- a/plugins/org.eclipse.objectteams.otdt.apt/about.html
+++ b/plugins/org.eclipse.objectteams.otdt.apt/about.html
@@ -2,27 +2,36 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>About</title>
 </head>
 <body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 15, 2010</p>	
-<h3>License</h3>
+	<h2>About This Content</h2>
 
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>November 30, 2017</p>
+	<h3>License</h3>
 
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+	
 </body>
 </html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otdt.apt/src/org/eclipse/objectteams/otdt/internal/apt/VisitorsAdaptor.java b/plugins/org.eclipse.objectteams.otdt.apt/src/org/eclipse/objectteams/otdt/internal/apt/VisitorsAdaptor.java
index 6c71912..efc1e1a 100644
--- a/plugins/org.eclipse.objectteams.otdt.apt/src/org/eclipse/objectteams/otdt/internal/apt/VisitorsAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.apt/src/org/eclipse/objectteams/otdt/internal/apt/VisitorsAdaptor.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2009, 2014 Stephan Herrmann
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  **********************************************************************/
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/about.html b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/about.html
index 66ef6f6..265c897 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/about.html
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/about.html
@@ -2,27 +2,36 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>About</title>
 </head>
 <body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 15, 2010</p>	
-<h3>License</h3>
+	<h2>About This Content</h2>
 
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>November 30, 2017</p>
+	<h3>License</h3>
 
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+	
 </body>
 </html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/compiler/adaptor/CompilerAdaptorPlugin.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/compiler/adaptor/CompilerAdaptorPlugin.java
index ec053d5..c695a73 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/compiler/adaptor/CompilerAdaptorPlugin.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/compiler/adaptor/CompilerAdaptorPlugin.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2011 GK Software AG
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/AdaptedBaseBundle.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/AdaptedBaseBundle.java
index fa33586..80cbe98 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/AdaptedBaseBundle.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/AdaptedBaseBundle.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: AdaptedBaseBundle.java 23451 2010-02-04 20:33:32Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/AdaptorActivator.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/AdaptorActivator.java
index 9b33840..46618b3 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/AdaptorActivator.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/AdaptorActivator.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: AdaptorActivator.java 23451 2010-02-04 20:33:32Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/AspectBindingReader.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/AspectBindingReader.java
index bb2e84b..0df86cf 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/AspectBindingReader.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/AspectBindingReader.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: AspectBindingReader.java 23451 2010-02-04 20:33:32Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BaseImportChecker.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BaseImportChecker.java
index ddbcb45..17622dc 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BaseImportChecker.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BaseImportChecker.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BuildManager.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BuildManager.java
index 305e670..3f00ba1 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BuildManager.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BuildManager.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: BuildManager.java 23451 2010-02-04 20:33:32Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BuildManager/ClassFileChangeTracker.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BuildManager/ClassFileChangeTracker.java
index 86f5e53..52c4516 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BuildManager/ClassFileChangeTracker.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BuildManager/ClassFileChangeTracker.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ClassFileChangeTracker.java 23451 2010-02-04 20:33:32Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BuildManager/ImageBuilder.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BuildManager/ImageBuilder.java
index b9ca1ae..e38711c 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BuildManager/ImageBuilder.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/BuildManager/ImageBuilder.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ImageBuilder.java 23451 2010-02-04 20:33:32Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/CheckUniqueCallinCapture.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/CheckUniqueCallinCapture.java
index f6d17cf..e636da0 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/CheckUniqueCallinCapture.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/CheckUniqueCallinCapture.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2011 GK Software AG
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/CompilationThreadWatcher.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/CompilationThreadWatcher.java
index 7b4ca0c..d6b0565 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/CompilationThreadWatcher.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/CompilationThreadWatcher.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: CompilationThreadWatcher.java 23451 2010-02-04 20:33:32Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/IllegalReusedBinaryRoleException.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/IllegalReusedBinaryRoleException.java
index 04f52fb..d98a8fd 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/IllegalReusedBinaryRoleException.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/IllegalReusedBinaryRoleException.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: IllegalReusedBinaryRoleException.java 23451 2010-02-04 20:33:32Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/OTMessages.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/OTMessages.java
index 1f6d54f..c36c8d8 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/OTMessages.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/OTMessages.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2011 GK Software AG
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/PDEAdaptor.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/PDEAdaptor.java
index 81e3cd9..7a30230 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/PDEAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/PDEAdaptor.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: PDEAdaptor.java 23451 2010-02-04 20:33:32Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/PlainProjectWatcher.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/PlainProjectWatcher.java
index 8eb6f7f..f26682d 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/PlainProjectWatcher.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/PlainProjectWatcher.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: PlainProjectWatcher.java 23451 2010-02-04 20:33:32Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/ProblemCleaner.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/ProblemCleaner.java
index ac312fb..bcda236 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/ProblemCleaner.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/ProblemCleaner.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2011 GK Software AG
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/ProjectUtil.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/ProjectUtil.java
index 02347fc..ce7882d 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/ProjectUtil.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/ProjectUtil.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ProjectUtil.java 23451 2010-02-04 20:33:32Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/ResourceProjectAdaptor.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/ResourceProjectAdaptor.java
index 662f2c6..342afeb 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/ResourceProjectAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/ResourceProjectAdaptor.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008, 2010 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ResourceProjectAdaptor.java 23451 2010-02-04 20:33:32Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/RoleReuseGuard.java b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/RoleReuseGuard.java
index 8c92af6..2353ffd 100644
--- a/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/RoleReuseGuard.java
+++ b/plugins/org.eclipse.objectteams.otdt.compiler.adaptor/src/org/eclipse/objectteams/otdt/internal/compiler/adaptor/RoleReuseGuard.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2006, 2010 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: RoleReuseGuard.java 23451 2010-02-04 20:33:32Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/about.html b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/about.html
index 66ef6f6..265c897 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/about.html
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/about.html
@@ -2,27 +2,36 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>About</title>
 </head>
 <body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 15, 2010</p>	
-<h3>License</h3>
+	<h2>About This Content</h2>
 
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>November 30, 2017</p>
+	<h3>License</h3>
 
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+	
 </body>
 </html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/DebugMessages.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/DebugMessages.java
index 6875081..cf8809c 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/DebugMessages.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/DebugMessages.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: DebugMessages.java 23456 2010-02-04 20:44:45Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/LaunchUtils.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/LaunchUtils.java
index 66f2b35..a487409 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/LaunchUtils.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/LaunchUtils.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: LaunchUtils.java 23456 2010-02-04 20:44:45Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/OTDebugAdaptorPlugin.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/OTDebugAdaptorPlugin.java
index a0956c3..d1cb57b 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/OTDebugAdaptorPlugin.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/OTDebugAdaptorPlugin.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDebugAdaptorPlugin.java 23456 2010-02-04 20:44:45Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PreferenceInitializer.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PreferenceInitializer.java
index a7dec9a..bac84ce 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PreferenceInitializer.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PreferenceInitializer.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: PreferenceInitializer.java 23456 2010-02-04 20:44:45Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptor.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptor.java
index d18029d..118dd54 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptor.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2007, 2010 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptorActivator.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptorActivator.java
index e6aa084..79d4614 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptorActivator.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/PresentationAdaptorActivator.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2007, 2010 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/RetargettableActionAdaptor.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/RetargettableActionAdaptor.java
index e10d732..22cb9e5 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/RetargettableActionAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/RetargettableActionAdaptor.java
@@ -3,11 +3,12 @@
  * 

  * Copyright 2009 Technical University Berlin, Germany.

  * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

+ * This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License 2.0

  * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * $Id: RetargettableActionAdaptor.java 23456 2010-02-04 20:44:45Z stephan $

+ * https://www.eclipse.org/legal/epl-2.0/

+ *

+ * SPDX-License-Identifier: EPL-2.0

  * 

  * Please visit http://www.eclipse.org/objectteams for updates and contact.

  * 

diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/SourceLookupAdaptor.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/SourceLookupAdaptor.java
index f632c6c..501da33 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/SourceLookupAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/SourceLookupAdaptor.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2008, 2017 Technical University Berlin, Germany and others.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/VariablesViewAdaptor.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/VariablesViewAdaptor.java
index b9b313a..cb8ee12 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/VariablesViewAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/VariablesViewAdaptor.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2007, 2010 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/actions/ShowOTInternalVariablesAction.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/actions/ShowOTInternalVariablesAction.java
index 9f01721..b050a33 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/actions/ShowOTInternalVariablesAction.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/actions/ShowOTInternalVariablesAction.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ShowOTInternalVariablesAction.java 23456 2010-02-04 20:44:45Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/dynamic/RedefineClassesBPListener.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/dynamic/RedefineClassesBPListener.java
index a7cf5cc..c9b22b4 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/dynamic/RedefineClassesBPListener.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/dynamic/RedefineClassesBPListener.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2017 GK Software AG
  *  
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor.java
index c367d5e..ca5f888 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor2.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor2.java
index 23c50e2..c43acc1 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor2.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor2.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: DebugUIDialogAdaptor2.java 23456 2010-02-04 20:44:45Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor3.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor3.java
index 81d475a..fd0346c 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor3.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/DebugUIDialogAdaptor3.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: DebugUIDialogAdaptor3.java 23456 2010-02-04 20:44:45Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JDTDebugUILaunchingAdaptor.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JDTDebugUILaunchingAdaptor.java
index 98e1c6a..545bcba 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JDTDebugUILaunchingAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JDTDebugUILaunchingAdaptor.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: JDTDebugUILaunchingAdaptor.java 23456 2010-02-04 20:44:45Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JDTLaunchingAdaptor.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JDTLaunchingAdaptor.java
index 157200e..a83ba1f 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JDTLaunchingAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JDTLaunchingAdaptor.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2008, 2014 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JUnitLaunchingAdaptor.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JUnitLaunchingAdaptor.java
index 1c5b3ef..a99aca8 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JUnitLaunchingAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/JUnitLaunchingAdaptor.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: JUnitLaunchingAdaptor.java 23456 2010-02-04 20:44:45Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/LaunchConfigurationInitializer.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/LaunchConfigurationInitializer.java
index dc419f5..060e650 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/LaunchConfigurationInitializer.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/LaunchConfigurationInitializer.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: LaunchConfigurationInitializer.java 23456 2010-02-04 20:44:45Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/OTLaunchConfigurationTab.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/OTLaunchConfigurationTab.java
index 1a98a7a..a934bef 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/OTLaunchConfigurationTab.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/OTLaunchConfigurationTab.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTLaunchConfigurationTab.java 23456 2010-02-04 20:44:45Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/OTREBlock.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/OTREBlock.java
index 9aa5c1b..a8b60bd 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/OTREBlock.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/OTREBlock.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTREBlock.java 23456 2010-02-04 20:44:45Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/PDELaunchingAdaptor.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/PDELaunchingAdaptor.java
index 3290c76..293728d 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/PDELaunchingAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/PDELaunchingAdaptor.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2008, 2015 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/TeamConfig.java b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/TeamConfig.java
index 340c024..09184c1 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/TeamConfig.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.adaptor/src/org/eclipse/objectteams/otdt/internal/debug/adaptor/launching/TeamConfig.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: TeamConfig.java 23456 2010-02-04 20:44:45Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/about.html b/plugins/org.eclipse.objectteams.otdt.debug.ui/about.html
index 66ef6f6..265c897 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/about.html
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/about.html
@@ -2,27 +2,36 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>About</title>
 </head>
 <body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 15, 2010</p>	
-<h3>License</h3>
+	<h2>About This Content</h2>
 
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>November 30, 2017</p>
+	<h3>License</h3>
 
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+	
 </body>
 </html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/OTDebugImages.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/OTDebugImages.java
index c120b56..bdce409 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/OTDebugImages.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/OTDebugImages.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDebugImages.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
@@ -30,7 +31,6 @@
 /**
  * @author ike
  *
- * $Id: OTDebugImages.java 23432 2010-02-03 23:13:42Z stephan $
  */
 
 @SuppressWarnings("nls")
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/OTDebugUIPlugin.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/OTDebugUIPlugin.java
index 17edfb0..44ff0b8 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/OTDebugUIPlugin.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/OTDebugUIPlugin.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDebugUIPlugin.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/BreakpointMessages.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/BreakpointMessages.java
index 864cb2e..72a3531 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/BreakpointMessages.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/BreakpointMessages.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: BreakpointMessages.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/CopyInheritanceBreakpointManager.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/CopyInheritanceBreakpointManager.java
index c661de6..f7b538b 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/CopyInheritanceBreakpointManager.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/CopyInheritanceBreakpointManager.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: CopyInheritanceBreakpointManager.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/OTDebugElementAdapterFactory.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/OTDebugElementAdapterFactory.java
index 44a333b..d540c01 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/OTDebugElementAdapterFactory.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/OTDebugElementAdapterFactory.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDebugElementAdapterFactory.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/ActionMessages.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/ActionMessages.java
index f1dd11f..07f5246 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/ActionMessages.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/ActionMessages.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ActionMessages.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/ChangeTeamActivationAction.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/ChangeTeamActivationAction.java
index e308041..94c4430 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/ChangeTeamActivationAction.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/ChangeTeamActivationAction.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ChangeTeamActivationAction.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/OTBreakpointLocationVerifierJob.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/OTBreakpointLocationVerifierJob.java
index cfda27a..80eaf67 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/OTBreakpointLocationVerifierJob.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/OTBreakpointLocationVerifierJob.java
@@ -1,9 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2003, 2015 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/OTToggleBreakpointAdapter.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/OTToggleBreakpointAdapter.java
index adf65f7..620ce37 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/OTToggleBreakpointAdapter.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/OTToggleBreakpointAdapter.java
@@ -1,9 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2000, 2014 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/OTValidBreakpointLocationLocator.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/OTValidBreakpointLocationLocator.java
index dc88fc7..a013bde 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/OTValidBreakpointLocationLocator.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/OTValidBreakpointLocationLocator.java
@@ -1,10 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTValidBreakpointLocationLocator.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
@@ -29,7 +30,6 @@
  * is allowed in this node or not.
 *
  * @author ike
- * $Id: OTValidBreakpointLocationLocator.java 23432 2010-02-03 23:13:42Z stephan $
  */
 //{OT_COPY_PASTE from org.eclipse.jdt.internal.debug.ui.action.ValidBreakpointLocationLocator
 // due to private visibility of visit(ASTNode, boolean) (added visitor-methods can't call it)
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/SortTeamAction.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/SortTeamAction.java
index b988cf6..de2bd22 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/SortTeamAction.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/SortTeamAction.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: SortTeamAction.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
@@ -31,7 +32,6 @@
  * @author ike
  * This Action sorts the teams in TeamMonitor.
  * 
- * $Id: SortTeamAction.java 23432 2010-02-03 23:13:42Z stephan $
  */
 public class SortTeamAction extends Action
 {
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/UpdateTeamViewAction.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/UpdateTeamViewAction.java
index 874c7b2..4a639dc 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/UpdateTeamViewAction.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/actions/UpdateTeamViewAction.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany, and others.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDebugElementsContainerContentProvider.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDebugElementsContainerContentProvider.java
index 7394e85..2f6e62f 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDebugElementsContainerContentProvider.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDebugElementsContainerContentProvider.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDebugElementsContainerContentProvider.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDebugElementsContainerLabelProvider.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDebugElementsContainerLabelProvider.java
index c2a43c9..419c1f8 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDebugElementsContainerLabelProvider.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDebugElementsContainerLabelProvider.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDebugElementsContainerLabelProvider.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDefaultModelProxyFactory.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDefaultModelProxyFactory.java
index 946b6a2..452802c 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDefaultModelProxyFactory.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDefaultModelProxyFactory.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDefaultModelProxyFactory.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDefaultVariableViewModelProxy.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDefaultVariableViewModelProxy.java
index be243fe..3f0870d 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDefaultVariableViewModelProxy.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTDefaultVariableViewModelProxy.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDefaultVariableViewModelProxy.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTVariableColumnFactoryAdapter.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTVariableColumnFactoryAdapter.java
index 9ba704b..abb6a6c 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTVariableColumnFactoryAdapter.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/OTVariableColumnFactoryAdapter.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTVariableColumnFactoryAdapter.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/TeamInstanceContentProvider.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/TeamInstanceContentProvider.java
index 616b81b..39c77ff 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/TeamInstanceContentProvider.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/TeamInstanceContentProvider.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: TeamInstanceContentProvider.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/TeamInstanceLabelProvider.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/TeamInstanceLabelProvider.java
index 875fa5c..2fcc9b9 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/TeamInstanceLabelProvider.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/model/TeamInstanceLabelProvider.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: TeamInstanceLabelProvider.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/preferences/OTDebugPreferencePage.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/preferences/OTDebugPreferencePage.java
index 9ec0815..c2be46e 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/preferences/OTDebugPreferencePage.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/preferences/OTDebugPreferencePage.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDebugPreferencePage.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/preferences/OTDebugPreferences.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/preferences/OTDebugPreferences.java
index 3a8b4da..274f023 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/preferences/OTDebugPreferences.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/preferences/OTDebugPreferences.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDebugPreferences.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/preferences/OTDebugPreferencesMessages.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/preferences/OTDebugPreferencesMessages.java
index 69530f0..c945426 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/preferences/OTDebugPreferencesMessages.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/internal/preferences/OTDebugPreferencesMessages.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDebugPreferencesMessages.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamView.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamView.java
index 599fa12..167f443 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamView.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamView.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: TeamView.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
@@ -61,7 +62,6 @@
  * 
  * @author gis
  * 
- * $Id: TeamView.java 23432 2010-02-03 23:13:42Z stephan $
  */
 @SuppressWarnings("restriction") // team view as variant of variables view needs access to internals
 public class TeamView extends VariablesView implements ILaunchesListener2
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamViewMessages.java b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamViewMessages.java
index 24d0ab1..2cf357b 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamViewMessages.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamViewMessages.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: TeamViewMessages.java 23432 2010-02-03 23:13:42Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamViewMessages.properties b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamViewMessages.properties
index 5f0b935..de3267d 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamViewMessages.properties
+++ b/plugins/org.eclipse.objectteams.otdt.debug.ui/src/org/eclipse/objectteams/otdt/debug/ui/views/TeamViewMessages.properties
@@ -6,11 +6,12 @@
  # Technology (FIRST), Berlin, Germany and Technical University Berlin,

  # Germany.

  # 

- # All rights reserved. This program and the accompanying materials

- # are made available under the terms of the Eclipse Public License v1.0

+ # This program and the accompanying materials

+ # are made available under the terms of the Eclipse Public License 2.0

  # which accompanies this distribution, and is available at

- # http://www.eclipse.org/legal/epl-v10.html

- # $Id: AspectBundleRole.java 14430 2006-09-23 12:06:21Z stephan $

+ # https://www.eclipse.org/legal/epl-2.0/

+ #

+ # SPDX-License-Identifier: EPL-2.0

  # 

  # Please visit http://www.objectteams.org for updates and contact.

  # 

diff --git a/plugins/org.eclipse.objectteams.otdt.debug/about.html b/plugins/org.eclipse.objectteams.otdt.debug/about.html
index 66ef6f6..265c897 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/about.html
+++ b/plugins/org.eclipse.objectteams.otdt.debug/about.html
@@ -2,27 +2,36 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>About</title>
 </head>
 <body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 15, 2010</p>	
-<h3>License</h3>
+	<h2>About This Content</h2>
 
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>November 30, 2017</p>
+	<h3>License</h3>
 
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+	
 </body>
 </html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/scripts/genIOOTBreakPoints.sh b/plugins/org.eclipse.objectteams.otdt.debug/scripts/genIOOTBreakPoints.sh
index 521957b..6c5eff4 100755
--- a/plugins/org.eclipse.objectteams.otdt.debug/scripts/genIOOTBreakPoints.sh
+++ b/plugins/org.eclipse.objectteams.otdt.debug/scripts/genIOOTBreakPoints.sh
@@ -21,10 +21,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/IOTDTDebugPreferenceConstants.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/IOTDTDebugPreferenceConstants.java
index 7aab4f8..4dfa6d5 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/IOTDTDebugPreferenceConstants.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/IOTDTDebugPreferenceConstants.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/IOTDebugEventListener.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/IOTDebugEventListener.java
index db7ffae..2d06399 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/IOTDebugEventListener.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/IOTDebugEventListener.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: IOTDebugEventListener.java 23427 2010-02-03 22:23:59Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/IOTLaunchConstants.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/IOTLaunchConstants.java
index 294e8b2..a145028 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/IOTLaunchConstants.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/IOTLaunchConstants.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: IOTLaunchConstants.java 23427 2010-02-03 22:23:59Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTBreakpointInstaller.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTBreakpointInstaller.java
index 291e2d3..b202686 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTBreakpointInstaller.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTBreakpointInstaller.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTDebugElementsContainer.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTDebugElementsContainer.java
index c907985..0c1f083 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTDebugElementsContainer.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTDebugElementsContainer.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDebugElementsContainer.java 23427 2010-02-03 22:23:59Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTDebugPlugin.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTDebugPlugin.java
index 505aeab..b3cc7cf 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTDebugPlugin.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTDebugPlugin.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDebugPlugin.java 23427 2010-02-03 22:23:59Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTVMRunnerAdaptor.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTVMRunnerAdaptor.java
index a6c9c2b..1287b67 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTVMRunnerAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/OTVMRunnerAdaptor.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/TeamInstance.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/TeamInstance.java
index 6c0b9c9..d8dd3b5 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/TeamInstance.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/TeamInstance.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: TeamInstance.java 23427 2010-02-03 22:23:59Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/Logger.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/Logger.java
index e471989..276c43b 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/Logger.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/Logger.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: Logger.java 23427 2010-02-03 22:23:59Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/OTDebugElementsContainerFactory.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/OTDebugElementsContainerFactory.java
index 106b212..238472a 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/OTDebugElementsContainerFactory.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/OTDebugElementsContainerFactory.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDebugElementsContainerFactory.java 23427 2010-02-03 22:23:59Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
@@ -31,7 +32,6 @@
 /**
  * @author ike
  *
- * $Id: OTDebugElementsContainerFactory.java 23427 2010-02-03 22:23:59Z stephan $
  */
 public class OTDebugElementsContainerFactory implements IAdapterFactory, ILaunchesListener2 {
     
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/RoleBreakpointListener.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/RoleBreakpointListener.java
index e47df9a..0edc219 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/RoleBreakpointListener.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/RoleBreakpointListener.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/StepFromLinenumberGenerator.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/StepFromLinenumberGenerator.java
index 9a7b7f7..6081417 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/StepFromLinenumberGenerator.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/StepFromLinenumberGenerator.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/TeamBreakpointListener.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/TeamBreakpointListener.java
index 1999253..5c0bc77 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/TeamBreakpointListener.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/TeamBreakpointListener.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/TempFileManager.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/TempFileManager.java
index 278732c..6aa4ad2 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/TempFileManager.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/TempFileManager.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: TempFileManager.java 23427 2010-02-03 22:23:59Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/breakpoints/IOOTBreakPoints.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/breakpoints/IOOTBreakPoints.java
index 7ed6402..0ce4783 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/breakpoints/IOOTBreakPoints.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/breakpoints/IOOTBreakPoints.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/breakpoints/OTBreakpoints.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/breakpoints/OTBreakpoints.java
index e0b287f..40589f2 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/breakpoints/OTBreakpoints.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/breakpoints/OTBreakpoints.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany, and others.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/breakpoints/OTJavaWatchpoint.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/breakpoints/OTJavaWatchpoint.java
index d49d4a8..d141000 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/breakpoints/OTJavaWatchpoint.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/breakpoints/OTJavaWatchpoint.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTJavaWatchpoint.java 23427 2010-02-03 22:23:59Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
@@ -44,7 +45,6 @@
  * 
  * This class is for dealing with the Modification Watchpoint and getting the modified value.
  * 
- * $Id: OTJavaWatchpoint.java 23427 2010-02-03 22:23:59Z stephan $
  */
 public class OTJavaWatchpoint extends JavaWatchpoint
 {
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamActivationOrderComparator.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamActivationOrderComparator.java
index 016f8ef..54c3c0d 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamActivationOrderComparator.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamActivationOrderComparator.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamActivationTimeComparator.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamActivationTimeComparator.java
index 975b1a4..0d0a632 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamActivationTimeComparator.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamActivationTimeComparator.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamInstantiantionComparator.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamInstantiantionComparator.java
index 0298567..ccf6d97 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamInstantiantionComparator.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamInstantiantionComparator.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamNameComparator.java b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamNameComparator.java
index 52f509e..86ebd88 100644
--- a/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamNameComparator.java
+++ b/plugins/org.eclipse.objectteams.otdt.debug/src/org/eclipse/objectteams/otdt/debug/internal/util/TeamNameComparator.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.doc/about.html b/plugins/org.eclipse.objectteams.otdt.doc/about.html
index 66ef6f6..265c897 100644
--- a/plugins/org.eclipse.objectteams.otdt.doc/about.html
+++ b/plugins/org.eclipse.objectteams.otdt.doc/about.html
@@ -2,27 +2,36 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>About</title>
 </head>
 <body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 15, 2010</p>	
-<h3>License</h3>
+	<h2>About This Content</h2>
 
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>November 30, 2017</p>
+	<h3>License</h3>
 
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+	
 </body>
 </html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otdt.doc/build.properties b/plugins/org.eclipse.objectteams.otdt.doc/build.properties
index 3f19478..ea1681c 100644
--- a/plugins/org.eclipse.objectteams.otdt.doc/build.properties
+++ b/plugins/org.eclipse.objectteams.otdt.doc/build.properties
@@ -6,10 +6,12 @@
 # Technology (FIRST), Berlin, Germany and Technical University Berlin,
 # Germany.
 # 
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
 # which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
 # 
 # Please visit http://www.eclipse.org/objectteams for updates and contact.
 # 
diff --git a/plugins/org.eclipse.objectteams.otdt.doc/css/ot-overview.properties b/plugins/org.eclipse.objectteams.otdt.doc/css/ot-overview.properties
index a8ed06d..fdaf5f2 100644
--- a/plugins/org.eclipse.objectteams.otdt.doc/css/ot-overview.properties
+++ b/plugins/org.eclipse.objectteams.otdt.doc/css/ot-overview.properties
@@ -1,10 +1,12 @@
 ###############################################################################
 # Copyright (c) 2000, 2004 IBM Corporation and others.
 #
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
 # which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
 # $Id$
 # 
 # Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.doc/css/swt.properties b/plugins/org.eclipse.objectteams.otdt.doc/css/swt.properties
index b367cd8..58cf15b 100644
--- a/plugins/org.eclipse.objectteams.otdt.doc/css/swt.properties
+++ b/plugins/org.eclipse.objectteams.otdt.doc/css/swt.properties
@@ -1,10 +1,12 @@
 ###############################################################################
 # Copyright (c) 2000, 2004 IBM Corporation and others.
 #
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
 # which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
 # $Id$
 # 
 # Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/migration/messages.properties b/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/migration/messages.properties
index c05e760..7d350fb 100644
--- a/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/migration/messages.properties
+++ b/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/migration/messages.properties
@@ -3,10 +3,12 @@
 #
 # Copyright 2010 Stephan Herrmann
 #
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
 # which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
 #
 # Please visit http://www.eclipse.org/objectteams for updates and contact.
 #
diff --git a/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/ui/ClasspathComputerAdapter.java b/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/ui/ClasspathComputerAdapter.java
index ca63f70..6e28209 100644
--- a/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/ui/ClasspathComputerAdapter.java
+++ b/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/ui/ClasspathComputerAdapter.java
@@ -3,11 +3,12 @@
  * 

  * Copyright 2008 Technical University Berlin, Germany.

  * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

+ * This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License 2.0

  * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * $Id$

+ * https://www.eclipse.org/legal/epl-2.0/

+ *

+ * SPDX-License-Identifier: EPL-2.0

  * 

  * Please visit http://www.eclipse.org/objectteams for updates and contact.

  * 

diff --git a/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/ui/ToggleOTSupportAction.java b/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/ui/ToggleOTSupportAction.java
index 644d17b..9ecb88c 100644
--- a/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/ui/ToggleOTSupportAction.java
+++ b/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/ui/ToggleOTSupportAction.java
@@ -3,11 +3,12 @@
  * 

  * Copyright 2009 Technical University Berlin.

  * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

+ * This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License 2.0

  * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * $Id$

+ * https://www.eclipse.org/legal/epl-2.0/

+ *

+ * SPDX-License-Identifier: EPL-2.0

  * 

  * Please visit http://www.eclipse.org/objectteams for updates and contact.

  * 

diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/about.html b/plugins/org.eclipse.objectteams.otdt.refactoring/about.html
index 66ef6f6..265c897 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/about.html
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/about.html
@@ -2,27 +2,36 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>About</title>
 </head>
 <body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 15, 2010</p>	
-<h3>License</h3>
+	<h2>About This Content</h2>
 
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>November 30, 2017</p>
+	<h3>License</h3>
 
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+	
 </body>
 </html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/OTRefactoringPlugin.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/OTRefactoringPlugin.java
index 29ea596..0a9c7c4 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/OTRefactoringPlugin.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/OTRefactoringPlugin.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2009 Stephan Herrmann
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTRefactoringPlugin.java 23473 2010-02-05 19:46:08Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ActionGroupAdaptor.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ActionGroupAdaptor.java
index 24717b8..875f59e 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ActionGroupAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ActionGroupAdaptor.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2009 Stephan Herrmann.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.objectteams.org for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ChangeSignatureAdaptor.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ChangeSignatureAdaptor.java
index 7b993e2..62a199a 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ChangeSignatureAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ChangeSignatureAdaptor.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2010 GK Software AG
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/CorextAdaptor.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/CorextAdaptor.java
index c466fa5..6fb14be 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/CorextAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/CorextAdaptor.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: CorextAdaptor.java 23473 2010-02-05 19:46:08Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ExtractInterfaceAdaptor.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ExtractInterfaceAdaptor.java
index 8b7cf01..08f9b15 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ExtractInterfaceAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ExtractInterfaceAdaptor.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2011 GK Software AG
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/MoveAdaptor.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/MoveAdaptor.java
index 0836544..b439aa0 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/MoveAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/MoveAdaptor.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008, 2012 Technical University Berlin, Germany, and others.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: MoveAdaptor.java 23473 2010-02-05 19:46:08Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/RenameAdaptor.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/RenameAdaptor.java
index 7f1e522..4f83af0 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/RenameAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/RenameAdaptor.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ReorgAdaptor.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ReorgAdaptor.java
index aaea44e..1364e97 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ReorgAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ReorgAdaptor.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: CallinMappingDeclaration.java 16313 2007-09-22 19:32:10Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ReorgAdaptor/OTASTNodeSearchUtil.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ReorgAdaptor/OTASTNodeSearchUtil.java
index cdef086..c803efe 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ReorgAdaptor/OTASTNodeSearchUtil.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/ReorgAdaptor/OTASTNodeSearchUtil.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTASTNodeSearchUtil.java 23473 2010-02-05 19:46:08Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/pullup/ChangeManagerDetails.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/pullup/ChangeManagerDetails.java
index 646cc60..8d13973 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/pullup/ChangeManagerDetails.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/pullup/ChangeManagerDetails.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2012 GK Software AG
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/pullup/PullUpAdaptor.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/pullup/PullUpAdaptor.java
index 7058d08..0476dec 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/pullup/PullUpAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/adaptor/pullup/PullUpAdaptor.java
@@ -3,10 +3,12 @@
  * 

  * Copyright 2010, 2012 Johannes Gebauer and others.

  * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

+ * This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License 2.0

  * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

+ * https://www.eclipse.org/legal/epl-2.0/

+ *

+ * SPDX-License-Identifier: EPL-2.0

  * 

  * Please visit http://www.objectteams.org for updates and contact.

  * 

diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/OTRefactoringCoreMessages.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/OTRefactoringCoreMessages.java
index 872f22b..da3bdaa 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/OTRefactoringCoreMessages.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/OTRefactoringCoreMessages.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTRefactoringCoreMessages.java 23473 2010-02-05 19:46:08Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/OTRefactoringCoreMessages.properties b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/OTRefactoringCoreMessages.properties
index 09afe00..292cdd1 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/OTRefactoringCoreMessages.properties
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/OTRefactoringCoreMessages.properties
@@ -6,10 +6,12 @@
 # Technology (FIRST), Berlin, Germany and Technical University Berlin,
 # Germany.
 #
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
 # which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
 #
 # Please visit http://www.eclipse.org/objectteams for updates and contact.
 #
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/base/OTRefactoringStatusCodes.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/base/OTRefactoringStatusCodes.java
index 03dc529..d38604d 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/base/OTRefactoringStatusCodes.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/base/OTRefactoringStatusCodes.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTRefactoringStatusCodes.java 23473 2010-02-05 19:46:08Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/rename/BaseCallFinder.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/rename/BaseCallFinder.java
index c1e7431..ec7dbb5 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/rename/BaseCallFinder.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/rename/BaseCallFinder.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: BaseCallFinder.java 23473 2010-02-05 19:46:08Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/rename/RolePartsUnifier.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/rename/RolePartsUnifier.java
index 5d31651..e506ef2 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/rename/RolePartsUnifier.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/corext/rename/RolePartsUnifier.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2009 Stephan Herrmann.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: RolePartsUnifier.java 23473 2010-02-05 19:46:08Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/AbstractCallinRefactoringAction.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/AbstractCallinRefactoringAction.java
index 72d6596..62d4067 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/AbstractCallinRefactoringAction.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/AbstractCallinRefactoringAction.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2009 Stephan Herrmann.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: InlineCallinAction.java 23045 2009-11-15 21:17:24Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/SelectionActionCommon.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/SelectionActionCommon.java
index 82f325b..fbc8569 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/SelectionActionCommon.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/SelectionActionCommon.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2009 Stephan Herrmann.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.objectteams.org for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/inlinecallin/InlineCallinAction.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/inlinecallin/InlineCallinAction.java
index f6b85cf..588158d 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/inlinecallin/InlineCallinAction.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/inlinecallin/InlineCallinAction.java
@@ -3,11 +3,12 @@
  * 

  * Copyright 2009 Johannes Gebauer and Stephan Herrmann.

  * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

+ * This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License 2.0

  * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * $Id: InlineCallinAction.java 23473 2010-02-05 19:46:08Z stephan $

+ * https://www.eclipse.org/legal/epl-2.0/

+ *

+ * SPDX-License-Identifier: EPL-2.0

  * 

  * Please visit http://www.objectteams.org for updates and contact.

  * 

diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/rolefile/AbstractRoleFileRefactoringAction.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/rolefile/AbstractRoleFileRefactoringAction.java
index 3dbdfe6..98209d4 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/rolefile/AbstractRoleFileRefactoringAction.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/rolefile/AbstractRoleFileRefactoringAction.java
@@ -3,10 +3,12 @@
  * 
  * Copyright (c) 2013 GK Software AG.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/rolefile/MoveToRoleFileAction.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/rolefile/MoveToRoleFileAction.java
index d404538..3d08177 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/rolefile/MoveToRoleFileAction.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/rolefile/MoveToRoleFileAction.java
@@ -3,10 +3,12 @@
  * 

  * Copyright 2013 (c) GK Software AG

  * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

+ * This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License 2.0

  * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

+ * https://www.eclipse.org/legal/epl-2.0/

+ *

+ * SPDX-License-Identifier: EPL-2.0

  * 

  * Please visit http://www.objectteams.org for updates and contact.

  * 

diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/rolefile/MoveToRoleFileRefactoring.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/rolefile/MoveToRoleFileRefactoring.java
index 77999b1..0722ed9 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/rolefile/MoveToRoleFileRefactoring.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/otrefactorings/rolefile/MoveToRoleFileRefactoring.java
@@ -3,10 +3,12 @@
  * 

  * Copyright (c) 2013 GK Software AG.

  * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

+ * This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License 2.0

  * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

+ * https://www.eclipse.org/legal/epl-2.0/

+ *

+ * SPDX-License-Identifier: EPL-2.0

  * 

  * Please visit http://www.objectteams.org for updates and contact.

  * 

diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/util/ITeamConstants.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/util/ITeamConstants.java
index a491b2c..3589cae 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/util/ITeamConstants.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/util/ITeamConstants.java
@@ -4,11 +4,12 @@
  * Copyright 2007, 2009 Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ITeamConstants.java 23473 2010-02-05 19:46:08Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/util/RefactoringUtil.java b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/util/RefactoringUtil.java
index 9aa944e..4588ced 100644
--- a/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/util/RefactoringUtil.java
+++ b/plugins/org.eclipse.objectteams.otdt.refactoring/src/org/eclipse/objectteams/otdt/internal/refactoring/util/RefactoringUtil.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/about.html b/plugins/org.eclipse.objectteams.otdt.samples/about.html
index 66ef6f6..265c897 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/about.html
+++ b/plugins/org.eclipse.objectteams.otdt.samples/about.html
@@ -2,27 +2,36 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>About</title>
 </head>
 <body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 15, 2010</p>	
-<h3>License</h3>
+	<h2>About This Content</h2>
 
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>November 30, 2017</p>
+	<h3>License</h3>
 
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+	
 </body>
 </html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/css/swt.properties b/plugins/org.eclipse.objectteams.otdt.samples/css/swt.properties
index 2ca9189..f4b6d03 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/css/swt.properties
+++ b/plugins/org.eclipse.objectteams.otdt.samples/css/swt.properties
@@ -1,10 +1,12 @@
 ###############################################################################
 # Copyright (c) 2000, 2004 IBM Corporation and others.
 #
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
 # which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
 # $Id$
 # 
 # Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/intro/css/swt-intro.properties b/plugins/org.eclipse.objectteams.otdt.samples/intro/css/swt-intro.properties
index bcea8ec..3293a03 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/intro/css/swt-intro.properties
+++ b/plugins/org.eclipse.objectteams.otdt.samples/intro/css/swt-intro.properties
@@ -4,10 +4,12 @@
 # Technology (FIRST), Berlin, Germany and Technical University Berlin,
 # Germany.
 # 
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
 # which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
 # $Id$
 # 
 # Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/Messages.java b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/Messages.java
index a2958dc..a1932d0 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/Messages.java
+++ b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/Messages.java
@@ -1,9 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2016 GK Software AG, and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Contributors:
  *     Stephan Herrmann - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/OTSamplesPlugin.java b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/OTSamplesPlugin.java
index 60a4490..d9bbaae 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/OTSamplesPlugin.java
+++ b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/OTSamplesPlugin.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/PDEImages.java b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/PDEImages.java
index 6d4d7b0..8454db4 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/PDEImages.java
+++ b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/PDEImages.java
@@ -1,9 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2016 GK Software AG, and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Contributors:
  *     Stephan Herrmann - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/ProjectNamesPage.java b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/ProjectNamesPage.java
index fecc3fb..addb6be 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/ProjectNamesPage.java
+++ b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/ProjectNamesPage.java
@@ -1,9 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2016 GK Software AG, and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Contributors:
  *     Stephan Herrmann - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/ReviewPage.java b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/ReviewPage.java
index 0069f9c..7270e23 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/ReviewPage.java
+++ b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/ReviewPage.java
@@ -1,9 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2016 GK Software AG, and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Contributors:
  *     Stephan Herrmann - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleEditor.java b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleEditor.java
index 1f434bc..98cf87b 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleEditor.java
+++ b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleEditor.java
@@ -1,9 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2016 GK Software AG, and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Contributors:
  *     Stephan Herrmann - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleMessages.java b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleMessages.java
index 4bfb771..f2d0c6a 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleMessages.java
+++ b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleMessages.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: SampleMessages.java 23482 2010-02-05 20:16:19Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleOperation.java b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleOperation.java
index f3a82f0..165f0b5 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleOperation.java
+++ b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleOperation.java
@@ -1,9 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2016 GK Software AG, and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Contributors:
  *     Stephan Herrmann - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleRunner.java b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleRunner.java
index 8fc7a78..6b44a34 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleRunner.java
+++ b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleRunner.java
@@ -25,10 +25,12 @@
 import org.eclipse.ui.PlatformUI;
 /*******************************************************************************
  * Copyright (c) 2016 GK Software AG, and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Contributors:
  *     Stephan Herrmann - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleStandbyContent.java b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleStandbyContent.java
index 28c5164..af12f1a 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleStandbyContent.java
+++ b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleStandbyContent.java
@@ -1,9 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2016 GK Software AG, and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Contributors:
  *     Stephan Herrmann - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleWizard.java b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleWizard.java
index 0096f7b..157a4fd 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleWizard.java
+++ b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SampleWizard.java
@@ -1,9 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2016 GK Software AG, and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Contributors:
  *     Stephan Herrmann - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SelectionPage.java b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SelectionPage.java
index 50c0f66..5449dbc 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SelectionPage.java
+++ b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/SelectionPage.java
@@ -1,9 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2016 GK Software AG, and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Contributors:
  *     Stephan Herrmann - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/ShowSampleAction.java b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/ShowSampleAction.java
index 1a7d8bd..8aac549 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/ShowSampleAction.java
+++ b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/ShowSampleAction.java
@@ -1,9 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2016 GK Software AG, and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Contributors:
  *     Stephan Herrmann - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/messages.properties b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/messages.properties
index 0413e50..68b3f00 100644
--- a/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/messages.properties
+++ b/plugins/org.eclipse.objectteams.otdt.samples/src/org/eclipse/objectteams/otdt/internal/samples/messages.properties
@@ -1,9 +1,11 @@
 #******************************************************************************
 # Copyright (c) 2016 GK Software AG, and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
 # which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
 #
 # Contributors:
 #     Stephan Herrmann - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/about.html b/plugins/org.eclipse.objectteams.otdt.ui.help/about.html
index 66ef6f6..164f781 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/about.html
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/about.html
@@ -2,27 +2,35 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>About</title>
 </head>
 <body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 15, 2010</p>	
-<h3>License</h3>
+	<h2>About This Content</h2>
 
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>November 30, 2017</p>
+	<h3>License</h3>
 
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
+
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
 
 </body>
 </html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/build.properties b/plugins/org.eclipse.objectteams.otdt.ui.help/build.properties
index 5b6569e..1735915 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/build.properties
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/build.properties
@@ -6,10 +6,12 @@
 # Technology (FIRST), Berlin, Germany and Technical University Berlin,
 # Germany.
 # 
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
 # which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
 # 
 # Please visit http://www.eclipse.org/objectteams for updates and contact.
 # 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/css/ot-overview.properties b/plugins/org.eclipse.objectteams.otdt.ui.help/css/ot-overview.properties
index a8ed06d..fdaf5f2 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/css/ot-overview.properties
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/css/ot-overview.properties
@@ -1,10 +1,12 @@
 ###############################################################################
 # Copyright (c) 2000, 2004 IBM Corporation and others.
 #
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
 # which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
 # $Id$
 # 
 # Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/css/swt.properties b/plugins/org.eclipse.objectteams.otdt.ui.help/css/swt.properties
index b367cd8..58cf15b 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/css/swt.properties
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/css/swt.properties
@@ -1,10 +1,12 @@
 ###############################################################################
 # Copyright (c) 2000, 2004 IBM Corporation and others.
 #
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
 # which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
 # $Id$
 # 
 # Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/intro/css/swt-intro.properties b/plugins/org.eclipse.objectteams.otdt.ui.help/intro/css/swt-intro.properties
index 3c0819b..aed0fa3 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/intro/css/swt-intro.properties
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/intro/css/swt-intro.properties
@@ -4,10 +4,12 @@
 # Technology (FIRST), Berlin, Germany and Technical University Berlin,
 # Germany.
 # 
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
 # which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
 # $Id$
 # 
 # Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/Messages.java b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/Messages.java
index d83b6a5..94d243e 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/Messages.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/Messages.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2010 Stephan Herrmann.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/OTJLDError.java b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/OTJLDError.java
index 74bfab5..dc089fd 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/OTJLDError.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/OTJLDError.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTJLDError.java 23436 2010-02-04 00:29:04Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/actions/HoverAdaptor.java b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/actions/HoverAdaptor.java
index 959d002..b15e80a 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/actions/HoverAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/actions/HoverAdaptor.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2010 Stephan Herrmann.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/actions/ShowOTJLDAction.java b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/actions/ShowOTJLDAction.java
index a0ccf25..db5d594 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/actions/ShowOTJLDAction.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/actions/ShowOTJLDAction.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ShowOTJLDAction.java 23436 2010-02-04 00:29:04Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/actions/UpdateRulerAction.java b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/actions/UpdateRulerAction.java
index b3f16c7..5014db5 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/actions/UpdateRulerAction.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/actions/UpdateRulerAction.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2010 Stephan Herrmann.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/messages.properties b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/messages.properties
index e675394..715400e 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/messages.properties
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/messages.properties
@@ -3,10 +3,12 @@
 # 
 # Copyright 2010 Stephan Herrmann.
 # 
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
 # which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
 # 
 # Please visit http://www.eclipse.org/objectteams for updates and contact.
 # 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/views/OTJLDView.java b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/views/OTJLDView.java
index 81a2c57..63851df 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/views/OTJLDView.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/internal/ui/help/views/OTJLDView.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTJLDView.java 23436 2010-02-04 00:29:04Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/ui/help/OTHelpPlugin.java b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/ui/help/OTHelpPlugin.java
index e42e0e2..d905f4c 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/ui/help/OTHelpPlugin.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/ui/help/OTHelpPlugin.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTHelpPlugin.java 23436 2010-02-04 00:29:04Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/about.html b/plugins/org.eclipse.objectteams.otdt.ui/about.html
index 66ef6f6..265c897 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/about.html
+++ b/plugins/org.eclipse.objectteams.otdt.ui/about.html
@@ -2,27 +2,36 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>About</title>
 </head>
 <body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 15, 2010</p>	
-<h3>License</h3>
+	<h2>About This Content</h2>
 
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>November 30, 2017</p>
+	<h3>License</h3>
 
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+	
 </body>
 </html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/schema/updateRulerActionExtenders.exsd b/plugins/org.eclipse.objectteams.otdt.ui/schema/updateRulerActionExtenders.exsd
index 5de208d..855e4da 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/schema/updateRulerActionExtenders.exsd
+++ b/plugins/org.eclipse.objectteams.otdt.ui/schema/updateRulerActionExtenders.exsd
@@ -120,10 +120,12 @@
 This file is part of &quot;Object Teams Development Tooling&quot;-Software
 &lt;/p&gt;&lt;p&gt;
 Copyright 2010 Stephan Herrmann.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
+This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
 which accompanies this distribution, and is available at
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+&lt;a href=&quot;https://www.eclipse.org/legal/epl-2.0/&quot;&gt;https://www.eclipse.org/legal/epl-2.0/&lt;/a&gt;
+&lt;br&gt;
+SPDX-License-Identifier: EPL-2.0
 &lt;/p&gt;&lt;p&gt;
 Please visit &lt;a href=&quot;http://www.objectteams.org&quot;&gt;www.objectteams.org&lt;/a&gt; for updates and contact.
 &lt;/p&gt;&lt;p&gt;
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTDTUIMessages.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTDTUIMessages.java
index d067376..c1055b0 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTDTUIMessages.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTDTUIMessages.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2009, Stephan Herrmann.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDTUIMessages.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTDTUIMessages.properties b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTDTUIMessages.properties
index 8f7d534..e80a5e5 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTDTUIMessages.properties
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTDTUIMessages.properties
@@ -3,12 +3,13 @@
  # 
  # Copyright 2009, Stephan Herrmann.
  # 
- # All rights reserved. This program and the accompanying materials
- # are made available under the terms of the Eclipse Public License v1.0
+ # This program and the accompanying materials
+ # are made available under the terms of the Eclipse Public License 2.0
  # which accompanies this distribution, and is available at
- # http://www.eclipse.org/legal/epl-v10.html
- # $Id: OTDTUIMessages.properties 23435 2010-02-04 00:14:38Z stephan $
- # 
+ # https://www.eclipse.org/legal/epl-2.0/
+ #
+ # SPDX-License-Identifier: EPL-2.0
+ #
  # Please visit http://www.objectteams.org for updates and contact.
  # 
  # Contributors:
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTDTUIPluginConstants.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTDTUIPluginConstants.java
index fe26b26..9b1c7b2 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTDTUIPluginConstants.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTDTUIPluginConstants.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDTUIPluginConstants.java 23434 2010-02-03 23:52:31Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTElementAdapterFactory.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTElementAdapterFactory.java
index 3956712..1056d8a 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTElementAdapterFactory.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTElementAdapterFactory.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTJavaPerspectiveFactory.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTJavaPerspectiveFactory.java
index 41d6b99..2904030 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTJavaPerspectiveFactory.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/OTJavaPerspectiveFactory.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTJavaPerspectiveFactory.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/WorkbenchAdapter.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/WorkbenchAdapter.java
index d9b1420..e396888 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/WorkbenchAdapter.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/WorkbenchAdapter.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: WorkbenchAdapter.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/AddTypeBindingDialog.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/AddTypeBindingDialog.java
index c0be927..aec95b6 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/AddTypeBindingDialog.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/AddTypeBindingDialog.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: AddTypeBindingDialog.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/BindingConfiguration.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/BindingConfiguration.java
index f3274d8..4b95453 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/BindingConfiguration.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/BindingConfiguration.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: BindingConfiguration.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/BindingEditor.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/BindingEditor.java
index 05f3181..0a32f9e 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/BindingEditor.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/BindingEditor.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: BindingEditor.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/BindingEditorDialog.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/BindingEditorDialog.java
index 891eddc..c415f9b 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/BindingEditorDialog.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/BindingEditorDialog.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: BindingEditorDialog.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/CallinMappingConfiguration.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/CallinMappingConfiguration.java
index d783361..cf6a79b 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/CallinMappingConfiguration.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/CallinMappingConfiguration.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: CallinMappingConfiguration.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/CalloutMappingConfiguration.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/CalloutMappingConfiguration.java
index 68ef5db..5d88058 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/CalloutMappingConfiguration.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/CalloutMappingConfiguration.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: CalloutMappingConfiguration.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/Messages.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/Messages.java
index d9286fc..9a6277a 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/Messages.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/Messages.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/RadioButtonComposite.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/RadioButtonComposite.java
index 9c0e42e..c2b2204 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/RadioButtonComposite.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/bindingeditor/RadioButtonComposite.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: RadioButtonComposite.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/AnnotationHelper.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/AnnotationHelper.java
index e545dc7..4bb0869 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/AnnotationHelper.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/AnnotationHelper.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2009 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: AnnotationHelper.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarker.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarker.java
index 08dd959..fe3f473 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarker.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarker.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: CallinMarker.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarkerCreator2.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarkerCreator2.java
index 4ff4499..5a583a9 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarkerCreator2.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarkerCreator2.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarkerJob.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarkerJob.java
index 69834a4..cf39f41 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarkerJob.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarkerJob.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: CallinMarkerJob.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarkerRemover.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarkerRemover.java
index 3e9ae72..5307763 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarkerRemover.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/CallinMarkerRemover.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: CallinMarkerRemover.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/JavaEditorActivationListener.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/JavaEditorActivationListener.java
index 3e81fdb..435d975 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/JavaEditorActivationListener.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/JavaEditorActivationListener.java
@@ -1,10 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: JavaEditorActivationListener.java 23434 2010-02-03 23:52:31Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/JobListener.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/JobListener.java
index ad5ee86..b3b1972 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/JobListener.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/JobListener.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: JobListener.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/MySubProgressMonitor.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/MySubProgressMonitor.java
index 6909a61..0e8fd8e 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/MySubProgressMonitor.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/MySubProgressMonitor.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: MySubProgressMonitor.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/RoleBindingChangedListener.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/RoleBindingChangedListener.java
index d5bbcdd..e6c5e6f 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/RoleBindingChangedListener.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/RoleBindingChangedListener.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: RoleBindingChangedListener.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/UpdateRulerAction.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/UpdateRulerAction.java
index 041228f..4cbf9ef 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/UpdateRulerAction.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/callinmarkers/UpdateRulerAction.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: UpdateRulerAction.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/compare/BaseMethodCompareElement.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/compare/BaseMethodCompareElement.java
index 5f19720..e847a4a 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/compare/BaseMethodCompareElement.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/compare/BaseMethodCompareElement.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2009, Stephan Herrmann and others.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/compare/CompareBoundMethodsEditorInput.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/compare/CompareBoundMethodsEditorInput.java
index 2c81773..29f1c60 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/compare/CompareBoundMethodsEditorInput.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/compare/CompareBoundMethodsEditorInput.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2009, Stephan Herrmann and others.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/compare/RoleMethodNode.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/compare/RoleMethodNode.java
index 9a03eb9..0a08d26 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/compare/RoleMethodNode.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/compare/RoleMethodNode.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2009, Stephan Herrmann and others.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/handlers/CompareWithBaseMethodHandler.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/handlers/CompareWithBaseMethodHandler.java
index a02753a..85eea9d 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/handlers/CompareWithBaseMethodHandler.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/handlers/CompareWithBaseMethodHandler.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2009, Stephan Herrmann.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/handlers/OpenBindingEditorHandler.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/handlers/OpenBindingEditorHandler.java
index ece2162..d861745 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/handlers/OpenBindingEditorHandler.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/handlers/OpenBindingEditorHandler.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/javaeditor/OTJavaEditorMessages.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/javaeditor/OTJavaEditorMessages.java
index 9a2a0be..d43d011 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/javaeditor/OTJavaEditorMessages.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/javaeditor/OTJavaEditorMessages.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTJavaEditorMessages.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/javaeditor/RoleOverrideIndicatorManager.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/javaeditor/RoleOverrideIndicatorManager.java
index f0271ea..9e44544 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/javaeditor/RoleOverrideIndicatorManager.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/javaeditor/RoleOverrideIndicatorManager.java
@@ -1,9 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2000, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Contributors:
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/CompilerConfigurationBlock.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/CompilerConfigurationBlock.java
index 3d25bd7..0da3b96 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/CompilerConfigurationBlock.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/CompilerConfigurationBlock.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany, and others.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/GeneralPreferences.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/GeneralPreferences.java
index 10fd6f9..a49a2c9 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/GeneralPreferences.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/GeneralPreferences.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: GeneralPreferences.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/OTCompilerPreferencePage.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/OTCompilerPreferencePage.java
index b11f2a2..8327601 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/OTCompilerPreferencePage.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/OTCompilerPreferencePage.java
@@ -1,9 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2000, 2016 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/OTGeneralPreferencePage.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/OTGeneralPreferencePage.java
index 3908971..9b6814d 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/OTGeneralPreferencePage.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/OTGeneralPreferencePage.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTGeneralPreferencePage.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/OTPreferencesMessages.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/OTPreferencesMessages.java
index d88bb80..e36b981 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/OTPreferencesMessages.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/preferences/OTPreferencesMessages.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany, and others.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/templates/ParameterMappingTemplateResolver.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/templates/ParameterMappingTemplateResolver.java
index 02f3a7b..4d75e44 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/templates/ParameterMappingTemplateResolver.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/templates/ParameterMappingTemplateResolver.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ParameterMappingTemplateResolver.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewRoleCreationWizard.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewRoleCreationWizard.java
index 84ea629..9593e90 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewRoleCreationWizard.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewRoleCreationWizard.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: NewRoleCreationWizard.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewRoleWizardPage.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewRoleWizardPage.java
index 74f0d94..f3bfb34 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewRoleWizardPage.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewRoleWizardPage.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: NewRoleWizardPage.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTeamCreationWizard.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTeamCreationWizard.java
index 984438b..c034ece 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTeamCreationWizard.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTeamCreationWizard.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: NewTeamCreationWizard.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTeamWizardPage.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTeamWizardPage.java
index 47c5115..96a0338 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTeamWizardPage.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTeamWizardPage.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: NewTeamWizardPage.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTypeCreationWizard.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTypeCreationWizard.java
index 9801b5c..9a4967b 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTypeCreationWizard.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTypeCreationWizard.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: NewTypeCreationWizard.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTypeWizardPage.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTypeWizardPage.java
index dd5ba5a..510512d 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTypeWizardPage.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/NewTypeWizardPage.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: NewTypeWizardPage.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/OTNewWizardMessages.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/OTNewWizardMessages.java
index 7dd0a03..f8a8b8c 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/OTNewWizardMessages.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/OTNewWizardMessages.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTNewWizardMessages.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/OpenRoleWizardAction.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/OpenRoleWizardAction.java
index 4cbeb05..263ef75 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/OpenRoleWizardAction.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/OpenRoleWizardAction.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OpenRoleWizardAction.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/OpenTeamWizardAction.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/OpenTeamWizardAction.java
index a8cfad1..a617646 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/OpenTeamWizardAction.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/OpenTeamWizardAction.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OpenTeamWizardAction.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/NewRoleWizardPageListener.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/NewRoleWizardPageListener.java
index c9162c6..47e8ba4 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/NewRoleWizardPageListener.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/NewRoleWizardPageListener.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: NewRoleWizardPageListener.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/NewTeamWizardPageListener.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/NewTeamWizardPageListener.java
index 8a47f74..bf61723 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/NewTeamWizardPageListener.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/NewTeamWizardPageListener.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: NewTeamWizardPageListener.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/NewTypeWizardPageListener.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/NewTypeWizardPageListener.java
index 2d705a5..a49dee0 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/NewTypeWizardPageListener.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/NewTypeWizardPageListener.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: NewTypeWizardPageListener.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/SuperInterfacesListener.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/SuperInterfacesListener.java
index 696bec8..b6d958a 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/SuperInterfacesListener.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/listeners/SuperInterfacesListener.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: SuperInterfacesListener.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/RoleCreator.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/RoleCreator.java
index 7599cbb..16cda8e 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/RoleCreator.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/RoleCreator.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: RoleCreator.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/RoleTypeInfo.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/RoleTypeInfo.java
index 838286b..b759382 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/RoleTypeInfo.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/RoleTypeInfo.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: RoleTypeInfo.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/TeamCreator.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/TeamCreator.java
index 7facb56..24132fe 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/TeamCreator.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/TeamCreator.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: TeamCreator.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/TypeCreator.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/TypeCreator.java
index 77f4739..ba665f8 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/TypeCreator.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/TypeCreator.java
@@ -1,10 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: TypeCreator.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/TypeInfo.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/TypeInfo.java
index 41b6bae..7796097 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/TypeInfo.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/internal/ui/wizards/typecreation/TypeInfo.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: TypeInfo.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/IUpdateRulerActionExtender.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/IUpdateRulerActionExtender.java
index b59fffd..df82f26 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/IUpdateRulerActionExtender.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/IUpdateRulerActionExtender.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2010 Stephan Herrmann.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/ImageConstants.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/ImageConstants.java
index 06be176..a97b240 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/ImageConstants.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/ImageConstants.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ImageConstants.java 23434 2010-02-03 23:52:31Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/ImageManager.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/ImageManager.java
index 31f9f6b..301e537 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/ImageManager.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/ImageManager.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ImageManager.java 23434 2010-02-03 23:52:31Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/OTDTUIPlugin.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/OTDTUIPlugin.java
index 94ac225..16b673d 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/OTDTUIPlugin.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/OTDTUIPlugin.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTDTUIPlugin.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/OTPluginResources.properties b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/OTPluginResources.properties
index f213a84..35d162b 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/OTPluginResources.properties
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/OTPluginResources.properties
@@ -6,10 +6,12 @@
 # Technology (FIRST), Berlin, Germany and Technical University Berlin,
 # Germany.
 #
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
 # which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
 #
 # Please visit http://www.eclipse.org/objectteams for updates and contact.
 #
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/Util.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/Util.java
index 6617702..a438e46 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/Util.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/Util.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/dialogs/ISearchFilter.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/dialogs/ISearchFilter.java
index cae0c49..b2c5071 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/dialogs/ISearchFilter.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/dialogs/ISearchFilter.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ISearchFilter.java 23434 2010-02-03 23:52:31Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/dialogs/OTTypeSelectionLabelProvider.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/dialogs/OTTypeSelectionLabelProvider.java
index b16a323..47e5c9b 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/dialogs/OTTypeSelectionLabelProvider.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/dialogs/OTTypeSelectionLabelProvider.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTTypeSelectionLabelProvider.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/dialogs/TeamSelectionDialog.java b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/dialogs/TeamSelectionDialog.java
index 9281501..6bb4875 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/dialogs/TeamSelectionDialog.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui/src/org/eclipse/objectteams/otdt/ui/dialogs/TeamSelectionDialog.java
@@ -6,11 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: TeamSelectionDialog.java 23435 2010-02-04 00:14:38Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/ext/OTJavaNature.java b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/ext/OTJavaNature.java
index 916851c..841deb2 100644
--- a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/ext/OTJavaNature.java
+++ b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/ext/OTJavaNature.java
@@ -12,7 +12,6 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * $Id: OTJavaNature.java 23427 2010-02-03 22:23:59Z stephan $
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/ext/OTREContainer.java b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/ext/OTREContainer.java
index 8d06fc0..dfb69fd 100644
--- a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/ext/OTREContainer.java
+++ b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/ext/OTREContainer.java
@@ -12,7 +12,6 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * $Id: OTREContainer.java 23427 2010-02-03 22:23:59Z stephan $
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/hierarchy/InheritedMethodsRequestor.java b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/hierarchy/InheritedMethodsRequestor.java
index 46cf55b..10157ac 100644
--- a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/hierarchy/InheritedMethodsRequestor.java
+++ b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/hierarchy/InheritedMethodsRequestor.java
@@ -12,7 +12,6 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * $Id: InheritedMethodsRequestor.java 23416 2010-02-03 19:59:31Z stephan $
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/hierarchy/OTTypeHierarchyTraverser.java b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/hierarchy/OTTypeHierarchyTraverser.java
index 398e608..de66a93 100644
--- a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/hierarchy/OTTypeHierarchyTraverser.java
+++ b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/hierarchy/OTTypeHierarchyTraverser.java
@@ -12,7 +12,6 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * $Id: OTTypeHierarchyTraverser.java 23416 2010-02-03 19:59:31Z stephan $
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
@@ -41,7 +40,6 @@
 
 /**
  * @author svacina
- * $Id: OTTypeHierarchyTraverser.java 23416 2010-02-03 19:59:31Z stephan $
  */
 
 // TODO(jsv) use better class name
diff --git a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/hierarchy/TraverseRequestor.java b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/hierarchy/TraverseRequestor.java
index f8dd187..94a555c 100644
--- a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/hierarchy/TraverseRequestor.java
+++ b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/hierarchy/TraverseRequestor.java
@@ -12,7 +12,6 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * $Id: TraverseRequestor.java 23416 2010-02-03 19:59:31Z stephan $
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/AbstractMarkable.java b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/AbstractMarkable.java
index a7f0161..3839611 100644
--- a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/AbstractMarkable.java
+++ b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/AbstractMarkable.java
@@ -9,7 +9,6 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * $Id: AbstractMarkable.java 23435 2010-02-04 00:14:38Z stephan $
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/JavaElementMarkable.java b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/JavaElementMarkable.java
index d78dbe3..2c16703 100644
--- a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/JavaElementMarkable.java
+++ b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/JavaElementMarkable.java
@@ -9,7 +9,6 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * $Id: JavaElementMarkable.java 23435 2010-02-04 00:14:38Z stephan $
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/OTREContainerInitializer.java b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/OTREContainerInitializer.java
index 5ce654c..10e8da3 100644
--- a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/OTREContainerInitializer.java
+++ b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/OTREContainerInitializer.java
@@ -12,7 +12,6 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * $Id: OTREContainerInitializer.java 23427 2010-02-03 22:23:59Z stephan $
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/OTVariableInitializer.java b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/OTVariableInitializer.java
index ef0d6e1..3f1671e 100644
--- a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/OTVariableInitializer.java
+++ b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/internal/core/ext/OTVariableInitializer.java
@@ -12,7 +12,6 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * $Id: OTVariableInitializer.java 23427 2010-02-03 22:23:59Z stephan $
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otequinox.branding.otre/about.html b/plugins/org.eclipse.objectteams.otequinox.branding.otre/about.html
index 66ef6f6..265c897 100644
--- a/plugins/org.eclipse.objectteams.otequinox.branding.otre/about.html
+++ b/plugins/org.eclipse.objectteams.otequinox.branding.otre/about.html
@@ -2,27 +2,36 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>About</title>
 </head>
 <body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 15, 2010</p>	
-<h3>License</h3>
+	<h2>About This Content</h2>
 
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>November 30, 2017</p>
+	<h3>License</h3>
 
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+	
 </body>
 </html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otequinox.branding.otre/src/org/eclipse/objectteams/otequinox/branding/Activator.java b/plugins/org.eclipse.objectteams.otequinox.branding.otre/src/org/eclipse/objectteams/otequinox/branding/Activator.java
index b01be95..326c9de 100644
--- a/plugins/org.eclipse.objectteams.otequinox.branding.otre/src/org/eclipse/objectteams/otequinox/branding/Activator.java
+++ b/plugins/org.eclipse.objectteams.otequinox.branding.otre/src/org/eclipse/objectteams/otequinox/branding/Activator.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2009 Stephan Herrmann.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: Activator.java 23461 2010-02-04 22:10:39Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otequinox.branding.otre/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingAdaptor.java b/plugins/org.eclipse.objectteams.otequinox.branding.otre/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingAdaptor.java
index 3b4046a..f090f91 100644
--- a/plugins/org.eclipse.objectteams.otequinox.branding.otre/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otequinox.branding.otre/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingAdaptor.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id:AboutAdaptor.java 15202 2007-01-28 11:30:50Z stephan $
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otequinox.branding.otre/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingMessages.java b/plugins/org.eclipse.objectteams.otequinox.branding.otre/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingMessages.java
index 2ecacf1..794742c 100644
--- a/plugins/org.eclipse.objectteams.otequinox.branding.otre/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingMessages.java
+++ b/plugins/org.eclipse.objectteams.otequinox.branding.otre/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingMessages.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2009 Stephan Herrmann.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: BrandingMessages.java 23461 2010-02-04 22:10:39Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otequinox.branding/about.html b/plugins/org.eclipse.objectteams.otequinox.branding/about.html
index 66ef6f6..265c897 100644
--- a/plugins/org.eclipse.objectteams.otequinox.branding/about.html
+++ b/plugins/org.eclipse.objectteams.otequinox.branding/about.html
@@ -2,27 +2,36 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>About</title>
 </head>
 <body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 15, 2010</p>	
-<h3>License</h3>
+	<h2>About This Content</h2>
 
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>November 30, 2017</p>
+	<h3>License</h3>
 
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+	
 </body>
 </html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otequinox.branding/src/org/eclipse/objectteams/otequinox/branding/Activator.java b/plugins/org.eclipse.objectteams.otequinox.branding/src/org/eclipse/objectteams/otequinox/branding/Activator.java
index 5f971e5..a0d1601 100644
--- a/plugins/org.eclipse.objectteams.otequinox.branding/src/org/eclipse/objectteams/otequinox/branding/Activator.java
+++ b/plugins/org.eclipse.objectteams.otequinox.branding/src/org/eclipse/objectteams/otequinox/branding/Activator.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2009 Stephan Herrmann.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: Activator.java 23461 2010-02-04 22:10:39Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otequinox.branding/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingAdaptor.java b/plugins/org.eclipse.objectteams.otequinox.branding/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingAdaptor.java
index 3b4046a..f090f91 100644
--- a/plugins/org.eclipse.objectteams.otequinox.branding/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingAdaptor.java
+++ b/plugins/org.eclipse.objectteams.otequinox.branding/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingAdaptor.java
@@ -6,10 +6,12 @@
  * Technology (FIRST), Berlin, Germany and Technical University Berlin,
  * Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id:AboutAdaptor.java 15202 2007-01-28 11:30:50Z stephan $
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otequinox.branding/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingMessages.java b/plugins/org.eclipse.objectteams.otequinox.branding/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingMessages.java
index 2ecacf1..794742c 100644
--- a/plugins/org.eclipse.objectteams.otequinox.branding/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingMessages.java
+++ b/plugins/org.eclipse.objectteams.otequinox.branding/src/org/eclipse/objectteams/otequinox/internal/branding/BrandingMessages.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2009 Stephan Herrmann.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: BrandingMessages.java 23461 2010-02-04 22:10:39Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otequinox.sunjvm/about.html b/plugins/org.eclipse.objectteams.otequinox.sunjvm/about.html
index 66ef6f6..265c897 100644
--- a/plugins/org.eclipse.objectteams.otequinox.sunjvm/about.html
+++ b/plugins/org.eclipse.objectteams.otequinox.sunjvm/about.html
@@ -2,27 +2,36 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>About</title>
 </head>
 <body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 15, 2010</p>	
-<h3>License</h3>
+	<h2>About This Content</h2>
 
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>November 30, 2017</p>
+	<h3>License</h3>
 
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+	
 </body>
 </html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otequinox.turbo/src/org/eclipse/objectteams/otequinox/turbo/AspectPermission.java b/plugins/org.eclipse.objectteams.otequinox.turbo/src/org/eclipse/objectteams/otequinox/turbo/AspectPermission.java
index cab247b..4e95294 100644
--- a/plugins/org.eclipse.objectteams.otequinox.turbo/src/org/eclipse/objectteams/otequinox/turbo/AspectPermission.java
+++ b/plugins/org.eclipse.objectteams.otequinox.turbo/src/org/eclipse/objectteams/otequinox/turbo/AspectPermission.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2009, 2014 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otequinox.turbo/src/org/eclipse/objectteams/otequinox/turbo/ForcedExportsRegistry.java b/plugins/org.eclipse.objectteams.otequinox.turbo/src/org/eclipse/objectteams/otequinox/turbo/ForcedExportsRegistry.java
index 902fbdb..8da8e15 100644
--- a/plugins/org.eclipse.objectteams.otequinox.turbo/src/org/eclipse/objectteams/otequinox/turbo/ForcedExportsRegistry.java
+++ b/plugins/org.eclipse.objectteams.otequinox.turbo/src/org/eclipse/objectteams/otequinox/turbo/ForcedExportsRegistry.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2014 GK Software AG
  *  
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otequinox.turbo/src/org/eclipse/objectteams/otequinox/turbo/OTStorageHook.java b/plugins/org.eclipse.objectteams.otequinox.turbo/src/org/eclipse/objectteams/otequinox/turbo/OTStorageHook.java
index 8cb54af..c53271b 100644
--- a/plugins/org.eclipse.objectteams.otequinox.turbo/src/org/eclipse/objectteams/otequinox/turbo/OTStorageHook.java
+++ b/plugins/org.eclipse.objectteams.otequinox.turbo/src/org/eclipse/objectteams/otequinox/turbo/OTStorageHook.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2014 GK Software AG
  *  
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otequinox/customBuildCallbacks.xml b/plugins/org.eclipse.objectteams.otequinox/customBuildCallbacks.xml
index 05be821..d86a8ee 100644
--- a/plugins/org.eclipse.objectteams.otequinox/customBuildCallbacks.xml
+++ b/plugins/org.eclipse.objectteams.otequinox/customBuildCallbacks.xml
@@ -1,9 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
<!--
     Copyright (c) 2006, 2015 IBM Corporation and others.
-    All rights reserved. This program and the accompanying materials
-    are made available under the terms of the Eclipse Public License v1.0
-    which accompanies this distribution, and is available at
-    http://www.eclipse.org/legal/epl-v10.html
+	This program and the accompanying materials
	are made available under the terms of the Eclipse Public License 2.0
	which accompanies this distribution, and is available at
	https://www.eclipse.org/legal/epl-2.0/

	SPDX-License-Identifier: EPL-2.0

     
     Contributors:
         IBM Corporation - initial API and implementation
        GK Software AG - fill in details for Object Teams
diff --git a/plugins/org.eclipse.objectteams.otequinox/schema/aspectBindingNegotiators.exsd b/plugins/org.eclipse.objectteams.otequinox/schema/aspectBindingNegotiators.exsd
index 2c646df..35f17b1 100644
--- a/plugins/org.eclipse.objectteams.otequinox/schema/aspectBindingNegotiators.exsd
+++ b/plugins/org.eclipse.objectteams.otequinox/schema/aspectBindingNegotiators.exsd
@@ -128,10 +128,12 @@
 This file is part of &quot;Object Teams Development Tooling&quot;-Software
 &lt;/p&gt;&lt;p&gt;
 Copyright 2009 Technical University Berlin, Germany.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
+This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
 which accompanies this distribution, and is available at
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+&lt;a href=&quot;https://www.eclipse.org/legal/epl-2.0/&quot;&gt;https://www.eclipse.org/legal/epl-2.0/&lt;/a&gt;
+&lt;br&gt;
+SPDX-License-Identifier: EPL-2.0
 &lt;/p&gt;&lt;p&gt;
 Please visit &lt;a href=&quot;http://www.eclipse.org/objectteams&quot;&gt;www.eclipse.org/objectteams&lt;/a&gt; for updates and contact.
 &lt;/p&gt;&lt;p&gt;
diff --git a/plugins/org.eclipse.objectteams.otequinox/schema/aspectBindings.exsd b/plugins/org.eclipse.objectteams.otequinox/schema/aspectBindings.exsd
index f6e6bc9..b73bef9 100644
--- a/plugins/org.eclipse.objectteams.otequinox/schema/aspectBindings.exsd
+++ b/plugins/org.eclipse.objectteams.otequinox/schema/aspectBindings.exsd
@@ -292,10 +292,12 @@
 This file is part of &quot;Object Teams Development Tooling&quot;-Software
 &lt;/p&gt;&lt;p&gt;
 Copyright 2006, 2010 Technical University Berlin, Germany.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
+This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
 which accompanies this distribution, and is available at
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+&lt;a href=&quot;https://www.eclipse.org/legal/epl-2.0/&quot;&gt;https://www.eclipse.org/legal/epl-2.0/&lt;/a&gt;
+&lt;br&gt;
+SPDX-License-Identifier: EPL-2.0
 &lt;/p&gt;&lt;p&gt;
 Please visit &lt;a href=&quot;http://www.objectteams.org&quot;&gt;www.objectteams.org&lt;/a&gt; for updates and contact.
 &lt;/p&gt;&lt;p&gt;
diff --git a/plugins/org.eclipse.objectteams.otequinox/schema/liftingParticipant.exsd b/plugins/org.eclipse.objectteams.otequinox/schema/liftingParticipant.exsd
index b41e21a..18fd610 100644
--- a/plugins/org.eclipse.objectteams.otequinox/schema/liftingParticipant.exsd
+++ b/plugins/org.eclipse.objectteams.otequinox/schema/liftingParticipant.exsd
@@ -114,10 +114,12 @@
 &lt;p&gt;

 Copyright 2010 Fraunhofer Gesellschaft, Munich, Germany,

 for its Fraunhofer Institute for Computer Architecture and Software Technology (FIRST), Berlin, Germany.

-All rights reserved. This program and the accompanying materials

-are made available under the terms of the Eclipse Public License v1.0

+This program and the accompanying materials

+are made available under the terms of the Eclipse Public License 2.0

 which accompanies this distribution, and is available at

-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

+&lt;a href=&quot;https://www.eclipse.org/legal/epl-2.0/&quot;&gt;https://www.eclipse.org/legal/epl-2.0/&lt;/a&gt;

+&lt;br&gt;

+SPDX-License-Identifier: EPL-2.0

 &lt;/p&gt;

 &lt;p&gt;

 Please visit &lt;a href=&quot;http://www.eclipse.org/objectteams&quot;&gt;www.eclipse.org/objectteams&lt;/a&gt; for updates and contact.

diff --git a/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/ASMByteCodeAnalyzer.java b/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/ASMByteCodeAnalyzer.java
index 92786cb..42bc8f3 100644
--- a/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/ASMByteCodeAnalyzer.java
+++ b/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/ASMByteCodeAnalyzer.java
@@ -3,10 +3,12 @@
  * 

  * Copyright 2008, 2019 Oliver Frank and others.

  * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

+ * This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License 2.0

  * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

+ * https://www.eclipse.org/legal/epl-2.0/

+ *

+ * SPDX-License-Identifier: EPL-2.0

  * 

  * Please visit http://www.eclipse.org/objectteams for updates and contact.

  * 

diff --git a/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/Util.java b/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/Util.java
index 15eb337..7f89a72 100644
--- a/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/Util.java
+++ b/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/Util.java
@@ -12,7 +12,6 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * $Id: Util.java 23461 2010-02-04 22:10:39Z stephan $
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/about.html b/plugins/org.eclipse.objectteams.otre/about.html
index 66ef6f6..265c897 100644
--- a/plugins/org.eclipse.objectteams.otre/about.html
+++ b/plugins/org.eclipse.objectteams.otre/about.html
@@ -2,27 +2,36 @@
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>About</title>
 </head>
 <body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 15, 2010</p>	
-<h3>License</h3>
+	<h2>About This Content</h2>
 
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>November 30, 2017</p>
+	<h3>License</h3>
 
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+	
 </body>
 </html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otre/bcelpatchsrc/org/apache/bcel/generic/BranchHandle.java b/plugins/org.eclipse.objectteams.otre/bcelpatchsrc/org/apache/bcel/generic/BranchHandle.java
index b871166..1eabcbb 100755
--- a/plugins/org.eclipse.objectteams.otre/bcelpatchsrc/org/apache/bcel/generic/BranchHandle.java
+++ b/plugins/org.eclipse.objectteams.otre/bcelpatchsrc/org/apache/bcel/generic/BranchHandle.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2012 GK Software AG
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/bcelpatchsrc/org/apache/bcel/generic/InstructionHandle.java b/plugins/org.eclipse.objectteams.otre/bcelpatchsrc/org/apache/bcel/generic/InstructionHandle.java
index 11b381f..9264922 100755
--- a/plugins/org.eclipse.objectteams.otre/bcelpatchsrc/org/apache/bcel/generic/InstructionHandle.java
+++ b/plugins/org.eclipse.objectteams.otre/bcelpatchsrc/org/apache/bcel/generic/InstructionHandle.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2012 GK Software AG
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/customBuildCallbacks.xml b/plugins/org.eclipse.objectteams.otre/customBuildCallbacks.xml
index 83deba1..cd01159 100644
--- a/plugins/org.eclipse.objectteams.otre/customBuildCallbacks.xml
+++ b/plugins/org.eclipse.objectteams.otre/customBuildCallbacks.xml
@@ -1,10 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
<!--
     Copyright (c) 2006, 2009 IBM Corporation and others.
-    All rights reserved. This program and the accompanying materials
-    are made available under the terms of the Eclipse Public License v1.0
-    which accompanies this distribution, and is available at
-    http://www.eclipse.org/legal/epl-v10.html
-    
+	This program and the accompanying materials
	are made available under the terms of the Eclipse Public License 2.0
	which accompanies this distribution, and is available at
	https://www.eclipse.org/legal/epl-2.0/
	
	SPDX-License-Identifier: EPL-2.0
    
     Contributors:
         IBM Corporation - initial API and implementation
        GK Software AG - fill in details for Object Teams
  -->
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/BaseCallRedirection.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/BaseCallRedirection.java
index 59e7ca6..f06cc41 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/BaseCallRedirection.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/BaseCallRedirection.java
@@ -3,11 +3,12 @@
  *
  * Copyright 2002-2009 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: BaseCallRedirection.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.objectteams.org for updates and contact.
  *
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/BaseMethodTransformation.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/BaseMethodTransformation.java
index 2b3ff11..fb9436e 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/BaseMethodTransformation.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/BaseMethodTransformation.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2002-2009 Berlin Institute of Technology, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: BaseMethodTransformation.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ClassEnhancer.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ClassEnhancer.java
index ce12bb7..e32112a 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ClassEnhancer.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ClassEnhancer.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2005-2009 Berlin Institute of Technology, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ClassEnhancer.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ClassLoaderAccess.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ClassLoaderAccess.java
index a92e184..5ccdba6 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ClassLoaderAccess.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ClassLoaderAccess.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2013 GK Software AG
  *  
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/Decapsulation.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/Decapsulation.java
index c9c8ae1..e452ed6 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/Decapsulation.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/Decapsulation.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2003, 2009 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: Decapsulation.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/LiftingParticipantTransformation.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/LiftingParticipantTransformation.java
index 14c402c..47987c1 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/LiftingParticipantTransformation.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/LiftingParticipantTransformation.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2009 Stephan Herrmann
  *  
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: LiftingParticipantTransformation.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/OTConstants.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/OTConstants.java
index ad30d6e..9fbc9a2 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/OTConstants.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/OTConstants.java
@@ -3,11 +3,12 @@
  *
  * Copyright 2002-2009 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: OTConstants.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.objectteams.org for updates and contact.
  *
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ObjectTeamsTransformation.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ObjectTeamsTransformation.java
index 1ff149e..986807f 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ObjectTeamsTransformation.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ObjectTeamsTransformation.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2002-2014 Berlin Institute of Technology, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ObjectTeamsTransformation.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/RepositoryAccess.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/RepositoryAccess.java
index dad2b76..563d81d 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/RepositoryAccess.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/RepositoryAccess.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2010 Stephan Herrmann
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/StaticSliceBaseTransformation.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/StaticSliceBaseTransformation.java
index 92faa22..0cd6149 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/StaticSliceBaseTransformation.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/StaticSliceBaseTransformation.java
@@ -3,11 +3,12 @@
  *
  * Copyright 2002-2009 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: StaticSliceBaseTransformation.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.objectteams.org for updates and contact.
  *
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/SubBoundBaseMethodRedefinition.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/SubBoundBaseMethodRedefinition.java
index 9dc5691..6170fda 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/SubBoundBaseMethodRedefinition.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/SubBoundBaseMethodRedefinition.java
@@ -3,11 +3,12 @@
  *
  * Copyright 2002-2009 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: SubBoundBaseMethodRedefinition.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.objectteams.org for updates and contact.
  *
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/TeamInterfaceImplementation.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/TeamInterfaceImplementation.java
index c37c958..4a9819c 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/TeamInterfaceImplementation.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/TeamInterfaceImplementation.java
@@ -3,11 +3,12 @@
  *
  * Copyright 2002-2009 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: TeamInterfaceImplementation.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.objectteams.org for updates and contact.
  *
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ThreadActivation.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ThreadActivation.java
index 8574ad8..05f9cac 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ThreadActivation.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/ThreadActivation.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2002-2009 Berlin Institute of Technology, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: ThreadActivation.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/ConstantPool.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/ConstantPool.java
index 1de54a5..7941c1e 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/ConstantPool.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/ConstantPool.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2011 GK Software AG
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/DietClassLoaderRepository.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/DietClassLoaderRepository.java
index c67b14a..859e3ac 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/DietClassLoaderRepository.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/DietClassLoaderRepository.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2011 GK Software AG
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/DietClassParser.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/DietClassParser.java
index 83380a7..1c6e728 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/DietClassParser.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/DietClassParser.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2011 GK Software AG
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/DietJavaClass.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/DietJavaClass.java
index 0eca60a..7e119d5 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/DietJavaClass.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/bcel/DietJavaClass.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2011 GK Software AG
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/jplis/JPLISEnhancer.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/jplis/JPLISEnhancer.java
index fab486b..ec54727 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/jplis/JPLISEnhancer.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/jplis/JPLISEnhancer.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2005-2008 Berlin Institute of Technology, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: JPLISEnhancer.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/jplis/ObjectTeamsTransformer.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/jplis/ObjectTeamsTransformer.java
index f31c2c6..242a339 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/jplis/ObjectTeamsTransformer.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/jplis/ObjectTeamsTransformer.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2005-2015 Berlin Institute of Technology, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.eclipse.org/objectteams for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/jplis/otreAgent.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/jplis/otreAgent.java
index ee6077f..9372f0b 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/jplis/otreAgent.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/jplis/otreAgent.java
@@ -3,11 +3,12 @@
  *
  * Copyright 2005-2009 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: otreAgent.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.objectteams.org for updates and contact.
  *
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/AnnotationHelper.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/AnnotationHelper.java
index 0b45daa..b6e6ce2 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/AnnotationHelper.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/AnnotationHelper.java
@@ -3,10 +3,12 @@
  * 
  * Copyright 2009 Stephan Herrmann
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  * 
  * Please visit http://www.objectteams.org for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/AttributeReadingGuard.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/AttributeReadingGuard.java
index 52a449c..3832c58 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/AttributeReadingGuard.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/AttributeReadingGuard.java
@@ -3,11 +3,12 @@
  *
  * Copyright 2002-2009 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: AttributeReadingGuard.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.objectteams.org for updates and contact.
  *
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/BoundClass.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/BoundClass.java
index c440414..d9e9dcd 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/BoundClass.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/BoundClass.java
@@ -3,10 +3,12 @@
  *
  * Copyright 2004-2009 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * $Id$
  *
  * Please visit http://www.objectteams.org for updates and contact.
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/BoundMethod.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/BoundMethod.java
index 4a4a8fb..7cf0b82 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/BoundMethod.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/BoundMethod.java
@@ -3,11 +3,12 @@
  *
  * Copyright 2004-2009 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: BoundMethod.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.objectteams.org for updates and contact.
  *
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/CallinBindingManager.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/CallinBindingManager.java
index e14e3cf..10898e0 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/CallinBindingManager.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/CallinBindingManager.java
@@ -3,11 +3,12 @@
  *
  * Copyright 2002-2009 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: CallinBindingManager.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.objectteams.org for updates and contact.
  *
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/DebugUtil.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/DebugUtil.java
index c6e8d80..1823cff 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/DebugUtil.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/DebugUtil.java
@@ -3,11 +3,12 @@
  *
  * Copyright 2003-2009 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: DebugUtil.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.objectteams.org for updates and contact.
  *
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/FieldDescriptor.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/FieldDescriptor.java
index 30a3dd0..0adc5e2 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/FieldDescriptor.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/FieldDescriptor.java
@@ -3,11 +3,12 @@
  *
  * Copyright 2004-2009 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: FieldDescriptor.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.objectteams.org for updates and contact.
  *
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/ListValueHashMap.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/ListValueHashMap.java
index e642096..7ef7577 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/ListValueHashMap.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/ListValueHashMap.java
@@ -3,10 +3,12 @@
  *
  * Copyright 2004-2015 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.objectteams.org for updates and contact.
  *
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/MethodBinding.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/MethodBinding.java
index ecc5436..91bdb3b 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/MethodBinding.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/MethodBinding.java
@@ -3,11 +3,12 @@
  *
  * Copyright 2002-2009 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: MethodBinding.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.objectteams.org for updates and contact.
  *
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/RoleBaseBinding.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/RoleBaseBinding.java
index 0103e2a..b741759 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/RoleBaseBinding.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/RoleBaseBinding.java
@@ -3,11 +3,12 @@
  *
  * Copyright 2002-2009 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: RoleBaseBinding.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.objectteams.org for updates and contact.
  *
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/SuperMethodDescriptor.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/SuperMethodDescriptor.java
index 02b9c04..6593131 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/SuperMethodDescriptor.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/SuperMethodDescriptor.java
@@ -3,11 +3,12 @@
  * 
  * Copyright 2008 Technical University Berlin, Germany.
  * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: SuperMethodDescriptor.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  * 
  * Please visit http://www.objectteams.org for updates and contact.
  * 
diff --git a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/TeamIdDispenser.java b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/TeamIdDispenser.java
index 2a12706..6162420 100644
--- a/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/TeamIdDispenser.java
+++ b/plugins/org.eclipse.objectteams.otre/src/org/eclipse/objectteams/otre/util/TeamIdDispenser.java
@@ -3,11 +3,12 @@
  *
  * Copyright 2002-2009 Berlin Institute of Technology, Germany.
  *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * $Id: TeamIdDispenser.java 23408 2010-02-03 18:07:35Z stephan $
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
  *
  * Please visit http://www.objectteams.org for updates and contact.
  *
diff --git a/plugins/org.eclipse.objectteams.otredyn/customBuildCallbacks.xml b/plugins/org.eclipse.objectteams.otredyn/customBuildCallbacks.xml
index 7e716a3..8619c98 100644
--- a/plugins/org.eclipse.objectteams.otredyn/customBuildCallbacks.xml
+++ b/plugins/org.eclipse.objectteams.otredyn/customBuildCallbacks.xml
@@ -1,10 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
<!--
     Copyright (c) 2006, 2009 IBM Corporation and others.
-    All rights reserved. This program and the accompanying materials
-    are made available under the terms of the Eclipse Public License v1.0
-    which accompanies this distribution, and is available at
-    http://www.eclipse.org/legal/epl-v10.html
-    
+	This program and the accompanying materials
	are made available under the terms of the Eclipse Public License 2.0
	which accompanies this distribution, and is available at
	https://www.eclipse.org/legal/epl-2.0/
	
	SPDX-License-Identifier: EPL-2.0
    
     Contributors:
         IBM Corporation - initial API and implementation
        GK Software AG - fill in details for Object Teams
  -->
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/AbstractTeam.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/AbstractTeam.java
index 1acc835..81ba874 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/AbstractTeam.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/AbstractTeam.java
@@ -1,118 +1,119 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2014 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode;

-

-import java.util.ArrayList;

-import java.util.Collection;

-import java.util.Collections;

-import java.util.List;

-import java.util.Set;

-import java.util.TreeSet;

-

-import org.eclipse.jdt.annotation.NonNull;

-import org.eclipse.objectteams.otredyn.runtime.IBinding;

-import org.eclipse.objectteams.otredyn.runtime.IBoundClass;

-import org.eclipse.objectteams.otredyn.runtime.IBoundTeam;

-import org.eclipse.objectteams.otredyn.runtime.IClassIdentifierProvider;

-import org.eclipse.objectteams.otredyn.runtime.IClassRepository;

-

-/**

- * Represents a team class and stores the bindings this team has got.

- */

-public abstract class AbstractTeam extends AbstractBoundClass implements IBoundTeam {

-	/**

-	 * All relevant bindings (callin and decapsulation) of this team.

-	 * By internally using a TreeSet the set of bindings is naturally sorted 

-	 * based on {@link Binding#compareTo(Binding)} (see there).

-	 */

-	private Set<IBinding> bindings;

-	/**

-	 * The highest perTeamAccessId that has been read from an OTSpecialAccess attribute

-	 */

-	private int highestAccessId;

-

-	protected AbstractTeam(@NonNull String name, String id, ClassLoader loader) {

-		super(name, id, loader);

-		bindings = new TreeSet<IBinding>();

-	}

-

-	/**

-	 * Adds a binding to the team.

-	 * This method is intended to be called, 

-	 * while parsing the bytecode

-	 * @param binding

-	 */

-	public void addBinding(Binding binding) {

-		bindings.add(binding);

-	}

-

-	public Collection<IBinding> getBindings() {

-		parseBytecode();

-		return bindings;

-	}

-	

-	/**

-	 * Returns the superclass of this team as AbstractTeam

-	 */

-	@Override

-	public AbstractTeam getSuperclass() {

-		return (AbstractTeam) super.getSuperclass();

-	}

-	

-	/**

-	 * Record that this team uses the given accessId.

-	 * @param accessId

-	 */

-	public void recordAccessId(int accessId) {

-		this.highestAccessId = Math.max(this.highestAccessId, accessId);

-	}

-

-	public int getHighestAccessId() {

-		return highestAccessId;

-	}

-

-	/** Answer known tsub-versions of the given role. */

-	private List<String> getTSubRoles(String simpleRoleName) {

-		List<String> result = new ArrayList<String>();

-		for (AbstractBoundClass subTeam : this.subclasses.keySet()) {

-			if (!subTeam.isAnonymous())

-				result.add(subTeam.getName()+'$'+simpleRoleName);

-		}

-		return result;

-	}

-

-	/**

-	 * {@inheritDoc}

-	 */

-	@Override

-	public List<IBoundClass> getTSubsOfThis(IClassRepository classRepository, IClassIdentifierProvider idProvider) {

-		String name = this.getName();

-		int dollar = name.lastIndexOf('$');

-		if (dollar == -1)

-			return Collections.emptyList();

-		String teamName = name.substring(0, dollar);

-		// FIXME: use the idProvider, but: we don't yet have that team class :(

-		IBoundTeam myTeam = classRepository.getTeam(teamName.replace('/', '.'), teamName.replace('.', '/'), this.loader);

-		List<String> tsubRoleNames = ((AbstractTeam)myTeam).getTSubRoles(name.substring(dollar+1));

-		List<IBoundClass> tsubBases = new ArrayList<IBoundClass>();

-		for  (String tsubRoleName : tsubRoleNames)

-			tsubBases.add(classRepository.getBoundClass(tsubRoleName.replace('/', '.'), tsubRoleName.replace('.', '/'), this.loader));

-		return tsubBases;

-	}

-

-	protected abstract void setBytecode(byte[] classBytes);

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2014 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.objectteams.otredyn.runtime.IBinding;
+import org.eclipse.objectteams.otredyn.runtime.IBoundClass;
+import org.eclipse.objectteams.otredyn.runtime.IBoundTeam;
+import org.eclipse.objectteams.otredyn.runtime.IClassIdentifierProvider;
+import org.eclipse.objectteams.otredyn.runtime.IClassRepository;
+
+/**
+ * Represents a team class and stores the bindings this team has got.
+ */
+public abstract class AbstractTeam extends AbstractBoundClass implements IBoundTeam {
+	/**
+	 * All relevant bindings (callin and decapsulation) of this team.
+	 * By internally using a TreeSet the set of bindings is naturally sorted 
+	 * based on {@link Binding#compareTo(Binding)} (see there).
+	 */
+	private Set<IBinding> bindings;
+	/**
+	 * The highest perTeamAccessId that has been read from an OTSpecialAccess attribute
+	 */
+	private int highestAccessId;
+
+	protected AbstractTeam(@NonNull String name, String id, ClassLoader loader) {
+		super(name, id, loader);
+		bindings = new TreeSet<IBinding>();
+	}
+
+	/**
+	 * Adds a binding to the team.
+	 * This method is intended to be called, 
+	 * while parsing the bytecode
+	 * @param binding
+	 */
+	public void addBinding(Binding binding) {
+		bindings.add(binding);
+	}
+
+	public Collection<IBinding> getBindings() {
+		parseBytecode();
+		return bindings;
+	}
+	
+	/**
+	 * Returns the superclass of this team as AbstractTeam
+	 */
+	@Override
+	public AbstractTeam getSuperclass() {
+		return (AbstractTeam) super.getSuperclass();
+	}
+	
+	/**
+	 * Record that this team uses the given accessId.
+	 * @param accessId
+	 */
+	public void recordAccessId(int accessId) {
+		this.highestAccessId = Math.max(this.highestAccessId, accessId);
+	}
+
+	public int getHighestAccessId() {
+		return highestAccessId;
+	}
+
+	/** Answer known tsub-versions of the given role. */
+	private List<String> getTSubRoles(String simpleRoleName) {
+		List<String> result = new ArrayList<String>();
+		for (AbstractBoundClass subTeam : this.subclasses.keySet()) {
+			if (!subTeam.isAnonymous())
+				result.add(subTeam.getName()+'$'+simpleRoleName);
+		}
+		return result;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public List<IBoundClass> getTSubsOfThis(IClassRepository classRepository, IClassIdentifierProvider idProvider) {
+		String name = this.getName();
+		int dollar = name.lastIndexOf('$');
+		if (dollar == -1)
+			return Collections.emptyList();
+		String teamName = name.substring(0, dollar);
+		// FIXME: use the idProvider, but: we don't yet have that team class :(
+		IBoundTeam myTeam = classRepository.getTeam(teamName.replace('/', '.'), teamName.replace('.', '/'), this.loader);
+		List<String> tsubRoleNames = ((AbstractTeam)myTeam).getTSubRoles(name.substring(dollar+1));
+		List<IBoundClass> tsubBases = new ArrayList<IBoundClass>();
+		for  (String tsubRoleName : tsubRoleNames)
+			tsubBases.add(classRepository.getBoundClass(tsubRoleName.replace('/', '.'), tsubRoleName.replace('.', '/'), this.loader));
+		return tsubBases;
+	}
+
+	protected abstract void setBytecode(byte[] classBytes);
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Binding.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Binding.java
index 43275ef..5d56ae3 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Binding.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Binding.java
@@ -1,195 +1,196 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2016 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode;

-

-import org.eclipse.objectteams.otredyn.runtime.IBinding;

-

-/**

- * This class represents a callin or decapsulation binding

- * @author Oliver Frank

- */

-public class Binding implements Comparable<Binding>, IBinding {

-	

-	/** The callin modifier 'before' */

-	public static final int BEFORE = 1;

-	/** The callin modifier 'replace' */

-	public static final int REPLACE = 2;

-	/** The callin modifier 'after' */

-	public static final int AFTER = 3;

-	

-	AbstractBoundClass teamClass;

-	private String callinLabel;

-	private String boundClass;

-	private String memberName;

-	private String memberSignature;

-	private String weavableBaseClassName;

-	private int callinModifier;

-	/**

-	 * Locally unique id for (an element in) this binding:

-	 * For CALLIN_BINDING this is the callinId,

-	 * for METHOD_ACCESS or FIELD_ACCESS it is the perTeamAccessId

-	 */

-	private int perTeamId;

-	private int baseFlags;

-	private IBinding.BindingType type;

-	private boolean isHandleCovariantReturn;

-	private boolean requireBaseSuperCall;

-	

-	public IBinding.BindingType getType() {

-		return type;

-	}

-

-	/**

-	 * Create a callin binding.

-	 */

-	public Binding(AbstractBoundClass teamClass,

-			String roleClassName, String callinLabel, String boundClassName, 

-			String memberName, String memberSignature, String weavableBaseClassName, 

-			int callinModifier, int callinId, int baseFlags, boolean handleCovariantReturn, boolean requireBaseSuperCall) 

-	{

-		this.teamClass = teamClass;

-		this.callinLabel = callinLabel;

-		this.boundClass = boundClassName;

-		this.memberName = memberName;

-		this.memberSignature = memberSignature;

-		this.weavableBaseClassName = weavableBaseClassName;

-		this.callinModifier = callinModifier;

-		this.perTeamId = callinId;

-		this.baseFlags = baseFlags;

-		this.type = IBinding.BindingType.CALLIN_BINDING;

-		this.isHandleCovariantReturn = handleCovariantReturn;

-		this.requireBaseSuperCall = requireBaseSuperCall;

-	}

-

-	/**

-	 * Create a method or field access binding (decapsulation).

-	 */

-	public Binding(AbstractBoundClass teamClass,

-			String boundClassName, 

-			String memberName, String memberSignature, int perTeamAccessId, IBinding.BindingType type) 

-	{

-		this.teamClass = teamClass;

-		this.boundClass = boundClassName;

-		this.memberName = memberName;

-		this.memberSignature = memberSignature;

-		this.perTeamId = perTeamAccessId;

-		this.type = type;

-	}

-

-	/** Create a binding for a role base binding to trigger generating _OT$addRemoveRole. */

-	public Binding(AbstractBoundClass teamClass, String baseClassName) {

-		this.teamClass = teamClass;

-		this.boundClass = baseClassName;

-		this.type = IBinding.BindingType.ROLE_BASE_BINDING;

-	}

-

-	public String getBoundClass() {

-		return boundClass;

-	}

-	

-	public String getMemberName() {

-		return memberName;

-	}

-

-	public String getMemberSignature() {

-		return memberSignature;

-	}

-	

-	public int getBaseFlags() {

-		return baseFlags;

-	}

-

-	public int getPerTeamId() {

-		return perTeamId;

-	}

-

-	public boolean isHandleCovariantReturn() {

-		return this.isHandleCovariantReturn;

-	}

-	

-	@Override

-	public boolean requiresBaseSuperCall() {

-		return this.requireBaseSuperCall;

-	}

-

-	public String getDeclaringBaseClassName() {

-		return this.weavableBaseClassName;

-	}

-

-	@Override

-	public boolean equals(Object obj) {

-		Binding other = (Binding) obj;

-		return boundClass.equals(other.boundClass)

-				&& memberName.equals(other.memberName)

-				&& memberSignature.equals(other.memberSignature)

-				&& type == other.type && perTeamId == other.perTeamId;

-	}

-	

-	public int compareTo(Binding other) {

-		// ordering strategy for callin bindings:

-		// - first criterion: callinModifier: before/after have higher priority than replace.

-		// - second criterion: precedence (only relevant among callins of the same callin modifier).

-		// the set AbstractTeam.bindings is sorted low-to-high.

-		// then TeamManager.handleTeamStateChange processes all bindings from low-to-high

-		// inserting each at the front of the list of active teams, such that last added

-		// will indeed have highest priority, which is in line with ordering by activation time.

-		int compare = 0;

-		if (this.callinLabel == null || other.callinLabel == null) {

-			// at least one binding is a decaps binding

-			if (this.callinLabel != null)

-				return 1;

-			else if (other.callinLabel != null)

-				return -1;

-		} else {

-			if (this.callinModifier != other.callinModifier) {

-				// replace has lower priority than before/after:

-				if (this.callinModifier == REPLACE)

-					return -1;

-				else if (other.callinModifier == REPLACE)

-					return 1;

-			}

-			// the following comparison respects precedence:

-			compare = this.teamClass.compare(this.callinLabel, other.callinLabel);

-			if (compare != 0)

-				return compare;

-		}

-		if (this.baseFlags != other.baseFlags)

-			return Integer.valueOf(this.baseFlags).compareTo(other.baseFlags);

-		return (boundClass + memberName + memberSignature).compareTo(other.boundClass + other.memberName + other.memberSignature);

-	}

-

-	@Override

-	public String toString() {

-		StringBuffer buf = new StringBuffer();

-		switch (this.type) {

-		case CALLIN_BINDING: buf.append("callin: ");break;

-		case METHOD_ACCESS: buf.append("callout: ");break;

-		case FIELD_ACCESS: buf.append("callout-to-field: ");break;

-		case ROLE_BASE_BINDING: 

-			buf.append("playedBy: ").append(this.boundClass);

-			return buf.toString();

-		}

-		buf.append('{');

-		buf.append(this.perTeamId);

-		buf.append("} ");

-		buf.append(this.boundClass);

-		buf.append('.');

-		buf.append(this.memberName);

-		buf.append(this.memberSignature);

-		return buf.toString();

-	}

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2016 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode;
+
+import org.eclipse.objectteams.otredyn.runtime.IBinding;
+
+/**
+ * This class represents a callin or decapsulation binding
+ * @author Oliver Frank
+ */
+public class Binding implements Comparable<Binding>, IBinding {
+	
+	/** The callin modifier 'before' */
+	public static final int BEFORE = 1;
+	/** The callin modifier 'replace' */
+	public static final int REPLACE = 2;
+	/** The callin modifier 'after' */
+	public static final int AFTER = 3;
+	
+	AbstractBoundClass teamClass;
+	private String callinLabel;
+	private String boundClass;
+	private String memberName;
+	private String memberSignature;
+	private String weavableBaseClassName;
+	private int callinModifier;
+	/**
+	 * Locally unique id for (an element in) this binding:
+	 * For CALLIN_BINDING this is the callinId,
+	 * for METHOD_ACCESS or FIELD_ACCESS it is the perTeamAccessId
+	 */
+	private int perTeamId;
+	private int baseFlags;
+	private IBinding.BindingType type;
+	private boolean isHandleCovariantReturn;
+	private boolean requireBaseSuperCall;
+	
+	public IBinding.BindingType getType() {
+		return type;
+	}
+
+	/**
+	 * Create a callin binding.
+	 */
+	public Binding(AbstractBoundClass teamClass,
+			String roleClassName, String callinLabel, String boundClassName, 
+			String memberName, String memberSignature, String weavableBaseClassName, 
+			int callinModifier, int callinId, int baseFlags, boolean handleCovariantReturn, boolean requireBaseSuperCall) 
+	{
+		this.teamClass = teamClass;
+		this.callinLabel = callinLabel;
+		this.boundClass = boundClassName;
+		this.memberName = memberName;
+		this.memberSignature = memberSignature;
+		this.weavableBaseClassName = weavableBaseClassName;
+		this.callinModifier = callinModifier;
+		this.perTeamId = callinId;
+		this.baseFlags = baseFlags;
+		this.type = IBinding.BindingType.CALLIN_BINDING;
+		this.isHandleCovariantReturn = handleCovariantReturn;
+		this.requireBaseSuperCall = requireBaseSuperCall;
+	}
+
+	/**
+	 * Create a method or field access binding (decapsulation).
+	 */
+	public Binding(AbstractBoundClass teamClass,
+			String boundClassName, 
+			String memberName, String memberSignature, int perTeamAccessId, IBinding.BindingType type) 
+	{
+		this.teamClass = teamClass;
+		this.boundClass = boundClassName;
+		this.memberName = memberName;
+		this.memberSignature = memberSignature;
+		this.perTeamId = perTeamAccessId;
+		this.type = type;
+	}
+
+	/** Create a binding for a role base binding to trigger generating _OT$addRemoveRole. */
+	public Binding(AbstractBoundClass teamClass, String baseClassName) {
+		this.teamClass = teamClass;
+		this.boundClass = baseClassName;
+		this.type = IBinding.BindingType.ROLE_BASE_BINDING;
+	}
+
+	public String getBoundClass() {
+		return boundClass;
+	}
+	
+	public String getMemberName() {
+		return memberName;
+	}
+
+	public String getMemberSignature() {
+		return memberSignature;
+	}
+	
+	public int getBaseFlags() {
+		return baseFlags;
+	}
+
+	public int getPerTeamId() {
+		return perTeamId;
+	}
+
+	public boolean isHandleCovariantReturn() {
+		return this.isHandleCovariantReturn;
+	}
+	
+	@Override
+	public boolean requiresBaseSuperCall() {
+		return this.requireBaseSuperCall;
+	}
+
+	public String getDeclaringBaseClassName() {
+		return this.weavableBaseClassName;
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		Binding other = (Binding) obj;
+		return boundClass.equals(other.boundClass)
+				&& memberName.equals(other.memberName)
+				&& memberSignature.equals(other.memberSignature)
+				&& type == other.type && perTeamId == other.perTeamId;
+	}
+	
+	public int compareTo(Binding other) {
+		// ordering strategy for callin bindings:
+		// - first criterion: callinModifier: before/after have higher priority than replace.
+		// - second criterion: precedence (only relevant among callins of the same callin modifier).
+		// the set AbstractTeam.bindings is sorted low-to-high.
+		// then TeamManager.handleTeamStateChange processes all bindings from low-to-high
+		// inserting each at the front of the list of active teams, such that last added
+		// will indeed have highest priority, which is in line with ordering by activation time.
+		int compare = 0;
+		if (this.callinLabel == null || other.callinLabel == null) {
+			// at least one binding is a decaps binding
+			if (this.callinLabel != null)
+				return 1;
+			else if (other.callinLabel != null)
+				return -1;
+		} else {
+			if (this.callinModifier != other.callinModifier) {
+				// replace has lower priority than before/after:
+				if (this.callinModifier == REPLACE)
+					return -1;
+				else if (other.callinModifier == REPLACE)
+					return 1;
+			}
+			// the following comparison respects precedence:
+			compare = this.teamClass.compare(this.callinLabel, other.callinLabel);
+			if (compare != 0)
+				return compare;
+		}
+		if (this.baseFlags != other.baseFlags)
+			return Integer.valueOf(this.baseFlags).compareTo(other.baseFlags);
+		return (boundClass + memberName + memberSignature).compareTo(other.boundClass + other.memberName + other.memberSignature);
+	}
+
+	@Override
+	public String toString() {
+		StringBuffer buf = new StringBuffer();
+		switch (this.type) {
+		case CALLIN_BINDING: buf.append("callin: ");break;
+		case METHOD_ACCESS: buf.append("callout: ");break;
+		case FIELD_ACCESS: buf.append("callout-to-field: ");break;
+		case ROLE_BASE_BINDING: 
+			buf.append("playedBy: ").append(this.boundClass);
+			return buf.toString();
+		}
+		buf.append('{');
+		buf.append(this.perTeamId);
+		buf.append("} ");
+		buf.append(this.boundClass);
+		buf.append('.');
+		buf.append(this.memberName);
+		buf.append(this.memberSignature);
+		return buf.toString();
+	}
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/BytecodeProviderFactory.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/BytecodeProviderFactory.java
index 6f9a2b6..b011739 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/BytecodeProviderFactory.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/BytecodeProviderFactory.java
@@ -1,35 +1,36 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2012 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode;

-

-/**

- * This class creates and provides a singleton instance of

- * IBytecodeProvider. 

- * Actually it returns a instance of InMemeoryBytecodeProvider.

- * In the future, this class should decides (e.g. by a system property), 

- * which BytecodeProvider should be used   

- * @author Oliver Frank

- */

-public class BytecodeProviderFactory {

-	private static IBytecodeProvider instance;

-	public static synchronized IBytecodeProvider getBytecodeProvider() {

-		if (instance == null) {

-			instance = new InMemoryBytecodeProvider();

-		}

-		return instance;

-	}

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2012 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode;
+
+/**
+ * This class creates and provides a singleton instance of
+ * IBytecodeProvider. 
+ * Actually it returns a instance of InMemeoryBytecodeProvider.
+ * In the future, this class should decides (e.g. by a system property), 
+ * which BytecodeProvider should be used   
+ * @author Oliver Frank
+ */
+public class BytecodeProviderFactory {
+	private static IBytecodeProvider instance;
+	public static synchronized IBytecodeProvider getBytecodeProvider() {
+		if (instance == null) {
+			instance = new InMemoryBytecodeProvider();
+		}
+		return instance;
+	}
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Field.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Field.java
index 47eb542..04b559d 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Field.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Field.java
@@ -1,46 +1,47 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2014 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode;

-

-import org.eclipse.objectteams.otredyn.runtime.IBoundClass;

-

-/**

- * Represents a field of a class

- * @author Oliver Frank

- */

-public class Field extends Member {

-

-	public Field(String name, String signature) {

-		super(name, signature);

-	}

-	

-	public Field(String name, String signature, boolean isStatic, int accessFlags) {

-		super(name, signature, isStatic, accessFlags);

-	}

-

-	/**

-	 * Returns a globally unique id for the field

-	 * @param clazz

-	 * @return 

-	 */

-	@Override

-	public int getGlobalId(IBoundClass clazz) {

-		String key = null;

-		key = clazz.getId() + getName() + getSignature();

-		return getId(key);

-	}

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2014 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode;
+
+import org.eclipse.objectteams.otredyn.runtime.IBoundClass;
+
+/**
+ * Represents a field of a class
+ * @author Oliver Frank
+ */
+public class Field extends Member {
+
+	public Field(String name, String signature) {
+		super(name, signature);
+	}
+	
+	public Field(String name, String signature, boolean isStatic, int accessFlags) {
+		super(name, signature, isStatic, accessFlags);
+	}
+
+	/**
+	 * Returns a globally unique id for the field
+	 * @param clazz
+	 * @return 
+	 */
+	@Override
+	public int getGlobalId(IBoundClass clazz) {
+		String key = null;
+		key = clazz.getId() + getName() + getSignature();
+		return getId(key);
+	}
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/IBytecodeProvider.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/IBytecodeProvider.java
index 216a1f4..6d38976 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/IBytecodeProvider.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/IBytecodeProvider.java
@@ -1,43 +1,44 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2012 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode;

-

-/**

- * Interface for classes, that provide bytecode for other classes

- * @author Oliver Frank

- */

-public interface IBytecodeProvider {

-	/**

-	 * Returns the bytecode of the class with the given id.

-	 * Attention: This may be an expensive operation 

-	 * (e.g. if the bytecode must be read from the hard disk).

-	 * @param classId

-	 * @return the bytecode of the class or null, if the class

-	 * was not loaded yet. 

-	 */

-	public byte[] getBytecode(String classId);

-	

-	/**

-	 * Sets the bytecode of the class with the given id

-	 * in the BytecodeProvider

-	 * Attention: This may be an expensive operation 

-	 * (e.g. if the bytecode is written to the hard disk).

-	 * @param classId

-	 * @param bytecode

-	 */

-	public void setBytecode(String classId, byte[] bytecode);

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2012 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode;
+
+/**
+ * Interface for classes, that provide bytecode for other classes
+ * @author Oliver Frank
+ */
+public interface IBytecodeProvider {
+	/**
+	 * Returns the bytecode of the class with the given id.
+	 * Attention: This may be an expensive operation 
+	 * (e.g. if the bytecode must be read from the hard disk).
+	 * @param classId
+	 * @return the bytecode of the class or null, if the class
+	 * was not loaded yet. 
+	 */
+	public byte[] getBytecode(String classId);
+	
+	/**
+	 * Sets the bytecode of the class with the given id
+	 * in the BytecodeProvider
+	 * Attention: This may be an expensive operation 
+	 * (e.g. if the bytecode is written to the hard disk).
+	 * @param classId
+	 * @param bytecode
+	 */
+	public void setBytecode(String classId, byte[] bytecode);
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/IRedefineStrategy.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/IRedefineStrategy.java
index fd06f87..b9ed896 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/IRedefineStrategy.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/IRedefineStrategy.java
@@ -1,35 +1,36 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2012 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode;

-

-import java.lang.instrument.UnmodifiableClassException;

-

-/**

- * Classes that implements this interface can redefine classes at runtime.

- * @author Oliver Frank

- */

-public interface IRedefineStrategy {

-	

-	/**

-	 * Redefines a class at runtime. 

-	 * @param clazz the existing class instance

-	 * @param bytecode the new bytecode for this class 

-	 * @throws ClassNotFoundException the class was not loaded yet

-	 * @throws UnmodifiableClassException it is impossible to redefine the class

-	 */

-	public void redefine(Class<?> clazz, byte[] bytecode) throws ClassNotFoundException, UnmodifiableClassException;

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2012 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode;
+
+import java.lang.instrument.UnmodifiableClassException;
+
+/**
+ * Classes that implements this interface can redefine classes at runtime.
+ * @author Oliver Frank
+ */
+public interface IRedefineStrategy {
+	
+	/**
+	 * Redefines a class at runtime. 
+	 * @param clazz the existing class instance
+	 * @param bytecode the new bytecode for this class 
+	 * @throws ClassNotFoundException the class was not loaded yet
+	 * @throws UnmodifiableClassException it is impossible to redefine the class
+	 */
+	public void redefine(Class<?> clazz, byte[] bytecode) throws ClassNotFoundException, UnmodifiableClassException;
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/InMemoryBytecodeProvider.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/InMemoryBytecodeProvider.java
index 57e9bb7..46c13ee 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/InMemoryBytecodeProvider.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/InMemoryBytecodeProvider.java
@@ -1,51 +1,52 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2012 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode;

-

-import java.util.HashMap;

-import java.util.Map;

-

-/**

- * This class is an implementaion of IBytecodeProvider

- * It keeps the bytecode of all classes in memory.

- * @author Oliver Frank

- */

-public class InMemoryBytecodeProvider implements IBytecodeProvider {

-

-	private Map<String, byte[]> bytecodeMap = new HashMap<String, byte[]>();

-	

-	/**

-	 * Returns the bytecode of a class with the given id.

-	 * In this implementation, this is not an expensive operation. 

-	 * @return the bytecode of the class or null, if the class

-	 * was not loaded yet.

-	 */

-	public byte[] getBytecode(String className) {

-		return bytecodeMap.get(className);

-	}

-

-	/**

-	 * Sets the bytecode of the class with the given id

-	 * in the BytecodeProvider

-	 * In this implementation, this is not an expensive operation.

-	 * @param classId

-	 * @param bytecode

-	 */

-	public void setBytecode(String className, byte[] bytecode) {

-		bytecodeMap.put(className, bytecode);

-	}

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2012 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * This class is an implementaion of IBytecodeProvider
+ * It keeps the bytecode of all classes in memory.
+ * @author Oliver Frank
+ */
+public class InMemoryBytecodeProvider implements IBytecodeProvider {
+
+	private Map<String, byte[]> bytecodeMap = new HashMap<String, byte[]>();
+	
+	/**
+	 * Returns the bytecode of a class with the given id.
+	 * In this implementation, this is not an expensive operation. 
+	 * @return the bytecode of the class or null, if the class
+	 * was not loaded yet.
+	 */
+	public byte[] getBytecode(String className) {
+		return bytecodeMap.get(className);
+	}
+
+	/**
+	 * Sets the bytecode of the class with the given id
+	 * in the BytecodeProvider
+	 * In this implementation, this is not an expensive operation.
+	 * @param classId
+	 * @param bytecode
+	 */
+	public void setBytecode(String className, byte[] bytecode) {
+		bytecodeMap.put(className, bytecode);
+	}
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Member.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Member.java
index ca7b9ec..905ed17 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Member.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Member.java
@@ -1,110 +1,111 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2014 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode;

-

-import java.util.HashMap;

-import java.util.Map;

-

-import org.eclipse.objectteams.otredyn.runtime.IBoundClass;

-import org.eclipse.objectteams.otredyn.runtime.IMember;

-import org.objectweb.asm.Opcodes;

-

-/**

- * Represents a member of a class.

- * This class abstract. Instances of this class can only be created

- * as {@link Field} or {@link Method}.

- * @author Oliver Frank

- */

-public abstract class Member implements IMember {

-

-	/**

-	 * Map of globally unique Ids by keys that are constructed from the resolved target member.

-	 * NOTE that internally we temporarily set bit 0x80000000 to signal that a member is a constructor.

-	 * See https://bugs.eclipse.org/494415

-	 */

-	private static Map<String, Integer> idMap = new HashMap<String, Integer>();

-	private static int currentId = 1; // distinguish from uninitialized 0 (for debugging purposes)

-	

-	private String name;

-	private String signature;

-	private boolean isStatic;

-	private int accessFlags;

-

-	public Member(String name, String signature) {

-		this.name = name;

-		this.signature = signature;

-	}

-

-	public Member(String name, String signature, boolean isStatic, int accessFlags) {

-		this(name, signature);

-		this.isStatic = isStatic;

-		this.accessFlags = accessFlags;

-	}

-

-	public boolean isStatic() {

-		return isStatic;

-	}

-

-	public String getName() {

-		return name;

-	}

-

-	public String getSignature() {

-		return signature;

-	}

-

-	public void setStatic(boolean isStatic) {

-		this.isStatic = isStatic;

-	}

-	

-	public boolean isPrivate() {

-		return (this.accessFlags & Opcodes.ACC_PRIVATE) != 0;

-	}

-	

-	public int getAccessFlags() {

-		return this.accessFlags;

-	}

-	

-	/**

-	 * Returns a globally unique id for a given key.

-	 * @param key

-	 * @return

-	 */

-	protected int getId(String key) {

-		Integer id = idMap.get(key);

-		if (id == null) {

-			synchronized (idMap) {

-				int thisId = currentId;

-				currentId += 2; // 2-increment to keep space for base-super calls

-				idMap.put(key, thisId);

-				return thisId;

-			}

-		}

-

-		return id;

-	}

-	

-	public abstract int getGlobalId(IBoundClass clazz);

-

-	@Override

-	public String toString() {

-		StringBuilder buf = new StringBuilder();

-		buf.append("0x").append(Integer.toHexString(this.accessFlags)).append(' ');

-		buf.append(this.name).append(this.signature);

-		return buf.toString();

-	}

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2014 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.objectteams.otredyn.runtime.IBoundClass;
+import org.eclipse.objectteams.otredyn.runtime.IMember;
+import org.objectweb.asm.Opcodes;
+
+/**
+ * Represents a member of a class.
+ * This class abstract. Instances of this class can only be created
+ * as {@link Field} or {@link Method}.
+ * @author Oliver Frank
+ */
+public abstract class Member implements IMember {
+
+	/**
+	 * Map of globally unique Ids by keys that are constructed from the resolved target member.
+	 * NOTE that internally we temporarily set bit 0x80000000 to signal that a member is a constructor.
+	 * See https://bugs.eclipse.org/494415
+	 */
+	private static Map<String, Integer> idMap = new HashMap<String, Integer>();
+	private static int currentId = 1; // distinguish from uninitialized 0 (for debugging purposes)
+	
+	private String name;
+	private String signature;
+	private boolean isStatic;
+	private int accessFlags;
+
+	public Member(String name, String signature) {
+		this.name = name;
+		this.signature = signature;
+	}
+
+	public Member(String name, String signature, boolean isStatic, int accessFlags) {
+		this(name, signature);
+		this.isStatic = isStatic;
+		this.accessFlags = accessFlags;
+	}
+
+	public boolean isStatic() {
+		return isStatic;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public String getSignature() {
+		return signature;
+	}
+
+	public void setStatic(boolean isStatic) {
+		this.isStatic = isStatic;
+	}
+	
+	public boolean isPrivate() {
+		return (this.accessFlags & Opcodes.ACC_PRIVATE) != 0;
+	}
+	
+	public int getAccessFlags() {
+		return this.accessFlags;
+	}
+	
+	/**
+	 * Returns a globally unique id for a given key.
+	 * @param key
+	 * @return
+	 */
+	protected int getId(String key) {
+		Integer id = idMap.get(key);
+		if (id == null) {
+			synchronized (idMap) {
+				int thisId = currentId;
+				currentId += 2; // 2-increment to keep space for base-super calls
+				idMap.put(key, thisId);
+				return thisId;
+			}
+		}
+
+		return id;
+	}
+	
+	public abstract int getGlobalId(IBoundClass clazz);
+
+	@Override
+	public String toString() {
+		StringBuilder buf = new StringBuilder();
+		buf.append("0x").append(Integer.toHexString(this.accessFlags)).append(' ');
+		buf.append(this.name).append(this.signature);
+		return buf.toString();
+	}
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/OtreRedefineStrategy.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/OtreRedefineStrategy.java
index a41e93f..35347c1 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/OtreRedefineStrategy.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/OtreRedefineStrategy.java
@@ -1,45 +1,46 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2012 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode;

-

-import java.lang.instrument.ClassDefinition;

-import java.lang.instrument.UnmodifiableClassException;

-

-import org.eclipse.objectteams.otredyn.transformer.jplis.otreAgent;

-import org.eclipse.objectteams.runtime.DebugHooks;

-

-/**

- * This implementation of {@link IRedefineStrategy} uses the

- * JPLIS agent {@link otreAgent} to redefine classes.

- * @author Oliver Frank

- */

-public class OtreRedefineStrategy implements IRedefineStrategy {

-

-	public void redefine(Class<?> clazz, byte[] bytecode) throws ClassNotFoundException, UnmodifiableClassException {

-		ClassDefinition arr_cd[] = { new ClassDefinition(clazz, bytecode) };

-		try {

-			otreAgent.getInstrumentation().redefineClasses(arr_cd);

-			DebugHooks.afterRedefineClasses(clazz.getName());

-		} catch (ClassFormatError cfe) {

-			// error output during redefinition tends to swallow the stack, print it now:

-			System.err.println("OTDRE: Error redifining "+clazz.getName());

-			cfe.printStackTrace();

-			throw cfe;

-		}

-	}

-

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2012 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode;
+
+import java.lang.instrument.ClassDefinition;
+import java.lang.instrument.UnmodifiableClassException;
+
+import org.eclipse.objectteams.otredyn.transformer.jplis.otreAgent;
+import org.eclipse.objectteams.runtime.DebugHooks;
+
+/**
+ * This implementation of {@link IRedefineStrategy} uses the
+ * JPLIS agent {@link otreAgent} to redefine classes.
+ * @author Oliver Frank
+ */
+public class OtreRedefineStrategy implements IRedefineStrategy {
+
+	public void redefine(Class<?> clazz, byte[] bytecode) throws ClassNotFoundException, UnmodifiableClassException {
+		ClassDefinition arr_cd[] = { new ClassDefinition(clazz, bytecode) };
+		try {
+			otreAgent.getInstrumentation().redefineClasses(arr_cd);
+			DebugHooks.afterRedefineClasses(clazz.getName());
+		} catch (ClassFormatError cfe) {
+			// error output during redefinition tends to swallow the stack, print it now:
+			System.err.println("OTDRE: Error redifining "+clazz.getName());
+			cfe.printStackTrace();
+			throw cfe;
+		}
+	}
+
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/RedefineStrategyFactory.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/RedefineStrategyFactory.java
index 93860b0..37437d1 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/RedefineStrategyFactory.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/RedefineStrategyFactory.java
@@ -1,37 +1,38 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2012 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode;

-

-/**

- * Provides a singleton instance of {@link IRedefineStrategy}.

- * If no instance was set, this class returns the {@link OtreRedefineStrategy} 

- * @author Oliver Frank

- */

-public class RedefineStrategyFactory {

-	private static IRedefineStrategy redefineStrategy;

-

-	public static IRedefineStrategy getRedefineStrategy() {

-		if (redefineStrategy == null) {

-			redefineStrategy = new OtreRedefineStrategy();

-		}

-		return redefineStrategy;

-	}

-

-	public static void setRedefineStrategy(IRedefineStrategy redefineStrategy) {

-		RedefineStrategyFactory.redefineStrategy = redefineStrategy;

-	}

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2012 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode;
+
+/**
+ * Provides a singleton instance of {@link IRedefineStrategy}.
+ * If no instance was set, this class returns the {@link OtreRedefineStrategy} 
+ * @author Oliver Frank
+ */
+public class RedefineStrategyFactory {
+	private static IRedefineStrategy redefineStrategy;
+
+	public static IRedefineStrategy getRedefineStrategy() {
+		if (redefineStrategy == null) {
+			redefineStrategy = new OtreRedefineStrategy();
+		}
+		return redefineStrategy;
+	}
+
+	public static void setRedefineStrategy(IRedefineStrategy redefineStrategy) {
+		RedefineStrategyFactory.redefineStrategy = redefineStrategy;
+	}
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Types.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Types.java
index 42d2725..1be3395 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Types.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/Types.java
@@ -1,119 +1,120 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2015 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode;

-

-/**

- * Helper class to handle type strings used in the bytecode

- * @author Oliver Frank

- */

-public abstract class Types {

-

-	public final static int TEAM_FLAG  = 1; // within OTClassFlags attribute

-	public final static int ROLE_FLAG = 2; // within OTClassFlags attribute

-    

-	public static final String VOID = "V";

-

-	public static final String BOOLEAN = "Z";

-

-	public static final String CHAR = "C";

-

-	public static final String BYTE = "B";

-

-	public static final String SHORT = "S";

-

-	public static final String INT = "I";

-

-	public static final String FLOAT = "F";

-

-	public static final String LONG = "J";

-

-	public static final String DOUBLE = "D";

-

-	private static final String ARRAY = "[";

-

-	public static String getAsArrayType(String typeName) {

-		if (typeName.length() == 1) {

-			switch (typeName.charAt(0)) {

-			case 'Z': case 'C': case 'B': case 'S': case 'I': case 'F': case 'J': case 'D': 

-				return ARRAY + typeName;

-			}

-		}

-		

-		return ARRAY + "L" + typeName + ';';

-	}

-	

-	public static String getAsInternalType(String className) {

-		return "L" + className + ';';

-	}

-	

-	public static String getAsInternalType(Class<?> clazz) {

-		String type = null;

-		if (clazz.isPrimitive()) {

-			String name = clazz.getName();

-			if (name.compareTo("void") == 0) {

-				type = VOID;

-			} else if (name.compareTo("boolean") == 0) {

-				type = BOOLEAN;

-			} else if (name.compareTo("char") == 0) {

-				type = CHAR;

-			} else if (name.compareTo("byte") == 0) {

-				type = BYTE;

-			} else if (name.compareTo("short") == 0) {

-				type = SHORT;

-			} else if (name.compareTo("int") == 0) {

-				type = INT;

-			} else if (name.compareTo("float") == 0) {

-				type = FLOAT;

-			} else if (name.compareTo("long") == 0) {

-				type = LONG;

-			} else if (name.compareTo("double") == 0) {

-				type = DOUBLE;

-			}

-		} else {

-			type = clazz.getName().replace('.', '/');

-			if (!clazz.isArray()) {

-				type = "L" + type + ';';

-			}

-		}

-		

-		return type;

-	}

-	

-	public static String getTypeStringForMethod(String returnType, String[] paramTypes) {

-		StringBuilder buf = new StringBuilder();

-		buf.append('(');

-		if (paramTypes != null) {

-			for (String paramType : paramTypes)

-				buf.append(paramType);

-		}

-		buf.append(')');

-		buf.append(returnType);

-		return buf.toString();

-	}

-	

-	public static String getTypeStringForMethod(Class<?> returnType, Class<?>[] paramTypes) {

-		StringBuilder buf = new StringBuilder();

-		buf.append('(');

-		if (paramTypes != null) {

-			for (Class<?> paramType : paramTypes)

-				buf.append(getAsInternalType(paramType));

-		}

-		buf.append(')');

-		buf.append(getAsInternalType(returnType));

-		return buf.toString();

-	}

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2015 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode;
+
+/**
+ * Helper class to handle type strings used in the bytecode
+ * @author Oliver Frank
+ */
+public abstract class Types {
+
+	public final static int TEAM_FLAG  = 1; // within OTClassFlags attribute
+	public final static int ROLE_FLAG = 2; // within OTClassFlags attribute
+    
+	public static final String VOID = "V";
+
+	public static final String BOOLEAN = "Z";
+
+	public static final String CHAR = "C";
+
+	public static final String BYTE = "B";
+
+	public static final String SHORT = "S";
+
+	public static final String INT = "I";
+
+	public static final String FLOAT = "F";
+
+	public static final String LONG = "J";
+
+	public static final String DOUBLE = "D";
+
+	private static final String ARRAY = "[";
+
+	public static String getAsArrayType(String typeName) {
+		if (typeName.length() == 1) {
+			switch (typeName.charAt(0)) {
+			case 'Z': case 'C': case 'B': case 'S': case 'I': case 'F': case 'J': case 'D': 
+				return ARRAY + typeName;
+			}
+		}
+		
+		return ARRAY + "L" + typeName + ';';
+	}
+	
+	public static String getAsInternalType(String className) {
+		return "L" + className + ';';
+	}
+	
+	public static String getAsInternalType(Class<?> clazz) {
+		String type = null;
+		if (clazz.isPrimitive()) {
+			String name = clazz.getName();
+			if (name.compareTo("void") == 0) {
+				type = VOID;
+			} else if (name.compareTo("boolean") == 0) {
+				type = BOOLEAN;
+			} else if (name.compareTo("char") == 0) {
+				type = CHAR;
+			} else if (name.compareTo("byte") == 0) {
+				type = BYTE;
+			} else if (name.compareTo("short") == 0) {
+				type = SHORT;
+			} else if (name.compareTo("int") == 0) {
+				type = INT;
+			} else if (name.compareTo("float") == 0) {
+				type = FLOAT;
+			} else if (name.compareTo("long") == 0) {
+				type = LONG;
+			} else if (name.compareTo("double") == 0) {
+				type = DOUBLE;
+			}
+		} else {
+			type = clazz.getName().replace('.', '/');
+			if (!clazz.isArray()) {
+				type = "L" + type + ';';
+			}
+		}
+		
+		return type;
+	}
+	
+	public static String getTypeStringForMethod(String returnType, String[] paramTypes) {
+		StringBuilder buf = new StringBuilder();
+		buf.append('(');
+		if (paramTypes != null) {
+			for (String paramType : paramTypes)
+				buf.append(paramType);
+		}
+		buf.append(')');
+		buf.append(returnType);
+		return buf.toString();
+	}
+	
+	public static String getTypeStringForMethod(Class<?> returnType, Class<?>[] paramTypes) {
+		StringBuilder buf = new StringBuilder();
+		buf.append('(');
+		if (paramTypes != null) {
+			for (Class<?> paramType : paramTypes)
+				buf.append(getAsInternalType(paramType));
+		}
+		buf.append(')');
+		buf.append(getAsInternalType(returnType));
+		return buf.toString();
+	}
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/ASMByteCodeAnalyzer.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/ASMByteCodeAnalyzer.java
index bee2850..a758347 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/ASMByteCodeAnalyzer.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/ASMByteCodeAnalyzer.java
@@ -1,110 +1,111 @@
-/**********************************************************************

- * This file is part of "Object Teams Development Tooling"-Software

- * 

- * Copyright 2008, 2015 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- * 		Oliver Frank - Initial API and implementation

- * 		Stephan Herrmann - adjusted for ASM 5.0

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode.asm;

-

-import java.io.IOException;

-import java.io.InputStream;

-import java.util.Map;

-import java.util.concurrent.ConcurrentHashMap;

-

-import org.objectweb.asm.ClassReader;

-import org.objectweb.asm.Opcodes;

-

-/**

- * This class performs some fast readClass analyses

- * to determine further processing.

- * 

- * @author Oliver Frank

- * @since 1.2.3

- */

-public class ASMByteCodeAnalyzer {

-	private static final int ACC_TEAM = 0x8000;

-

-	boolean useExternalForm = false; // true: use '.', false: use '/'

-	

-

-	public class ClassInformation {

-		private int modifiers;

-		private String superClassName;

-		private String[] superInterfaceNames;

-

-		ClassInformation(ClassReader classReader) {

-			this.modifiers = classReader.getAccess();

-			this.superClassName = classReader.getSuperName();

-			this.superInterfaceNames = classReader.getInterfaces();

-		}

-

-		public boolean isTeam() {

-			return (modifiers & ACC_TEAM) != 0;

-		}

-

-		public boolean isInterface() {

-			return (modifiers & Opcodes.ACC_INTERFACE) != 0;

-		}

-

-		public String getSuperClassName() {

-			if (superClassName != null)

-				return useExternalForm ? superClassName.replace('/', '.') : superClassName;

-			return null;

-		}

-		

-		public String[] getSuperInterfaceNames() {

-			if (superInterfaceNames != null && useExternalForm)

-				for (int i = 0; i < superInterfaceNames.length; i++) {

-					superInterfaceNames[i] = superInterfaceNames[i].replace('/', '.');

-				}

-			return superInterfaceNames;

-		}

-	}

-

-	private Map<String, ClassInformation> classInformationMap =

-			new ConcurrentHashMap<String, ClassInformation>(512, 0.75f, 4);

-

-	/** Should the external (dot-separated) form be used? */

-	public ASMByteCodeAnalyzer(boolean useExternalForm) {

-		this.useExternalForm = useExternalForm;

-	}

-	

-	public ClassInformation getClassInformation(InputStream classStream, String className) {

-		try {

-			return getClassInformation(null, classStream, className);

-		} catch (IOException e) {

-			return null;

-		}

-	}

-	

-	public ClassInformation getClassInformation(byte[] classBytes, String className) {

-		try {

-			return getClassInformation(classBytes, null, className);

-		} catch (IOException e) {

-			return null;

-		}

-	}

-

-	private ClassInformation getClassInformation(byte[] classBytes,

-			InputStream classStream, String className) throws IOException 

-	{

-		ClassInformation classInformation = classInformationMap.get(className);

-		if (classInformation != null) {

-			return classInformation;

-		}

-		ClassReader classReader = classBytes != null ? new ClassReader(classBytes) : new ClassReader(classStream);

-		classInformation = new ClassInformation(classReader);

-		classInformationMap.put(className, classInformation);

-		return classInformation;

-	}

-}

+/**********************************************************************
+ * This file is part of "Object Teams Development Tooling"-Software
+ * 
+ * Copyright 2008, 2015 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ * 		Oliver Frank - Initial API and implementation
+ * 		Stephan Herrmann - adjusted for ASM 5.0
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode.asm;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.Opcodes;
+
+/**
+ * This class performs some fast readClass analyses
+ * to determine further processing.
+ * 
+ * @author Oliver Frank
+ * @since 1.2.3
+ */
+public class ASMByteCodeAnalyzer {
+	private static final int ACC_TEAM = 0x8000;
+
+	boolean useExternalForm = false; // true: use '.', false: use '/'
+	
+
+	public class ClassInformation {
+		private int modifiers;
+		private String superClassName;
+		private String[] superInterfaceNames;
+
+		ClassInformation(ClassReader classReader) {
+			this.modifiers = classReader.getAccess();
+			this.superClassName = classReader.getSuperName();
+			this.superInterfaceNames = classReader.getInterfaces();
+		}
+
+		public boolean isTeam() {
+			return (modifiers & ACC_TEAM) != 0;
+		}
+
+		public boolean isInterface() {
+			return (modifiers & Opcodes.ACC_INTERFACE) != 0;
+		}
+
+		public String getSuperClassName() {
+			if (superClassName != null)
+				return useExternalForm ? superClassName.replace('/', '.') : superClassName;
+			return null;
+		}
+		
+		public String[] getSuperInterfaceNames() {
+			if (superInterfaceNames != null && useExternalForm)
+				for (int i = 0; i < superInterfaceNames.length; i++) {
+					superInterfaceNames[i] = superInterfaceNames[i].replace('/', '.');
+				}
+			return superInterfaceNames;
+		}
+	}
+
+	private Map<String, ClassInformation> classInformationMap =
+			new ConcurrentHashMap<String, ClassInformation>(512, 0.75f, 4);
+
+	/** Should the external (dot-separated) form be used? */
+	public ASMByteCodeAnalyzer(boolean useExternalForm) {
+		this.useExternalForm = useExternalForm;
+	}
+	
+	public ClassInformation getClassInformation(InputStream classStream, String className) {
+		try {
+			return getClassInformation(null, classStream, className);
+		} catch (IOException e) {
+			return null;
+		}
+	}
+	
+	public ClassInformation getClassInformation(byte[] classBytes, String className) {
+		try {
+			return getClassInformation(classBytes, null, className);
+		} catch (IOException e) {
+			return null;
+		}
+	}
+
+	private ClassInformation getClassInformation(byte[] classBytes,
+			InputStream classStream, String className) throws IOException 
+	{
+		ClassInformation classInformation = classInformationMap.get(className);
+		if (classInformation != null) {
+			return classInformation;
+		}
+		ClassReader classReader = classBytes != null ? new ClassReader(classBytes) : new ClassReader(classStream);
+		classInformation = new ClassInformation(classReader);
+		classInformationMap.put(className, classInformation);
+		return classInformation;
+	}
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AbstractCreateDispatchCodeAdapter.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AbstractCreateDispatchCodeAdapter.java
index b192e90..68cbe11 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AbstractCreateDispatchCodeAdapter.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AbstractCreateDispatchCodeAdapter.java
@@ -1,183 +1,184 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2019 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode.asm;

-

-import org.eclipse.objectteams.otredyn.transformer.names.ClassNames;

-import org.eclipse.objectteams.otredyn.transformer.names.ConstantMembers;

-import org.eclipse.objectteams.otredyn.util.SMAPConstants;

-import org.objectweb.asm.Label;

-import org.objectweb.asm.Opcodes;

-import org.objectweb.asm.Type;

-import org.objectweb.asm.tree.AbstractInsnNode;

-import org.objectweb.asm.tree.InsnList;

-import org.objectweb.asm.tree.InsnNode;

-import org.objectweb.asm.tree.IntInsnNode;

-import org.objectweb.asm.tree.JumpInsnNode;

-import org.objectweb.asm.tree.LabelNode;

-import org.objectweb.asm.tree.LocalVariableNode;

-import org.objectweb.asm.tree.MethodInsnNode;

-import org.objectweb.asm.tree.MethodNode;

-import org.objectweb.asm.tree.TypeInsnNode;

-import org.objectweb.asm.tree.VarInsnNode;

-

-/**

- * Create the code for the dispatch from a base class to the teams. <br/> <br/>

- * The code was generated as follows: <br/>

- * <code>

- * switch (boundMethodId) { // this was generated in CreateSwitchAdapter <br/>

- * ... <br/>

- * case (...): // this was generated in concrete implementations <br/> 

- *             // of this abstract class <br/>

- *     Teams[] teams = TeamManager.getTeams(joinpointId) <br/><br/>

- *     if (teams == null) { <br/>

- *         break; <br/>

- *     } <br/>

- *     <br/>

- *     Team t = teams[0]; <br/>

- *     int[] callinIds = TeamManager.getCallinIds(joinpointId); <br/>

- *     Object[] args = {arg1, ... , argn};

- *     return team._OT$callAllBindings(this, teams, 0, callinIds, boundMethodId, args);

- * } <br/>

- * </code>

- * @author Oliver Frank

- */

-public abstract class AbstractCreateDispatchCodeAdapter extends

-		AbstractTransformableClassNode {

-

-	final int teamsAndCallinsSlot;

-

-	private boolean isStatic;

-

-	public AbstractCreateDispatchCodeAdapter(boolean isStatic, int locals) {

-		this.isStatic = isStatic;

-		this.teamsAndCallinsSlot = locals;

-	}

-

-	private Type[] args;

-

-	protected InsnList getDispatchCode(MethodNode method, int joinPointId,

-			int boundMethodId) {

-		InsnList instructions = new InsnList();

-		addLineNumber(instructions, SMAPConstants.STEP_OVER_LINENUMBER);

-

-		// teamsAndCallinIds = TeamManager.getTeamsAndCallinIds(joinpointId);

-		instructions.add(createLoadIntConstant(joinPointId));

-

-		instructions.add(new MethodInsnNode(Opcodes.INVOKESTATIC,

-				ClassNames.TEAM_MANAGER_SLASH, ConstantMembers.getTeamsAndCallinIds.getName(),

-				ConstantMembers.getTeamsAndCallinIds.getSignature(),

-				false));

-		instructions.add(createInstructionsToCheckTeams(method)); // skip the rest if null

-		instructions.add(new IntInsnNode(Opcodes.ASTORE, teamsAndCallinsSlot));

-

-		// teams = teamsAndCallinIds[0]

-		instructions.add(new VarInsnNode(Opcodes.ALOAD, teamsAndCallinsSlot));

-		instructions.add(new InsnNode(Opcodes.ICONST_0));

-		instructions.add(new InsnNode(Opcodes.AALOAD));

-		instructions.add(new TypeInsnNode(Opcodes.CHECKCAST, "[Lorg/objectteams/ITeam;"));

-		

-		

-		// get the first team

-		instructions.add(new InsnNode(Opcodes.DUP));

-		instructions.add(new InsnNode(Opcodes.ICONST_0));

-		instructions.add(new InsnNode(Opcodes.AALOAD));

-		instructions.add(new InsnNode(Opcodes.SWAP));

-		if (isStatic) {

-			instructions.add(new InsnNode(Opcodes.ACONST_NULL));

-		} else {

-			// put "this" on the stack and cast it to IBoundBase2

-			instructions.add(new VarInsnNode(Opcodes.ALOAD, 0));

-			instructions.add(new TypeInsnNode(Opcodes.CHECKCAST,

-					ClassNames.I_BOUND_BASE_SLASH));

-		}

-		instructions.add(new InsnNode(Opcodes.SWAP));

-		// start index

-		instructions.add(new InsnNode(Opcodes.ICONST_0));

-

-		// callinIds = teamsAndCallinIds[1]

-		instructions.add(new VarInsnNode(Opcodes.ALOAD, teamsAndCallinsSlot));

-		instructions.add(new InsnNode(Opcodes.ICONST_1));

-		instructions.add(new InsnNode(Opcodes.AALOAD));

-		instructions.add(new TypeInsnNode(Opcodes.CHECKCAST, "[I"));

-

-		if (boundMethodId == -1)

-			instructions.add(new VarInsnNode(Opcodes.ILOAD, 1)); // boundMethodId is arg#1 inside _OT$callAllBindings (base version)

-		else

-			instructions.add(createLoadIntConstant(boundMethodId));

-		args = Type.getArgumentTypes(method.desc);

-

-		// box the arguments

-		instructions.add(getBoxedArguments(args));

-

-		addLineNumber(instructions, SMAPConstants.STEP_INTO_LINENUMBER);

-		instructions.add(new MethodInsnNode(Opcodes.INVOKEINTERFACE,

-						ClassNames.ITEAM_SLASH, 

-						ConstantMembers.callAllBindingsTeam.getName(),

-						ConstantMembers.callAllBindingsTeam.getSignature(),

-						true));

-

-		addLineNumber(instructions, SMAPConstants.STEP_OVER_LINENUMBER);

-

-		Type returnType = Type.getReturnType(method.desc);

-		instructions.add(getUnboxingInstructionsForReturnValue(returnType));

-

-		return instructions;

-	}

-

-	protected void addLocals(MethodNode method) {

-		String selector = "_OT$teamsAndCallinIds";

-		for (Object lv : method.localVariables) {

-			if (((LocalVariableNode)lv).name.equals(selector))

-				return;

-		}

-		method.visitLocalVariable(selector, "[Ljava/lang/Object;", null, new Label(), new Label(), teamsAndCallinsSlot);

-	}

-	

-	protected InsnList createInstructionsToCheckTeams(MethodNode method) {

-		// if (teams == null) {

-		// 		break;

-		// }

-		InsnList instructions = new InsnList();

-		instructions.add(new InsnNode(Opcodes.DUP));

-		LabelNode label = new LabelNode();

-		instructions.add(new JumpInsnNode(Opcodes.IFNONNULL, label));

-		instructions.add(new InsnNode(Opcodes.POP));

-		instructions.add(new JumpInsnNode(Opcodes.GOTO, findBreakLabel(method.instructions)));

-		instructions.add(label);

-		return instructions;

-	}

-

-	private LabelNode findBreakLabel(InsnList instructions) {

-		for (int i = instructions.size() - 2; i >= 0; i--) { // skip terminating label (for local variable range)

-			AbstractInsnNode node = instructions.get(i);

-			if (node.getType() == AbstractInsnNode.LABEL) {

-				return (LabelNode) node;

-			}

-		}

-		throw new RuntimeException("Can't find break label to create dispatch code");

-	}

-

-	protected abstract InsnList getBoxedArguments(Type[] args);

-

-	protected int getMaxLocals() {

-		return teamsAndCallinsSlot+1;

-	}

-

-	protected int getMaxStack() {

-		return 10;

-	}

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2019 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode.asm;
+
+import org.eclipse.objectteams.otredyn.transformer.names.ClassNames;
+import org.eclipse.objectteams.otredyn.transformer.names.ConstantMembers;
+import org.eclipse.objectteams.otredyn.util.SMAPConstants;
+import org.objectweb.asm.Label;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.Type;
+import org.objectweb.asm.tree.AbstractInsnNode;
+import org.objectweb.asm.tree.InsnList;
+import org.objectweb.asm.tree.InsnNode;
+import org.objectweb.asm.tree.IntInsnNode;
+import org.objectweb.asm.tree.JumpInsnNode;
+import org.objectweb.asm.tree.LabelNode;
+import org.objectweb.asm.tree.LocalVariableNode;
+import org.objectweb.asm.tree.MethodInsnNode;
+import org.objectweb.asm.tree.MethodNode;
+import org.objectweb.asm.tree.TypeInsnNode;
+import org.objectweb.asm.tree.VarInsnNode;
+
+/**
+ * Create the code for the dispatch from a base class to the teams. <br/> <br/>
+ * The code was generated as follows: <br/>
+ * <code>
+ * switch (boundMethodId) { // this was generated in CreateSwitchAdapter <br/>
+ * ... <br/>
+ * case (...): // this was generated in concrete implementations <br/> 
+ *             // of this abstract class <br/>
+ *     Teams[] teams = TeamManager.getTeams(joinpointId) <br/><br/>
+ *     if (teams == null) { <br/>
+ *         break; <br/>
+ *     } <br/>
+ *     <br/>
+ *     Team t = teams[0]; <br/>
+ *     int[] callinIds = TeamManager.getCallinIds(joinpointId); <br/>
+ *     Object[] args = {arg1, ... , argn};
+ *     return team._OT$callAllBindings(this, teams, 0, callinIds, boundMethodId, args);
+ * } <br/>
+ * </code>
+ * @author Oliver Frank
+ */
+public abstract class AbstractCreateDispatchCodeAdapter extends
+		AbstractTransformableClassNode {
+
+	final int teamsAndCallinsSlot;
+
+	private boolean isStatic;
+
+	public AbstractCreateDispatchCodeAdapter(boolean isStatic, int locals) {
+		this.isStatic = isStatic;
+		this.teamsAndCallinsSlot = locals;
+	}
+
+	private Type[] args;
+
+	protected InsnList getDispatchCode(MethodNode method, int joinPointId,
+			int boundMethodId) {
+		InsnList instructions = new InsnList();
+		addLineNumber(instructions, SMAPConstants.STEP_OVER_LINENUMBER);
+
+		// teamsAndCallinIds = TeamManager.getTeamsAndCallinIds(joinpointId);
+		instructions.add(createLoadIntConstant(joinPointId));
+
+		instructions.add(new MethodInsnNode(Opcodes.INVOKESTATIC,
+				ClassNames.TEAM_MANAGER_SLASH, ConstantMembers.getTeamsAndCallinIds.getName(),
+				ConstantMembers.getTeamsAndCallinIds.getSignature(),
+				false));
+		instructions.add(createInstructionsToCheckTeams(method)); // skip the rest if null
+		instructions.add(new IntInsnNode(Opcodes.ASTORE, teamsAndCallinsSlot));
+
+		// teams = teamsAndCallinIds[0]
+		instructions.add(new VarInsnNode(Opcodes.ALOAD, teamsAndCallinsSlot));
+		instructions.add(new InsnNode(Opcodes.ICONST_0));
+		instructions.add(new InsnNode(Opcodes.AALOAD));
+		instructions.add(new TypeInsnNode(Opcodes.CHECKCAST, "[Lorg/objectteams/ITeam;"));
+		
+		
+		// get the first team
+		instructions.add(new InsnNode(Opcodes.DUP));
+		instructions.add(new InsnNode(Opcodes.ICONST_0));
+		instructions.add(new InsnNode(Opcodes.AALOAD));
+		instructions.add(new InsnNode(Opcodes.SWAP));
+		if (isStatic) {
+			instructions.add(new InsnNode(Opcodes.ACONST_NULL));
+		} else {
+			// put "this" on the stack and cast it to IBoundBase2
+			instructions.add(new VarInsnNode(Opcodes.ALOAD, 0));
+			instructions.add(new TypeInsnNode(Opcodes.CHECKCAST,
+					ClassNames.I_BOUND_BASE_SLASH));
+		}
+		instructions.add(new InsnNode(Opcodes.SWAP));
+		// start index
+		instructions.add(new InsnNode(Opcodes.ICONST_0));
+
+		// callinIds = teamsAndCallinIds[1]
+		instructions.add(new VarInsnNode(Opcodes.ALOAD, teamsAndCallinsSlot));
+		instructions.add(new InsnNode(Opcodes.ICONST_1));
+		instructions.add(new InsnNode(Opcodes.AALOAD));
+		instructions.add(new TypeInsnNode(Opcodes.CHECKCAST, "[I"));
+
+		if (boundMethodId == -1)
+			instructions.add(new VarInsnNode(Opcodes.ILOAD, 1)); // boundMethodId is arg#1 inside _OT$callAllBindings (base version)
+		else
+			instructions.add(createLoadIntConstant(boundMethodId));
+		args = Type.getArgumentTypes(method.desc);
+
+		// box the arguments
+		instructions.add(getBoxedArguments(args));
+
+		addLineNumber(instructions, SMAPConstants.STEP_INTO_LINENUMBER);
+		instructions.add(new MethodInsnNode(Opcodes.INVOKEINTERFACE,
+						ClassNames.ITEAM_SLASH, 
+						ConstantMembers.callAllBindingsTeam.getName(),
+						ConstantMembers.callAllBindingsTeam.getSignature(),
+						true));
+
+		addLineNumber(instructions, SMAPConstants.STEP_OVER_LINENUMBER);
+
+		Type returnType = Type.getReturnType(method.desc);
+		instructions.add(getUnboxingInstructionsForReturnValue(returnType));
+
+		return instructions;
+	}
+
+	protected void addLocals(MethodNode method) {
+		String selector = "_OT$teamsAndCallinIds";
+		for (Object lv : method.localVariables) {
+			if (((LocalVariableNode)lv).name.equals(selector))
+				return;
+		}
+		method.visitLocalVariable(selector, "[Ljava/lang/Object;", null, new Label(), new Label(), teamsAndCallinsSlot);
+	}
+	
+	protected InsnList createInstructionsToCheckTeams(MethodNode method) {
+		// if (teams == null) {
+		// 		break;
+		// }
+		InsnList instructions = new InsnList();
+		instructions.add(new InsnNode(Opcodes.DUP));
+		LabelNode label = new LabelNode();
+		instructions.add(new JumpInsnNode(Opcodes.IFNONNULL, label));
+		instructions.add(new InsnNode(Opcodes.POP));
+		instructions.add(new JumpInsnNode(Opcodes.GOTO, findBreakLabel(method.instructions)));
+		instructions.add(label);
+		return instructions;
+	}
+
+	private LabelNode findBreakLabel(InsnList instructions) {
+		for (int i = instructions.size() - 2; i >= 0; i--) { // skip terminating label (for local variable range)
+			AbstractInsnNode node = instructions.get(i);
+			if (node.getType() == AbstractInsnNode.LABEL) {
+				return (LabelNode) node;
+			}
+		}
+		throw new RuntimeException("Can't find break label to create dispatch code");
+	}
+
+	protected abstract InsnList getBoxedArguments(Type[] args);
+
+	protected int getMaxLocals() {
+		return teamsAndCallinsSlot+1;
+	}
+
+	protected int getMaxStack() {
+		return 10;
+	}
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AbstractTransformableClassNode.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AbstractTransformableClassNode.java
index 0284d92..fefb030 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AbstractTransformableClassNode.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AbstractTransformableClassNode.java
@@ -1,465 +1,466 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2019 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode.asm;

-

-import java.util.List;

-import java.util.ListIterator;

-

-import org.eclipse.objectteams.otredyn.bytecode.AbstractBoundClass;

-import org.eclipse.objectteams.otredyn.bytecode.Method;

-import org.eclipse.objectteams.otredyn.transformer.names.ClassNames;

-import org.objectweb.asm.Opcodes;

-import org.objectweb.asm.Type;

-import org.objectweb.asm.tree.AbstractInsnNode;

-import org.objectweb.asm.tree.ClassNode;

-import org.objectweb.asm.tree.FieldInsnNode;

-import org.objectweb.asm.tree.InsnList;

-import org.objectweb.asm.tree.InsnNode;

-import org.objectweb.asm.tree.IntInsnNode;

-import org.objectweb.asm.tree.LabelNode;

-import org.objectweb.asm.tree.LdcInsnNode;

-import org.objectweb.asm.tree.LineNumberNode;

-import org.objectweb.asm.tree.LocalVariableNode;

-import org.objectweb.asm.tree.LookupSwitchInsnNode;

-import org.objectweb.asm.tree.MethodInsnNode;

-import org.objectweb.asm.tree.MethodNode;

-import org.objectweb.asm.tree.TypeInsnNode;

-import org.objectweb.asm.tree.VarInsnNode;

-

-import static org.eclipse.objectteams.otredyn.bytecode.asm.AsmBoundClass.ASM_API;

-import static org.eclipse.objectteams.otredyn.transformer.names.ConstantMembers.callOrig;

-

-/**

- * Every class, that wants to manipulate the bytecode of a class

- * with the ASM Tree API, have to inherit from this class and do

- * the transformations in the method transform().

- * Additionally the class provides util methods to

- * manipulate the bytecode 

- * @author Oliver Frank

- */

-public abstract class AbstractTransformableClassNode extends ClassNode {

-	

-	static final boolean IS_DEBUG = System.getProperty("ot.debug") != null;

-

-	public AbstractTransformableClassNode() {

-		super(ASM_API);

-	}

-

-	/**

-	 * Returns instructions, that are needed to pack all arguments of a method

-	 * in an {@link Object} Array

-	 * @param args The Types of the arguments

-	 * @param isStatic is this method static or not

-	 * @return

-	 */

-	protected InsnList getBoxingInstructions(Type[] args, boolean isStatic) {

-		int firstArgIndex = 1;

-		if (isStatic) {

-			firstArgIndex = 0;

-		}

-		InsnList instructions = new InsnList();

-		instructions.add(createLoadIntConstant(args.length));

-		instructions.add(new TypeInsnNode(Opcodes.ANEWARRAY,

-				ClassNames.OBJECT_SLASH));

-		for (int i=0, slot=0; i < args.length; slot += args[i++].getSize()) {

-			instructions.add(new InsnNode(Opcodes.DUP));

-			instructions.add(createLoadIntConstant(i));

-			instructions.add(new IntInsnNode(args[i].getOpcode(Opcodes.ILOAD),

-					slot + firstArgIndex));

-			if (args[i].getSort() != Type.OBJECT

-					&& args[i].getSort() != Type.ARRAY) {

-				instructions.add(AsmTypeHelper

-						.getBoxingInstructionForType(args[i]));

-			}

-			instructions.add(new InsnNode(Opcodes.AASTORE));

-		}

-

-		return instructions;

-	}

-

-	/**

-	 * Returns the instructions, that are needed to convert 

-	 * a return value of the type {@link Object} to the real type

-	 * @param returnType the real type

-	 * @return

-	 */

-	protected InsnList getUnboxingInstructionsForReturnValue(Type returnType) {

-		InsnList instructions = new InsnList();

-		switch (returnType.getSort()) {

-		case Type.VOID:

-			instructions.add(new InsnNode(Opcodes.POP));

-			instructions.add(new InsnNode(Opcodes.RETURN));

-			break;

-		case Type.ARRAY: // fallthrough

-		case Type.OBJECT:

-			instructions.add(new TypeInsnNode(Opcodes.CHECKCAST, returnType

-					.getInternalName()));

-			instructions.add(new InsnNode(Opcodes.ARETURN));

-			break;

-		default:

-			String objectType = AsmTypeHelper.getBoxingType(returnType);

-			instructions.add(new TypeInsnNode(Opcodes.CHECKCAST, objectType));

-			instructions.add(AsmTypeHelper.getUnboxingInstructionForType(

-					returnType, objectType));

-			instructions

-					.add(new InsnNode(returnType.getOpcode(Opcodes.IRETURN)));

-		}

-		return instructions;

-	}

-

-	/**

-	 * Adds a new Label to an existing switch statement

-	 * @param instructions the instructions, in which the switch statement is defined

-	 * @param newInstructions the instructions of the new label

-	 * @param labelIndex the index of the label

-	 */

-	protected void addNewLabelToSwitch(InsnList instructions,

-			InsnList newInstructions, int labelIndex) {

-		ListIterator<AbstractInsnNode> iter = instructions.iterator();

-		LookupSwitchInsnNode lSwitch = null;

-		while (iter.hasNext()) {

-			AbstractInsnNode node = (AbstractInsnNode) iter.next();

-			if (node.getType() == AbstractInsnNode.LOOKUPSWITCH_INSN) {

-				lSwitch = (LookupSwitchInsnNode) node;

-				LabelNode label = new LabelNode();

-				boolean labelAdded = false;

-				for (int i = 0; i < lSwitch.keys.size(); i++) {

-					Integer key = (Integer) lSwitch.keys.get(i);

-					if (key >= labelIndex) {

-						lSwitch.keys.add(i, labelIndex);

-						lSwitch.labels.add(i, label);

-						labelAdded = true;

-						break;

-					}

-				}

-				if (!labelAdded) {

-					lSwitch.labels.add(label);

-					lSwitch.keys.add(labelIndex);

-				}

-				boolean foundDefLabel = false;

-				AbstractInsnNode prevNode = node;

-				while (iter.hasNext()) {

-					node = (AbstractInsnNode) iter.next();

-					if (node.getType() == AbstractInsnNode.LABEL) {

-						if (!foundDefLabel) {

-							foundDefLabel = true;

-						} else {

-							break;

-						}

-					}

-					prevNode = node;

-				}

-				instructions.insert(prevNode, label);

-				instructions.insert(label, newInstructions);

-				break;

-			}	

-		}

-		if (lSwitch == null) {

-			throw new RuntimeException("No switch statement found.");

-		}

-	}

-

-	/**

-	 * Returns a {@link MethodNode} for a given {@link Method} instance

-	 * @param method

-	 * @return the {@link MethodNode} or null if there is no such method

-	 */

-	protected MethodNode getMethod(Method method) {

-		List<MethodNode> methodList = methods;

-		for (MethodNode methodNode : methodList) {

-			if (methodNode.name.compareTo(method.getName()) == 0

-					&& methodNode.desc.compareTo(method.getSignature()) == 0) {

-				return methodNode;

-			}

-		}

-

-		return null;

-	}

-

-	/**

-	 * This method could be used to generate debug outputs in the generated code in the form: <br>

-	 * <code>

-	 * Sytsem.out.println(message);

-	 * </code>

-	 * @param message

-	 * @return

-	 */

-	protected InsnList getInstructionsForDebugOutput(String message) {

-		InsnList instructions = new InsnList();

-		instructions.add(new FieldInsnNode(Opcodes.GETSTATIC,

-				"java/lang/System", "out", "Ljava/io/PrintStream;"));

-		instructions.add(new LdcInsnNode(message));

-		instructions.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL,

-				"java/io/PrintStream", "println", "(Ljava/lang/String;)V", false));

-		return instructions;

-	}

-

-	protected InsnList getInstructionsForDebugObjectOutput(AbstractInsnNode getObjectInsn) {

-		InsnList instructions = new InsnList();

-		instructions.add(new FieldInsnNode(Opcodes.GETSTATIC,

-				"java/lang/System", "out", "Ljava/io/PrintStream;"));

-		instructions.add(getObjectInsn);

-		instructions.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL,

-				"java/io/PrintStream", "println", "(Ljava/lang/Object;)V", false));

-		return instructions;

-	}

-

-	protected InsnList getInstructionsForDebugIntOutput(AbstractInsnNode getIntInsn) {

-		InsnList instructions = new InsnList();

-		instructions.add(new FieldInsnNode(Opcodes.GETSTATIC,

-				"java/lang/System", "out", "Ljava/io/PrintStream;"));

-		instructions.add(getIntInsn);

-		instructions.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL,

-				"java/io/PrintStream", "println", "(I)V", false));

-		return instructions;

-	}

-

-	/**

-	 * Adds instructions to put all arguments of a method on the stack.

-	 * @param instructions

-	 * @param args

-	 * @param isStatic

-	 */

-	protected void addInstructionsForLoadArguments(InsnList instructions, Type[] args, boolean isStatic) {

-		int firstArgIndex = 1;

-		if (isStatic) {

-			firstArgIndex = 0;

-		}

-		// put "this" on the stack for an non-static method

-		if (!isStatic) {

-			instructions.add(new VarInsnNode(Opcodes.ALOAD, 0));

-		}

-		for (int i=0, slot=firstArgIndex; i < args.length; slot+=args[i++].getSize()) {

-			instructions.add(new IntInsnNode(args[i].getOpcode(Opcodes.ILOAD),

-					slot));

-		}

-	}

-	

-	/**

-	 * Replace all return statements in the given instructions with new 

-	 * statements that convert the real return value to {@link Object}

-	 * and return this new {@link Object}

-	 * 

-	 * @param instructions

-	 * @param returnType

-	 */

-	protected void replaceReturn(InsnList instructions, Type returnType) {

-		if (returnType.getSort() != Type.OBJECT &&

-				returnType.getSort() != Type.ARRAY &&

-				returnType.getSort() != Type.VOID) {

-			ListIterator<AbstractInsnNode> orgMethodIter = instructions.iterator();

-			while (orgMethodIter.hasNext()) {

-				AbstractInsnNode orgMethodNode = orgMethodIter.next();

-				if (orgMethodNode.getOpcode() == returnType.getOpcode(Opcodes.IRETURN)) {

-					instructions.insertBefore(orgMethodNode, AsmTypeHelper.getBoxingInstructionForType(returnType));

-					instructions.set(orgMethodNode, new InsnNode(Opcodes.ARETURN));

-				}

-			}

-		} else if (returnType.getSort() == Type.VOID) {

-			ListIterator<AbstractInsnNode> orgMethodIter = instructions.iterator();

-			while (orgMethodIter.hasNext()) {

-				AbstractInsnNode orgMethodNode = orgMethodIter.next();

-				if (orgMethodNode.getOpcode() == Opcodes.RETURN) {

-					instructions.insertBefore(orgMethodNode, new InsnNode(Opcodes.ACONST_NULL));

-					instructions.insertBefore(orgMethodNode, new InsnNode(Opcodes.ARETURN));

-					instructions.remove(orgMethodNode);

-				}

-			}

-		}

-	}

-

-	protected void addReturn(InsnList instructions, Type returnType) {

-		switch (returnType.getSort()) {

-		case Type.VOID:

-			instructions.add(new InsnNode(Opcodes.RETURN));

-			break;

-		case Type.OBJECT:

-		case Type.ARRAY:

-			instructions.add(new InsnNode(Opcodes.ACONST_NULL));

-			instructions.add(new InsnNode(Opcodes.ARETURN));

-			break;

-		case Type.INT:

-		case Type.BOOLEAN:

-		case Type.BYTE:

-		case Type.CHAR:

-		case Type.SHORT:

-			instructions.add(new InsnNode(Opcodes.ICONST_0));

-			instructions.add(new InsnNode(Opcodes.IRETURN));

-			break;

-		case Type.LONG:

-			instructions.add(new InsnNode(Opcodes.LCONST_0));

-			instructions.add(new InsnNode(Opcodes.LRETURN));

-			break;

-		case Type.FLOAT:

-			instructions.add(new InsnNode(Opcodes.FCONST_0));

-			instructions.add(new InsnNode(Opcodes.FRETURN));

-			break;

-		case Type.DOUBLE:

-			instructions.add(new InsnNode(Opcodes.DCONST_0));

-			instructions.add(new InsnNode(Opcodes.DRETURN));

-			break;

-		default:

-			throw new IllegalArgumentException("Unexpected type "+returnType);

-		}

-	}

-

-	/**

-	 * Create an instruction for loading an integer constant,

-	 * using the most compact possible format. 

-	 */

-	protected AbstractInsnNode createLoadIntConstant(int constant) {

-		if (constant >= 0 && constant <= 5)

-			return new InsnNode(Opcodes.ICONST_0+constant);

-		else if (constant > Byte.MIN_VALUE && constant < Byte.MAX_VALUE)

-			return new IntInsnNode(Opcodes.BIPUSH, constant);

-		else if (constant > Short.MIN_VALUE && constant < Short.MAX_VALUE)

-			return new IntInsnNode(Opcodes.SIPUSH, constant);		

-		else

-			return new LdcInsnNode(constant);

-	}

-	

-	/** Call back interface for {@link #replaceSuperCallsWithCallToCallOrig()}. */

-	protected interface IBoundMethodIdInsnProvider {

-		AbstractInsnNode getLoadBoundMethodIdInsn(MethodInsnNode methodInsn);

-	}

-

-	protected void replaceSuperCallsWithCallToCallOrig(InsnList instructions, List<MethodInsnNode> superCalls, 

-			boolean returnsJLObject, AbstractBoundClass superclass, IBoundMethodIdInsnProvider insnProvider) {

-		for (MethodInsnNode oldNode : superCalls) {

-			

-			superclass.addWeavingOfSubclassTask(oldNode.name, oldNode.desc, oldNode.getOpcode() == Opcodes.INVOKESTATIC);

-			

-			Type[] args = Type.getArgumentTypes(oldNode.desc);

-			Type returnType = Type.getReturnType(oldNode.desc);

-	

-			// we need to insert into the loading sequence before the invocation, find the insertion points:

-			AbstractInsnNode[] insertionPoints = StackBalanceAnalyzer.findInsertionPointsBefore(oldNode, args);

-			AbstractInsnNode firstInsert = insertionPoints.length > 0 ? insertionPoints[0] : oldNode;

-			

-			// push first arg to _OT$callOrig():

-			instructions.insertBefore(firstInsert, insnProvider.getLoadBoundMethodIdInsn(oldNode));

-			

-			// prepare array as second arg to _OT$callOrig():

-			instructions.insertBefore(firstInsert, createLoadIntConstant(args.length));

-			instructions.insertBefore(firstInsert, new TypeInsnNode(Opcodes.ANEWARRAY, "java/lang/Object"));

-			

-			for (int i = 0; i < insertionPoints.length; i++) {

-				// NB: each iteration has an even stack balance, where the top is the Object[].

-				instructions.insertBefore(insertionPoints[i], new InsnNode(Opcodes.DUP));

-				instructions.insertBefore(insertionPoints[i], createLoadIntConstant(i));

-				// leave the original loading sequence in tact and continue at the next point:

-				AbstractInsnNode insertAt = (i +1 < insertionPoints.length) ? insertionPoints[i+1] : oldNode;

-				instructions.insertBefore(insertAt, AsmTypeHelper.getBoxingInstructionForType(args[i]));

-				instructions.insertBefore(insertAt, new InsnNode(Opcodes.AASTORE));

-			}

-	

-			// before an areturn j.l.Object we don't need any type adjustments

-			// (incl. the case where we change another return to areturn j.l.O):

-			boolean nextIsGeneralizedReturn = false;

-			AbstractInsnNode next = oldNode.getNext();

-			if (returnsJLObject)

-				nextIsGeneralizedReturn = next != null && next.getOpcode() >= Opcodes.IRETURN && next.getOpcode() <= Opcodes.ARETURN; 

-

-			if (!nextIsGeneralizedReturn) {

-				if (returnType == Type.VOID_TYPE) {

-					instructions.insert(oldNode, new InsnNode(Opcodes.POP));

-				} else {

-					instructions.insert(oldNode, AsmTypeHelper.getUnboxingInstructionForType(returnType));

-					String expectedReferenceTypeName = AsmTypeHelper.getBoxingType(returnType);

-					if (expectedReferenceTypeName == null)

-						expectedReferenceTypeName = returnType.getInternalName();

-					instructions.insert(oldNode, new TypeInsnNode(Opcodes.CHECKCAST, expectedReferenceTypeName)); // before unboxing, if any

-				}

-			}

-	

-			MethodInsnNode newMethodNode = new MethodInsnNode(Opcodes.INVOKESPECIAL, ((MethodInsnNode)oldNode).owner, callOrig.getName(), callOrig.getSignature(), false);

-			instructions.set(oldNode, newMethodNode);

-			if (nextIsGeneralizedReturn && next != null && next.getOpcode() != Opcodes.ARETURN)

-				instructions.set(next, new InsnNode(Opcodes.ARETURN)); // prevent further manipulation by replaceReturn()

-		}

-	}

-

-	/**

-	 * Add a local variable to be visible throughout the all of the instruction list.

-	 * Side effect: may add labels at beginning and end, unless labels are already present at these locations.

-	 */

-	protected void addLocal(MethodNode method, String selector, String desc, int slot) {

-		if (!IS_DEBUG) return;

-		InsnList instructions = method.instructions;

-		LabelNode start, end;

-		if (instructions.getFirst() instanceof LabelNode) {

-			start = (LabelNode) instructions.getFirst();

-		} else {

-			start = new LabelNode();

-			instructions.insert(start);

-		}

-		if (instructions.getLast() instanceof LabelNode) {

-			end = (LabelNode) instructions.getLast();

-		} else {

-			end = new LabelNode();

-			instructions.add(end);

-		}

-		addLocal(method, selector, desc, slot, start, end, true);

-	}

-

-	/**

-	 * Add a local variable to be visible from 'start' to 'end'.

-	 * Checks whether a local variable of that name already exists, in which case we don't change anything.

-	 * TODO: should check if ranges of both variables overlap!

-	 * @param fullRange if true we do not check ranges but avoid *any* duplication by name

-	 */

-	protected void addLocal(MethodNode method, String selector, String desc, int slot, LabelNode start, LabelNode end, boolean fullRange) {

-		if (!IS_DEBUG) return;

-		for (Object lv : method.localVariables) {

-			LocalVariableNode lvNode = (LocalVariableNode)lv;

-			if (lvNode.name.equals(selector)) {

-				if (fullRange||

-						(lvNode.start.equals(start) && lvNode.end.equals(end)))

-					return;

-			}

-		}

-        method.localVariables.add(new LocalVariableNode(selector, desc, null, start, end, slot));

-	}

-

-	protected void addThisVariable(MethodNode method) {

-		addLocal(method, "this", "L"+this.name+";", 0);

-	}

-

-	protected void addLineNumber(InsnList instructions, int line) {

-		if (!IS_DEBUG) return;

-		LabelNode position = new LabelNode();

-		instructions.add(position);

-		instructions.add(new LineNumberNode(line, position));

-	}

-

-	protected int peekFirstLineNumber(InsnList instructions) {

-		if (!IS_DEBUG) return -1;

-		ListIterator<AbstractInsnNode> iterator = instructions.iterator();

-		while (iterator.hasNext()) {

-			Object insn = iterator.next();

-			if (insn instanceof LineNumberNode)

-				return ((LineNumberNode) insn).line;

-		}

-		return -1;

-	}

-	/**

-	 * In this method, concrete Implementations of this class

-	 * can manipulate the bytecode

-	 * @return whether transformation actually happened

-	 */

-	protected abstract boolean transform();

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2019 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode.asm;
+
+import java.util.List;
+import java.util.ListIterator;
+
+import org.eclipse.objectteams.otredyn.bytecode.AbstractBoundClass;
+import org.eclipse.objectteams.otredyn.bytecode.Method;
+import org.eclipse.objectteams.otredyn.transformer.names.ClassNames;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.Type;
+import org.objectweb.asm.tree.AbstractInsnNode;
+import org.objectweb.asm.tree.ClassNode;
+import org.objectweb.asm.tree.FieldInsnNode;
+import org.objectweb.asm.tree.InsnList;
+import org.objectweb.asm.tree.InsnNode;
+import org.objectweb.asm.tree.IntInsnNode;
+import org.objectweb.asm.tree.LabelNode;
+import org.objectweb.asm.tree.LdcInsnNode;
+import org.objectweb.asm.tree.LineNumberNode;
+import org.objectweb.asm.tree.LocalVariableNode;
+import org.objectweb.asm.tree.LookupSwitchInsnNode;
+import org.objectweb.asm.tree.MethodInsnNode;
+import org.objectweb.asm.tree.MethodNode;
+import org.objectweb.asm.tree.TypeInsnNode;
+import org.objectweb.asm.tree.VarInsnNode;
+
+import static org.eclipse.objectteams.otredyn.bytecode.asm.AsmBoundClass.ASM_API;
+import static org.eclipse.objectteams.otredyn.transformer.names.ConstantMembers.callOrig;
+
+/**
+ * Every class, that wants to manipulate the bytecode of a class
+ * with the ASM Tree API, have to inherit from this class and do
+ * the transformations in the method transform().
+ * Additionally the class provides util methods to
+ * manipulate the bytecode 
+ * @author Oliver Frank
+ */
+public abstract class AbstractTransformableClassNode extends ClassNode {
+	
+	static final boolean IS_DEBUG = System.getProperty("ot.debug") != null;
+
+	public AbstractTransformableClassNode() {
+		super(ASM_API);
+	}
+
+	/**
+	 * Returns instructions, that are needed to pack all arguments of a method
+	 * in an {@link Object} Array
+	 * @param args The Types of the arguments
+	 * @param isStatic is this method static or not
+	 * @return
+	 */
+	protected InsnList getBoxingInstructions(Type[] args, boolean isStatic) {
+		int firstArgIndex = 1;
+		if (isStatic) {
+			firstArgIndex = 0;
+		}
+		InsnList instructions = new InsnList();
+		instructions.add(createLoadIntConstant(args.length));
+		instructions.add(new TypeInsnNode(Opcodes.ANEWARRAY,
+				ClassNames.OBJECT_SLASH));
+		for (int i=0, slot=0; i < args.length; slot += args[i++].getSize()) {
+			instructions.add(new InsnNode(Opcodes.DUP));
+			instructions.add(createLoadIntConstant(i));
+			instructions.add(new IntInsnNode(args[i].getOpcode(Opcodes.ILOAD),
+					slot + firstArgIndex));
+			if (args[i].getSort() != Type.OBJECT
+					&& args[i].getSort() != Type.ARRAY) {
+				instructions.add(AsmTypeHelper
+						.getBoxingInstructionForType(args[i]));
+			}
+			instructions.add(new InsnNode(Opcodes.AASTORE));
+		}
+
+		return instructions;
+	}
+
+	/**
+	 * Returns the instructions, that are needed to convert 
+	 * a return value of the type {@link Object} to the real type
+	 * @param returnType the real type
+	 * @return
+	 */
+	protected InsnList getUnboxingInstructionsForReturnValue(Type returnType) {
+		InsnList instructions = new InsnList();
+		switch (returnType.getSort()) {
+		case Type.VOID:
+			instructions.add(new InsnNode(Opcodes.POP));
+			instructions.add(new InsnNode(Opcodes.RETURN));
+			break;
+		case Type.ARRAY: // fallthrough
+		case Type.OBJECT:
+			instructions.add(new TypeInsnNode(Opcodes.CHECKCAST, returnType
+					.getInternalName()));
+			instructions.add(new InsnNode(Opcodes.ARETURN));
+			break;
+		default:
+			String objectType = AsmTypeHelper.getBoxingType(returnType);
+			instructions.add(new TypeInsnNode(Opcodes.CHECKCAST, objectType));
+			instructions.add(AsmTypeHelper.getUnboxingInstructionForType(
+					returnType, objectType));
+			instructions
+					.add(new InsnNode(returnType.getOpcode(Opcodes.IRETURN)));
+		}
+		return instructions;
+	}
+
+	/**
+	 * Adds a new Label to an existing switch statement
+	 * @param instructions the instructions, in which the switch statement is defined
+	 * @param newInstructions the instructions of the new label
+	 * @param labelIndex the index of the label
+	 */
+	protected void addNewLabelToSwitch(InsnList instructions,
+			InsnList newInstructions, int labelIndex) {
+		ListIterator<AbstractInsnNode> iter = instructions.iterator();
+		LookupSwitchInsnNode lSwitch = null;
+		while (iter.hasNext()) {
+			AbstractInsnNode node = (AbstractInsnNode) iter.next();
+			if (node.getType() == AbstractInsnNode.LOOKUPSWITCH_INSN) {
+				lSwitch = (LookupSwitchInsnNode) node;
+				LabelNode label = new LabelNode();
+				boolean labelAdded = false;
+				for (int i = 0; i < lSwitch.keys.size(); i++) {
+					Integer key = (Integer) lSwitch.keys.get(i);
+					if (key >= labelIndex) {
+						lSwitch.keys.add(i, labelIndex);
+						lSwitch.labels.add(i, label);
+						labelAdded = true;
+						break;
+					}
+				}
+				if (!labelAdded) {
+					lSwitch.labels.add(label);
+					lSwitch.keys.add(labelIndex);
+				}
+				boolean foundDefLabel = false;
+				AbstractInsnNode prevNode = node;
+				while (iter.hasNext()) {
+					node = (AbstractInsnNode) iter.next();
+					if (node.getType() == AbstractInsnNode.LABEL) {
+						if (!foundDefLabel) {
+							foundDefLabel = true;
+						} else {
+							break;
+						}
+					}
+					prevNode = node;
+				}
+				instructions.insert(prevNode, label);
+				instructions.insert(label, newInstructions);
+				break;
+			}	
+		}
+		if (lSwitch == null) {
+			throw new RuntimeException("No switch statement found.");
+		}
+	}
+
+	/**
+	 * Returns a {@link MethodNode} for a given {@link Method} instance
+	 * @param method
+	 * @return the {@link MethodNode} or null if there is no such method
+	 */
+	protected MethodNode getMethod(Method method) {
+		List<MethodNode> methodList = methods;
+		for (MethodNode methodNode : methodList) {
+			if (methodNode.name.compareTo(method.getName()) == 0
+					&& methodNode.desc.compareTo(method.getSignature()) == 0) {
+				return methodNode;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This method could be used to generate debug outputs in the generated code in the form: <br>
+	 * <code>
+	 * Sytsem.out.println(message);
+	 * </code>
+	 * @param message
+	 * @return
+	 */
+	protected InsnList getInstructionsForDebugOutput(String message) {
+		InsnList instructions = new InsnList();
+		instructions.add(new FieldInsnNode(Opcodes.GETSTATIC,
+				"java/lang/System", "out", "Ljava/io/PrintStream;"));
+		instructions.add(new LdcInsnNode(message));
+		instructions.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL,
+				"java/io/PrintStream", "println", "(Ljava/lang/String;)V", false));
+		return instructions;
+	}
+
+	protected InsnList getInstructionsForDebugObjectOutput(AbstractInsnNode getObjectInsn) {
+		InsnList instructions = new InsnList();
+		instructions.add(new FieldInsnNode(Opcodes.GETSTATIC,
+				"java/lang/System", "out", "Ljava/io/PrintStream;"));
+		instructions.add(getObjectInsn);
+		instructions.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL,
+				"java/io/PrintStream", "println", "(Ljava/lang/Object;)V", false));
+		return instructions;
+	}
+
+	protected InsnList getInstructionsForDebugIntOutput(AbstractInsnNode getIntInsn) {
+		InsnList instructions = new InsnList();
+		instructions.add(new FieldInsnNode(Opcodes.GETSTATIC,
+				"java/lang/System", "out", "Ljava/io/PrintStream;"));
+		instructions.add(getIntInsn);
+		instructions.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL,
+				"java/io/PrintStream", "println", "(I)V", false));
+		return instructions;
+	}
+
+	/**
+	 * Adds instructions to put all arguments of a method on the stack.
+	 * @param instructions
+	 * @param args
+	 * @param isStatic
+	 */
+	protected void addInstructionsForLoadArguments(InsnList instructions, Type[] args, boolean isStatic) {
+		int firstArgIndex = 1;
+		if (isStatic) {
+			firstArgIndex = 0;
+		}
+		// put "this" on the stack for an non-static method
+		if (!isStatic) {
+			instructions.add(new VarInsnNode(Opcodes.ALOAD, 0));
+		}
+		for (int i=0, slot=firstArgIndex; i < args.length; slot+=args[i++].getSize()) {
+			instructions.add(new IntInsnNode(args[i].getOpcode(Opcodes.ILOAD),
+					slot));
+		}
+	}
+	
+	/**
+	 * Replace all return statements in the given instructions with new 
+	 * statements that convert the real return value to {@link Object}
+	 * and return this new {@link Object}
+	 * 
+	 * @param instructions
+	 * @param returnType
+	 */
+	protected void replaceReturn(InsnList instructions, Type returnType) {
+		if (returnType.getSort() != Type.OBJECT &&
+				returnType.getSort() != Type.ARRAY &&
+				returnType.getSort() != Type.VOID) {
+			ListIterator<AbstractInsnNode> orgMethodIter = instructions.iterator();
+			while (orgMethodIter.hasNext()) {
+				AbstractInsnNode orgMethodNode = orgMethodIter.next();
+				if (orgMethodNode.getOpcode() == returnType.getOpcode(Opcodes.IRETURN)) {
+					instructions.insertBefore(orgMethodNode, AsmTypeHelper.getBoxingInstructionForType(returnType));
+					instructions.set(orgMethodNode, new InsnNode(Opcodes.ARETURN));
+				}
+			}
+		} else if (returnType.getSort() == Type.VOID) {
+			ListIterator<AbstractInsnNode> orgMethodIter = instructions.iterator();
+			while (orgMethodIter.hasNext()) {
+				AbstractInsnNode orgMethodNode = orgMethodIter.next();
+				if (orgMethodNode.getOpcode() == Opcodes.RETURN) {
+					instructions.insertBefore(orgMethodNode, new InsnNode(Opcodes.ACONST_NULL));
+					instructions.insertBefore(orgMethodNode, new InsnNode(Opcodes.ARETURN));
+					instructions.remove(orgMethodNode);
+				}
+			}
+		}
+	}
+
+	protected void addReturn(InsnList instructions, Type returnType) {
+		switch (returnType.getSort()) {
+		case Type.VOID:
+			instructions.add(new InsnNode(Opcodes.RETURN));
+			break;
+		case Type.OBJECT:
+		case Type.ARRAY:
+			instructions.add(new InsnNode(Opcodes.ACONST_NULL));
+			instructions.add(new InsnNode(Opcodes.ARETURN));
+			break;
+		case Type.INT:
+		case Type.BOOLEAN:
+		case Type.BYTE:
+		case Type.CHAR:
+		case Type.SHORT:
+			instructions.add(new InsnNode(Opcodes.ICONST_0));
+			instructions.add(new InsnNode(Opcodes.IRETURN));
+			break;
+		case Type.LONG:
+			instructions.add(new InsnNode(Opcodes.LCONST_0));
+			instructions.add(new InsnNode(Opcodes.LRETURN));
+			break;
+		case Type.FLOAT:
+			instructions.add(new InsnNode(Opcodes.FCONST_0));
+			instructions.add(new InsnNode(Opcodes.FRETURN));
+			break;
+		case Type.DOUBLE:
+			instructions.add(new InsnNode(Opcodes.DCONST_0));
+			instructions.add(new InsnNode(Opcodes.DRETURN));
+			break;
+		default:
+			throw new IllegalArgumentException("Unexpected type "+returnType);
+		}
+	}
+
+	/**
+	 * Create an instruction for loading an integer constant,
+	 * using the most compact possible format. 
+	 */
+	protected AbstractInsnNode createLoadIntConstant(int constant) {
+		if (constant >= 0 && constant <= 5)
+			return new InsnNode(Opcodes.ICONST_0+constant);
+		else if (constant > Byte.MIN_VALUE && constant < Byte.MAX_VALUE)
+			return new IntInsnNode(Opcodes.BIPUSH, constant);
+		else if (constant > Short.MIN_VALUE && constant < Short.MAX_VALUE)
+			return new IntInsnNode(Opcodes.SIPUSH, constant);		
+		else
+			return new LdcInsnNode(constant);
+	}
+	
+	/** Call back interface for {@link #replaceSuperCallsWithCallToCallOrig()}. */
+	protected interface IBoundMethodIdInsnProvider {
+		AbstractInsnNode getLoadBoundMethodIdInsn(MethodInsnNode methodInsn);
+	}
+
+	protected void replaceSuperCallsWithCallToCallOrig(InsnList instructions, List<MethodInsnNode> superCalls, 
+			boolean returnsJLObject, AbstractBoundClass superclass, IBoundMethodIdInsnProvider insnProvider) {
+		for (MethodInsnNode oldNode : superCalls) {
+			
+			superclass.addWeavingOfSubclassTask(oldNode.name, oldNode.desc, oldNode.getOpcode() == Opcodes.INVOKESTATIC);
+			
+			Type[] args = Type.getArgumentTypes(oldNode.desc);
+			Type returnType = Type.getReturnType(oldNode.desc);
+	
+			// we need to insert into the loading sequence before the invocation, find the insertion points:
+			AbstractInsnNode[] insertionPoints = StackBalanceAnalyzer.findInsertionPointsBefore(oldNode, args);
+			AbstractInsnNode firstInsert = insertionPoints.length > 0 ? insertionPoints[0] : oldNode;
+			
+			// push first arg to _OT$callOrig():
+			instructions.insertBefore(firstInsert, insnProvider.getLoadBoundMethodIdInsn(oldNode));
+			
+			// prepare array as second arg to _OT$callOrig():
+			instructions.insertBefore(firstInsert, createLoadIntConstant(args.length));
+			instructions.insertBefore(firstInsert, new TypeInsnNode(Opcodes.ANEWARRAY, "java/lang/Object"));
+			
+			for (int i = 0; i < insertionPoints.length; i++) {
+				// NB: each iteration has an even stack balance, where the top is the Object[].
+				instructions.insertBefore(insertionPoints[i], new InsnNode(Opcodes.DUP));
+				instructions.insertBefore(insertionPoints[i], createLoadIntConstant(i));
+				// leave the original loading sequence in tact and continue at the next point:
+				AbstractInsnNode insertAt = (i +1 < insertionPoints.length) ? insertionPoints[i+1] : oldNode;
+				instructions.insertBefore(insertAt, AsmTypeHelper.getBoxingInstructionForType(args[i]));
+				instructions.insertBefore(insertAt, new InsnNode(Opcodes.AASTORE));
+			}
+	
+			// before an areturn j.l.Object we don't need any type adjustments
+			// (incl. the case where we change another return to areturn j.l.O):
+			boolean nextIsGeneralizedReturn = false;
+			AbstractInsnNode next = oldNode.getNext();
+			if (returnsJLObject)
+				nextIsGeneralizedReturn = next != null && next.getOpcode() >= Opcodes.IRETURN && next.getOpcode() <= Opcodes.ARETURN; 
+
+			if (!nextIsGeneralizedReturn) {
+				if (returnType == Type.VOID_TYPE) {
+					instructions.insert(oldNode, new InsnNode(Opcodes.POP));
+				} else {
+					instructions.insert(oldNode, AsmTypeHelper.getUnboxingInstructionForType(returnType));
+					String expectedReferenceTypeName = AsmTypeHelper.getBoxingType(returnType);
+					if (expectedReferenceTypeName == null)
+						expectedReferenceTypeName = returnType.getInternalName();
+					instructions.insert(oldNode, new TypeInsnNode(Opcodes.CHECKCAST, expectedReferenceTypeName)); // before unboxing, if any
+				}
+			}
+	
+			MethodInsnNode newMethodNode = new MethodInsnNode(Opcodes.INVOKESPECIAL, ((MethodInsnNode)oldNode).owner, callOrig.getName(), callOrig.getSignature(), false);
+			instructions.set(oldNode, newMethodNode);
+			if (nextIsGeneralizedReturn && next != null && next.getOpcode() != Opcodes.ARETURN)
+				instructions.set(next, new InsnNode(Opcodes.ARETURN)); // prevent further manipulation by replaceReturn()
+		}
+	}
+
+	/**
+	 * Add a local variable to be visible throughout the all of the instruction list.
+	 * Side effect: may add labels at beginning and end, unless labels are already present at these locations.
+	 */
+	protected void addLocal(MethodNode method, String selector, String desc, int slot) {
+		if (!IS_DEBUG) return;
+		InsnList instructions = method.instructions;
+		LabelNode start, end;
+		if (instructions.getFirst() instanceof LabelNode) {
+			start = (LabelNode) instructions.getFirst();
+		} else {
+			start = new LabelNode();
+			instructions.insert(start);
+		}
+		if (instructions.getLast() instanceof LabelNode) {
+			end = (LabelNode) instructions.getLast();
+		} else {
+			end = new LabelNode();
+			instructions.add(end);
+		}
+		addLocal(method, selector, desc, slot, start, end, true);
+	}
+
+	/**
+	 * Add a local variable to be visible from 'start' to 'end'.
+	 * Checks whether a local variable of that name already exists, in which case we don't change anything.
+	 * TODO: should check if ranges of both variables overlap!
+	 * @param fullRange if true we do not check ranges but avoid *any* duplication by name
+	 */
+	protected void addLocal(MethodNode method, String selector, String desc, int slot, LabelNode start, LabelNode end, boolean fullRange) {
+		if (!IS_DEBUG) return;
+		for (Object lv : method.localVariables) {
+			LocalVariableNode lvNode = (LocalVariableNode)lv;
+			if (lvNode.name.equals(selector)) {
+				if (fullRange||
+						(lvNode.start.equals(start) && lvNode.end.equals(end)))
+					return;
+			}
+		}
+        method.localVariables.add(new LocalVariableNode(selector, desc, null, start, end, slot));
+	}
+
+	protected void addThisVariable(MethodNode method) {
+		addLocal(method, "this", "L"+this.name+";", 0);
+	}
+
+	protected void addLineNumber(InsnList instructions, int line) {
+		if (!IS_DEBUG) return;
+		LabelNode position = new LabelNode();
+		instructions.add(position);
+		instructions.add(new LineNumberNode(line, position));
+	}
+
+	protected int peekFirstLineNumber(InsnList instructions) {
+		if (!IS_DEBUG) return -1;
+		ListIterator<AbstractInsnNode> iterator = instructions.iterator();
+		while (iterator.hasNext()) {
+			Object insn = iterator.next();
+			if (insn instanceof LineNumberNode)
+				return ((LineNumberNode) insn).line;
+		}
+		return -1;
+	}
+	/**
+	 * In this method, concrete Implementations of this class
+	 * can manipulate the bytecode
+	 * @return whether transformation actually happened
+	 */
+	protected abstract boolean transform();
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AddEmptyMethodAdapter.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AddEmptyMethodAdapter.java
index c8e9afd..fa44be6 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AddEmptyMethodAdapter.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AddEmptyMethodAdapter.java
@@ -1,127 +1,128 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2018 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode.asm;

-

-import org.objectweb.asm.ClassVisitor;

-import org.objectweb.asm.MethodVisitor;

-import org.objectweb.asm.Opcodes;

-import org.objectweb.asm.Type;

-

-import static org.eclipse.objectteams.otredyn.bytecode.asm.AsmBoundClass.ASM_API;

-

-/**

- * This class adds an method only with a return statement

- * to the bytecode of a class with the ASM Core API  

- * @author Oliver Frank

- */

-class AddEmptyMethodAdapter extends ClassVisitor {

-

-	private int access;

-	private String name;

-	private String desc;

-	private String signature;

-	private String[] exceptions;

-	private int maxLocals;

-	private String superToCall;

-	private boolean addThrow;

-

-	public AddEmptyMethodAdapter(ClassVisitor cv, String name, int access,

-			String desc, String[] exceptions, String signature,

-			int maxLocals, String superToCall, boolean addThrow) {

-		super(ASM_API, cv);

-		this.access = access;

-		this.desc = desc;

-		this.exceptions = exceptions;

-		this.name = name;

-		this.signature = signature;

-		this.maxLocals = maxLocals;

-		this.superToCall = superToCall;

-		this.addThrow = addThrow;

-	}

-

-	@Override

-	public void visitEnd() {

-		MethodVisitor mv = cv.visitMethod(access, name, desc, signature, exceptions);

-		if ((this.access & Opcodes.ACC_ABSTRACT) != 0) {

-			mv.visitEnd();

-			return;

-		}

-		mv.visitCode();

-		boolean needConstValue = true;

-		if (superToCall != null) {

-			needConstValue = false;

-			boolean isStatic = (this.access & Opcodes.ACC_STATIC) != 0;

-			int firstArgIndex = isStatic ? 0 : 1;

-			if (!isStatic)

-				mv.visitVarInsn(Opcodes.ALOAD, 0); // "this"

-			Type[] args = Type.getArgumentTypes(desc);

-			for (int i=0, slot=firstArgIndex; i < args.length; slot+=args[i++].getSize())

-				mv.visitVarInsn(args[i].getOpcode(Opcodes.ILOAD), slot);

-			mv.visitMethodInsn(Opcodes.INVOKESPECIAL, superToCall, name, desc, false);

-		} else if (this.addThrow) {

-			mv.visitTypeInsn(Opcodes.NEW, "java/lang/IllegalStateException");

-			mv.visitInsn(Opcodes.DUP);

-			mv.visitLdcInsn("Empty method "+name+"() called");

-			mv.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/IllegalStateException", "<init>", "(Ljava/lang/String;)V", false);

-			mv.visitInsn(Opcodes.ATHROW);

-		}

-		Type returnType = Type.getReturnType(this.desc);

-		switch (returnType.getSort()) {

-		case Type.VOID:

-			mv.visitInsn(Opcodes.RETURN);

-			break;

-		case Type.INT:

-        case Type.BOOLEAN:

-        case Type.CHAR:

-        case Type.BYTE:

-        case Type.SHORT:

-        	if (needConstValue)

-        		mv.visitInsn(Opcodes.ICONST_1);

-			mv.visitInsn(Opcodes.IRETURN);

-			break;

-        case Type.FLOAT:

-        	if (needConstValue)

-        		mv.visitInsn(Opcodes.FCONST_1);

-			mv.visitInsn(Opcodes.FRETURN);

-			break;

-        case Type.LONG:

-        	if (needConstValue)

-        		mv.visitInsn(Opcodes.LCONST_1);

-			mv.visitInsn(Opcodes.LRETURN);

-			break;

-        case Type.DOUBLE:

-		case Type.OBJECT:

-		case Type.ARRAY:

-			if (needConstValue)

-        		mv.visitInsn(Opcodes.ACONST_NULL);

-			mv.visitInsn(Opcodes.ARETURN);

-			break;

-		}

-		mv.visitMaxs(1, maxLocals);

-		mv.visitEnd();

-	}

-	

-	@Override

-	public MethodVisitor visitMethod(int arg0, String arg1, String arg2, String arg3, String[] arg4) {

-		return null; // also consider other visitors

-	}

-

-	@Override

-	public String toString() {

-		return "AddEmptyMethod "+this.name+this.desc+" call super: "+this.superToCall;

-	}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2018 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode.asm;
+
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.Type;
+
+import static org.eclipse.objectteams.otredyn.bytecode.asm.AsmBoundClass.ASM_API;
+
+/**
+ * This class adds an method only with a return statement
+ * to the bytecode of a class with the ASM Core API  
+ * @author Oliver Frank
+ */
+class AddEmptyMethodAdapter extends ClassVisitor {
+
+	private int access;
+	private String name;
+	private String desc;
+	private String signature;
+	private String[] exceptions;
+	private int maxLocals;
+	private String superToCall;
+	private boolean addThrow;
+
+	public AddEmptyMethodAdapter(ClassVisitor cv, String name, int access,
+			String desc, String[] exceptions, String signature,
+			int maxLocals, String superToCall, boolean addThrow) {
+		super(ASM_API, cv);
+		this.access = access;
+		this.desc = desc;
+		this.exceptions = exceptions;
+		this.name = name;
+		this.signature = signature;
+		this.maxLocals = maxLocals;
+		this.superToCall = superToCall;
+		this.addThrow = addThrow;
+	}
+
+	@Override
+	public void visitEnd() {
+		MethodVisitor mv = cv.visitMethod(access, name, desc, signature, exceptions);
+		if ((this.access & Opcodes.ACC_ABSTRACT) != 0) {
+			mv.visitEnd();
+			return;
+		}
+		mv.visitCode();
+		boolean needConstValue = true;
+		if (superToCall != null) {
+			needConstValue = false;
+			boolean isStatic = (this.access & Opcodes.ACC_STATIC) != 0;
+			int firstArgIndex = isStatic ? 0 : 1;
+			if (!isStatic)
+				mv.visitVarInsn(Opcodes.ALOAD, 0); // "this"
+			Type[] args = Type.getArgumentTypes(desc);
+			for (int i=0, slot=firstArgIndex; i < args.length; slot+=args[i++].getSize())
+				mv.visitVarInsn(args[i].getOpcode(Opcodes.ILOAD), slot);
+			mv.visitMethodInsn(Opcodes.INVOKESPECIAL, superToCall, name, desc, false);
+		} else if (this.addThrow) {
+			mv.visitTypeInsn(Opcodes.NEW, "java/lang/IllegalStateException");
+			mv.visitInsn(Opcodes.DUP);
+			mv.visitLdcInsn("Empty method "+name+"() called");
+			mv.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/IllegalStateException", "<init>", "(Ljava/lang/String;)V", false);
+			mv.visitInsn(Opcodes.ATHROW);
+		}
+		Type returnType = Type.getReturnType(this.desc);
+		switch (returnType.getSort()) {
+		case Type.VOID:
+			mv.visitInsn(Opcodes.RETURN);
+			break;
+		case Type.INT:
+        case Type.BOOLEAN:
+        case Type.CHAR:
+        case Type.BYTE:
+        case Type.SHORT:
+        	if (needConstValue)
+        		mv.visitInsn(Opcodes.ICONST_1);
+			mv.visitInsn(Opcodes.IRETURN);
+			break;
+        case Type.FLOAT:
+        	if (needConstValue)
+        		mv.visitInsn(Opcodes.FCONST_1);
+			mv.visitInsn(Opcodes.FRETURN);
+			break;
+        case Type.LONG:
+        	if (needConstValue)
+        		mv.visitInsn(Opcodes.LCONST_1);
+			mv.visitInsn(Opcodes.LRETURN);
+			break;
+        case Type.DOUBLE:
+		case Type.OBJECT:
+		case Type.ARRAY:
+			if (needConstValue)
+        		mv.visitInsn(Opcodes.ACONST_NULL);
+			mv.visitInsn(Opcodes.ARETURN);
+			break;
+		}
+		mv.visitMaxs(1, maxLocals);
+		mv.visitEnd();
+	}
+	
+	@Override
+	public MethodVisitor visitMethod(int arg0, String arg1, String arg2, String arg3, String[] arg4) {
+		return null; // also consider other visitors
+	}
+
+	@Override
+	public String toString() {
+		return "AddEmptyMethod "+this.name+this.desc+" call super: "+this.superToCall;
+	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AddFieldAdapter.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AddFieldAdapter.java
index 613bccd..dc1020f 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AddFieldAdapter.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AddFieldAdapter.java
@@ -1,58 +1,59 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2012 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode.asm;

-

-import org.objectweb.asm.ClassVisitor;

-import org.objectweb.asm.FieldVisitor;

-import org.objectweb.asm.MethodVisitor;

-

-import static org.eclipse.objectteams.otredyn.bytecode.asm.AsmBoundClass.ASM_API;

-

-/**

- * Adds an field to the bytecode of a class

- * @author Oliver Frank

- */

-class AddFieldAdapter extends ClassVisitor {

-

-	private int access;

-	private String name;

-	private String desc;

-

-	public AddFieldAdapter(ClassVisitor cv, String name, int access,

-			String desc) {

-		super(ASM_API, cv);

-		this.access = access;

-		this.desc = desc;

-		this.name = name;

-	}

-

-	@Override

-	public void visitEnd() {

-		FieldVisitor fv = cv.visitField(access, name, desc, null, null);

-		fv.visitEnd();

-	}

-		

-	@Override

-	public MethodVisitor visitMethod(int arg0, String arg1, String arg2, String arg3, String[] arg4) {

-		return null; // also consider other visitors

-	}

-

-	@Override

-	public String toString() {

-		return "AddField "+this.desc+' '+this.name;

-	}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2012 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode.asm;
+
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.FieldVisitor;
+import org.objectweb.asm.MethodVisitor;
+
+import static org.eclipse.objectteams.otredyn.bytecode.asm.AsmBoundClass.ASM_API;
+
+/**
+ * Adds an field to the bytecode of a class
+ * @author Oliver Frank
+ */
+class AddFieldAdapter extends ClassVisitor {
+
+	private int access;
+	private String name;
+	private String desc;
+
+	public AddFieldAdapter(ClassVisitor cv, String name, int access,
+			String desc) {
+		super(ASM_API, cv);
+		this.access = access;
+		this.desc = desc;
+		this.name = name;
+	}
+
+	@Override
+	public void visitEnd() {
+		FieldVisitor fv = cv.visitField(access, name, desc, null, null);
+		fv.visitEnd();
+	}
+		
+	@Override
+	public MethodVisitor visitMethod(int arg0, String arg1, String arg2, String arg3, String[] arg4) {
+		return null; // also consider other visitors
+	}
+
+	@Override
+	public String toString() {
+		return "AddField "+this.desc+' '+this.name;
+	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AddInterfaceAdapter.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AddInterfaceAdapter.java
index d58f1e7..b6180b5 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AddInterfaceAdapter.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AddInterfaceAdapter.java
@@ -1,54 +1,55 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2014 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode.asm;

-

-import org.objectweb.asm.ClassVisitor;

-import org.objectweb.asm.MethodVisitor;

-import org.objectweb.asm.Opcodes;

-

-import static org.eclipse.objectteams.otredyn.bytecode.asm.AsmBoundClass.ASM_API;

-

-/**

- * Adds an interface to the bytecode of a class

- * @author Oliver Frank

- *

- */

-public class AddInterfaceAdapter extends ClassVisitor {

-	private String interfaceName;

-	

-	public AddInterfaceAdapter(ClassVisitor cv, String interfaceName) {

-		super(ASM_API, cv);

-		this.interfaceName = interfaceName;

-	}

-

-	@Override

-	public void visit(int version, int access, String name, String signature,

-			String superName, String[] interfaces) {

-		String[] newInterfaces = new String[interfaces.length + 1];

-		System.arraycopy(interfaces, 0, newInterfaces, 0, interfaces.length);

-		newInterfaces[interfaces.length] = interfaceName;

-		// Assumption: when it should potentially be a bound baseclass it may have to be public, too:

-		access &= ~(Opcodes.ACC_PRIVATE|Opcodes.ACC_PROTECTED);

-		access |= Opcodes.ACC_PUBLIC;

-		super.visit(version, access, name, signature, superName, newInterfaces);

-	}

-	

-	@Override

-	public MethodVisitor visitMethod(int arg0, String arg1, String arg2, String arg3, String[] arg4) {

-		return null; // also consider other visitors

-	}

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2014 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode.asm;
+
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+
+import static org.eclipse.objectteams.otredyn.bytecode.asm.AsmBoundClass.ASM_API;
+
+/**
+ * Adds an interface to the bytecode of a class
+ * @author Oliver Frank
+ *
+ */
+public class AddInterfaceAdapter extends ClassVisitor {
+	private String interfaceName;
+	
+	public AddInterfaceAdapter(ClassVisitor cv, String interfaceName) {
+		super(ASM_API, cv);
+		this.interfaceName = interfaceName;
+	}
+
+	@Override
+	public void visit(int version, int access, String name, String signature,
+			String superName, String[] interfaces) {
+		String[] newInterfaces = new String[interfaces.length + 1];
+		System.arraycopy(interfaces, 0, newInterfaces, 0, interfaces.length);
+		newInterfaces[interfaces.length] = interfaceName;
+		// Assumption: when it should potentially be a bound baseclass it may have to be public, too:
+		access &= ~(Opcodes.ACC_PRIVATE|Opcodes.ACC_PROTECTED);
+		access |= Opcodes.ACC_PUBLIC;
+		super.visit(version, access, name, signature, superName, newInterfaces);
+	}
+	
+	@Override
+	public MethodVisitor visitMethod(int arg0, String arg1, String arg2, String arg3, String[] arg4) {
+		return null; // also consider other visitors
+	}
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmBoundClass.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmBoundClass.java
index b31c9d7..c7859e3 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmBoundClass.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmBoundClass.java
@@ -1,222 +1,223 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2014 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode.asm;

-

-import java.io.IOException;

-import java.io.InputStream;

-import java.util.ArrayList;

-import java.util.Arrays;

-import java.util.Collection;

-import java.util.List;

-import java.util.Set;

-

-import org.eclipse.objectteams.otredyn.bytecode.AbstractBoundClass;

-import org.eclipse.objectteams.otredyn.bytecode.AbstractTeam;

-import org.eclipse.objectteams.otredyn.bytecode.IBytecodeProvider;

-import org.objectweb.asm.ClassReader;

-import org.objectweb.asm.Opcodes;

-

-import org.eclipse.jdt.annotation.*;

-

-/**

- * This class implements the bytecode parsing for {@link AbstractBoundClass}.

- * It parses the bytecode with ASM.

- * @author Oliver Frank

- */

-public abstract class AsmBoundClass extends AbstractTeam {

-	

-	public static final int ASM_API = Opcodes.ASM7;

-

-	private static final int DEFAULT_BUFFER_SIZE = 8192;

-    private static final int MAX_BUFFER_SIZE = Integer.MAX_VALUE - 8;

-

-	private IBytecodeProvider bytecodeProvider;

-	

-	/**

-	 * just a temporary cache for the bytecode

-	 */

-	private byte[] bytecode;

-	

-	/**

-	 * ordered lists of qualified callin labels

-	 */

-	public List<String[]> precedenceses = new ArrayList<String[]>();

-

-	/**

-	 * Set of base classes to which the current class or one of its roles as playedBy bindings.

-	 * Qualified class names are '.' separated.

-	 */

-	public Set<@NonNull String> boundBaseClasses;

-

-	protected AsmBoundClass(@NonNull String name, String id, IBytecodeProvider bytecodeProvider, ClassLoader loader) {

-		super(name, id, loader);

-		this.bytecodeProvider = bytecodeProvider;

-	}

-

-	/**

-	 * Parses the bytecode of a class and uses the set/add... Methods (e.g. addMethod)

-	 * of {@link AbstractBoundClass} to set the information

-	 */

-	@Override

-	public synchronized void parseBytecode() {

-		if (parsed) {

-			// Already parsed, nothing to do

-			return;

-		}

-		

-		bytecode = bytecodeProvider.getBytecode(getId());

-		if (bytecode == null) {

-			if (this.loader != null) {

-				try (InputStream stream = this.loader.getResourceAsStream(this.getInternalName()+".class")) {

-					if (stream != null) {

-						bytecode = readAllBytes(stream);

-						bytecodeProvider.setBytecode(getId(), bytecode);

-					}

-				} catch (IOException e) {

-					// silent (from automatic close()).

-				}

-			}

-		}

-		if (bytecode == null) {

-			//Class is not loaded yet.

-			return;

-		}

-		

-		// Don't parse another time

-		parsed = true;

-		AsmClassVisitor cv = new AsmClassVisitor(this);

-		ClassReader cr = null;

-		cr = new ClassReader(bytecode);

-		

-		cr.accept(cv, Attributes.attributes, 0);

-		

-		//release the bytecode

-		bytecode = null;

-	}

-	

-    public byte[] readAllBytes(InputStream is) throws IOException {

-        byte[] buf = new byte[DEFAULT_BUFFER_SIZE];

-        int capacity = buf.length;

-        int nread = 0;

-        int n;

-        for (;;) {

-            while ((n = is.read(buf, nread, capacity - nread)) > 0)

-                nread += n;

-            if (n < 0)

-                break;

-            if (capacity <= MAX_BUFFER_SIZE - capacity) {

-                capacity = capacity << 1;

-            } else {

-                if (capacity == MAX_BUFFER_SIZE)

-                    throw new OutOfMemoryError("Requested size too large");

-                capacity = MAX_BUFFER_SIZE;

-            }

-            buf = Arrays.copyOf(buf, capacity);

-        }

-        return (capacity == nread) ? buf : Arrays.copyOf(buf, nread);

-    }

-

-	@Override

-	public Collection<@NonNull String> getBoundBaseClasses() {

-		return this.boundBaseClasses;

-	}

-

-	/**

-	 * Returns the bytecode of this class and cache it temporary.

-	 * This method is only needed, if getBytecode of the {@link IBytecodeProvider}

-	 * is an expensive operation.

-	 * @return

-	 */

-	protected byte[] allocateAndGetBytecode() {

-		if (bytecode == null) {

-			bytecode = getBytecode();

-		}

-		return bytecode;

-	}

-	

-	/**

-	 * Get the bytecode directly from the {@link IBytecodeProvider}.

-	 * This method can be used, if getBytecode of the {@link IBytecodeProvider}

-	 * is not an expensive operation.

-	 * @return 

-	 */

-	@Override

-	public byte[] getBytecode() {

-		return bytecodeProvider.getBytecode(getId());

-	}

-	

-	/**

-	 * Releases the bytecode, if it's cached, an set it in the {@link IBytecodeProvider}

-	 */

-	protected void releaseBytecode() {

-		bytecodeProvider.setBytecode(getId(), bytecode);

-		bytecode = null;

-	}

-	

-	/**

-	 * Returns the {@link IBytecodeProvider} used for this class

-	 * @return

-	 */

-	protected IBytecodeProvider getBytecodeProvider() {

-		return bytecodeProvider;

-	}

-	

-	/**

-	 * Sets the bytecode. 

-	 * If the bytecode is temporary cached, the cache is used.

-	 * Otherwise this method give the bytecode directly to the {@link IBytecodeProvider}

-	 * @param bytecode

-	 */

-	protected void setBytecode(byte[] bytecode) {

-		//Is the bytecode temporary cached?

-		if (this.bytecode == null) {

-			// no, then save the bytecode directly in the bytecode provider

-			bytecodeProvider.setBytecode(getId(), bytecode);

-		} else {

-			// yes, then use the cache

-			this.bytecode = bytecode;

-		}

-	}

-	

-	public int compare(String callinLabel1, String callinLabel2) {

-		for (String[] precedences : this.precedenceses) {

-			boolean label1Seen = false, label2Seen = false;

-			for (String label : precedences) {

-				if (label.equals(callinLabel1)) {

-					if (label2Seen)

-						return -1; // saw two then one: one has lower priority than two

-					label1Seen = true;

-				} else if (label.equals(callinLabel2)) {

-					if (label1Seen)

-						return 1; // saw one then two: one has higher priority than two

-					label2Seen = true;

-				}

-			}

-		}

-		AbstractBoundClass enclosingClass = getEnclosingClass();

-		if (enclosingClass != null) {

-			String singleName = getInternalName();

-			int pos = singleName.lastIndexOf('$');

-			singleName = singleName.substring(pos+1);

-			if (singleName.startsWith("__OT__"))

-				singleName = singleName.substring("__OT__".length());

-			// check for precedence at outer level:

-			return enclosingClass.compare(singleName+'.'+callinLabel1, singleName+'.'+callinLabel2);

-		}

-		return callinLabel1.compareTo(callinLabel2);

-	}

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2014 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode.asm;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.objectteams.otredyn.bytecode.AbstractBoundClass;
+import org.eclipse.objectteams.otredyn.bytecode.AbstractTeam;
+import org.eclipse.objectteams.otredyn.bytecode.IBytecodeProvider;
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.Opcodes;
+
+import org.eclipse.jdt.annotation.*;
+
+/**
+ * This class implements the bytecode parsing for {@link AbstractBoundClass}.
+ * It parses the bytecode with ASM.
+ * @author Oliver Frank
+ */
+public abstract class AsmBoundClass extends AbstractTeam {
+	
+	public static final int ASM_API = Opcodes.ASM7;
+
+	private static final int DEFAULT_BUFFER_SIZE = 8192;
+    private static final int MAX_BUFFER_SIZE = Integer.MAX_VALUE - 8;
+
+	private IBytecodeProvider bytecodeProvider;
+	
+	/**
+	 * just a temporary cache for the bytecode
+	 */
+	private byte[] bytecode;
+	
+	/**
+	 * ordered lists of qualified callin labels
+	 */
+	public List<String[]> precedenceses = new ArrayList<String[]>();
+
+	/**
+	 * Set of base classes to which the current class or one of its roles as playedBy bindings.
+	 * Qualified class names are '.' separated.
+	 */
+	public Set<@NonNull String> boundBaseClasses;
+
+	protected AsmBoundClass(@NonNull String name, String id, IBytecodeProvider bytecodeProvider, ClassLoader loader) {
+		super(name, id, loader);
+		this.bytecodeProvider = bytecodeProvider;
+	}
+
+	/**
+	 * Parses the bytecode of a class and uses the set/add... Methods (e.g. addMethod)
+	 * of {@link AbstractBoundClass} to set the information
+	 */
+	@Override
+	public synchronized void parseBytecode() {
+		if (parsed) {
+			// Already parsed, nothing to do
+			return;
+		}
+		
+		bytecode = bytecodeProvider.getBytecode(getId());
+		if (bytecode == null) {
+			if (this.loader != null) {
+				try (InputStream stream = this.loader.getResourceAsStream(this.getInternalName()+".class")) {
+					if (stream != null) {
+						bytecode = readAllBytes(stream);
+						bytecodeProvider.setBytecode(getId(), bytecode);
+					}
+				} catch (IOException e) {
+					// silent (from automatic close()).
+				}
+			}
+		}
+		if (bytecode == null) {
+			//Class is not loaded yet.
+			return;
+		}
+		
+		// Don't parse another time
+		parsed = true;
+		AsmClassVisitor cv = new AsmClassVisitor(this);
+		ClassReader cr = null;
+		cr = new ClassReader(bytecode);
+		
+		cr.accept(cv, Attributes.attributes, 0);
+		
+		//release the bytecode
+		bytecode = null;
+	}
+	
+    public byte[] readAllBytes(InputStream is) throws IOException {
+        byte[] buf = new byte[DEFAULT_BUFFER_SIZE];
+        int capacity = buf.length;
+        int nread = 0;
+        int n;
+        for (;;) {
+            while ((n = is.read(buf, nread, capacity - nread)) > 0)
+                nread += n;
+            if (n < 0)
+                break;
+            if (capacity <= MAX_BUFFER_SIZE - capacity) {
+                capacity = capacity << 1;
+            } else {
+                if (capacity == MAX_BUFFER_SIZE)
+                    throw new OutOfMemoryError("Requested size too large");
+                capacity = MAX_BUFFER_SIZE;
+            }
+            buf = Arrays.copyOf(buf, capacity);
+        }
+        return (capacity == nread) ? buf : Arrays.copyOf(buf, nread);
+    }
+
+	@Override
+	public Collection<@NonNull String> getBoundBaseClasses() {
+		return this.boundBaseClasses;
+	}
+
+	/**
+	 * Returns the bytecode of this class and cache it temporary.
+	 * This method is only needed, if getBytecode of the {@link IBytecodeProvider}
+	 * is an expensive operation.
+	 * @return
+	 */
+	protected byte[] allocateAndGetBytecode() {
+		if (bytecode == null) {
+			bytecode = getBytecode();
+		}
+		return bytecode;
+	}
+	
+	/**
+	 * Get the bytecode directly from the {@link IBytecodeProvider}.
+	 * This method can be used, if getBytecode of the {@link IBytecodeProvider}
+	 * is not an expensive operation.
+	 * @return 
+	 */
+	@Override
+	public byte[] getBytecode() {
+		return bytecodeProvider.getBytecode(getId());
+	}
+	
+	/**
+	 * Releases the bytecode, if it's cached, an set it in the {@link IBytecodeProvider}
+	 */
+	protected void releaseBytecode() {
+		bytecodeProvider.setBytecode(getId(), bytecode);
+		bytecode = null;
+	}
+	
+	/**
+	 * Returns the {@link IBytecodeProvider} used for this class
+	 * @return
+	 */
+	protected IBytecodeProvider getBytecodeProvider() {
+		return bytecodeProvider;
+	}
+	
+	/**
+	 * Sets the bytecode. 
+	 * If the bytecode is temporary cached, the cache is used.
+	 * Otherwise this method give the bytecode directly to the {@link IBytecodeProvider}
+	 * @param bytecode
+	 */
+	protected void setBytecode(byte[] bytecode) {
+		//Is the bytecode temporary cached?
+		if (this.bytecode == null) {
+			// no, then save the bytecode directly in the bytecode provider
+			bytecodeProvider.setBytecode(getId(), bytecode);
+		} else {
+			// yes, then use the cache
+			this.bytecode = bytecode;
+		}
+	}
+	
+	public int compare(String callinLabel1, String callinLabel2) {
+		for (String[] precedences : this.precedenceses) {
+			boolean label1Seen = false, label2Seen = false;
+			for (String label : precedences) {
+				if (label.equals(callinLabel1)) {
+					if (label2Seen)
+						return -1; // saw two then one: one has lower priority than two
+					label1Seen = true;
+				} else if (label.equals(callinLabel2)) {
+					if (label1Seen)
+						return 1; // saw one then two: one has higher priority than two
+					label2Seen = true;
+				}
+			}
+		}
+		AbstractBoundClass enclosingClass = getEnclosingClass();
+		if (enclosingClass != null) {
+			String singleName = getInternalName();
+			int pos = singleName.lastIndexOf('$');
+			singleName = singleName.substring(pos+1);
+			if (singleName.startsWith("__OT__"))
+				singleName = singleName.substring("__OT__".length());
+			// check for precedence at outer level:
+			return enclosingClass.compare(singleName+'.'+callinLabel1, singleName+'.'+callinLabel2);
+		}
+		return callinLabel1.compareTo(callinLabel2);
+	}
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmClassRepository.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmClassRepository.java
index 7832cb2..70756ee 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmClassRepository.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmClassRepository.java
@@ -1,36 +1,37 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2012 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode.asm;

-

-import org.eclipse.jdt.annotation.NonNull;

-import org.eclipse.objectteams.otredyn.bytecode.AbstractTeam;

-import org.eclipse.objectteams.otredyn.bytecode.ClassRepository;

-import org.eclipse.objectteams.otredyn.bytecode.IBytecodeProvider;

-

-

-/**

- * Creates Instances of {@link AsmWritableBoundClass} as {@link AbstractTeam}

- * @author Oliver Frank

- */

-public class AsmClassRepository extends ClassRepository {

-

-	

-	@Override

-	protected AbstractTeam createClass(@NonNull String name, String id, IBytecodeProvider bytecodeProvider, ClassLoader loader) {

-		return new AsmWritableBoundClass(name, id, bytecodeProvider, loader);

-	}

-}

+/**********************************************************************
+ * This file is part of "Object Teams Dynamic Runtime Environment"
+ * 
+ * Copyright 2009, 2012 Oliver Frank and others.
+ * 
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0 * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ *		Oliver Frank - Initial API and implementation
+ *		Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.objectteams.otredyn.bytecode.asm;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.objectteams.otredyn.bytecode.AbstractTeam;
+import org.eclipse.objectteams.otredyn.bytecode.ClassRepository;
+import org.eclipse.objectteams.otredyn.bytecode.IBytecodeProvider;
+
+
+/**
+ * Creates Instances of {@link AsmWritableBoundClass} as {@link AbstractTeam}
+ * @author Oliver Frank
+ */
+public class AsmClassRepository extends ClassRepository {
+
+	
+	@Override
+	protected AbstractTeam createClass(@NonNull String name, String id, IBytecodeProvider bytecodeProvider, ClassLoader loader) {
+		return new AsmWritableBoundClass(name, id, bytecodeProvider, loader);
+	}
+}
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmClassVisitor.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmClassVisitor.java
index 5038a11..5004106 100644
--- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmClassVisitor.java
+++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmClassVisitor.java
@@ -1,169 +1,170 @@
-/**********************************************************************

- * This file is part of "Object Teams Dynamic Runtime Environment"

- * 

- * Copyright 2009, 2016 Oliver Frank and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Please visit http://www.eclipse.org/objectteams for updates and contact.

- * 

- * Contributors:

- *		Oliver Frank - Initial API and implementation

- *		Stephan Herrmann - Initial API and implementation

- **********************************************************************/

-package org.eclipse.objectteams.otredyn.bytecode.asm;

-

-import java.util.HashSet;

-

-import org.eclipse.objectteams.otredyn.bytecode.Binding;

-import org.eclipse.objectteams.otredyn.bytecode.asm.Attributes.CallinBindingsAttribute;

-import org.eclipse.objectteams.otredyn.bytecode.asm.Attributes.OTClassFlagsAttribute;

-import org.eclipse.objectteams.otredyn.bytecode.asm.Attributes.RoleBaseBindingsAttribute;

-import org.eclipse.objectteams.otredyn.bytecode.asm.Attributes.CallinBindingsAttribute.MultiBinding;

-import org.eclipse.objectteams.otredyn.bytecode.asm.Attributes.CallinPrecedenceAttribute;

-import org.eclipse.objectteams.otredyn.bytecode.asm.Attributes.OTSpecialAccessAttribute;

-import org.eclipse.objectteams.otredyn.bytecode.asm.Attributes.OTSpecialAccessAttribute.DecapsMethod;

-import org.objectweb.asm.AnnotationVisitor;

-import org.objectweb.asm.Attribute;

-import org.objectweb.asm.ClassVisitor;

-import org.objectweb.asm.FieldVisitor;

-import org.objectweb.asm.MethodVisitor;

-import org.objectweb.asm.Opcodes;

-

-import static org.eclipse.objectteams.otredyn.bytecode.asm.AsmBoundClass.ASM_API;

-

-/**

- * This class is used to parse the bytecode of a class.

- * It sets the informations, that are parsed, in the {@link AsmBoundClass}

- * @author Oliver Frank

- */

-class AsmClassVisitor extends ClassVisitor {

-

-	private static boolean DEBUG_ATTRIBUTES = System.getProperty("otdre.debug.attributes") != null;

-

-	static final int CALLIN = 1;

-	static final int STATIC = 2;

-	static final int FINAL = 4;

-

-	private AsmBoundClass clazz;

-	

-	public AsmClassVisitor(AsmBoundClass clazz) {

-		super(ASM_API);

-		this.clazz = clazz;

-	}

-	

-	/**

-	 * Parses common information about the class.

-	 */

-	@Override

-	public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {

-		clazz.setSuperClassName(superName);

-		clazz.setSuperInterfaces(interfaces);

-		clazz.setModifiers(access);

-	}

-	

-	/**

-	 * Parses the methods of the class

-	 */

-	@Override

-	public MethodVisitor visitMethod(int access, final String name, final String desc, String signature, String[] exceptions) {

-		clazz.addMethod(name, desc, (access & Opcodes.ACC_STATIC) != 0, (access & (Opcodes.ACC_PUBLIC|Opcodes.ACC_PROTECTED|Opcodes.ACC_PRIVATE)));

-		if (clazz.isTeam() || clazz.isRole())

-			// check for method annotation ImplicitTeamActivation:

-			return new MethodVisitor(this.api) {

-				@Override

-				public AnnotationVisitor visitAnnotation(String annDesc, boolean visible) {

-					if (annDesc.equals(AddImplicitActivationAdapter.ANNOTATION_IMPLICIT_ACTIVATION))

-						clazz.registerMethodForImplicitActivation(name+desc);

-					return super.visitAnnotation(annDesc, visible);

-				}

-			};

-		return super.visitMethod(access, name, desc, signature, exceptions);

-	}

-	

-	/**

-	 * Parses the fields of the class

-	 */

-	@Override

-	public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) {

-		clazz.addField(name, desc, (access & Opcodes.ACC_STATIC) != 0, (access & (Opcodes.ACC_PUBLIC|Opcodes.ACC_PROTECTED|Opcodes.ACC_PRIVATE)));

-		return super.visitField(access, name, desc, signature, value);