diff --git a/features/org.eclipse.jem.tests-feature/feature.properties b/features/org.eclipse.jem.tests-feature/feature.properties
index 3e75f8d..81946f8 100644
--- a/features/org.eclipse.jem.tests-feature/feature.properties
+++ b/features/org.eclipse.jem.tests-feature/feature.properties
@@ -1,16 +1,16 @@
 ###############################################################################
-# Copyright (c) 2003 IBM Corporation and others.
+# Copyright (c) 2003, 2004 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Common Public License v1.0
 # which accompanies this distribution, and is available at
 # http://www.eclipse.org/legal/cpl-v10.html
-#
+# 
 # Contributors:
-# IBM Corporation - initial API and implementation
+#     IBM Corporation - initial API and implementation
 ###############################################################################
 #
 # $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.tests.git/features/org.eclipse.jem.tests-feature/Attic/feature.properties,v $
-# $Revision: 1.2 $  $Date: 2004/07/16 15:35:07 $
+# $Revision: 1.3 $  $Date: 2004/08/27 15:34:24 $
 #
 
 
@@ -126,4 +126,4 @@
 using any encryption software, please check the country's laws,\n\
 regulations and policies concerning the import, possession, or use,\n\
 and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
\ No newline at end of file
+########### end of license property ##########################################
diff --git a/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/about.properties
index 1a62f96..bb195a5 100644
--- a/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/about.properties
+++ b/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/about.properties
@@ -1,6 +1,6 @@
 ###############################################################################
-# Copyright (c) 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
+# Copyright (c) 2003, 2004 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Common Public License v1.0
 # which accompanies this distribution, and is available at
 # http://www.eclipse.org/legal/cpl-v10.html
@@ -10,7 +10,7 @@
 ###############################################################################
 #
 # $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.tests.git/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/Attic/about.properties,v $
-# $Revision: 1.3 $  $Date: 2004/06/11 15:13:09 $
+# $Revision: 1.4 $  $Date: 2004/08/27 15:34:24 $
 #
 
 # about.properties
diff --git a/tests/org.eclipse.jem.tests/about.properties b/tests/org.eclipse.jem.tests/about.properties
index 1af549d..51a97fa 100644
--- a/tests/org.eclipse.jem.tests/about.properties
+++ b/tests/org.eclipse.jem.tests/about.properties
@@ -1,6 +1,6 @@
 ###############################################################################
-# Copyright (c) 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
+# Copyright (c) 2003, 2004 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Common Public License v1.0
 # which accompanies this distribution, and is available at
 # http://www.eclipse.org/legal/cpl-v10.html
@@ -10,7 +10,7 @@
 ###############################################################################
 #
 # $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.tests.git/tests/org.eclipse.jem.tests/about.properties,v $
-# $Revision: 1.4 $  $Date: 2004/06/11 15:13:07 $
+# $Revision: 1.5 $  $Date: 2004/08/27 15:33:39 $
 #
 
 # about.properties
diff --git a/tests/org.eclipse.jem.tests/build.properties b/tests/org.eclipse.jem.tests/build.properties
index 7b67e82..eda7577 100644
--- a/tests/org.eclipse.jem.tests/build.properties
+++ b/tests/org.eclipse.jem.tests/build.properties
@@ -1,3 +1,13 @@
+###############################################################################
+# Copyright (c) 2003, 2004 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Common Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/cpl-v10.html
+# 
+# Contributors:
+#     IBM Corporation - initial API and implementation
+###############################################################################
 bin.includes = plugin.xml,\
                plugin.properties,\
                javatests.jar,\
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/AllSuites.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/AllSuites.java
index e09b760..a6a7183 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/AllSuites.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/AllSuites.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests;
 /*
  *  $RCSfile: AllSuites.java,v $
- *  $Revision: 1.4 $  $Date: 2004/08/10 17:52:18 $ 
+ *  $Revision: 1.5 $  $Date: 2004/08/27 15:33:39 $ 
  */
 import org.eclipse.jem.tests.beaninfo.BeanInfoSuite;
 import org.eclipse.jem.tests.instantiation.InstantiationSuite;
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/JavaProjectUtil.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/JavaProjectUtil.java
index 172a7ba..ace41d2 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/JavaProjectUtil.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/JavaProjectUtil.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests;
 /*******************************************************************************
- * Copyright (c)  2001, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests;
 /*
  *  $RCSfile: JavaProjectUtil.java,v $
- *  $Revision: 1.8 $  $Date: 2004/08/10 17:52:18 $ 
+ *  $Revision: 1.9 $  $Date: 2004/08/27 15:33:39 $ 
  */
 
 
