update jdt.core to I20190220-1800 for 2019-03 M3

- enrich jclMin1.8 with classes needed by OT/J
- configure more test projects for 1.8
- add 1.8 versions of JCL_LIB to some more test plugins
- accept jdt.annotation v2.0
- expect @role tag in tests
- revert part of commit 9981d84813a6706ae3f09010b2ce00ae51aa8c07
diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/JavadocCompletionParserTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/JavadocCompletionParserTest.java
index e697328..251c257 100644
--- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/JavadocCompletionParserTest.java
+++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/JavadocCompletionParserTest.java
@@ -174,7 +174,14 @@
 				// Block tags
 				TAG_AUTHOR, TAG_DEPRECATED, TAG_EXCEPTION, TAG_PARAM, TAG_RETURN, TAG_SEE, TAG_VERSION, TAG_CATEGORY,
 				TAG_SINCE,
+//{ObjectTeams: insert @role tag:
+/* orig:
 				TAG_SERIAL, TAG_SERIAL_DATA, TAG_SERIAL_FIELD , TAG_THROWS, TAG_USES, TAG_PROVIDES,
+  :giro */
+				TAG_SERIAL, TAG_SERIAL_DATA, TAG_SERIAL_FIELD , TAG_THROWS,
+/* OT: */		TAG_ROLE,
+				TAG_USES, TAG_PROVIDES,
+// SH}
 				// Inline tags
 				TAG_LINK,
 				TAG_DOC_ROOT
diff --git a/othersrc/JCLMin1.8/.classpath b/othersrc/JCLMin1.8/.classpath
new file mode 100644
index 0000000..51a8bba
--- /dev/null
+++ b/othersrc/JCLMin1.8/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/othersrc/JCLMin1.8/.project b/othersrc/JCLMin1.8/.project
new file mode 100644
index 0000000..ad2cf4b
--- /dev/null
+++ b/othersrc/JCLMin1.8/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>JCLMin1.8</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/othersrc/JCLMin1.8/.settings/org.eclipse.jdt.core.prefs b/othersrc/JCLMin1.8/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..857df5d
--- /dev/null
+++ b/othersrc/JCLMin1.8/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.objectteams.otdt.compiler.option.pure_java=enabled
diff --git a/othersrc/JCLMin1.8/jclmin1.8.jardesc b/othersrc/JCLMin1.8/jclmin1.8.jardesc
new file mode 100644
index 0000000..3814545
--- /dev/null
+++ b/othersrc/JCLMin1.8/jclmin1.8.jardesc
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<jardesc>
+    <jar path="org.eclipse.objectteams.otdt.tests/JCL/jclMin1.8.jar"/>
+    <options buildIfNeeded="true" compress="true" descriptionLocation="/JCLMin1.8/jclmin1.8.jardesc" exportErrors="false" exportWarnings="true" includeDirectoryEntries="false" overwrite="false" saveDescription="true" storeRefactorings="false" useSourceFolders="false"/>
+    <storedRefactorings deprecationInfo="true" structuralOnly="false"/>
+    <selectedProjects/>
+    <manifest generateManifest="true" manifestLocation="" manifestVersion="1.0" reuseManifest="false" saveManifest="false" usesManifest="true">
+        <sealing sealJar="false">
+            <packagesToSeal/>
+            <packagesToUnSeal/>
+        </sealing>
+    </manifest>
+    <selectedElements exportClassFiles="false" exportJavaFiles="false" exportOutputFolder="true">
+        <file path="/JCLMin1.8/.classpath"/>
+        <file path="/JCLMin1.8/.project"/>
+        <javaElement handleIdentifier="=JCLMin1.8/src"/>
+    </selectedElements>
+</jardesc>
diff --git a/othersrc/JCLMin1.8/jclmin1.8src.jardesc b/othersrc/JCLMin1.8/jclmin1.8src.jardesc
new file mode 100644
index 0000000..e0c12c7
--- /dev/null
+++ b/othersrc/JCLMin1.8/jclmin1.8src.jardesc
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<jardesc>
+    <jar path="org.eclipse.objectteams.otdt.tests/JCL/jclMin1.8src.zip"/>
+    <options buildIfNeeded="true" compress="true" descriptionLocation="/JCLMin1.8/jclmin1.8src.jardesc" exportErrors="false" exportWarnings="true" includeDirectoryEntries="false" overwrite="false" saveDescription="true" storeRefactorings="false" useSourceFolders="false"/>
+    <storedRefactorings deprecationInfo="true" structuralOnly="false"/>
+    <selectedProjects/>
+    <selectedElements exportClassFiles="false" exportJavaFiles="true" exportOutputFolder="false">
+        <folder path="/JCLMin1.8/.settings"/>
+        <javaElement handleIdentifier="=JCLMin1.8/src"/>
+        <file path="/JCLMin1.8/.classpath"/>
+        <file path="/JCLMin1.8/.project"/>
+    </selectedElements>
+</jardesc>
diff --git a/othersrc/JCLMin1.8/src/java/io/IOException.java b/othersrc/JCLMin1.8/src/java/io/IOException.java
new file mode 100644
index 0000000..c161494
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/io/IOException.java
@@ -0,0 +1,5 @@
+package java.io;
+
+public class IOException extends Exception {
+
+}
diff --git a/othersrc/JCLMin1.8/src/java/io/ObjectInputStream.java b/othersrc/JCLMin1.8/src/java/io/ObjectInputStream.java
new file mode 100644
index 0000000..c422bb7
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/io/ObjectInputStream.java
@@ -0,0 +1,5 @@
+package java.io;
+
+public class ObjectInputStream {
+	public boolean readBoolean() throws IOException  { return false; }
+}
diff --git a/othersrc/JCLMin1.8/src/java/io/ObjectOutputStream.java b/othersrc/JCLMin1.8/src/java/io/ObjectOutputStream.java
new file mode 100644
index 0000000..e33767f
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/io/ObjectOutputStream.java
@@ -0,0 +1,5 @@
+package java.io;
+
+public class ObjectOutputStream {
+	public void writeBoolean(boolean flag) throws IOException {}
+}
diff --git a/othersrc/JCLMin1.8/src/java/io/Serializable.java b/othersrc/JCLMin1.8/src/java/io/Serializable.java
new file mode 100644
index 0000000..edd882d
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/io/Serializable.java
@@ -0,0 +1,4 @@
+package java.io;

