mark JCLMin1.5 as of the initial contribution (CQ 3784)
diff --git a/othersrc/JCLMin1.5/.classpath b/othersrc/JCLMin1.5/.classpath
new file mode 100644
index 0000000..fb50116
--- /dev/null
+++ b/othersrc/JCLMin1.5/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/othersrc/JCLMin1.5/.project b/othersrc/JCLMin1.5/.project
new file mode 100644
index 0000000..8f01565
--- /dev/null
+++ b/othersrc/JCLMin1.5/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>JCLMin1.5</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.5/jclmin1.5.jardesc b/othersrc/JCLMin1.5/jclmin1.5.jardesc
new file mode 100644
index 0000000..9ac5192
--- /dev/null
+++ b/othersrc/JCLMin1.5/jclmin1.5.jardesc
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?><jardesc>
+    <jar path="/tmp/jclMin1.5.jar"/>
+    <options buildIfNeeded="true" compress="true" descriptionLocation="/JCLMin1.5/jclmin1.5.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.5/.project"/>
+        <file path="/JCLMin1.5/.classpath"/>
+        <javaElement handleIdentifier="=JCLMin1.5/src"/>
+    </selectedElements>
+    <fatjar builder="org.eclipse.jdt.ui.plain_jar_builder" launchConfig=""/>
+</jardesc>
\ No newline at end of file
diff --git a/othersrc/JCLMin1.5/src/java/io/Serializable.java b/othersrc/JCLMin1.5/src/java/io/Serializable.java
new file mode 100644
index 0000000..edd882d
--- /dev/null
+++ b/othersrc/JCLMin1.5/src/java/io/Serializable.java
@@ -0,0 +1,4 @@
+package java.io;

+

+public interface Serializable {

+}

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

+

+public interface CharSequence {

+	int length();

+}

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

+

+public class Class<T> {

+	public String getName() { return null; }

+	public boolean isInstance(Object o) { return false; }

+}

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

+

+public class CloneNotSupportedException extends Exception {

+}

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

+

+public interface Comparable<T> {

+}

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

+

+@SuppressWarnings("serial")

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

+	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.5/src/java/lang/Error.java b/othersrc/JCLMin1.5/src/java/lang/Error.java
new file mode 100644
index 0000000..fce0cf0
--- /dev/null
+++ b/othersrc/JCLMin1.5/src/java/lang/Error.java
@@ -0,0 +1,4 @@
+package java.lang;

+

+public class Error extends Throwable {

+}

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

+

+public class Exception extends Throwable {

+}

diff --git a/othersrc/JCLMin1.5/src/java/lang/IllegalArgumentException.java b/othersrc/JCLMin1.5/src/java/lang/IllegalArgumentException.java
new file mode 100644
index 0000000..12ba113
--- /dev/null
+++ b/othersrc/JCLMin1.5/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.5/src/java/lang/IllegalMonitorStateException.java b/othersrc/JCLMin1.5/src/java/lang/IllegalMonitorStateException.java
new file mode 100644
index 0000000..e173f13
--- /dev/null
+++ b/othersrc/JCLMin1.5/src/java/lang/IllegalMonitorStateException.java
@@ -0,0 +1,4 @@
+package java.lang;

+

+public class IllegalMonitorStateException extends RuntimeException {

+}

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

+

+public class InterruptedException extends Exception {

+}

diff --git a/othersrc/JCLMin1.5/src/java/lang/Iterable.java b/othersrc/JCLMin1.5/src/java/lang/Iterable.java
new file mode 100644
index 0000000..5ef5e3f
--- /dev/null
+++ b/othersrc/JCLMin1.5/src/java/lang/Iterable.java
@@ -0,0 +1,7 @@
+package java.lang;
+
+import java.util.Iterator;
+
+public interface Iterable<E> {
+	Iterator<E> iterator();
+}
diff --git a/othersrc/JCLMin1.5/src/java/lang/Object.java b/othersrc/JCLMin1.5/src/java/lang/Object.java
new file mode 100644
index 0000000..7cc5f51
--- /dev/null
+++ b/othersrc/JCLMin1.5/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<?> 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.5/src/java/lang/RuntimeException.java b/othersrc/JCLMin1.5/src/java/lang/RuntimeException.java
new file mode 100644
index 0000000..ddbaf63
--- /dev/null
+++ b/othersrc/JCLMin1.5/src/java/lang/RuntimeException.java
@@ -0,0 +1,4 @@
+package java.lang;

+

+public class RuntimeException extends Exception {

+}

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

+

+public class String implements CharSequence {

+	public int length() { return 0; }

+	public boolean endsWith(String postfix) { return false; }

+	public String substring(int start) { return this; }

+}