@@ -257,4 +257,4 @@
 		}
 
 	}
-}
\ No newline at end of file
+}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/JavaTestsPlugin.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/JavaTestsPlugin.java
index de139a9..24fa3c3 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/JavaTestsPlugin.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/JavaTestsPlugin.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests;
 /*
  *  $RCSfile: JavaTestsPlugin.java,v $
- *  $Revision: 1.3 $  $Date: 2004/06/02 15:57:16 $ 
+ *  $Revision: 1.4 $  $Date: 2004/08/27 15:33:39 $ 
  */
 import org.eclipse.core.runtime.Plugin;
 
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/AbstractBeanInfoTestCase.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/AbstractBeanInfoTestCase.java
index 0f82a0f..51bfaff 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/AbstractBeanInfoTestCase.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/AbstractBeanInfoTestCase.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.beaninfo;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.beaninfo;
 /*
  *  $RCSfile: AbstractBeanInfoTestCase.java,v $
- *  $Revision: 1.5 $  $Date: 2004/03/24 15:07:48 $ 
+ *  $Revision: 1.6 $  $Date: 2004/08/27 15:33:39 $ 
  */
 import java.util.Iterator;
 
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/BeanInfoSuite.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/BeanInfoSuite.java
index cc23c70..be5eb1b 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/BeanInfoSuite.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/BeanInfoSuite.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.beaninfo;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.beaninfo;
 /*
  *  $RCSfile: BeanInfoSuite.java,v $
- *  $Revision: 1.7 $  $Date: 2004/06/14 16:07:28 $ 
+ *  $Revision: 1.8 $  $Date: 2004/08/27 15:33:39 $ 
  */
 import java.net.URL;
 
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestAWTSwingUI.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestAWTSwingUI.java
index 6c205c1..60777a2 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestAWTSwingUI.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestAWTSwingUI.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.beaninfo;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.beaninfo;
 /*
  *  $RCSfile: TestAWTSwingUI.java,v $
- *  $Revision: 1.4 $  $Date: 2004/03/22 23:49:30 $ 
+ *  $Revision: 1.5 $  $Date: 2004/08/27 15:33:39 $ 
  */
 import java.util.Arrays;
 import java.util.List;
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestReflection.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestReflection.java
index 1551d70..f492193 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestReflection.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestReflection.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.beaninfo;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.beaninfo;
 /*
  *  $RCSfile: TestReflection.java,v $
- *  $Revision: 1.4 $  $Date: 2004/03/22 23:49:30 $ 
+ *  $Revision: 1.5 $  $Date: 2004/08/27 15:33:39 $ 
  */
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.common.util.URI;
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestStandard.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestStandard.java
index bdaa4e1..0851c92 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestStandard.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestStandard.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.beaninfo;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.beaninfo;
 /*
  *  $RCSfile: TestStandard.java,v $
- *  $Revision: 1.6 $  $Date: 2004/05/20 21:42:39 $ 
+ *  $Revision: 1.7 $  $Date: 2004/08/27 15:33:39 $ 
  */
 
 import java.util.Iterator;
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/instantiation/InstantiationSuite.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/instantiation/InstantiationSuite.java
index 5c56430..4cd7fb7 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/instantiation/InstantiationSuite.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/instantiation/InstantiationSuite.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.instantiation;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.instantiation;
 /*
  *  $RCSfile: InstantiationSuite.java,v $
- *  $Revision: 1.7 $  $Date: 2004/06/14 16:07:28 $ 
+ *  $Revision: 1.8 $  $Date: 2004/08/27 15:33:39 $ 
  */
 import java.net.URL;
 
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/instantiation/TestStandard.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/instantiation/TestStandard.java
index 6c7aeff..0d74a8d 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/instantiation/TestStandard.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/instantiation/TestStandard.java
@@ -1,13 +1,6 @@
-/*
- * Created on Sep 3, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.jem.tests.instantiation;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -15,6 +8,13 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+/*
+ * Created on Sep 3, 2003
+ *
+ * To change the template for this generated file go to
+ * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
+ */
+package org.eclipse.jem.tests.instantiation;
 
 import java.io.*;
 import java.util.Collections;
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/ListenersSuite.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/ListenersSuite.java
index d842568..bbd0621 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/ListenersSuite.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/ListenersSuite.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.modelListeners;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.modelListeners;
 /*
  *  $RCSfile: ListenersSuite.java,v $
- *  $Revision: 1.2 $  $Date: 2004/06/14 16:07:28 $ 
+ *  $Revision: 1.3 $  $Date: 2004/08/27 15:33:39 $ 
  */
 import java.net.URL;
 
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/ProxySuite.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/ProxySuite.java
index b644af0..095839d 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/ProxySuite.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/ProxySuite.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.proxy;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.proxy;
 /*
  *  $RCSfile: ProxySuite.java,v $
- *  $Revision: 1.6 $  $Date: 2004/06/02 15:57:16 $ 
+ *  $Revision: 1.7 $  $Date: 2004/08/27 15:33:39 $ 
  */
 import junit.framework.TestSuite;
 
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestCallback.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestCallback.java
index 3cd4f47..4080b29 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestCallback.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestCallback.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.proxy;
 /*******************************************************************************
- * Copyright (c)  2001, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.proxy;
 /*
  *  $RCSfile: TestCallback.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/04 21:25:31 $ 
+ *  $Revision: 1.3 $  $Date: 2004/08/27 15:33:39 $ 
  */
 
 import org.eclipse.jem.internal.proxy.core.*;