+

+public interface Serializable {

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/Boolean.java b/othersrc/JCLMin1.8/src/java/lang/Boolean.java
new file mode 100644
index 0000000..a831396
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/Boolean.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class Boolean {
+
+}
diff --git a/othersrc/JCLMin1.8/src/java/lang/CharSequence.java b/othersrc/JCLMin1.8/src/java/lang/CharSequence.java
new file mode 100644
index 0000000..b9a0d9e
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/CharSequence.java
@@ -0,0 +1,5 @@
+package java.lang;

+

+public interface CharSequence {

+	int length();

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/Class.java b/othersrc/JCLMin1.8/src/java/lang/Class.java
new file mode 100644
index 0000000..a7667b9
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/Class.java
@@ -0,0 +1,4 @@
+package java.lang;

+

+public class Class<T> {

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/ClassCastException.java b/othersrc/JCLMin1.8/src/java/lang/ClassCastException.java
new file mode 100644
index 0000000..46778b0
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/ClassCastException.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class ClassCastException extends RuntimeException {
+
+}
diff --git a/othersrc/JCLMin1.8/src/java/lang/CloneNotSupportedException.java b/othersrc/JCLMin1.8/src/java/lang/CloneNotSupportedException.java
new file mode 100644
index 0000000..cb777dc
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/CloneNotSupportedException.java
@@ -0,0 +1,4 @@
+package java.lang;

+

+public class CloneNotSupportedException extends Exception {

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/Comparable.java b/othersrc/JCLMin1.8/src/java/lang/Comparable.java
new file mode 100644
index 0000000..fbc6c8b
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/Comparable.java
@@ -0,0 +1,4 @@
+package java.lang;

+

+public interface Comparable<T> {

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/Deprecated.java b/othersrc/JCLMin1.8/src/java/lang/Deprecated.java
new file mode 100644
index 0000000..6c73ded
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/Deprecated.java
@@ -0,0 +1,6 @@
+package java.lang;

+import java.lang.annotation.*;

+@Documented

+@Retention(RetentionPolicy.RUNTIME)

+public @interface Deprecated {

+}
\ No newline at end of file
diff --git a/othersrc/JCLMin1.8/src/java/lang/Enum.java b/othersrc/JCLMin1.8/src/java/lang/Enum.java
new file mode 100644
index 0000000..05c8d27
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/Enum.java
@@ -0,0 +1,14 @@
+package java.lang;

+

+public abstract class Enum<T extends Enum<T>> implements Comparable<T>, java.io.Serializable {

+	private static final long serialVersionUID = 2L;

+

+	protected Enum(String name, int ordinal) {

+	}

+	public final String name() {

+		return null;

+	}

+	public final int ordinal() {

+		return 0;

+	}

+}
\ No newline at end of file
diff --git a/othersrc/JCLMin1.8/src/java/lang/Error.java b/othersrc/JCLMin1.8/src/java/lang/Error.java
new file mode 100644
index 0000000..fce0cf0
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/Error.java
@@ -0,0 +1,4 @@
+package java.lang;

+

+public class Error extends Throwable {

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/Exception.java b/othersrc/JCLMin1.8/src/java/lang/Exception.java
new file mode 100644
index 0000000..93645c8
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/Exception.java
@@ -0,0 +1,4 @@
+package java.lang;

+

+public class Exception extends Throwable {

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/IllegalArgumentException.java b/othersrc/JCLMin1.8/src/java/lang/IllegalArgumentException.java
new file mode 100644
index 0000000..12ba113
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/IllegalArgumentException.java
@@ -0,0 +1,9 @@
+package java.lang;
+
+public class IllegalArgumentException extends RuntimeException {
+
+	public IllegalArgumentException(String msg) {
+		super();
+	}
+
+}
diff --git a/othersrc/JCLMin1.8/src/java/lang/IllegalMonitorStateException.java b/othersrc/JCLMin1.8/src/java/lang/IllegalMonitorStateException.java
new file mode 100644
index 0000000..e173f13
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/IllegalMonitorStateException.java
@@ -0,0 +1,4 @@
+package java.lang;

+

+public class IllegalMonitorStateException extends RuntimeException {

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/Integer.java b/othersrc/JCLMin1.8/src/java/lang/Integer.java
new file mode 100644
index 0000000..4fe8a52
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/Integer.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class Integer {
+	public int intValue() { return 0; }
+}
diff --git a/othersrc/JCLMin1.8/src/java/lang/InterruptedException.java b/othersrc/JCLMin1.8/src/java/lang/InterruptedException.java
new file mode 100644
index 0000000..e2e84ba
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/InterruptedException.java
@@ -0,0 +1,4 @@
+package java.lang;

+

+public class InterruptedException extends Exception {

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/Iterable.java b/othersrc/JCLMin1.8/src/java/lang/Iterable.java
new file mode 100644
index 0000000..299b66e
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/Iterable.java
@@ -0,0 +1,7 @@
+package java.lang;
+
+import java.util.Iterator;
+
+public interface Iterable<T> {
+    Iterator<T> iterator();
+}
\ No newline at end of file
diff --git a/othersrc/JCLMin1.8/src/java/lang/Object.java b/othersrc/JCLMin1.8/src/java/lang/Object.java
new file mode 100644
index 0000000..eb50899
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/Object.java
@@ -0,0 +1,34 @@
+package java.lang;

+

+public class Object {

+

+public Object() {

+}

+protected Object clone() throws CloneNotSupportedException {

+	return null;

+}

+public boolean equals (Object obj) {

+	return false;

+}

+protected void finalize () throws Throwable {

+}

+public final Class<? extends Object> getClass() {

+	return null;

+}

+public int hashCode() {

+	return -1;

+}

+public final void notify() throws IllegalMonitorStateException {

+}

+public final void notifyAll() throws IllegalMonitorStateException {

+}

+public String toString () {

+	return null;

+}

+public final void wait () throws IllegalMonitorStateException, InterruptedException {

+}

+public final void wait (long millis) throws IllegalMonitorStateException, InterruptedException {

+}

+public final void wait (long millis, int nanos) throws IllegalMonitorStateException, InterruptedException {

+}

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/Override.java b/othersrc/JCLMin1.8/src/java/lang/Override.java
new file mode 100644
index 0000000..16932c5
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/Override.java
@@ -0,0 +1,11 @@
+package java.lang;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.SOURCE)
+public @interface Override {
+}
\ No newline at end of file
diff --git a/othersrc/JCLMin1.8/src/java/lang/RuntimeException.java b/othersrc/JCLMin1.8/src/java/lang/RuntimeException.java
new file mode 100644
index 0000000..ddbaf63
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/RuntimeException.java
@@ -0,0 +1,4 @@
+package java.lang;

+

+public class RuntimeException extends Exception {

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/String.java b/othersrc/JCLMin1.8/src/java/lang/String.java
new file mode 100644
index 0000000..d8108d4
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/String.java
@@ -0,0 +1,5 @@
+package java.lang;

+

+public class String implements CharSequence {

+	public int length() { return 0; }

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/SuppressWarnings.java b/othersrc/JCLMin1.8/src/java/lang/SuppressWarnings.java
new file mode 100644
index 0000000..f68fa6c
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/SuppressWarnings.java
@@ -0,0 +1,11 @@
+package java.lang;
+
+import java.lang.annotation.*;
+import static java.lang.annotation.ElementType.*;
+
+
+@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
+@Retention(RetentionPolicy.SOURCE)
+public @interface SuppressWarnings {
+    String[] value();
+}
\ No newline at end of file
diff --git a/othersrc/JCLMin1.8/src/java/lang/Thread.java b/othersrc/JCLMin1.8/src/java/lang/Thread.java
new file mode 100644
index 0000000..fbe8a3d
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/Thread.java
@@ -0,0 +1,9 @@
+package java.lang;
+
+public class Thread implements Runnable {
+
+	public void run() { }
+
+	public static Thread currentThread() { return null; }
+	public boolean isAlive() { return true; }
+}
diff --git a/othersrc/JCLMin1.8/src/java/lang/ThreadLocal.java b/othersrc/JCLMin1.8/src/java/lang/ThreadLocal.java
new file mode 100644
index 0000000..d1f3479
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/ThreadLocal.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class ThreadLocal<T> {
+
+}
diff --git a/othersrc/JCLMin1.8/src/java/lang/Throwable.java b/othersrc/JCLMin1.8/src/java/lang/Throwable.java
new file mode 100644
index 0000000..d4a8dcb
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/Throwable.java
@@ -0,0 +1,4 @@
+package java.lang;

+

+public class Throwable {

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/annotation/Annotation.java b/othersrc/JCLMin1.8/src/java/lang/annotation/Annotation.java
new file mode 100644
index 0000000..ba72aad
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/annotation/Annotation.java
@@ -0,0 +1,4 @@
+package java.lang.annotation;

+public interface Annotation {

+

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/annotation/Documented.java b/othersrc/JCLMin1.8/src/java/lang/annotation/Documented.java
new file mode 100644
index 0000000..b4fcc84
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/annotation/Documented.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;

+@Documented

+@Retention(RetentionPolicy.RUNTIME)

+@Target(ElementType.ANNOTATION_TYPE)

+public @interface Documented {

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/annotation/ElementType.java b/othersrc/JCLMin1.8/src/java/lang/annotation/ElementType.java
new file mode 100644
index 0000000..802eec1
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/annotation/ElementType.java
@@ -0,0 +1,13 @@
+package java.lang.annotation;

+public enum ElementType {

+    ANNOTATION_TYPE,

+    CONSTRUCTOR,

+    FIELD,

+    LOCAL_VARIABLE,

+    METHOD,

+    PACKAGE,

+    PARAMETER,

+    TYPE,

+    TYPE_USE,

+    TYPE_PARAMETER,

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/annotation/Inherited.java b/othersrc/JCLMin1.8/src/java/lang/annotation/Inherited.java
new file mode 100644
index 0000000..dfa8b11
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/annotation/Inherited.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;

+@Documented

+@Retention(RetentionPolicy.RUNTIME)

+@Target(ElementType.ANNOTATION_TYPE)

+public @interface Inherited {

+}
\ No newline at end of file
diff --git a/othersrc/JCLMin1.8/src/java/lang/annotation/Retention.java b/othersrc/JCLMin1.8/src/java/lang/annotation/Retention.java
new file mode 100644
index 0000000..20211a9
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/annotation/Retention.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;

+@Documented

+@Retention(RetentionPolicy.RUNTIME)

+@Target(ElementType.ANNOTATION_TYPE)

+public @interface Retention {

+    RetentionPolicy value();

+}
\ No newline at end of file
diff --git a/othersrc/JCLMin1.8/src/java/lang/annotation/RetentionPolicy.java b/othersrc/JCLMin1.8/src/java/lang/annotation/RetentionPolicy.java
new file mode 100644
index 0000000..b69fa7d
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/annotation/RetentionPolicy.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;

+public enum RetentionPolicy {

+    CLASS,

+    SOURCE,

+    RUNTIME

+}
\ No newline at end of file
diff --git a/othersrc/JCLMin1.8/src/java/lang/annotation/Target.java b/othersrc/JCLMin1.8/src/java/lang/annotation/Target.java
new file mode 100644
index 0000000..4c17c17
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/annotation/Target.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;

+@Documented

+@Retention(RetentionPolicy.RUNTIME)

+@Target(ElementType.ANNOTATION_TYPE)

+public @interface Target {

+    ElementType[] value();

+}
\ No newline at end of file
diff --git a/othersrc/JCLMin1.8/src/java/lang/invoke/MethodHandle.java b/othersrc/JCLMin1.8/src/java/lang/invoke/MethodHandle.java
new file mode 100644
index 0000000..688d832
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/invoke/MethodHandle.java
@@ -0,0 +1,37 @@
+/*******************************************************************************

+ * Copyright (c) 2011 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

+ *

+ * Contributors:

+ *     IBM Corporation - initial API and implementation

+ *******************************************************************************/

+package java.lang.invoke;

+

+import static java.lang.annotation.ElementType.METHOD;

+import static java.lang.annotation.RetentionPolicy.RUNTIME;

+

+import java.lang.annotation.Retention;

+import java.lang.annotation.Target;

+

+public abstract class MethodHandle {

+	@Target(METHOD)

+	@Retention(RUNTIME)

+	@interface PolymorphicSignature {

+	}

+

+	@PolymorphicSignature

+	public final native Object invoke(Object... args) throws Throwable;

+

+	@PolymorphicSignature

+	public final native Object invokeExact(Object... args) throws Throwable;

+

+	public native Object invokeWithArguments(Object... arguments)

+			throws Throwable;

+

+	public native boolean isVarargsCollector();

+

+	public native MethodHandle asType(MethodType newType);

+}
\ No newline at end of file
diff --git a/othersrc/JCLMin1.8/src/java/lang/invoke/MethodHandles.java b/othersrc/JCLMin1.8/src/java/lang/invoke/MethodHandles.java
new file mode 100644
index 0000000..3362237
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/invoke/MethodHandles.java
@@ -0,0 +1,21 @@
+package java.lang.invoke;

+

+public class MethodHandles {

+	public static final class Lookup {

+		public MethodHandle findVirtual(Class<?> refc, String name,

+				MethodType type) throws NoSuchMethodException,

+				IllegalAccessException {

+			return null;

+		}

+

+		public MethodHandle findStatic(Class<?> refc, String name,

+				MethodType type) throws NoSuchMethodException,

+				IllegalAccessException {

+			return null;

+		}

+	}

+

+	public static Lookup lookup() {

+		return null;

+	}

+}

diff --git a/othersrc/JCLMin1.8/src/java/lang/invoke/MethodType.java b/othersrc/JCLMin1.8/src/java/lang/invoke/MethodType.java
new file mode 100644
index 0000000..492573b
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/lang/invoke/MethodType.java
@@ -0,0 +1,16 @@
+package java.lang.invoke;

+

+public final class MethodType {

+	public static MethodType methodType(Class<?> rtype, Class<?> ptype0,

+			Class<?>... ptypes) {

+		return null;

+	}

+

+	public static MethodType methodType(Class<?> rtype) {

+		return null;

+	}

+

+	public static MethodType genericMethodType(int objectArgCount) {

+		return null;

+	}

+}

diff --git a/othersrc/JCLMin1.8/src/java/util/Collection.java b/othersrc/JCLMin1.8/src/java/util/Collection.java
new file mode 100644
index 0000000..fc86a74
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/util/Collection.java
@@ -0,0 +1,19 @@
+/*******************************************************************************

+ * 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

+ * which accompanies this distribution, and is available at

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

+ *

+ * Contributors:

+ *     IBM Corporation - initial API and implementation

+ *******************************************************************************/

+package java.util;

+

+public interface Collection<E> extends Iterable<E> {

+	public Iterator<E> iterator();

+	public int size();

+	public E get(int index);

+	public boolean addAll(Collection<E> c);

+	public E[] toArray(E[] o);

+}

diff --git a/othersrc/JCLMin1.8/src/java/util/Iterator.java b/othersrc/JCLMin1.8/src/java/util/Iterator.java
new file mode 100644
index 0000000..2b0b6b0
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/util/Iterator.java
@@ -0,0 +1,17 @@
+/*******************************************************************************

+ * 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

+ * which accompanies this distribution, and is available at

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

+ *

+ * Contributors:

+ *     IBM Corporation - initial API and implementation

+ *******************************************************************************/

+package java.util;

+

+public interface Iterator<E> {

+    boolean hasNext();

+    E next();

+    void remove();

+}

diff --git a/othersrc/JCLMin1.8/src/java/util/List.java b/othersrc/JCLMin1.8/src/java/util/List.java
new file mode 100644
index 0000000..7d19bdf
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/util/List.java
@@ -0,0 +1,4 @@
+package java.util;

+

+public interface List<E> extends Collection<E> {

+}

diff --git a/othersrc/JCLMin1.8/src/java/util/Map.java b/othersrc/JCLMin1.8/src/java/util/Map.java
new file mode 100644
index 0000000..025d6ac
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/util/Map.java
@@ -0,0 +1,7 @@
+package java.util;

+

+public interface Map<K,V> {

+	public interface Entry<K,V> {

+		

+	}

+}
\ No newline at end of file
diff --git a/othersrc/JCLMin1.8/src/java/util/WeakHashMap.java b/othersrc/JCLMin1.8/src/java/util/WeakHashMap.java
new file mode 100644
index 0000000..1df4e1d
--- /dev/null
+++ b/othersrc/JCLMin1.8/src/java/util/WeakHashMap.java
@@ -0,0 +1,5 @@
+package java.util;
+
+public class WeakHashMap<K, V> implements Map<K, V> {
+
+}
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/JCL/jclMin1.8.jar b/testplugins/org.eclipse.objectteams.otdt.tests/JCL/jclMin1.8.jar
index 0e017da..09067c6 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/JCL/jclMin1.8.jar
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/JCL/jclMin1.8.jar
Binary files differ
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/JCL/jclMin1.8src.zip b/testplugins/org.eclipse.objectteams.otdt.tests/JCL/jclMin1.8src.zip
index c85ea26..9828d77 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/JCL/jclMin1.8src.zip
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/JCL/jclMin1.8src.zip
Binary files differ
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/.classpath
index 5d3fe42..f889f2e 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/AnonymousInnerclass/.classpath
@@ -3,7 +3,7 @@
 	<classpathentry kind="src" path="teamlevel"/>
 	<classpathentry kind="src" path="rolelevelinternal"/>
     <classpathentry kind="var" path="CONVERTER_JCL_LIB" sourcepath="CONVERTER_JCL_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/CallinMapping/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/CallinMapping/.classpath
index 119bc26..4184b3d 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/CallinMapping/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/CallinMapping/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>		 
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/CalloutMapping/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/CalloutMapping/.classpath
index 119bc26..4184b3d 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/CalloutMapping/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/CalloutMapping/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>		 
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/CodeSelection/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/CodeSelection/.classpath
index 217415c..98f367c 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/CodeSelection/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/CodeSelection/.classpath
@@ -2,7 +2,7 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>
     <classpathentry kind="var" path="CONVERTER_JCL_LIB" sourcepath="CONVERTER_JCL_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Completion/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Completion/.classpath
index 4e33bef..7118518 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Completion/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Completion/.classpath
@@ -2,7 +2,7 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>
     <classpathentry kind="var" path="CONVERTER_JCL_LIB" sourcepath="CONVERTER_JCL_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 	<classpathentry kind="con" path="OTRE"/>
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/ExternalDefinedRole/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/ExternalDefinedRole/.classpath
index fd04323..8c1c6de 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/ExternalDefinedRole/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/ExternalDefinedRole/.classpath
@@ -6,7 +6,7 @@
 	<classpathentry kind="src" path="bound/toteam"/>
 	<classpathentry kind="src" path="bound/toordinary"/>		
     <classpathentry kind="var" path="CONVERTER_JCL_LIB" sourcepath="CONVERTER_JCL_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Hierarchy/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Hierarchy/.classpath
index a112489..e96e6e5 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Hierarchy/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Hierarchy/.classpath
@@ -5,7 +5,7 @@
 	<classpathentry kind="src" path="implicit"/>
 	<classpathentry kind="src" path="complete_rolehierarchy_with_classes"/>
 	<classpathentry kind="src" path="complete_rolehierarchy_with_roles"/>
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/HierarchyRegression/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/HierarchyRegression/.classpath
index b819049..afde563 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/HierarchyRegression/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/HierarchyRegression/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>	
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
  	<classpathentry kind="con" path="OTRE"/>
 </classpath>
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/InternalDefinedRole/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/InternalDefinedRole/.classpath
index 694d21c..7b07fad 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/InternalDefinedRole/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/InternalDefinedRole/.classpath
@@ -6,7 +6,7 @@
 	<classpathentry kind="src" path="boundtorole"/>
 	<classpathentry kind="src" path="ordinaryclasses"/>			
     <classpathentry kind="var" path="CONVERTER_JCL_LIB" sourcepath="CONVERTER_JCL_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/JSR-045/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/JSR-045/.classpath
index 6bfe8e4..80dcfdd 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/JSR-045/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/JSR-045/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <classpath>

 	<classpathentry kind="src" path="src"/>

-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>

+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>

 	<classpathentry kind="con" path="OTRE"/>

 	<classpathentry kind="output" path="bin"/>

 </classpath>

diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/OTModelTest/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/OTModelTest/.classpath
index dd29fc9..b0d2e49 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/OTModelTest/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/OTModelTest/.classpath
@@ -2,7 +2,7 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>
     <classpathentry kind="var" path="CONVERTER_JCL_LIB" sourcepath="CONVERTER_JCL_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 </classpath>
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/PCAnalysis/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/PCAnalysis/.classpath
index 588528f..3994c44 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/PCAnalysis/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/PCAnalysis/.classpath
@@ -2,7 +2,7 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>		
     <classpathentry kind="var" path="CONVERTER_JCL_LIB" sourcepath="CONVERTER_JCL_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/ParserTest/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/ParserTest/.classpath
index 217415c..98f367c 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/ParserTest/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/ParserTest/.classpath
@@ -2,7 +2,7 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>
     <classpathentry kind="var" path="CONVERTER_JCL_LIB" sourcepath="CONVERTER_JCL_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Regression/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Regression/.classpath
index 6acf683..b92e75e 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Regression/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Regression/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>		
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
 	<classpathentry kind="con" path="OTRE"/>
 </classpath>
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Team/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Team/.classpath
index 588528f..3994c44 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Team/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/Team/.classpath
@@ -2,7 +2,7 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>		
     <classpathentry kind="var" path="CONVERTER_JCL_LIB" sourcepath="CONVERTER_JCL_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/TeamProject/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/TeamProject/.classpath
index 588528f..3994c44 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/TeamProject/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/TeamProject/.classpath
@@ -2,7 +2,7 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>		
     <classpathentry kind="var" path="CONVERTER_JCL_LIB" sourcepath="CONVERTER_JCL_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/TestDataSample/.classpath b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/TestDataSample/.classpath
index 5e306b1..2ed9b9f 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/workspace/TestDataSample/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/workspace/TestDataSample/.classpath
@@ -2,7 +2,7 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>
     <classpathentry kind="var" path="CONVERTER_JCL_LIB" sourcepath="CONVERTER_JCL_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 	<classpathentry kind="con" path="OTRE"/>
diff --git a/testplugins/org.eclipse.objectteams.otdt.ui.tests.dom/JCL/jclMin1.8.jar b/testplugins/org.eclipse.objectteams.otdt.ui.tests.dom/JCL/jclMin1.8.jar
new file mode 100644
index 0000000..09067c6
--- /dev/null
+++ b/testplugins/org.eclipse.objectteams.otdt.ui.tests.dom/JCL/jclMin1.8.jar
Binary files differ
diff --git a/testplugins/org.eclipse.objectteams.otdt.ui.tests.dom/JCL/jclMin1.8src.zip b/testplugins/org.eclipse.objectteams.otdt.ui.tests.dom/JCL/jclMin1.8src.zip
new file mode 100644
index 0000000..9828d77
--- /dev/null
+++ b/testplugins/org.eclipse.objectteams.otdt.ui.tests.dom/JCL/jclMin1.8src.zip
Binary files differ
diff --git a/testplugins/org.eclipse.objectteams.otdt.ui.tests.dom/workspace/DOM_AST/.classpath b/testplugins/org.eclipse.objectteams.otdt.ui.tests.dom/workspace/DOM_AST/.classpath
index 7085590..bec8cfc 100644
--- a/testplugins/org.eclipse.objectteams.otdt.ui.tests.dom/workspace/DOM_AST/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.ui.tests.dom/workspace/DOM_AST/.classpath
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>
-    <classpathentry kind="var" path="CONVERTER_JCL17_LIB" sourcepath="CONVERTER_JCL17_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+    <classpathentry kind="var" path="CONVERTER_JCL18_LIB" sourcepath="CONVERTER_JCL18_SRC" rootpath="CONVERTER_JCL_SRCROOT"/>    
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
     
diff --git a/testplugins/org.eclipse.objectteams.otdt.ui.tests.refactoring/JCL/jclMin1.8.jar b/testplugins/org.eclipse.objectteams.otdt.ui.tests.refactoring/JCL/jclMin1.8.jar
new file mode 100644
index 0000000..09067c6
--- /dev/null
+++ b/testplugins/org.eclipse.objectteams.otdt.ui.tests.refactoring/JCL/jclMin1.8.jar
Binary files differ
diff --git a/testplugins/org.eclipse.objectteams.otdt.ui.tests.refactoring/JCL/jclMin1.8src.zip b/testplugins/org.eclipse.objectteams.otdt.ui.tests.refactoring/JCL/jclMin1.8src.zip
new file mode 100644
index 0000000..9828d77
--- /dev/null
+++ b/testplugins/org.eclipse.objectteams.otdt.ui.tests.refactoring/JCL/jclMin1.8src.zip
Binary files differ
diff --git a/testplugins/org.eclipse.objectteams.otdt.ui.tests/JCL/jclMin1.8.jar b/testplugins/org.eclipse.objectteams.otdt.ui.tests/JCL/jclMin1.8.jar
new file mode 100644
index 0000000..09067c6
--- /dev/null
+++ b/testplugins/org.eclipse.objectteams.otdt.ui.tests/JCL/jclMin1.8.jar
Binary files differ
diff --git a/testplugins/org.eclipse.objectteams.otdt.ui.tests/JCL/jclMin1.8src.zip b/testplugins/org.eclipse.objectteams.otdt.ui.tests/JCL/jclMin1.8src.zip
new file mode 100644
index 0000000..9828d77
--- /dev/null
+++ b/testplugins/org.eclipse.objectteams.otdt.ui.tests/JCL/jclMin1.8src.zip
Binary files differ
diff --git a/testplugins/org.eclipse.objectteams.otdt.ui.tests/src/org/eclipse/objectteams/otdt/ui/tests/core/JavaQuickFixTests.java b/testplugins/org.eclipse.objectteams.otdt.ui.tests/src/org/eclipse/objectteams/otdt/ui/tests/core/JavaQuickFixTests.java
index 5c7b115..83b87ce 100644
--- a/testplugins/org.eclipse.objectteams.otdt.ui.tests/src/org/eclipse/objectteams/otdt/ui/tests/core/JavaQuickFixTests.java
+++ b/testplugins/org.eclipse.objectteams.otdt.ui.tests/src/org/eclipse/objectteams/otdt/ui/tests/core/JavaQuickFixTests.java
@@ -71,7 +71,7 @@
 
 	void setupForNullAnnotations(boolean isPlainJava) throws IOException, JavaModelException {
 		if (this.ANNOTATION_JAR_PATH == null) {
-			String version= "[1.1.0,2.0.0)"; // tests run at 1.5, need the "old" null annotations
+			String version= "[2.0.0,3.0.0)"; 
 			Bundle[] bundles= Platform.getBundles("org.eclipse.jdt.annotation", version);
 			File bundleFile= FileLocator.getBundleFile(bundles[0]);
 			if (bundleFile.isDirectory())
@@ -234,6 +234,9 @@
 		buf.append("public team class T2 extends T1 {\n");
 		buf.append("  protected class R {\n");
 		buf.append("\n");
+		buf.append("    /* (non-Javadoc)\n"); 
+		buf.append("     * @see test1.T1.R#foo()\n"); 
+		buf.append("     */\n");
 		buf.append("    @Override\n");
 		buf.append("    void foo() {\n");
 		buf.append("        // TODO Auto-generated method stub\n"); 
@@ -294,6 +297,9 @@
 		buf.append("public team class T2 extends T1 {\n");
 		buf.append("  protected class R {\n");
 		buf.append("\n");
+		buf.append("    /* (non-Javadoc)\n"); 
+		buf.append("     * @see test1.T1.R#foo()\n"); 
+		buf.append("     */\n");
 		buf.append("    @Override\n");
 		buf.append("    static void foo() {\n");
 		buf.append("        // TODO Auto-generated method stub\n"); 
diff --git a/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/CallinMarker/.classpath b/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/CallinMarker/.classpath
index 15cfc7f..048640e 100644
--- a/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/CallinMarker/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/CallinMarker/.classpath
@@ -2,7 +2,7 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>
     <classpathentry kind="output" path="bin"/>
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
 	<classpathentry kind="con" path="OTRE"/>
 </classpath>
 
diff --git a/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/CreationTestProject/.classpath b/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/CreationTestProject/.classpath
index f32f3d9..0cecef2 100644
--- a/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/CreationTestProject/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/CreationTestProject/.classpath
@@ -2,7 +2,7 @@
 <classpath>
 	<classpathentry kind="src" path="teams"/>		
 	<classpathentry kind="src" path="internaldefinedrole"/>			
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 
diff --git a/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/ExternalDefinedRole/.classpath b/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/ExternalDefinedRole/.classpath
index a0b141b..dd81ede 100644
--- a/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/ExternalDefinedRole/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/ExternalDefinedRole/.classpath
@@ -5,7 +5,7 @@
 	<classpathentry kind="src" path="boundtoteam"/>		
 	<classpathentry kind="src" path="bound/toteam"/>
 	<classpathentry kind="src" path="bound/toordinary"/>		
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 
diff --git a/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/InternalDefinedRole/.classpath b/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/InternalDefinedRole/.classpath
index e95a4c7..f66ed41 100644
--- a/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/InternalDefinedRole/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/InternalDefinedRole/.classpath
@@ -4,7 +4,7 @@
 	<classpathentry kind="src" path="boundtoordinary"/>
 	<classpathentry kind="src" path="boundtoteam"/>
 	<classpathentry kind="src" path="ordinaryclasses"/>			
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>
 
diff --git a/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/TeamProject/.classpath b/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/TeamProject/.classpath
index 89f793a..e9dae31 100644
--- a/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/TeamProject/.classpath
+++ b/testplugins/org.eclipse.objectteams.otdt.ui.tests/workspace/TeamProject/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>		
-	<classpathentry kind="var" path="JCL17_LIB" sourcepath="JCL17_SRC" rootpath="JCL_SRCROOT"/>
+	<classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRCROOT"/>
     <classpathentry kind="output" path="bin"/>
     <classpathentry kind="lib" sourcepath="src" path="bins"/>