diff --git a/othersrc/JCLMin1.5/src/java/lang/SuppressWarnings.java b/othersrc/JCLMin1.5/src/java/lang/SuppressWarnings.java
new file mode 100644
index 0000000..f68fa6c
--- /dev/null
+++ b/othersrc/JCLMin1.5/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.5/src/java/lang/Thread.java b/othersrc/JCLMin1.5/src/java/lang/Thread.java
new file mode 100644
index 0000000..25c4025
--- /dev/null
+++ b/othersrc/JCLMin1.5/src/java/lang/Thread.java
@@ -0,0 +1,7 @@
+package java.lang;
+
+public class Thread implements Runnable {
+
+	public void run() { }
+
+}
diff --git a/othersrc/JCLMin1.5/src/java/lang/ThreadLocal.java b/othersrc/JCLMin1.5/src/java/lang/ThreadLocal.java
new file mode 100644
index 0000000..d1f3479
--- /dev/null
+++ b/othersrc/JCLMin1.5/src/java/lang/ThreadLocal.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class ThreadLocal<T> {
+
+}
diff --git a/othersrc/JCLMin1.5/src/java/lang/Throwable.java b/othersrc/JCLMin1.5/src/java/lang/Throwable.java
new file mode 100644
index 0000000..d4a8dcb
--- /dev/null
+++ b/othersrc/JCLMin1.5/src/java/lang/Throwable.java
@@ -0,0 +1,4 @@
+package java.lang;

+

+public class Throwable {

+}

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

+

+public interface Annotation {

+

+}

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

+

+public enum ElementType {

+	TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, ANNOTATION_TYPE, PACKAGE

+}

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

+

+@Retention(RetentionPolicy.RUNTIME)

+@Target(ElementType.ANNOTATION_TYPE)

+public @interface Retention {

+    RetentionPolicy value();

+}

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

+

+public enum RetentionPolicy {

+     SOURCE, CLASS, RUNTIME

+}

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

+

+@Retention(RetentionPolicy.RUNTIME)

+@Target(ElementType.ANNOTATION_TYPE)

+public @interface Target {

+    ElementType[] value();

+}

diff --git a/othersrc/JCLMin1.5/src/java/lang/reflect/Array.java b/othersrc/JCLMin1.5/src/java/lang/reflect/Array.java
new file mode 100644
index 0000000..b5c5bba
--- /dev/null
+++ b/othersrc/JCLMin1.5/src/java/lang/reflect/Array.java
@@ -0,0 +1,6 @@
+package java.lang.reflect;
+
+public class Array {
+    public static Object newInstance(Class<?> componentType, int length) { return null; }
+
+}
diff --git a/othersrc/JCLMin1.5/src/java/util/AbstractMap.java b/othersrc/JCLMin1.5/src/java/util/AbstractMap.java
new file mode 100644
index 0000000..efd8d7a
--- /dev/null
+++ b/othersrc/JCLMin1.5/src/java/util/AbstractMap.java
@@ -0,0 +1,5 @@
+package java.util;
+
+public abstract class AbstractMap<K, V> implements Map<K, V> {
+
+}
diff --git a/othersrc/JCLMin1.5/src/java/util/ArrayList.java b/othersrc/JCLMin1.5/src/java/util/ArrayList.java
new file mode 100644
index 0000000..e013eac
--- /dev/null
+++ b/othersrc/JCLMin1.5/src/java/util/ArrayList.java
@@ -0,0 +1,18 @@
+package java.util;
+
+public class ArrayList<E> implements Collection<E> {
+	
+	public ArrayList(int i) {}
+	public ArrayList() {}
+	
+	public void addAll(Collection<? extends E> other) { }
+	public void add(Object elem) {}
+
+	public E[] toArray() { return null; }
+	public <T> T[] toArray(T[] other) { return null; }
+
+	public int size() { return 0; }
+
+	public Iterator<E> iterator() { return null; }
+
+}
diff --git a/othersrc/JCLMin1.5/src/java/util/Collection.java b/othersrc/JCLMin1.5/src/java/util/Collection.java
new file mode 100644
index 0000000..2fbb042
--- /dev/null
+++ b/othersrc/JCLMin1.5/src/java/util/Collection.java
@@ -0,0 +1,7 @@
+package java.util;
+
+public interface Collection<E> extends Iterable<E> {
+	void addAll(Collection<? extends E> other);
+	E[] toArray();
+	public int size();
+}
diff --git a/othersrc/JCLMin1.5/src/java/util/Iterator.java b/othersrc/JCLMin1.5/src/java/util/Iterator.java
new file mode 100644
index 0000000..6106368
--- /dev/null
+++ b/othersrc/JCLMin1.5/src/java/util/Iterator.java
@@ -0,0 +1,9 @@
+package java.util;
+
+
+
+public interface Iterator<E> {
+    boolean hasNext();
+    E next();
+    void remove();
+}
diff --git a/othersrc/JCLMin1.5/src/java/util/Map.java b/othersrc/JCLMin1.5/src/java/util/Map.java
new file mode 100644
index 0000000..581520c
--- /dev/null
+++ b/othersrc/JCLMin1.5/src/java/util/Map.java
@@ -0,0 +1,5 @@
+package java.util;
+
+public interface Map<K, V> {
+	public class Entry<K,V> {}
+}
diff --git a/othersrc/JCLMin1.5/src/java/util/WeakHashMap.java b/othersrc/JCLMin1.5/src/java/util/WeakHashMap.java
new file mode 100644
index 0000000..dc59d3f
--- /dev/null
+++ b/othersrc/JCLMin1.5/src/java/util/WeakHashMap.java
@@ -0,0 +1,5 @@
+package java.util;
+
+public class WeakHashMap<K,V> extends AbstractMap<K,V>  {
+
+}