@@ -125,4 +125,4 @@
 		}
 	}
 
-}
\ No newline at end of file
+}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestCallbackStream.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestCallbackStream.java
index a15fa49..8dfdf42 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestCallbackStream.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestCallbackStream.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.proxy;
 /*******************************************************************************
- * Copyright (c)  2001, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.proxy;
 /*
  *  $RCSfile: TestCallbackStream.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/04 21:25:31 $ 
+ *  $Revision: 1.3 $  $Date: 2004/08/27 15:33:39 $ 
  */
 
 import org.eclipse.jem.internal.proxy.core.*;
@@ -109,4 +109,4 @@
 	}
 		
 
-}
\ No newline at end of file
+}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestStandard.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestStandard.java
index 6407481..e33bd75 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestStandard.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestStandard.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.proxy;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.proxy;
 /*
  *  $RCSfile: TestStandard.java,v $
- *  $Revision: 1.4 $  $Date: 2004/08/10 17:52:18 $ 
+ *  $Revision: 1.5 $  $Date: 2004/08/27 15:33:39 $ 
  */
 import java.io.IOException;
 
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/AbstractInitParserTestCase.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/AbstractInitParserTestCase.java
index 89674cb..a67ec9b 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/AbstractInitParserTestCase.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/AbstractInitParserTestCase.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.proxy.initParser;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.proxy.initParser;
 /*
  *  $RCSfile: AbstractInitParserTestCase.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/19 22:50:22 $ 
+ *  $Revision: 1.4 $  $Date: 2004/08/27 15:33:39 $ 
  */
 import java.util.Enumeration;
 
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/ArrayConstructorTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/ArrayConstructorTest.java
index d87ac49..6236a76 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/ArrayConstructorTest.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/ArrayConstructorTest.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.proxy.initParser;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.proxy.initParser;
 /*
  *  $RCSfile: ArrayConstructorTest.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/19 22:50:22 $ 
+ *  $Revision: 1.2 $  $Date: 2004/08/27 15:33:39 $ 
  */
 
 /**
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/InitParserSuite.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/InitParserSuite.java
index 959525a..d421e21 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/InitParserSuite.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/InitParserSuite.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.proxy.initParser;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.proxy.initParser;
 /*
  *  $RCSfile: InitParserSuite.java,v $
- *  $Revision: 1.4 $  $Date: 2004/01/19 22:50:22 $ 
+ *  $Revision: 1.5 $  $Date: 2004/08/27 15:33:39 $ 
  */
 import junit.framework.Test;
 import junit.framework.TestSuite;
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/InitStringParserTestHelper.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/InitStringParserTestHelper.java
index 5991142..bd9bd9e 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/InitStringParserTestHelper.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/InitStringParserTestHelper.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.proxy.initParser;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.proxy.initParser;
 /*
  *  $RCSfile: InitStringParserTestHelper.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/19 22:50:22 $ 
+ *  $Revision: 1.4 $  $Date: 2004/08/27 15:33:39 $ 
  */
 import java.lang.reflect.Array;
 
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/MultiArgConstructorTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/MultiArgConstructorTest.java
index 4828972..814e343 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/MultiArgConstructorTest.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/MultiArgConstructorTest.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.proxy.initParser;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.proxy.initParser;
 /*
  *  $RCSfile: MultiArgConstructorTest.java,v $
- *  $Revision: 1.3 $  $Date: 2004/04/16 15:26:16 $ 
+ *  $Revision: 1.4 $  $Date: 2004/08/27 15:33:39 $ 
  */
 
 /**
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/OverloadingTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/OverloadingTest.java
index 99360a6..7423f15 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/OverloadingTest.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/OverloadingTest.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.proxy.initParser;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.proxy.initParser;
 /*
  *  $RCSfile: OverloadingTest.java,v $
- *  $Revision: 1.4 $  $Date: 2004/02/03 23:18:13 $ 
+ *  $Revision: 1.5 $  $Date: 2004/08/27 15:33:39 $ 
  */
 
 /**
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/StringTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/StringTest.java
index 7d8c9bb..dd6862e 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/StringTest.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/StringTest.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.proxy.initParser;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.proxy.initParser;
 /*
  *  $RCSfile: StringTest.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/19 22:50:22 $ 
+ *  $Revision: 1.4 $  $Date: 2004/08/27 15:33:39 $ 
  */
 
 /**
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTParserSuite.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTParserSuite.java
index c926df2..5e20c09 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTParserSuite.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTParserSuite.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.proxy.initParser.tree;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.proxy.initParser.tree;
 /*
  *  $RCSfile: ASTParserSuite.java,v $
- *  $Revision: 1.6 $  $Date: 2004/08/23 18:31:20 $ 
+ *  $Revision: 1.7 $  $Date: 2004/08/27 15:33:39 $ 
  */
 import junit.extensions.TestSetup;
 import junit.framework.*;
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/remote/RemoteProxySuite.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/remote/RemoteProxySuite.java
index 4c35b1f..9b84e47 100644
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/remote/RemoteProxySuite.java
+++ b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/remote/RemoteProxySuite.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.proxy.remote;
 /*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2003, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.proxy.remote;
 /*
  *  $RCSfile: RemoteProxySuite.java,v $
- *  $Revision: 1.5 $  $Date: 2004/06/14 16:07:28 $ 
+ *  $Revision: 1.6 $  $Date: 2004/08/27 15:33:39 $ 
  */
 import java.net.URL;
 
diff --git a/tests/org.eclipse.jem.tests/vm_tests/org/eclipse/jem/tests/proxy/vm/TestCallback.java b/tests/org.eclipse.jem.tests/vm_tests/org/eclipse/jem/tests/proxy/vm/TestCallback.java
index 90e94cf..a9498e3 100644
--- a/tests/org.eclipse.jem.tests/vm_tests/org/eclipse/jem/tests/proxy/vm/TestCallback.java
+++ b/tests/org.eclipse.jem.tests/vm_tests/org/eclipse/jem/tests/proxy/vm/TestCallback.java
@@ -1,7 +1,6 @@
-package org.eclipse.jem.tests.proxy.vm;
 /*******************************************************************************
- * Copyright (c)  2001, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
@@ -9,9 +8,10 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+package org.eclipse.jem.tests.proxy.vm;
 /*
  *  $RCSfile: TestCallback.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/04 21:25:31 $ 
+ *  $Revision: 1.3 $  $Date: 2004/08/27 15:33:39 $ 
  */
 
 import org.eclipse.jem.internal.proxy.common.*;
@@ -84,4 +84,4 @@
 		callbackID = id;
 	}
 
-}
\ No newline at end of file
+}
