This commit was manufactured by cvs2svn to create tag 'T0322'.
diff --git a/features/org.eclipse.jem-feature/.cvsignore b/features/org.eclipse.jem-feature/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/features/org.eclipse.jem-feature/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/features/org.eclipse.jem-feature/.project b/features/org.eclipse.jem-feature/.project
deleted file mode 100644
index 04e071f..0000000
--- a/features/org.eclipse.jem-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jem-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.jem-feature/build.properties b/features/org.eclipse.jem-feature/build.properties
deleted file mode 100644
index 267118c..0000000
--- a/features/org.eclipse.jem-feature/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties,\
-               cpl-v10.html,\
-               eclipse_update_120.jpg,\
-               license.html
-
-
diff --git a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/build.properties b/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/build.properties
deleted file mode 100644
index 03ebda4..0000000
--- a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-bin.includes = runtime/event.jar,\
-               plugin.xml
diff --git a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/plugin.xml b/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/plugin.xml
deleted file mode 100644
index a8d5223..0000000
--- a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/plugin.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="com.ibm.etools.emf.event"
-   name="Event Model"
-   version="3.0.0.1">
-
-   <runtime>
-      <library name="runtime/event.jar">
-         <export name="*"/>
-         <packages prefixes="com.ibm.etools.emf.event"/>
-      </library>
-   </runtime>
-<!-- build-level = "20030806_1713SL" *** With fix 10028 merged in. -->
-   <requires>
-      <import plugin="org.eclipse.emf.ecore" version="2.0.0" match="compatible"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.emf.ecore.generated_package">
-      <package
-            factory="com.ibm.etools.emf.event.impl.EventFactoryImpl"
-            uri="event.xmi"
-            class="com.ibm.etools.emf.event.impl.EventPackageImpl">
-      </package>
-   </extension>
-
-</plugin>
diff --git a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/runtime/event.jar b/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/runtime/event.jar
deleted file mode 100644
index b64130c..0000000
--- a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/runtime/event.jar
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem-feature/cpl-v10.html b/features/org.eclipse.jem-feature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/features/org.eclipse.jem-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/eclipse_update_120.jpg b/features/org.eclipse.jem-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/features/org.eclipse.jem-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem-feature/feature.properties b/features/org.eclipse.jem-feature/feature.properties
deleted file mode 100644
index 705fcb2..0000000
--- a/features/org.eclipse.jem-feature/feature.properties
+++ /dev/null
@@ -1,129 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/features/org.eclipse.jem-feature/Attic/feature.properties,v $
-# $Revision: 1.1 $  $Date: 2003/10/28 16:18:39 $
-#
-
-
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Java EMF Model
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Java EMF Model, including BeanInfo, Java Model, Proxy support (with remote vm and IDE vm support).
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-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
diff --git a/features/org.eclipse.jem-feature/feature.xml b/features/org.eclipse.jem-feature/feature.xml
deleted file mode 100644
index 9598e8d..0000000
--- a/features/org.eclipse.jem-feature/feature.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jem"
-      label="%featureName"
-      version="1.0.0"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates"/>
-   </url>
-
-   <includes
-         id="com.ibm.wtp.emf.integration.core"
-         version="1.0.0"/>
-
-   <requires>
-      <import feature="org.eclipse.jdt" version="3.0.0" match="compatible"/>
-      <import feature="org.eclipse.emf" version="2.0.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jem.beaninfo"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"/>
-
-   <plugin
-         id="org.eclipse.jem.proxy"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"/>
-
-   <plugin
-         id="org.eclipse.jem"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"/>
-
-   <plugin
-         id="org.eclipse.jem.workbench"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"/>
-
-   <plugin
-         id="com.ibm.etools.emf.event"
-         download-size="0"
-         install-size="0"
-         version="3.0.0.1"/>
-
-   <plugin
-         id="org.eclipse.jem.ui"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.jem-feature/license.html b/features/org.eclipse.jem-feature/license.html
deleted file mode 100644
index af8c380..0000000
--- a/features/org.eclipse.jem-feature/license.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-   For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/sourceTemplateFeature/build.properties b/features/org.eclipse.jem-feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index 267118c..0000000
--- a/features/org.eclipse.jem-feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties,\
-               cpl-v10.html,\
-               eclipse_update_120.jpg,\
-               license.html
-
-
diff --git a/features/org.eclipse.jem-feature/sourceTemplateFeature/cpl-v10.html b/features/org.eclipse.jem-feature/sourceTemplateFeature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/features/org.eclipse.jem-feature/sourceTemplateFeature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.jem-feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/features/org.eclipse.jem-feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.jem-feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index b082cc1..0000000
--- a/features/org.eclipse.jem-feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,129 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/features/org.eclipse.jem-feature/sourceTemplateFeature/Attic/feature.properties,v $
-# $Revision: 1.2 $  $Date: 2003/11/03 19:16:05 $
-#
-
-
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Java EMF Model Source
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=API documentation and source zips for the Java EMF Model.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-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
diff --git a/features/org.eclipse.jem-feature/sourceTemplateFeature/license.html b/features/org.eclipse.jem-feature/sourceTemplateFeature/license.html
deleted file mode 100644
index af8c380..0000000
--- a/features/org.eclipse.jem-feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-   For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.html b/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index ba54e70..0000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the CPL.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index a21a3ec..0000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,29 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
diff --git a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index 6d2e312..0000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/features/org.eclipse.jem-feature/sourceTemplatePlugin/Attic/about.properties,v $
-# $Revision: 1.1 $  $Date: 2003/10/28 23:17:31 $
-#
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Java EMF Model SDK\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright IBM Corp. and others 2003.  All rights reserved.\n\
-Visit http://www.eclipse.org/vep
diff --git a/features/org.eclipse.jem-feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.jem-feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index f50e578..0000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               src/
-sourcePlugin = true
diff --git a/features/org.eclipse.jem-feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.jem-feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index f71a8f6..0000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem-feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.jem-feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index c0ae7c0..0000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/features/org.eclipse.jem-feature/sourceTemplatePlugin/Attic/plugin.properties,v $
-# $Revision: 1.2 $  $Date: 2003/11/03 19:16:05 $
-#
-
-
-pluginName = Java EMF Model Source
-providerName = Eclipse.org
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/.project b/plugins/org.eclipse.jem.beaninfo.ui/.project
deleted file mode 100644
index 3898d56..0000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/.project
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jem.beaninfo.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/OBSOLETE-moved to org.eclipse.jem.ui b/plugins/org.eclipse.jem.beaninfo.ui/OBSOLETE-moved to org.eclipse.jem.ui
deleted file mode 100644
index e69de29..0000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/OBSOLETE-moved to org.eclipse.jem.ui
+++ /dev/null
diff --git a/plugins/org.eclipse.jem.beaninfo/.classpath b/plugins/org.eclipse.jem.beaninfo/.classpath
deleted file mode 100644
index dc3dadf..0000000
--- a/plugins/org.eclipse.jem.beaninfo/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="beaninfo/"/>
-    <classpathentry kind="src" path="vm_beaninfovm"/>
-    <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jem.beaninfo/.cvsignore b/plugins/org.eclipse.jem.beaninfo/.cvsignore
deleted file mode 100644
index 60463af..0000000
--- a/plugins/org.eclipse.jem.beaninfo/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-build.xml
diff --git a/plugins/org.eclipse.jem.beaninfo/.options b/plugins/org.eclipse.jem.beaninfo/.options
deleted file mode 100644
index 5b24652..0000000
--- a/plugins/org.eclipse.jem.beaninfo/.options
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.jem.beaninfo/debug/logtrace=default
-org.eclipse.jem.beaninfo/debug/logtracefile=default
-org.eclipse.jem.beaninfo/debug/loglevel=default
diff --git a/plugins/org.eclipse.jem.beaninfo/.project b/plugins/org.eclipse.jem.beaninfo/.project
deleted file mode 100644
index e248644..0000000
--- a/plugins/org.eclipse.jem.beaninfo/.project
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jem.beaninfo</name>
-	<comment></comment>
-	<projects>
-		<project>com.ibm.etools.emf.event</project>
-		<project>com.ibm.wtp.common.util</project>
-		<project>com.ibm.wtp.emf.workbench</project>
-		<project>org.apache.xerces</project>
-		<project>org.eclipse.compare</project>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.emf.ecore</project>
-		<project>org.eclipse.emf.ecore.xmi</project>
-		<project>org.eclipse.jdt.core</project>
-		<project>org.eclipse.jdt.launching</project>
-		<project>org.eclipse.jem</project>
-		<project>org.eclipse.jem.proxy</project>
-		<project>org.eclipse.jem.workbench</project>
-		<project>org.eclipse.osgi</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>com.ibm.rtp.tools.rose.builder</name>
-			<arguments>
-				<dictionary>
-					<key>rose</key>
-					<value></value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>com.ibm.rtp.tools.rose.toolnature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jem.beaninfo/about.html b/plugins/org.eclipse.jem.beaninfo/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/plugins/org.eclipse.jem.beaninfo/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanDecorator.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanDecorator.java
deleted file mode 100644
index 7441d38..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanDecorator.java
+++ /dev/null
@@ -1,389 +0,0 @@
-package org.eclipse.jem.internal.beaninfo;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeanDecorator.java,v $
- *  $Revision: 1.4 $  $Date: 2004/03/10 00:40:28 $ 
- */
-
-
-import org.eclipse.jem.java.JavaClass;
-import java.net.URL;
-import java.util.Map;
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Bean Decorator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperProperties <em>Merge Super Properties</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperBehaviors <em>Merge Super Behaviors</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperEvents <em>Merge Super Events</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectProperties <em>Introspect Properties</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectBehaviors <em>Introspect Behaviors</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectEvents <em>Introspect Events</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isDoBeaninfo <em>Do Beaninfo</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#getCustomizerClass <em>Customizer Class</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator()
- * @model 
- * @generated
- */
-
-
-public interface BeanDecorator extends FeatureDecorator{
-	/**
-	 * Set merge super properties proxy. This can't be answered from the BeanDescriptor proxy,
-	 * so it must be explicitly set from the beaninfo class adapter.
-	 */
-	public void setMergeSuperPropertiesProxy(Boolean bool);
-	
-	/**
- 	 * Set merge super behaviors proxy. This can't be answered from the BeanDescriptor proxy,
-	 * so it must be explicitly set from the beaninfo class adapter.
-	 * @param value The new value of the MergeSuperBehaviors attribute
-	 */
-	public void setMergeSuperBehaviorsProxy(Boolean value);
-	
-	/**
- 	 * Set merge super events proxy. This can't be answered from the BeanDescriptor proxy,
-	 * so it must be explicitly set from the beaninfo class adapter.
-	 * @param value The new value of the MergeSuperBehaviors attribute
-	 */
-	public void setMergeSuperEventsProxy(Boolean value);	
-	
-	/**
-	 * Returns the value of the '<em><b>Merge Super Properties</b></em>' attribute.
-	 * The default value is <code>"true"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Merge Super Properties</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Should the properties of super types be merged when asking for eAllAttributes/eAllReferences.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Merge Super Properties</em>' attribute.
-	 * @see #isSetMergeSuperProperties()
-	 * @see #unsetMergeSuperProperties()
-	 * @see #setMergeSuperProperties(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_MergeSuperProperties()
-	 * @model default="true" unsettable="true"
-	 * @generated
-	 */
-	boolean isMergeSuperProperties();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperProperties <em>Merge Super Properties</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Merge Super Properties</em>' attribute.
-	 * @see #isSetMergeSuperProperties()
-	 * @see #unsetMergeSuperProperties()
-	 * @see #isMergeSuperProperties()
-	 * @generated
-	 */
-	void setMergeSuperProperties(boolean value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperProperties <em>Merge Super Properties</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetMergeSuperProperties()
-	 * @see #isMergeSuperProperties()
-	 * @see #setMergeSuperProperties(boolean)
-	 * @generated
-	 */
-	void unsetMergeSuperProperties();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperProperties <em>Merge Super Properties</em>}' attribute is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>Merge Super Properties</em>' attribute is set.
-	 * @see #unsetMergeSuperProperties()
-	 * @see #isMergeSuperProperties()
-	 * @see #setMergeSuperProperties(boolean)
-	 * @generated
-	 */
-	boolean isSetMergeSuperProperties();
-
-	/**
-	 * Returns the value of the '<em><b>Merge Super Behaviors</b></em>' attribute.
-	 * The default value is <code>"true"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Merge Super Behaviors</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Should the behaviors of super types be merged when asking for eAllBehaviors.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Merge Super Behaviors</em>' attribute.
-	 * @see #isSetMergeSuperBehaviors()
-	 * @see #unsetMergeSuperBehaviors()
-	 * @see #setMergeSuperBehaviors(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_MergeSuperBehaviors()
-	 * @model default="true" unsettable="true"
-	 * @generated
-	 */
-	boolean isMergeSuperBehaviors();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperBehaviors <em>Merge Super Behaviors</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Merge Super Behaviors</em>' attribute.
-	 * @see #isSetMergeSuperBehaviors()
-	 * @see #unsetMergeSuperBehaviors()
-	 * @see #isMergeSuperBehaviors()
-	 * @generated
-	 */
-	void setMergeSuperBehaviors(boolean value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperBehaviors <em>Merge Super Behaviors</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetMergeSuperBehaviors()
-	 * @see #isMergeSuperBehaviors()
-	 * @see #setMergeSuperBehaviors(boolean)
-	 * @generated
-	 */
-	void unsetMergeSuperBehaviors();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperBehaviors <em>Merge Super Behaviors</em>}' attribute is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>Merge Super Behaviors</em>' attribute is set.
-	 * @see #unsetMergeSuperBehaviors()
-	 * @see #isMergeSuperBehaviors()
-	 * @see #setMergeSuperBehaviors(boolean)
-	 * @generated
-	 */
-	boolean isSetMergeSuperBehaviors();
-
-	/**
-	 * Returns the value of the '<em><b>Merge Super Events</b></em>' attribute.
-	 * The default value is <code>"true"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Merge Super Events</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Should the events of super types be merged when asking for eAllEvents.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Merge Super Events</em>' attribute.
-	 * @see #isSetMergeSuperEvents()
-	 * @see #unsetMergeSuperEvents()
-	 * @see #setMergeSuperEvents(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_MergeSuperEvents()
-	 * @model default="true" unsettable="true"
-	 * @generated
-	 */
-	boolean isMergeSuperEvents();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperEvents <em>Merge Super Events</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Merge Super Events</em>' attribute.
-	 * @see #isSetMergeSuperEvents()
-	 * @see #unsetMergeSuperEvents()
-	 * @see #isMergeSuperEvents()
-	 * @generated
-	 */
-	void setMergeSuperEvents(boolean value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperEvents <em>Merge Super Events</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetMergeSuperEvents()
-	 * @see #isMergeSuperEvents()
-	 * @see #setMergeSuperEvents(boolean)
-	 * @generated
-	 */
-	void unsetMergeSuperEvents();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperEvents <em>Merge Super Events</em>}' attribute is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>Merge Super Events</em>' attribute is set.
-	 * @see #unsetMergeSuperEvents()
-	 * @see #isMergeSuperEvents()
-	 * @see #setMergeSuperEvents(boolean)
-	 * @generated
-	 */
-	boolean isSetMergeSuperEvents();
-
-	/**
-	 * Returns the value of the '<em><b>Introspect Properties</b></em>' attribute.
-	 * The default value is <code>"true"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Introspect Properties</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Should the properties from the introspection be added to the class. This allows properties to not be introspected and to use only what is defined explicitly in the JavaClass xmi file.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Introspect Properties</em>' attribute.
-	 * @see #setIntrospectProperties(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_IntrospectProperties()
-	 * @model default="true"
-	 * @generated
-	 */
-	boolean isIntrospectProperties();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectProperties <em>Introspect Properties</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Introspect Properties</em>' attribute.
-	 * @see #isIntrospectProperties()
-	 * @generated
-	 */
-	void setIntrospectProperties(boolean value);
-
-	/**
-	 * Returns the value of the '<em><b>Introspect Behaviors</b></em>' attribute.
-	 * The default value is <code>"true"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Introspect Behaviors</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Should the behaviors from the introspection be added to the class. This allows behaviors to not be introspected and to use only what is defined explicitly in the JavaClass xmi file.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Introspect Behaviors</em>' attribute.
-	 * @see #setIntrospectBehaviors(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_IntrospectBehaviors()
-	 * @model default="true"
-	 * @generated
-	 */
-	boolean isIntrospectBehaviors();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectBehaviors <em>Introspect Behaviors</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Introspect Behaviors</em>' attribute.
-	 * @see #isIntrospectBehaviors()
-	 * @generated
-	 */
-	void setIntrospectBehaviors(boolean value);
-
-	/**
-	 * Returns the value of the '<em><b>Introspect Events</b></em>' attribute.
-	 * The default value is <code>"true"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Introspect Events</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Should the events from the introspection be added to the class. This allows events to not be introspected and to use only what is defined explicitly in the JavaClass xmi file.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Introspect Events</em>' attribute.
-	 * @see #setIntrospectEvents(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_IntrospectEvents()
-	 * @model default="true"
-	 * @generated
-	 */
-	boolean isIntrospectEvents();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectEvents <em>Introspect Events</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Introspect Events</em>' attribute.
-	 * @see #isIntrospectEvents()
-	 * @generated
-	 */
-	void setIntrospectEvents(boolean value);
-
-	/**
-	 * Returns the value of the '<em><b>Customizer Class</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Customizer Class</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Customizer Class</em>' reference.
-	 * @see #setCustomizerClass(JavaClass)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_CustomizerClass()
-	 * @model 
-	 * @generated
-	 */
-	JavaClass getCustomizerClass();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#getCustomizerClass <em>Customizer Class</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Customizer Class</em>' reference.
-	 * @see #getCustomizerClass()
-	 * @generated
-	 */
-	void setCustomizerClass(JavaClass value);
-
-	/**
-	 * Returns the value of the '<em><b>Do Beaninfo</b></em>' attribute.
-	 * The default value is <code>"true"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Do Beaninfo</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * This means do we go and get the beaninfo from the remote vm. If false, then it will not try to get the beaninfo. This doesn't prevent introspection through reflection. That is controled by the separate introspect... attributes.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Do Beaninfo</em>' attribute.
-	 * @see #setDoBeaninfo(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_DoBeaninfo()
-	 * @model default="true"
-	 * @generated
-	 */
-	boolean isDoBeaninfo();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isDoBeaninfo <em>Do Beaninfo</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Do Beaninfo</em>' attribute.
-	 * @see #isDoBeaninfo()
-	 * @generated
-	 */
-	void setDoBeaninfo(boolean value);
-
-	/**
-	 * Return the URL of a 16x16 Color icon
-	 */
-	URL getIconURL();
-	
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanEvent.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanEvent.java
deleted file mode 100644
index 1295728..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanEvent.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.jem.internal.beaninfo;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeanEvent.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:00 $ 
- */
-
-import org.eclipse.jem.java.JavaEvent;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Bean Event</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Event from Introspection/Reflection.
- * <!-- end-model-doc -->
- *
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanEvent()
- * @model 
- * @generated
- */
-
-public interface BeanEvent extends JavaEvent{
-
-	
-	
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoFactory.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoFactory.java
deleted file mode 100644
index ac08448..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoFactory.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package org.eclipse.jem.internal.beaninfo;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:17:59 $ 
- */
-
-
-import org.eclipse.emf.ecore.EFactory;
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage
- * @generated
- */
-
-
-public interface BeaninfoFactory extends EFactory {
-	/**
-	 * The singleton instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	BeaninfoFactory eINSTANCE = new org.eclipse.jem.internal.beaninfo.impl.BeaninfoFactoryImpl();
-
-	/**
-	 * Returns a new object of class '<em>Feature Decorator</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Feature Decorator</em>'.
-	 * @generated
-	 */
-	FeatureDecorator createFeatureDecorator();
-
-	/**
-	 * Returns a new object of class '<em>Event Set Decorator</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Event Set Decorator</em>'.
-	 * @generated
-	 */
-	EventSetDecorator createEventSetDecorator();
-
-	/**
-	 * Returns a new object of class '<em>Method Proxy</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Method Proxy</em>'.
-	 * @generated
-	 */
-	MethodProxy createMethodProxy();
-
-	/**
-	 * Returns a new object of class '<em>Property Decorator</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Property Decorator</em>'.
-	 * @generated
-	 */
-	PropertyDecorator createPropertyDecorator();
-
-	/**
-	 * Returns a new object of class '<em>Indexed Property Decorator</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Indexed Property Decorator</em>'.
-	 * @generated
-	 */
-	IndexedPropertyDecorator createIndexedPropertyDecorator();
-
-	/**
-	 * Returns a new object of class '<em>Bean Decorator</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Bean Decorator</em>'.
-	 * @generated
-	 */
-	BeanDecorator createBeanDecorator();
-
-	/**
-	 * Returns a new object of class '<em>Method Decorator</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Method Decorator</em>'.
-	 * @generated
-	 */
-	MethodDecorator createMethodDecorator();
-
-	/**
-	 * Returns a new object of class '<em>Parameter Decorator</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Parameter Decorator</em>'.
-	 * @generated
-	 */
-	ParameterDecorator createParameterDecorator();
-
-	/**
-	 * Returns a new object of class '<em>Feature Attribute Value</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Feature Attribute Value</em>'.
-	 * @generated
-	 */
-	FeatureAttributeValue createFeatureAttributeValue();
-
-	/**
-	 * Returns the package supported by this factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the package supported by this factory.
-	 * @generated
-	 */
-	BeaninfoPackage getBeaninfoPackage();
-
-	/**
-	 * Returns a new object of class '<em>Bean Event</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Bean Event</em>'.
-	 * @generated
-	 */
-	BeanEvent createBeanEvent();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoPackage.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoPackage.java
deleted file mode 100644
index 47a8650..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoPackage.java
+++ /dev/null
@@ -1,2398 +0,0 @@
-package org.eclipse.jem.internal.beaninfo;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoPackage.java,v $
- *  $Revision: 1.3 $  $Date: 2004/03/08 21:25:33 $ 
- */
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcorePackage;
-
-import org.eclipse.jem.java.JavaRefPackage;
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- *   <li>each class,</li>
- *   <li>each feature of each class,</li>
- *   <li>each enum,</li>
- *   <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoFactory
- * @generated
- */
-
-public interface BeaninfoPackage extends EPackage{
-	/**
-	 * The package name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNAME = "beaninfo"; //$NON-NLS-1$
-
-	/**
-	 * The package namespace URI.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_URI = "http:///org/eclipse/jem/internal/beaninfo/beaninfo.ecore"; //$NON-NLS-1$
-
-	/**
-	 * The package namespace name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_PREFIX = "org.eclipse.jem.internal.beaninfo.beaninfo"; //$NON-NLS-1$
-
-	/**
-	 * The singleton instance of the package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	BeaninfoPackage eINSTANCE = org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl.init();
-
-	
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl <em>Feature Decorator</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl
-	 * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getFeatureDecorator()
-	 * @generated
-	 */
-	int FEATURE_DECORATOR = 0;
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR__EANNOTATIONS = EcorePackage.EANNOTATION__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Source</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR__SOURCE = EcorePackage.EANNOTATION__SOURCE;
-
-	/**
-	 * The feature id for the '<em><b>Details</b></em>' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR__DETAILS = EcorePackage.EANNOTATION__DETAILS;
-
-	/**
-	 * The feature id for the '<em><b>EModel Element</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR__EMODEL_ELEMENT = EcorePackage.EANNOTATION__EMODEL_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Contents</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR__CONTENTS = EcorePackage.EANNOTATION__CONTENTS;
-
-	/**
-	 * The feature id for the '<em><b>References</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR__REFERENCES = EcorePackage.EANNOTATION__REFERENCES;
-
-	/**
-	 * The feature id for the '<em><b>Display Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR__DISPLAY_NAME = EcorePackage.EANNOTATION_FEATURE_COUNT + 0;
-	/**
-	 * The feature id for the '<em><b>Short Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR__SHORT_DESCRIPTION = EcorePackage.EANNOTATION_FEATURE_COUNT + 1;
-	/**
-	 * The feature id for the '<em><b>Category</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR__CATEGORY = EcorePackage.EANNOTATION_FEATURE_COUNT + 2;
-	/**
-	 * The feature id for the '<em><b>Expert</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR__EXPERT = EcorePackage.EANNOTATION_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Hidden</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR__HIDDEN = EcorePackage.EANNOTATION_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Preferred</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR__PREFERRED = EcorePackage.EANNOTATION_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>Merge Introspection</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR__MERGE_INTROSPECTION = EcorePackage.EANNOTATION_FEATURE_COUNT + 6;
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl <em>Event Set Decorator</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl
-	 * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getEventSetDecorator()
-	 * @generated
-	 */
-	int EVENT_SET_DECORATOR = 3;
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.MethodProxyImpl <em>Method Proxy</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.beaninfo.impl.MethodProxyImpl
-	 * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getMethodProxy()
-	 * @generated
-	 */
-	int METHOD_PROXY = 8;
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl <em>Property Decorator</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl
-	 * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getPropertyDecorator()
-	 * @generated
-	 */
-	int PROPERTY_DECORATOR = 6;
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.IndexedPropertyDecoratorImpl <em>Indexed Property Decorator</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.beaninfo.impl.IndexedPropertyDecoratorImpl
-	 * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getIndexedPropertyDecorator()
-	 * @generated
-	 */
-	int INDEXED_PROPERTY_DECORATOR = 7;
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl <em>Bean Decorator</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl
-	 * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getBeanDecorator()
-	 * @generated
-	 */
-	int BEAN_DECORATOR = 2;
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.MethodDecoratorImpl <em>Method Decorator</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.beaninfo.impl.MethodDecoratorImpl
-	 * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getMethodDecorator()
-	 * @generated
-	 */
-	int METHOD_DECORATOR = 4;
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.ParameterDecoratorImpl <em>Parameter Decorator</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.beaninfo.impl.ParameterDecoratorImpl
-	 * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getParameterDecorator()
-	 * @generated
-	 */
-	int PARAMETER_DECORATOR = 5;
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeValueImpl <em>Feature Attribute Value</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeValueImpl
-	 * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getFeatureAttributeValue()
-	 * @generated
-	 */
-	int FEATURE_ATTRIBUTE_VALUE = 1;
-	/**
-	 * The feature id for the '<em><b>Attributes Explicit</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT = EcorePackage.EANNOTATION_FEATURE_COUNT + 7;
-	/**
-	 * The feature id for the '<em><b>Attributes</b></em>' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR__ATTRIBUTES = EcorePackage.EANNOTATION_FEATURE_COUNT + 8;
-	/**
-	 * The number of structural features of the the '<em>Feature Decorator</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_DECORATOR_FEATURE_COUNT = EcorePackage.EANNOTATION_FEATURE_COUNT + 9;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_ATTRIBUTE_VALUE__VALUE = 0;
-
-	/**
-	 * The feature id for the '<em><b>Value Java</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_ATTRIBUTE_VALUE__VALUE_JAVA = 1;
-
-	/**
-	 * The feature id for the '<em><b>Value Proxy</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY = 2;
-	/**
-	 * The number of structural features of the the '<em>Feature Attribute Value</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_ATTRIBUTE_VALUE_FEATURE_COUNT = 3;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__EANNOTATIONS = FEATURE_DECORATOR__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Source</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__SOURCE = FEATURE_DECORATOR__SOURCE;
-
-	/**
-	 * The feature id for the '<em><b>Details</b></em>' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__DETAILS = FEATURE_DECORATOR__DETAILS;
-
-	/**
-	 * The feature id for the '<em><b>EModel Element</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__EMODEL_ELEMENT = FEATURE_DECORATOR__EMODEL_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Contents</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__CONTENTS = FEATURE_DECORATOR__CONTENTS;
-
-	/**
-	 * The feature id for the '<em><b>References</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__REFERENCES = FEATURE_DECORATOR__REFERENCES;
-
-	/**
-	 * The feature id for the '<em><b>Display Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__DISPLAY_NAME = FEATURE_DECORATOR__DISPLAY_NAME;
-	/**
-	 * The feature id for the '<em><b>Short Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__SHORT_DESCRIPTION = FEATURE_DECORATOR__SHORT_DESCRIPTION;
-	/**
-	 * The feature id for the '<em><b>Category</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__CATEGORY = FEATURE_DECORATOR__CATEGORY;
-	/**
-	 * The feature id for the '<em><b>Expert</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__EXPERT = FEATURE_DECORATOR__EXPERT;
-
-	/**
-	 * The feature id for the '<em><b>Hidden</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__HIDDEN = FEATURE_DECORATOR__HIDDEN;
-
-	/**
-	 * The feature id for the '<em><b>Preferred</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__PREFERRED = FEATURE_DECORATOR__PREFERRED;
-
-	/**
-	 * The feature id for the '<em><b>Merge Introspection</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__MERGE_INTROSPECTION = FEATURE_DECORATOR__MERGE_INTROSPECTION;
-	/**
-	 * The feature id for the '<em><b>Attributes Explicit</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__ATTRIBUTES_EXPLICIT = FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT;
-	/**
-	 * The feature id for the '<em><b>Attributes</b></em>' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__ATTRIBUTES = FEATURE_DECORATOR__ATTRIBUTES;
-	/**
-	 * The feature id for the '<em><b>Merge Super Properties</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__MERGE_SUPER_PROPERTIES = FEATURE_DECORATOR_FEATURE_COUNT + 0;
-	/**
-	 * The feature id for the '<em><b>Merge Super Behaviors</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__MERGE_SUPER_BEHAVIORS = FEATURE_DECORATOR_FEATURE_COUNT + 1;
-	/**
-	 * The feature id for the '<em><b>Merge Super Events</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__MERGE_SUPER_EVENTS = FEATURE_DECORATOR_FEATURE_COUNT + 2;
-	/**
-	 * The feature id for the '<em><b>Introspect Properties</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__INTROSPECT_PROPERTIES = FEATURE_DECORATOR_FEATURE_COUNT + 3;
-	/**
-	 * The feature id for the '<em><b>Introspect Behaviors</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__INTROSPECT_BEHAVIORS = FEATURE_DECORATOR_FEATURE_COUNT + 4;
-	/**
-	 * The feature id for the '<em><b>Introspect Events</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__INTROSPECT_EVENTS = FEATURE_DECORATOR_FEATURE_COUNT + 5;
-	/**
-	 * The feature id for the '<em><b>Do Beaninfo</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__DO_BEANINFO = FEATURE_DECORATOR_FEATURE_COUNT + 6;
-	/**
-	 * The feature id for the '<em><b>Customizer Class</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR__CUSTOMIZER_CLASS = FEATURE_DECORATOR_FEATURE_COUNT + 7;
-	/**
-	 * The number of structural features of the the '<em>Bean Decorator</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_DECORATOR_FEATURE_COUNT = FEATURE_DECORATOR_FEATURE_COUNT + 8;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__EANNOTATIONS = FEATURE_DECORATOR__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Source</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__SOURCE = FEATURE_DECORATOR__SOURCE;
-
-	/**
-	 * The feature id for the '<em><b>Details</b></em>' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__DETAILS = FEATURE_DECORATOR__DETAILS;
-
-	/**
-	 * The feature id for the '<em><b>EModel Element</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__EMODEL_ELEMENT = FEATURE_DECORATOR__EMODEL_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Contents</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__CONTENTS = FEATURE_DECORATOR__CONTENTS;
-
-	/**
-	 * The feature id for the '<em><b>References</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__REFERENCES = FEATURE_DECORATOR__REFERENCES;
-
-	/**
-	 * The feature id for the '<em><b>Display Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__DISPLAY_NAME = FEATURE_DECORATOR__DISPLAY_NAME;
-	/**
-	 * The feature id for the '<em><b>Short Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__SHORT_DESCRIPTION = FEATURE_DECORATOR__SHORT_DESCRIPTION;
-	/**
-	 * The feature id for the '<em><b>Category</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__CATEGORY = FEATURE_DECORATOR__CATEGORY;
-	/**
-	 * The feature id for the '<em><b>Expert</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__EXPERT = FEATURE_DECORATOR__EXPERT;
-
-	/**
-	 * The feature id for the '<em><b>Hidden</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__HIDDEN = FEATURE_DECORATOR__HIDDEN;
-
-	/**
-	 * The feature id for the '<em><b>Preferred</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__PREFERRED = FEATURE_DECORATOR__PREFERRED;
-
-	/**
-	 * The feature id for the '<em><b>Merge Introspection</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__MERGE_INTROSPECTION = FEATURE_DECORATOR__MERGE_INTROSPECTION;
-	/**
-	 * The feature id for the '<em><b>Attributes Explicit</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__ATTRIBUTES_EXPLICIT = FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT;
-	/**
-	 * The feature id for the '<em><b>Attributes</b></em>' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__ATTRIBUTES = FEATURE_DECORATOR__ATTRIBUTES;
-	/**
-	 * The feature id for the '<em><b>In Default Event Set</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET = FEATURE_DECORATOR_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Unicast</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__UNICAST = FEATURE_DECORATOR_FEATURE_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.BeanEventImpl <em>Bean Event</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.beaninfo.impl.BeanEventImpl
-	 * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getBeanEvent()
-	 * @generated
-	 */
-	int BEAN_EVENT = 9;
-	/**
-	 * The feature id for the '<em><b>Listener Methods Explicit</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT = FEATURE_DECORATOR_FEATURE_COUNT + 2;
-	/**
-	 * The feature id for the '<em><b>Add Listener Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__ADD_LISTENER_METHOD = FEATURE_DECORATOR_FEATURE_COUNT + 3;
-	/**
-	 * The feature id for the '<em><b>Listener Methods</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__LISTENER_METHODS = FEATURE_DECORATOR_FEATURE_COUNT + 4;
-	/**
-	 * The feature id for the '<em><b>Listener Type</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__LISTENER_TYPE = FEATURE_DECORATOR_FEATURE_COUNT + 5;
-	/**
-	 * The feature id for the '<em><b>Remove Listener Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD = FEATURE_DECORATOR_FEATURE_COUNT + 6;
-	/**
-	 * The number of structural features of the the '<em>Event Set Decorator</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT_SET_DECORATOR_FEATURE_COUNT = FEATURE_DECORATOR_FEATURE_COUNT + 7;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__EANNOTATIONS = FEATURE_DECORATOR__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Source</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__SOURCE = FEATURE_DECORATOR__SOURCE;
-
-	/**
-	 * The feature id for the '<em><b>Details</b></em>' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__DETAILS = FEATURE_DECORATOR__DETAILS;
-
-	/**
-	 * The feature id for the '<em><b>EModel Element</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__EMODEL_ELEMENT = FEATURE_DECORATOR__EMODEL_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Contents</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__CONTENTS = FEATURE_DECORATOR__CONTENTS;
-
-	/**
-	 * The feature id for the '<em><b>References</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__REFERENCES = FEATURE_DECORATOR__REFERENCES;
-
-	/**
-	 * The feature id for the '<em><b>Display Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__DISPLAY_NAME = FEATURE_DECORATOR__DISPLAY_NAME;
-	/**
-	 * The feature id for the '<em><b>Short Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__SHORT_DESCRIPTION = FEATURE_DECORATOR__SHORT_DESCRIPTION;
-	/**
-	 * The feature id for the '<em><b>Category</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__CATEGORY = FEATURE_DECORATOR__CATEGORY;
-	/**
-	 * The feature id for the '<em><b>Expert</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__EXPERT = FEATURE_DECORATOR__EXPERT;
-
-	/**
-	 * The feature id for the '<em><b>Hidden</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__HIDDEN = FEATURE_DECORATOR__HIDDEN;
-
-	/**
-	 * The feature id for the '<em><b>Preferred</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__PREFERRED = FEATURE_DECORATOR__PREFERRED;
-
-	/**
-	 * The feature id for the '<em><b>Merge Introspection</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__MERGE_INTROSPECTION = FEATURE_DECORATOR__MERGE_INTROSPECTION;
-	/**
-	 * The feature id for the '<em><b>Attributes Explicit</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__ATTRIBUTES_EXPLICIT = FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT;
-	/**
-	 * The feature id for the '<em><b>Attributes</b></em>' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__ATTRIBUTES = FEATURE_DECORATOR__ATTRIBUTES;
-	/**
-	 * The feature id for the '<em><b>Parms Explicit</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__PARMS_EXPLICIT = FEATURE_DECORATOR_FEATURE_COUNT + 0;
-	/**
-	 * The feature id for the '<em><b>Parameter Descriptors</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR__PARAMETER_DESCRIPTORS = FEATURE_DECORATOR_FEATURE_COUNT + 1;
-	/**
-	 * The number of structural features of the the '<em>Method Decorator</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_DECORATOR_FEATURE_COUNT = FEATURE_DECORATOR_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__EANNOTATIONS = FEATURE_DECORATOR__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Source</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__SOURCE = FEATURE_DECORATOR__SOURCE;
-
-	/**
-	 * The feature id for the '<em><b>Details</b></em>' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__DETAILS = FEATURE_DECORATOR__DETAILS;
-
-	/**
-	 * The feature id for the '<em><b>EModel Element</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__EMODEL_ELEMENT = FEATURE_DECORATOR__EMODEL_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Contents</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__CONTENTS = FEATURE_DECORATOR__CONTENTS;
-
-	/**
-	 * The feature id for the '<em><b>References</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__REFERENCES = FEATURE_DECORATOR__REFERENCES;
-
-	/**
-	 * The feature id for the '<em><b>Display Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__DISPLAY_NAME = FEATURE_DECORATOR__DISPLAY_NAME;
-	/**
-	 * The feature id for the '<em><b>Short Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__SHORT_DESCRIPTION = FEATURE_DECORATOR__SHORT_DESCRIPTION;
-	/**
-	 * The feature id for the '<em><b>Category</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__CATEGORY = FEATURE_DECORATOR__CATEGORY;
-	/**
-	 * The feature id for the '<em><b>Expert</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__EXPERT = FEATURE_DECORATOR__EXPERT;
-
-	/**
-	 * The feature id for the '<em><b>Hidden</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__HIDDEN = FEATURE_DECORATOR__HIDDEN;
-
-	/**
-	 * The feature id for the '<em><b>Preferred</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__PREFERRED = FEATURE_DECORATOR__PREFERRED;
-
-	/**
-	 * The feature id for the '<em><b>Merge Introspection</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__MERGE_INTROSPECTION = FEATURE_DECORATOR__MERGE_INTROSPECTION;
-	/**
-	 * The feature id for the '<em><b>Attributes Explicit</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__ATTRIBUTES_EXPLICIT = FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT;
-	/**
-	 * The feature id for the '<em><b>Attributes</b></em>' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__ATTRIBUTES = FEATURE_DECORATOR__ATTRIBUTES;
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__NAME = FEATURE_DECORATOR_FEATURE_COUNT + 0;
-	/**
-	 * The feature id for the '<em><b>Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR__PARAMETER = FEATURE_DECORATOR_FEATURE_COUNT + 1;
-	/**
-	 * The number of structural features of the the '<em>Parameter Decorator</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_DECORATOR_FEATURE_COUNT = FEATURE_DECORATOR_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__EANNOTATIONS = FEATURE_DECORATOR__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Source</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__SOURCE = FEATURE_DECORATOR__SOURCE;
-
-	/**
-	 * The feature id for the '<em><b>Details</b></em>' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__DETAILS = FEATURE_DECORATOR__DETAILS;
-
-	/**
-	 * The feature id for the '<em><b>EModel Element</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__EMODEL_ELEMENT = FEATURE_DECORATOR__EMODEL_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Contents</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__CONTENTS = FEATURE_DECORATOR__CONTENTS;
-
-	/**
-	 * The feature id for the '<em><b>References</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__REFERENCES = FEATURE_DECORATOR__REFERENCES;
-
-	/**
-	 * The feature id for the '<em><b>Display Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__DISPLAY_NAME = FEATURE_DECORATOR__DISPLAY_NAME;
-	/**
-	 * The feature id for the '<em><b>Short Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__SHORT_DESCRIPTION = FEATURE_DECORATOR__SHORT_DESCRIPTION;
-	/**
-	 * The feature id for the '<em><b>Category</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__CATEGORY = FEATURE_DECORATOR__CATEGORY;
-	/**
-	 * The feature id for the '<em><b>Expert</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__EXPERT = FEATURE_DECORATOR__EXPERT;
-
-	/**
-	 * The feature id for the '<em><b>Hidden</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__HIDDEN = FEATURE_DECORATOR__HIDDEN;
-
-	/**
-	 * The feature id for the '<em><b>Preferred</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__PREFERRED = FEATURE_DECORATOR__PREFERRED;
-
-	/**
-	 * The feature id for the '<em><b>Merge Introspection</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__MERGE_INTROSPECTION = FEATURE_DECORATOR__MERGE_INTROSPECTION;
-	/**
-	 * The feature id for the '<em><b>Attributes Explicit</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT = FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT;
-	/**
-	 * The feature id for the '<em><b>Attributes</b></em>' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__ATTRIBUTES = FEATURE_DECORATOR__ATTRIBUTES;
-	/**
-	 * The feature id for the '<em><b>Bound</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__BOUND = FEATURE_DECORATOR_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Constrained</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__CONSTRAINED = FEATURE_DECORATOR_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Design Time</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__DESIGN_TIME = FEATURE_DECORATOR_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Always Incompatible</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE = FEATURE_DECORATOR_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Filter Flags</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__FILTER_FLAGS = FEATURE_DECORATOR_FEATURE_COUNT + 4;
-	/**
-	 * The feature id for the '<em><b>Property Editor Class</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS = FEATURE_DECORATOR_FEATURE_COUNT + 5;
-	/**
-	 * The feature id for the '<em><b>Read Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__READ_METHOD = FEATURE_DECORATOR_FEATURE_COUNT + 6;
-	/**
-	 * The feature id for the '<em><b>Write Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR__WRITE_METHOD = FEATURE_DECORATOR_FEATURE_COUNT + 7;
-	/**
-	 * The number of structural features of the the '<em>Property Decorator</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_DECORATOR_FEATURE_COUNT = FEATURE_DECORATOR_FEATURE_COUNT + 8;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__EANNOTATIONS = PROPERTY_DECORATOR__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Source</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__SOURCE = PROPERTY_DECORATOR__SOURCE;
-
-	/**
-	 * The feature id for the '<em><b>Details</b></em>' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__DETAILS = PROPERTY_DECORATOR__DETAILS;
-
-	/**
-	 * The feature id for the '<em><b>EModel Element</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT = PROPERTY_DECORATOR__EMODEL_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Contents</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__CONTENTS = PROPERTY_DECORATOR__CONTENTS;
-
-	/**
-	 * The feature id for the '<em><b>References</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__REFERENCES = PROPERTY_DECORATOR__REFERENCES;
-
-	/**
-	 * The feature id for the '<em><b>Display Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__DISPLAY_NAME = PROPERTY_DECORATOR__DISPLAY_NAME;
-	/**
-	 * The feature id for the '<em><b>Short Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__SHORT_DESCRIPTION = PROPERTY_DECORATOR__SHORT_DESCRIPTION;
-	/**
-	 * The feature id for the '<em><b>Category</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__CATEGORY = PROPERTY_DECORATOR__CATEGORY;
-	/**
-	 * The feature id for the '<em><b>Expert</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__EXPERT = PROPERTY_DECORATOR__EXPERT;
-
-	/**
-	 * The feature id for the '<em><b>Hidden</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__HIDDEN = PROPERTY_DECORATOR__HIDDEN;
-
-	/**
-	 * The feature id for the '<em><b>Preferred</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__PREFERRED = PROPERTY_DECORATOR__PREFERRED;
-
-	/**
-	 * The feature id for the '<em><b>Merge Introspection</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__MERGE_INTROSPECTION = PROPERTY_DECORATOR__MERGE_INTROSPECTION;
-	/**
-	 * The feature id for the '<em><b>Attributes Explicit</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT = PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT;
-	/**
-	 * The feature id for the '<em><b>Attributes</b></em>' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__ATTRIBUTES = PROPERTY_DECORATOR__ATTRIBUTES;
-	/**
-	 * The feature id for the '<em><b>Bound</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__BOUND = PROPERTY_DECORATOR__BOUND;
-
-	/**
-	 * The feature id for the '<em><b>Constrained</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__CONSTRAINED = PROPERTY_DECORATOR__CONSTRAINED;
-
-	/**
-	 * The feature id for the '<em><b>Design Time</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__DESIGN_TIME = PROPERTY_DECORATOR__DESIGN_TIME;
-
-	/**
-	 * The feature id for the '<em><b>Always Incompatible</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE = PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE;
-
-	/**
-	 * The feature id for the '<em><b>Filter Flags</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__FILTER_FLAGS = PROPERTY_DECORATOR__FILTER_FLAGS;
-	/**
-	 * The feature id for the '<em><b>Property Editor Class</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS = PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS;
-	/**
-	 * The feature id for the '<em><b>Read Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__READ_METHOD = PROPERTY_DECORATOR__READ_METHOD;
-	/**
-	 * The feature id for the '<em><b>Write Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__WRITE_METHOD = PROPERTY_DECORATOR__WRITE_METHOD;
-	/**
-	 * The feature id for the '<em><b>Indexed Read Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD = PROPERTY_DECORATOR_FEATURE_COUNT + 0;
-	/**
-	 * The feature id for the '<em><b>Indexed Write Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD = PROPERTY_DECORATOR_FEATURE_COUNT + 1;
-	/**
-	 * The number of structural features of the the '<em>Indexed Property Decorator</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INDEXED_PROPERTY_DECORATOR_FEATURE_COUNT = PROPERTY_DECORATOR_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_PROXY__EANNOTATIONS = EcorePackage.EOPERATION__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_PROXY__NAME = EcorePackage.EOPERATION__NAME;
-	/**
-	 * The feature id for the '<em><b>Ordered</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_PROXY__ORDERED = EcorePackage.EOPERATION__ORDERED;
-
-	/**
-	 * The feature id for the '<em><b>Unique</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_PROXY__UNIQUE = EcorePackage.EOPERATION__UNIQUE;
-
-	/**
-	 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_PROXY__LOWER_BOUND = EcorePackage.EOPERATION__LOWER_BOUND;
-
-	/**
-	 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_PROXY__UPPER_BOUND = EcorePackage.EOPERATION__UPPER_BOUND;
-
-	/**
-	 * The feature id for the '<em><b>Many</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_PROXY__MANY = EcorePackage.EOPERATION__MANY;
-
-	/**
-	 * The feature id for the '<em><b>Required</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_PROXY__REQUIRED = EcorePackage.EOPERATION__REQUIRED;
-
-	/**
-	 * The feature id for the '<em><b>EType</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_PROXY__ETYPE = EcorePackage.EOPERATION__ETYPE;
-
-	/**
-	 * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_PROXY__ECONTAINING_CLASS = EcorePackage.EOPERATION__ECONTAINING_CLASS;
-
-	/**
-	 * The feature id for the '<em><b>EParameters</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_PROXY__EPARAMETERS = EcorePackage.EOPERATION__EPARAMETERS;
-
-	/**
-	 * The feature id for the '<em><b>EExceptions</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_PROXY__EEXCEPTIONS = EcorePackage.EOPERATION__EEXCEPTIONS;
-
-	/**
-	 * The feature id for the '<em><b>Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_PROXY__METHOD = EcorePackage.EOPERATION_FEATURE_COUNT + 0;
-	/**
-	 * The number of structural features of the the '<em>Method Proxy</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_PROXY_FEATURE_COUNT = EcorePackage.EOPERATION_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__EANNOTATIONS = JavaRefPackage.JAVA_EVENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__NAME = JavaRefPackage.JAVA_EVENT__NAME;
-	/**
-	 * The feature id for the '<em><b>Ordered</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__ORDERED = JavaRefPackage.JAVA_EVENT__ORDERED;
-
-	/**
-	 * The feature id for the '<em><b>Unique</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__UNIQUE = JavaRefPackage.JAVA_EVENT__UNIQUE;
-
-	/**
-	 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__LOWER_BOUND = JavaRefPackage.JAVA_EVENT__LOWER_BOUND;
-
-	/**
-	 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__UPPER_BOUND = JavaRefPackage.JAVA_EVENT__UPPER_BOUND;
-
-	/**
-	 * The feature id for the '<em><b>Many</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__MANY = JavaRefPackage.JAVA_EVENT__MANY;
-
-	/**
-	 * The feature id for the '<em><b>Required</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__REQUIRED = JavaRefPackage.JAVA_EVENT__REQUIRED;
-
-	/**
-	 * The feature id for the '<em><b>EType</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__ETYPE = JavaRefPackage.JAVA_EVENT__ETYPE;
-
-	/**
-	 * The feature id for the '<em><b>Changeable</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__CHANGEABLE = JavaRefPackage.JAVA_EVENT__CHANGEABLE;
-
-	/**
-	 * The feature id for the '<em><b>Volatile</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__VOLATILE = JavaRefPackage.JAVA_EVENT__VOLATILE;
-
-	/**
-	 * The feature id for the '<em><b>Transient</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__TRANSIENT = JavaRefPackage.JAVA_EVENT__TRANSIENT;
-
-	/**
-	 * The feature id for the '<em><b>Default Value Literal</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__DEFAULT_VALUE_LITERAL = JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE_LITERAL;
-
-	/**
-	 * The feature id for the '<em><b>Default Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__DEFAULT_VALUE = JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Unsettable</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__UNSETTABLE = JavaRefPackage.JAVA_EVENT__UNSETTABLE;
-
-	/**
-	 * The feature id for the '<em><b>Derived</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__DERIVED = JavaRefPackage.JAVA_EVENT__DERIVED;
-
-	/**
-	 * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT__ECONTAINING_CLASS = JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS;
-
-	/**
-	 * The number of structural features of the the '<em>Bean Event</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEAN_EVENT_FEATURE_COUNT = JavaRefPackage.JAVA_EVENT_FEATURE_COUNT + 0;
-
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeMapEntryImpl <em>Feature Attribute Map Entry</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeMapEntryImpl
-	 * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getFeatureAttributeMapEntry()
-	 * @generated
-	 */
-	int FEATURE_ATTRIBUTE_MAP_ENTRY = 10;
-
-	/**
-	 * The feature id for the '<em><b>Key</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_ATTRIBUTE_MAP_ENTRY__KEY = 0;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE = 1;
-
-	/**
-	 * The number of structural features of the the '<em>Feature Attribute Map Entry</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE_ATTRIBUTE_MAP_ENTRY_FEATURE_COUNT = 2;
-
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator <em>Feature Decorator</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Feature Decorator</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator
-	 * @generated
-	 */
-	EClass getFeatureDecorator();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getDisplayName <em>Display Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Display Name</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#getDisplayName()
-	 * @see #getFeatureDecorator()
-	 * @generated
-	 */
-	EAttribute getFeatureDecorator_DisplayName();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getShortDescription <em>Short Description</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Short Description</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#getShortDescription()
-	 * @see #getFeatureDecorator()
-	 * @generated
-	 */
-	EAttribute getFeatureDecorator_ShortDescription();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getCategory <em>Category</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Category</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#getCategory()
-	 * @see #getFeatureDecorator()
-	 * @generated
-	 */
-	EAttribute getFeatureDecorator_Category();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isExpert <em>Expert</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Expert</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#isExpert()
-	 * @see #getFeatureDecorator()
-	 * @generated
-	 */
-	EAttribute getFeatureDecorator_Expert();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isHidden <em>Hidden</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Hidden</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#isHidden()
-	 * @see #getFeatureDecorator()
-	 * @generated
-	 */
-	EAttribute getFeatureDecorator_Hidden();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isPreferred <em>Preferred</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Preferred</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#isPreferred()
-	 * @see #getFeatureDecorator()
-	 * @generated
-	 */
-	EAttribute getFeatureDecorator_Preferred();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isMergeIntrospection <em>Merge Introspection</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Merge Introspection</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#isMergeIntrospection()
-	 * @see #getFeatureDecorator()
-	 * @generated
-	 */
-	EAttribute getFeatureDecorator_MergeIntrospection();
-
-	/**
-	 * Returns the meta object for the map '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getAttributes <em>Attributes</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the map '<em>Attributes</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#getAttributes()
-	 * @see #getFeatureDecorator()
-	 * @generated
-	 */
-	EReference getFeatureDecorator_Attributes();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator <em>Event Set Decorator</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Event Set Decorator</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator
-	 * @generated
-	 */
-	EClass getEventSetDecorator();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isInDefaultEventSet <em>In Default Event Set</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>In Default Event Set</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#isInDefaultEventSet()
-	 * @see #getEventSetDecorator()
-	 * @generated
-	 */
-	EAttribute getEventSetDecorator_InDefaultEventSet();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isUnicast <em>Unicast</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Unicast</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#isUnicast()
-	 * @see #getEventSetDecorator()
-	 * @generated
-	 */
-	EAttribute getEventSetDecorator_Unicast();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getAddListenerMethod <em>Add Listener Method</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Add Listener Method</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#getAddListenerMethod()
-	 * @see #getEventSetDecorator()
-	 * @generated
-	 */
-	EReference getEventSetDecorator_AddListenerMethod();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getListenerMethods <em>Listener Methods</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Listener Methods</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#getListenerMethods()
-	 * @see #getEventSetDecorator()
-	 * @generated
-	 */
-	EReference getEventSetDecorator_ListenerMethods();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getListenerType <em>Listener Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Listener Type</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#getListenerType()
-	 * @see #getEventSetDecorator()
-	 * @generated
-	 */
-	EReference getEventSetDecorator_ListenerType();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getRemoveListenerMethod <em>Remove Listener Method</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Remove Listener Method</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#getRemoveListenerMethod()
-	 * @see #getEventSetDecorator()
-	 * @generated
-	 */
-	EReference getEventSetDecorator_RemoveListenerMethod();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.MethodProxy <em>Method Proxy</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Method Proxy</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.MethodProxy
-	 * @generated
-	 */
-	EClass getMethodProxy();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.MethodProxy#getMethod <em>Method</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Method</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.MethodProxy#getMethod()
-	 * @see #getMethodProxy()
-	 * @generated
-	 */
-	EReference getMethodProxy_Method();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator <em>Property Decorator</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Property Decorator</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator
-	 * @generated
-	 */
-	EClass getPropertyDecorator();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isBound <em>Bound</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Bound</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#isBound()
-	 * @see #getPropertyDecorator()
-	 * @generated
-	 */
-	EAttribute getPropertyDecorator_Bound();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isConstrained <em>Constrained</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Constrained</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#isConstrained()
-	 * @see #getPropertyDecorator()
-	 * @generated
-	 */
-	EAttribute getPropertyDecorator_Constrained();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isDesignTime <em>Design Time</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Design Time</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#isDesignTime()
-	 * @see #getPropertyDecorator()
-	 * @generated
-	 */
-	EAttribute getPropertyDecorator_DesignTime();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isAlwaysIncompatible <em>Always Incompatible</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Always Incompatible</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#isAlwaysIncompatible()
-	 * @see #getPropertyDecorator()
-	 * @generated
-	 */
-	EAttribute getPropertyDecorator_AlwaysIncompatible();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getFilterFlags <em>Filter Flags</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Filter Flags</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#getFilterFlags()
-	 * @see #getPropertyDecorator()
-	 * @generated
-	 */
-	EAttribute getPropertyDecorator_FilterFlags();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getPropertyEditorClass <em>Property Editor Class</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Property Editor Class</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#getPropertyEditorClass()
-	 * @see #getPropertyDecorator()
-	 * @generated
-	 */
-	EReference getPropertyDecorator_PropertyEditorClass();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getReadMethod <em>Read Method</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Read Method</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#getReadMethod()
-	 * @see #getPropertyDecorator()
-	 * @generated
-	 */
-	EReference getPropertyDecorator_ReadMethod();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getWriteMethod <em>Write Method</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Write Method</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.PropertyDecorator#getWriteMethod()
-	 * @see #getPropertyDecorator()
-	 * @generated
-	 */
-	EReference getPropertyDecorator_WriteMethod();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator <em>Indexed Property Decorator</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Indexed Property Decorator</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator
-	 * @generated
-	 */
-	EClass getIndexedPropertyDecorator();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedReadMethod <em>Indexed Read Method</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Indexed Read Method</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedReadMethod()
-	 * @see #getIndexedPropertyDecorator()
-	 * @generated
-	 */
-	EReference getIndexedPropertyDecorator_IndexedReadMethod();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedWriteMethod <em>Indexed Write Method</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Indexed Write Method</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedWriteMethod()
-	 * @see #getIndexedPropertyDecorator()
-	 * @generated
-	 */
-	EReference getIndexedPropertyDecorator_IndexedWriteMethod();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator <em>Bean Decorator</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Bean Decorator</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.BeanDecorator
-	 * @generated
-	 */
-	EClass getBeanDecorator();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperProperties <em>Merge Super Properties</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Merge Super Properties</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperProperties()
-	 * @see #getBeanDecorator()
-	 * @generated
-	 */
-	EAttribute getBeanDecorator_MergeSuperProperties();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperBehaviors <em>Merge Super Behaviors</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Merge Super Behaviors</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperBehaviors()
-	 * @see #getBeanDecorator()
-	 * @generated
-	 */
-	EAttribute getBeanDecorator_MergeSuperBehaviors();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperEvents <em>Merge Super Events</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Merge Super Events</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperEvents()
-	 * @see #getBeanDecorator()
-	 * @generated
-	 */
-	EAttribute getBeanDecorator_MergeSuperEvents();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectProperties <em>Introspect Properties</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Introspect Properties</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectProperties()
-	 * @see #getBeanDecorator()
-	 * @generated
-	 */
-	EAttribute getBeanDecorator_IntrospectProperties();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectBehaviors <em>Introspect Behaviors</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Introspect Behaviors</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectBehaviors()
-	 * @see #getBeanDecorator()
-	 * @generated
-	 */
-	EAttribute getBeanDecorator_IntrospectBehaviors();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectEvents <em>Introspect Events</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Introspect Events</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectEvents()
-	 * @see #getBeanDecorator()
-	 * @generated
-	 */
-	EAttribute getBeanDecorator_IntrospectEvents();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#getCustomizerClass <em>Customizer Class</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Customizer Class</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#getCustomizerClass()
-	 * @see #getBeanDecorator()
-	 * @generated
-	 */
-	EReference getBeanDecorator_CustomizerClass();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.MethodDecorator <em>Method Decorator</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Method Decorator</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.MethodDecorator
-	 * @generated
-	 */
-	EClass getMethodDecorator();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.MethodDecorator#isParmsExplicit <em>Parms Explicit</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Parms Explicit</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.MethodDecorator#isParmsExplicit()
-	 * @see #getMethodDecorator()
-	 * @generated
-	 */
-	EAttribute getMethodDecorator_ParmsExplicit();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.beaninfo.MethodDecorator#getParameterDescriptors <em>Parameter Descriptors</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Parameter Descriptors</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.MethodDecorator#getParameterDescriptors()
-	 * @see #getMethodDecorator()
-	 * @generated
-	 */
-	EReference getMethodDecorator_ParameterDescriptors();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.ParameterDecorator <em>Parameter Decorator</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Parameter Decorator</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.ParameterDecorator
-	 * @generated
-	 */
-	EClass getParameterDecorator();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.ParameterDecorator#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.ParameterDecorator#getName()
-	 * @see #getParameterDecorator()
-	 * @generated
-	 */
-	EAttribute getParameterDecorator_Name();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue <em>Feature Attribute Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Feature Attribute Value</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureAttributeValue
-	 * @generated
-	 */
-	EClass getFeatureAttributeValue();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValue <em>Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Value</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValue()
-	 * @see #getFeatureAttributeValue()
-	 * @generated
-	 */
-	EReference getFeatureAttributeValue_Value();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueJava <em>Value Java</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Value Java</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueJava()
-	 * @see #getFeatureAttributeValue()
-	 * @generated
-	 */
-	EAttribute getFeatureAttributeValue_ValueJava();
-
-	/**
-	 * Returns the factory that creates the instances of the model.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the factory that creates the instances of the model.
-	 * @generated
-	 */
-	BeaninfoFactory getBeaninfoFactory();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isDoBeaninfo <em>Do Beaninfo</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Do Beaninfo</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isDoBeaninfo()
-	 * @see #getBeanDecorator()
-	 * @generated
-	 */
-	EAttribute getBeanDecorator_DoBeaninfo();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueProxy <em>Value Proxy</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Value Proxy</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueProxy()
-	 * @see #getFeatureAttributeValue()
-	 * @generated
-	 */
-	EAttribute getFeatureAttributeValue_ValueProxy();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.jem.internal.beaninfo.ParameterDecorator#getParameter <em>Parameter</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Parameter</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.ParameterDecorator#getParameter()
-	 * @see #getParameterDecorator()
-	 * @generated
-	 */
-	EReference getParameterDecorator_Parameter();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isAttributesExplicit <em>Attributes Explicit</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Attributes Explicit</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#isAttributesExplicit()
-	 * @see #getFeatureDecorator()
-	 * @generated
-	 */
-	EAttribute getFeatureDecorator_AttributesExplicit();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.beaninfo.BeanEvent <em>Bean Event</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Bean Event</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.BeanEvent
-	 * @generated
-	 */
-	EClass getBeanEvent();
-
-	/**
-	 * Returns the meta object for class '{@link java.util.Map.Entry <em>Feature Attribute Map Entry</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Feature Attribute Map Entry</em>'.
-	 * @see java.util.Map.Entry
-	 * @model keyType="java.lang.String" valueType="org.eclipse.jem.internal.beaninfo.FeatureAttributeValue" valueContainment="true" 
-	 * @generated
-	 */
-	EClass getFeatureAttributeMapEntry();
-
-	/**
-	 * Returns the meta object for the attribute '{@link java.util.Map.Entry <em>Key</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Key</em>'.
-	 * @see java.util.Map.Entry
-	 * @see #getFeatureAttributeMapEntry()
-	 * @generated
-	 */
-	EAttribute getFeatureAttributeMapEntry_Key();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link java.util.Map.Entry <em>Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Value</em>'.
-	 * @see java.util.Map.Entry
-	 * @see #getFeatureAttributeMapEntry()
-	 * @generated
-	 */
-	EReference getFeatureAttributeMapEntry_Value();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isListenerMethodsExplicit <em>Listener Methods Explicit</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Listener Methods Explicit</em>'.
-	 * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#isListenerMethodsExplicit()
-	 * @see #getEventSetDecorator()
-	 * @generated
-	 */
-	EAttribute getEventSetDecorator_ListenerMethodsExplicit();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/EventSetDecorator.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/EventSetDecorator.java
deleted file mode 100644
index 3cd22d7..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/EventSetDecorator.java
+++ /dev/null
@@ -1,285 +0,0 @@
-package org.eclipse.jem.internal.beaninfo;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: EventSetDecorator.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:00 $ 
- */
-
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Event Set Decorator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isInDefaultEventSet <em>In Default Event Set</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isUnicast <em>Unicast</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isListenerMethodsExplicit <em>Listener Methods Explicit</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getAddListenerMethod <em>Add Listener Method</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getListenerMethods <em>Listener Methods</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getListenerType <em>Listener Type</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getRemoveListenerMethod <em>Remove Listener Method</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator()
- * @model 
- * @generated
- */
-
-
-public interface EventSetDecorator extends FeatureDecorator{
-	public static final String EVENTADAPTERCLASS = "eventAdapterClass"; //$NON-NLS-1$
-	/**
-	 * Returns the value of the '<em><b>In Default Event Set</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>In Default Event Set</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>In Default Event Set</em>' attribute.
-	 * @see #isSetInDefaultEventSet()
-	 * @see #unsetInDefaultEventSet()
-	 * @see #setInDefaultEventSet(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_InDefaultEventSet()
-	 * @model unsettable="true"
-	 * @generated
-	 */
-	boolean isInDefaultEventSet();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isInDefaultEventSet <em>In Default Event Set</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>In Default Event Set</em>' attribute.
-	 * @see #isSetInDefaultEventSet()
-	 * @see #unsetInDefaultEventSet()
-	 * @see #isInDefaultEventSet()
-	 * @generated
-	 */
-	void setInDefaultEventSet(boolean value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isInDefaultEventSet <em>In Default Event Set</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetInDefaultEventSet()
-	 * @see #isInDefaultEventSet()
-	 * @see #setInDefaultEventSet(boolean)
-	 * @generated
-	 */
-	void unsetInDefaultEventSet();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isInDefaultEventSet <em>In Default Event Set</em>}' attribute is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>In Default Event Set</em>' attribute is set.
-	 * @see #unsetInDefaultEventSet()
-	 * @see #isInDefaultEventSet()
-	 * @see #setInDefaultEventSet(boolean)
-	 * @generated
-	 */
-	boolean isSetInDefaultEventSet();
-
-	/**
-	 * Returns the value of the '<em><b>Unicast</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Unicast</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Unicast</em>' attribute.
-	 * @see #isSetUnicast()
-	 * @see #unsetUnicast()
-	 * @see #setUnicast(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_Unicast()
-	 * @model unsettable="true"
-	 * @generated
-	 */
-	boolean isUnicast();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isUnicast <em>Unicast</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Unicast</em>' attribute.
-	 * @see #isSetUnicast()
-	 * @see #unsetUnicast()
-	 * @see #isUnicast()
-	 * @generated
-	 */
-	void setUnicast(boolean value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isUnicast <em>Unicast</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetUnicast()
-	 * @see #isUnicast()
-	 * @see #setUnicast(boolean)
-	 * @generated
-	 */
-	void unsetUnicast();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isUnicast <em>Unicast</em>}' attribute is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>Unicast</em>' attribute is set.
-	 * @see #unsetUnicast()
-	 * @see #isUnicast()
-	 * @see #setUnicast(boolean)
-	 * @generated
-	 */
-	boolean isSetUnicast();
-
-	/**
-	 * Returns the value of the '<em><b>Add Listener Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Add Listener Method</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Add Listener Method</em>' reference.
-	 * @see #setAddListenerMethod(Method)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_AddListenerMethod()
-	 * @model required="true"
-	 * @generated
-	 */
-	Method getAddListenerMethod();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getAddListenerMethod <em>Add Listener Method</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Add Listener Method</em>' reference.
-	 * @see #getAddListenerMethod()
-	 * @generated
-	 */
-	void setAddListenerMethod(Method value);
-
-	/**
-	 * Returns the value of the '<em><b>Listener Methods</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jem.internal.beaninfo.MethodProxy}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Listener Methods</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Listener Methods</em>' containment reference list.
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_ListenerMethods()
-	 * @model type="org.eclipse.jem.internal.beaninfo.MethodProxy" containment="true" required="true"
-	 * @generated
-	 */
-	EList getListenerMethods();
-
-	/**
-	 * Returns the value of the '<em><b>Listener Type</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Listener Type</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Listener Type</em>' reference.
-	 * @see #setListenerType(JavaClass)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_ListenerType()
-	 * @model required="true"
-	 * @generated
-	 */
-	JavaClass getListenerType();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getListenerType <em>Listener Type</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Listener Type</em>' reference.
-	 * @see #getListenerType()
-	 * @generated
-	 */
-	void setListenerType(JavaClass value);
-
-	/**
-	 * Returns the value of the '<em><b>Remove Listener Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Remove Listener Method</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Remove Listener Method</em>' reference.
-	 * @see #setRemoveListenerMethod(Method)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_RemoveListenerMethod()
-	 * @model required="true"
-	 * @generated
-	 */
-	Method getRemoveListenerMethod();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#getRemoveListenerMethod <em>Remove Listener Method</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Remove Listener Method</em>' reference.
-	 * @see #getRemoveListenerMethod()
-	 * @generated
-	 */
-	void setRemoveListenerMethod(Method value);
-
-	/**
-	 * Returns the value of the '<em><b>Listener Methods Explicit</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Listener Methods Explicit</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * If the listenerMethods feature is explicitly set, ie. not through the event set descriptor proxy, then this flag must be set true. If it is true, then the listenerMethods will not be brought over from the descriptor proxy, nor will default ones be created if there aren't any specified.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Listener Methods Explicit</em>' attribute.
-	 * @see #setListenerMethodsExplicit(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_ListenerMethodsExplicit()
-	 * @model 
-	 * @generated
-	 */
-	boolean isListenerMethodsExplicit();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isListenerMethodsExplicit <em>Listener Methods Explicit</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Listener Methods Explicit</em>' attribute.
-	 * @see #isListenerMethodsExplicit()
-	 * @generated
-	 */
-	void setListenerMethodsExplicit(boolean value);
-
-	/**
-	 * For some listener interfaces an adapter class is provided that implements default no-op methods, e.g.
-	 * java.awt.event.FocusEvent which has java.awt.event.FocusAdapter.
-	 * The Adapter class is provided in a key/value pair on the java.beans.EventSetDescriptor with a key 
-	 * defined in a static final constants EVENTADAPTERCLASS = "eventAdapterClass";
-	 */	
-	JavaClass getEventAdapterClass();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureAttributeValue.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureAttributeValue.java
deleted file mode 100644
index c8b4fff..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureAttributeValue.java
+++ /dev/null
@@ -1,205 +0,0 @@
-package org.eclipse.jem.internal.beaninfo;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: FeatureAttributeValue.java,v $
- *  $Revision: 1.3 $  $Date: 2004/03/08 21:25:33 $ 
- */
-
-
-import org.eclipse.emf.ecore.EObject;
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Feature Attribute Value</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValue <em>Value</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueJava <em>Value Java</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueProxy <em>Value Proxy</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureAttributeValue()
- * @model 
- * @generated
- */
-
-
-public interface FeatureAttributeValue extends EObject{
-
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * This is the value as an EObject. This is used to return typically the IJavaInstance representing the value.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Value</em>' containment reference.
-	 * @see #isSetValue()
-	 * @see #unsetValue()
-	 * @see #setValue(EObject)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureAttributeValue_Value()
-	 * @model containment="true" unsettable="true"
-	 * @generated
-	 */
-	EObject getValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValue <em>Value</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Value</em>' containment reference.
-	 * @see #isSetValue()
-	 * @see #unsetValue()
-	 * @see #getValue()
-	 * @generated
-	 */
-	void setValue(EObject value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValue <em>Value</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetValue()
-	 * @see #getValue()
-	 * @see #setValue(EObject)
-	 * @generated
-	 */
-	void unsetValue();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValue <em>Value</em>}' containment reference is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>Value</em>' containment reference is set.
-	 * @see #unsetValue()
-	 * @see #getValue()
-	 * @see #setValue(EObject)
-	 * @generated
-	 */
-	boolean isSetValue();
-
-	/**
-	 * Returns the value of the '<em><b>Value Java</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * This is where the value is just a java object. Not an EObject. Sometimes it is easier to have this instead. This attribute is transient and won't be serialized.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Value Java</em>' attribute.
-	 * @see #isSetValueJava()
-	 * @see #unsetValueJava()
-	 * @see #setValueJava(Object)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureAttributeValue_ValueJava()
-	 * @model unsettable="true" transient="true"
-	 * @generated
-	 */
-	Object getValueJava();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueJava <em>Value Java</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Value Java</em>' attribute.
-	 * @see #isSetValueJava()
-	 * @see #unsetValueJava()
-	 * @see #getValueJava()
-	 * @generated
-	 */
-	void setValueJava(Object value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueJava <em>Value Java</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetValueJava()
-	 * @see #getValueJava()
-	 * @see #setValueJava(Object)
-	 * @generated
-	 */
-	void unsetValueJava();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueJava <em>Value Java</em>}' attribute is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>Value Java</em>' attribute is set.
-	 * @see #unsetValueJava()
-	 * @see #getValueJava()
-	 * @see #setValueJava(Object)
-	 * @generated
-	 */
-	boolean isSetValueJava();
-
-	/**
-	 * Returns the value of the '<em><b>Value Proxy</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value Proxy</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * This is the proxy of the value from a BeanInfo on the remote vm. It is typed to EJavaObject because we don't want to prereq the java instanctiation stuff. It is transient.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Value Proxy</em>' attribute.
-	 * @see #isSetValueProxy()
-	 * @see #unsetValueProxy()
-	 * @see #setValueProxy(Object)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureAttributeValue_ValueProxy()
-	 * @model unsettable="true" transient="true"
-	 * @generated
-	 */
-	Object getValueProxy();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueProxy <em>Value Proxy</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Value Proxy</em>' attribute.
-	 * @see #isSetValueProxy()
-	 * @see #unsetValueProxy()
-	 * @see #getValueProxy()
-	 * @generated
-	 */
-	void setValueProxy(Object value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueProxy <em>Value Proxy</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetValueProxy()
-	 * @see #getValueProxy()
-	 * @see #setValueProxy(Object)
-	 * @generated
-	 */
-	void unsetValueProxy();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueProxy <em>Value Proxy</em>}' attribute is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>Value Proxy</em>' attribute is set.
-	 * @see #unsetValueProxy()
-	 * @see #getValueProxy()
-	 * @see #setValueProxy(Object)
-	 * @generated
-	 */
-	boolean isSetValueProxy();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureDecorator.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureDecorator.java
deleted file mode 100644
index 62de2ba..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureDecorator.java
+++ /dev/null
@@ -1,499 +0,0 @@
-package org.eclipse.jem.internal.beaninfo;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: FeatureDecorator.java,v $
- *  $Revision: 1.3 $  $Date: 2004/03/08 21:25:33 $ 
- */
-
-
-import org.eclipse.emf.common.util.EMap;
-import org.eclipse.emf.ecore.EAnnotation;
-
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Feature Decorator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Equivalent to FeatureDescriptor in java.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getDisplayName <em>Display Name</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getShortDescription <em>Short Description</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getCategory <em>Category</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isExpert <em>Expert</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isHidden <em>Hidden</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isPreferred <em>Preferred</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isMergeIntrospection <em>Merge Introspection</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isAttributesExplicit <em>Attributes Explicit</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getAttributes <em>Attributes</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator()
- * @model 
- * @generated
- */
-
-
-public interface FeatureDecorator extends EAnnotation{
-	/**
-	 * Enumeration of what was implicitly created.
-	 */
-	public static final int
-		NOT_IMPLICIT = 0,
-		IMPLICIT_DECORATOR = 1,
-		IMPLICIT_DECORATOR_AND_FEATURE = 3;
-		// Can't have explicit decorator but implicit feature.
-
-
-	/**
-	 * Was this decorator implicitly created by introspection?
-	 * The default should be false.
-	 * This is here for linkage with the introspection process
-	 * and is not really a MOF property. The introspection needs
-	 * to know which features it created and which were explicitly
-	 * created by other means. Implicitly created ones may be 
-	 * deleted at any time when the introspection determines it
-	 * needs to.
-	 */
-	public int isImplicitlyCreated();
-	public void setImplicitlyCreated(int implicit);
-	
-	/**
-	 * Answer whether this has introspection results merged into it.
-	 * This is important because if it doesn't have a proxy,
-	 * then this is an explicit decorator. Explicit decorators
-	 * will show up in the eAllAttribute/eAllBehaviors/eAllEvents
-	 * when beaninfo says don't do merge. This is because the
-	 * introspection only knows about beaninfo features and so
-	 * it can only specify that beaninfo features are not to
-	 * be inherited.
-	 */
-	public boolean isIntrospected();
-	
-	/**
-	 * Return the descriptor proxy used gather implicit information
-	 * not explicitly set on the decorator. Each decorator
-	 * knows what to retrieve out of the proxy. 
-	 */
-	public IBeanProxy getDescriptorProxy();
-		 
-	/**
-	 * Set the descriptor proxy to gather implicit information
-	 * not explicitly set on the decorator. Each decorator
-	 * knows what to retrieve out of the proxy. If the proxy
-	 * is null, then it there is no beaninfo to info from. When
-	 * this method is called, any cached values are cleared out.
-	 */
-	public void setDescriptorProxy(IBeanProxy descriptor);
-	
-	/**
-	 * Set the decorator to use for querying reflected properties.
-	 * On reflection we need to return the results, but we don't
-	 * want to explicitly set anything that could override the
-	 * explicit settings by the user. So we pass in a decorator
-	 * that has the reflected settings. It act's like the descriptor proxy
-	 * above for when it comes from beaninfo's. Each decorator knows what
-	 * to retrieve from implicit decorator.
-	 */
-	public void setDecoratorProxy(FeatureDecorator decorator);
-	
-	/**
-	 * Returns the value of the '<em><b>Display Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Display Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Display Name</em>' attribute.
-	 * @see #isSetDisplayName()
-	 * @see #unsetDisplayName()
-	 * @see #setDisplayName(String)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_DisplayName()
-	 * @model unsettable="true"
-	 * @generated
-	 */
-	String getDisplayName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getDisplayName <em>Display Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Display Name</em>' attribute.
-	 * @see #isSetDisplayName()
-	 * @see #unsetDisplayName()
-	 * @see #getDisplayName()
-	 * @generated
-	 */
-	void setDisplayName(String value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getDisplayName <em>Display Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetDisplayName()
-	 * @see #getDisplayName()
-	 * @see #setDisplayName(String)
-	 * @generated
-	 */
-	void unsetDisplayName();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getDisplayName <em>Display Name</em>}' attribute is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>Display Name</em>' attribute is set.
-	 * @see #unsetDisplayName()
-	 * @see #getDisplayName()
-	 * @see #setDisplayName(String)
-	 * @generated
-	 */
-	boolean isSetDisplayName();
-
-	/**
-	 * Returns the value of the '<em><b>Short Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Short Description</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Short Description</em>' attribute.
-	 * @see #isSetShortDescription()
-	 * @see #unsetShortDescription()
-	 * @see #setShortDescription(String)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_ShortDescription()
-	 * @model unsettable="true"
-	 * @generated
-	 */
-	String getShortDescription();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getShortDescription <em>Short Description</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Short Description</em>' attribute.
-	 * @see #isSetShortDescription()
-	 * @see #unsetShortDescription()
-	 * @see #getShortDescription()
-	 * @generated
-	 */
-	void setShortDescription(String value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getShortDescription <em>Short Description</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetShortDescription()
-	 * @see #getShortDescription()
-	 * @see #setShortDescription(String)
-	 * @generated
-	 */
-	void unsetShortDescription();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getShortDescription <em>Short Description</em>}' attribute is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>Short Description</em>' attribute is set.
-	 * @see #unsetShortDescription()
-	 * @see #getShortDescription()
-	 * @see #setShortDescription(String)
-	 * @generated
-	 */
-	boolean isSetShortDescription();
-
-	/**
-	 * Returns the value of the '<em><b>Category</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Category</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Category</em>' attribute.
-	 * @see #setCategory(String)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_Category()
-	 * @model 
-	 * @generated
-	 */
-	String getCategory();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getCategory <em>Category</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Category</em>' attribute.
-	 * @see #getCategory()
-	 * @generated
-	 */
-	void setCategory(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Expert</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Expert</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Expert</em>' attribute.
-	 * @see #isSetExpert()
-	 * @see #unsetExpert()
-	 * @see #setExpert(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_Expert()
-	 * @model unsettable="true"
-	 * @generated
-	 */
-	boolean isExpert();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isExpert <em>Expert</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Expert</em>' attribute.
-	 * @see #isSetExpert()
-	 * @see #unsetExpert()
-	 * @see #isExpert()
-	 * @generated
-	 */
-	void setExpert(boolean value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isExpert <em>Expert</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetExpert()
-	 * @see #isExpert()
-	 * @see #setExpert(boolean)
-	 * @generated
-	 */
-	void unsetExpert();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isExpert <em>Expert</em>}' attribute is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>Expert</em>' attribute is set.
-	 * @see #unsetExpert()
-	 * @see #isExpert()
-	 * @see #setExpert(boolean)
-	 * @generated
-	 */
-	boolean isSetExpert();
-
-	/**
-	 * Returns the value of the '<em><b>Hidden</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Hidden</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Hidden</em>' attribute.
-	 * @see #isSetHidden()
-	 * @see #unsetHidden()
-	 * @see #setHidden(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_Hidden()
-	 * @model unsettable="true"
-	 * @generated
-	 */
-	boolean isHidden();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isHidden <em>Hidden</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Hidden</em>' attribute.
-	 * @see #isSetHidden()
-	 * @see #unsetHidden()
-	 * @see #isHidden()
-	 * @generated
-	 */
-	void setHidden(boolean value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isHidden <em>Hidden</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetHidden()
-	 * @see #isHidden()
-	 * @see #setHidden(boolean)
-	 * @generated
-	 */
-	void unsetHidden();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isHidden <em>Hidden</em>}' attribute is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>Hidden</em>' attribute is set.
-	 * @see #unsetHidden()
-	 * @see #isHidden()
-	 * @see #setHidden(boolean)
-	 * @generated
-	 */
-	boolean isSetHidden();
-
-	/**
-	 * Returns the value of the '<em><b>Preferred</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Preferred</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Preferred</em>' attribute.
-	 * @see #isSetPreferred()
-	 * @see #unsetPreferred()
-	 * @see #setPreferred(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_Preferred()
-	 * @model unsettable="true"
-	 * @generated
-	 */
-	boolean isPreferred();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isPreferred <em>Preferred</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Preferred</em>' attribute.
-	 * @see #isSetPreferred()
-	 * @see #unsetPreferred()
-	 * @see #isPreferred()
-	 * @generated
-	 */
-	void setPreferred(boolean value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isPreferred <em>Preferred</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetPreferred()
-	 * @see #isPreferred()
-	 * @see #setPreferred(boolean)
-	 * @generated
-	 */
-	void unsetPreferred();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isPreferred <em>Preferred</em>}' attribute is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>Preferred</em>' attribute is set.
-	 * @see #unsetPreferred()
-	 * @see #isPreferred()
-	 * @see #setPreferred(boolean)
-	 * @generated
-	 */
-	boolean isSetPreferred();
-
-	/**
-	 * Returns the value of the '<em><b>Merge Introspection</b></em>' attribute.
-	 * The default value is <code>"true"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Merge Introspection</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Should the introspection results be merged into this decorator. If this is set to false, then the introspection results are ignored for this particular decorator. This is an internal feature simply to allow desired override capabilities.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Merge Introspection</em>' attribute.
-	 * @see #setMergeIntrospection(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_MergeIntrospection()
-	 * @model default="true"
-	 * @generated
-	 */
-	boolean isMergeIntrospection();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isMergeIntrospection <em>Merge Introspection</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Merge Introspection</em>' attribute.
-	 * @see #isMergeIntrospection()
-	 * @generated
-	 */
-	void setMergeIntrospection(boolean value);
-
-	/**
-	 * Returns the value of the '<em><b>Attributes</b></em>' map.
-	 * The key is of type {@link java.lang.String},
-	 * and the value is of type {@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue},
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Attributes</em>' map.
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_Attributes()
-	 * @model mapType="org.eclipse.jem.internal.beaninfo.FeatureAttributeMapEntry" keyType="java.lang.String" valueType="org.eclipse.jem.internal.beaninfo.FeatureAttributeValue"
-	 * @generated
-	 */
-	EMap getAttributes();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model parameters=""
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * Returns the value of the '<em><b>Attributes Explicit</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Attributes Explicit</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The attributes are explicitly set and not retrieved from the beaninfo.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Attributes Explicit</em>' attribute.
-	 * @see #setAttributesExplicit(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_AttributesExplicit()
-	 * @model 
-	 * @generated
-	 */
-	boolean isAttributesExplicit();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isAttributesExplicit <em>Attributes Explicit</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Attributes Explicit</em>' attribute.
-	 * @see #isAttributesExplicit()
-	 * @generated
-	 */
-	void setAttributesExplicit(boolean value);
-
-	/**
-	 * Answer if this decorator needs to be re-introspected. This would occur
-	 * because the BeanInfo is now invalid.
-	 * @return Re-introspection required.
-	 */
-	boolean needIntrospection();
-	
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/IndexedPropertyDecorator.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/IndexedPropertyDecorator.java
deleted file mode 100644
index 00fc264..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/IndexedPropertyDecorator.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.eclipse.jem.internal.beaninfo;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IndexedPropertyDecorator.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:00 $ 
- */
-
-
-import org.eclipse.jem.java.Method;
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Indexed Property Decorator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedReadMethod <em>Indexed Read Method</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedWriteMethod <em>Indexed Write Method</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getIndexedPropertyDecorator()
- * @model 
- * @generated
- */
-
-
-public interface IndexedPropertyDecorator extends PropertyDecorator {
-	/**
-	 * Returns the value of the '<em><b>Indexed Read Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Indexed Read Method</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Indexed Read Method</em>' reference.
-	 * @see #setIndexedReadMethod(Method)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getIndexedPropertyDecorator_IndexedReadMethod()
-	 * @model 
-	 * @generated
-	 */
-	Method getIndexedReadMethod();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedReadMethod <em>Indexed Read Method</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Indexed Read Method</em>' reference.
-	 * @see #getIndexedReadMethod()
-	 * @generated
-	 */
-	void setIndexedReadMethod(Method value);
-
-	/**
-	 * Returns the value of the '<em><b>Indexed Write Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Indexed Write Method</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Indexed Write Method</em>' reference.
-	 * @see #setIndexedWriteMethod(Method)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getIndexedPropertyDecorator_IndexedWriteMethod()
-	 * @model 
-	 * @generated
-	 */
-	Method getIndexedWriteMethod();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator#getIndexedWriteMethod <em>Indexed Write Method</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Indexed Write Method</em>' reference.
-	 * @see #getIndexedWriteMethod()
-	 * @generated
-	 */
-	void setIndexedWriteMethod(Method value);
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodDecorator.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodDecorator.java
deleted file mode 100644
index e256a10..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodDecorator.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.jem.internal.beaninfo;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: MethodDecorator.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:00 $ 
- */
-
-
-import org.eclipse.emf.common.util.EList;
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Method Decorator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.MethodDecorator#isParmsExplicit <em>Parms Explicit</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.MethodDecorator#getParameterDescriptors <em>Parameter Descriptors</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getMethodDecorator()
- * @model 
- * @generated
- */
-
-
-public interface MethodDecorator extends FeatureDecorator{
-	/**
-	 * Returns the value of the '<em><b>Parms Explicit</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Parms Explicit</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * If the parameterDescriptors feature is explicitly set, ie. not through the method descriptor proxy, then this flag must be set true. If it is true, then the parameterDescriptors will not be brought over from the descriptor proxy, nor will default ones be created if there aren't any specified.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Parms Explicit</em>' attribute.
-	 * @see #setParmsExplicit(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getMethodDecorator_ParmsExplicit()
-	 * @model 
-	 * @generated
-	 */
-	boolean isParmsExplicit();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.MethodDecorator#isParmsExplicit <em>Parms Explicit</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Parms Explicit</em>' attribute.
-	 * @see #isParmsExplicit()
-	 * @generated
-	 */
-	void setParmsExplicit(boolean value);
-
-	/**
-	 * Returns the value of the '<em><b>Parameter Descriptors</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jem.internal.beaninfo.ParameterDecorator}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Parameter Descriptors</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Parameter Descriptors</em>' containment reference list.
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getMethodDecorator_ParameterDescriptors()
-	 * @model type="org.eclipse.jem.internal.beaninfo.ParameterDecorator" containment="true"
-	 * @generated
-	 */
-	EList getParameterDescriptors();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodProxy.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodProxy.java
deleted file mode 100644
index 3770883..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodProxy.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.jem.internal.beaninfo;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: MethodProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:00 $ 
- */
-
-
-import org.eclipse.emf.ecore.EOperation;
-
-import org.eclipse.jem.java.Method;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Method Proxy</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This is just a wrapper of a java Method. It allows access to the method but doesn't duplicate the interface for it.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.MethodProxy#getMethod <em>Method</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getMethodProxy()
- * @model 
- * @generated
- */
-
-
-public interface MethodProxy extends EOperation{
-	/**
-	 * Returns the value of the '<em><b>Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Method</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Method</em>' reference.
-	 * @see #setMethod(Method)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getMethodProxy_Method()
-	 * @model required="true"
-	 * @generated
-	 */
-	Method getMethod();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.MethodProxy#getMethod <em>Method</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Method</em>' reference.
-	 * @see #getMethod()
-	 * @generated
-	 */
-	void setMethod(Method value);
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/ParameterDecorator.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/ParameterDecorator.java
deleted file mode 100644
index ac5752f..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/ParameterDecorator.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.jem.internal.beaninfo;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ParameterDecorator.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:00 $ 
- */
-
-
-import org.eclipse.jem.java.JavaParameter;
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Parameter Decorator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.ParameterDecorator#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.ParameterDecorator#getParameter <em>Parameter</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getParameterDecorator()
- * @model 
- * @generated
- */
-
-
-public interface ParameterDecorator extends FeatureDecorator{
-	/**
-	 * Returns the value of the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The name is explicit here because unlike the other feature decorators, the name does not come from the object being decorated.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getParameterDecorator_Name()
-	 * @model 
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.ParameterDecorator#getName <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Name</em>' attribute.
-	 * @see #getName()
-	 * @generated
-	 */
-	void setName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Parameter</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The JavaParameter that this ParameterDecorator is decorating. Can't use eDecorates in this.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Parameter</em>' reference.
-	 * @see #setParameter(JavaParameter)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getParameterDecorator_Parameter()
-	 * @model transient="true"
-	 * @generated
-	 */
-	JavaParameter getParameter();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.ParameterDecorator#getParameter <em>Parameter</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Parameter</em>' reference.
-	 * @see #getParameter()
-	 * @generated
-	 */
-	void setParameter(JavaParameter value);
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/PropertyDecorator.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/PropertyDecorator.java
deleted file mode 100644
index 682ba18..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/PropertyDecorator.java
+++ /dev/null
@@ -1,346 +0,0 @@
-package org.eclipse.jem.internal.beaninfo;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: PropertyDecorator.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:00 $ 
- */
-
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClassifier;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Property Decorator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isBound <em>Bound</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isConstrained <em>Constrained</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isDesignTime <em>Design Time</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isAlwaysIncompatible <em>Always Incompatible</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getFilterFlags <em>Filter Flags</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getPropertyEditorClass <em>Property Editor Class</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getReadMethod <em>Read Method</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getWriteMethod <em>Write Method</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator()
- * @model 
- * @generated
- */
-
-
-public interface PropertyDecorator extends FeatureDecorator{
-	/**
-	 * Returns the value of the '<em><b>Bound</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Bound</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Bound</em>' attribute.
-	 * @see #isSetBound()
-	 * @see #unsetBound()
-	 * @see #setBound(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_Bound()
-	 * @model unsettable="true"
-	 * @generated
-	 */
-	boolean isBound();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isBound <em>Bound</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Bound</em>' attribute.
-	 * @see #isSetBound()
-	 * @see #unsetBound()
-	 * @see #isBound()
-	 * @generated
-	 */
-	void setBound(boolean value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isBound <em>Bound</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetBound()
-	 * @see #isBound()
-	 * @see #setBound(boolean)
-	 * @generated
-	 */
-	void unsetBound();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isBound <em>Bound</em>}' attribute is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>Bound</em>' attribute is set.
-	 * @see #unsetBound()
-	 * @see #isBound()
-	 * @see #setBound(boolean)
-	 * @generated
-	 */
-	boolean isSetBound();
-
-	/**
-	 * Returns the value of the '<em><b>Constrained</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Constrained</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Constrained</em>' attribute.
-	 * @see #isSetConstrained()
-	 * @see #unsetConstrained()
-	 * @see #setConstrained(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_Constrained()
-	 * @model unsettable="true"
-	 * @generated
-	 */
-	boolean isConstrained();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isConstrained <em>Constrained</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Constrained</em>' attribute.
-	 * @see #isSetConstrained()
-	 * @see #unsetConstrained()
-	 * @see #isConstrained()
-	 * @generated
-	 */
-	void setConstrained(boolean value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isConstrained <em>Constrained</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetConstrained()
-	 * @see #isConstrained()
-	 * @see #setConstrained(boolean)
-	 * @generated
-	 */
-	void unsetConstrained();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isConstrained <em>Constrained</em>}' attribute is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>Constrained</em>' attribute is set.
-	 * @see #unsetConstrained()
-	 * @see #isConstrained()
-	 * @see #setConstrained(boolean)
-	 * @generated
-	 */
-	boolean isSetConstrained();
-
-	/**
-	 * Returns the value of the '<em><b>Design Time</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Design Time</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * If not set, then normal default processing.
-	 * 
-	 * If set true, then this property is a design time property. This means it will show up in the property sheet, but it won't be able to be connected to at runtime. It may not even be a true bean property but instead the builder will know how to handle it.
-	 * 
-	 * If set false, then this property will not show up on the property sheet, but will be able to be connected to for runtime.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Design Time</em>' attribute.
-	 * @see #isSetDesignTime()
-	 * @see #unsetDesignTime()
-	 * @see #setDesignTime(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_DesignTime()
-	 * @model unsettable="true"
-	 * @generated
-	 */
-	boolean isDesignTime();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isDesignTime <em>Design Time</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Design Time</em>' attribute.
-	 * @see #isSetDesignTime()
-	 * @see #unsetDesignTime()
-	 * @see #isDesignTime()
-	 * @generated
-	 */
-	void setDesignTime(boolean value);
-
-	/**
-	 * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isDesignTime <em>Design Time</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSetDesignTime()
-	 * @see #isDesignTime()
-	 * @see #setDesignTime(boolean)
-	 * @generated
-	 */
-	void unsetDesignTime();
-
-	/**
-	 * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isDesignTime <em>Design Time</em>}' attribute is set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return whether the value of the '<em>Design Time</em>' attribute is set.
-	 * @see #unsetDesignTime()
-	 * @see #isDesignTime()
-	 * @see #setDesignTime(boolean)
-	 * @generated
-	 */
-	boolean isSetDesignTime();
-
-	/**
-	 * Returns the value of the '<em><b>Always Incompatible</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Always Incompatible</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * If set true, then when multiple objects are selected, this property is always incompatible with each other. So in this case the property will not show up on the property sheet if more than one object has been selected.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Always Incompatible</em>' attribute.
-	 * @see #setAlwaysIncompatible(boolean)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_AlwaysIncompatible()
-	 * @model 
-	 * @generated
-	 */
-	boolean isAlwaysIncompatible();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#isAlwaysIncompatible <em>Always Incompatible</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Always Incompatible</em>' attribute.
-	 * @see #isAlwaysIncompatible()
-	 * @generated
-	 */
-	void setAlwaysIncompatible(boolean value);
-
-	/**
-	 * Returns the value of the '<em><b>Filter Flags</b></em>' attribute list.
-	 * The list contents are of type {@link java.lang.String}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Filter Flags</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Filter Flags</em>' attribute list.
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_FilterFlags()
-	 * @model type="java.lang.String"
-	 * @generated
-	 */
-	EList getFilterFlags();
-
-	/**
-	 * Returns the value of the '<em><b>Property Editor Class</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Property Editor Class</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Property Editor Class</em>' reference.
-	 * @see #setPropertyEditorClass(JavaClass)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_PropertyEditorClass()
-	 * @model 
-	 * @generated
-	 */
-	JavaClass getPropertyEditorClass();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getPropertyEditorClass <em>Property Editor Class</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Property Editor Class</em>' reference.
-	 * @see #getPropertyEditorClass()
-	 * @generated
-	 */
-	void setPropertyEditorClass(JavaClass value);
-
-	/**
-	 * Returns the value of the '<em><b>Read Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Read Method</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Read Method</em>' reference.
-	 * @see #setReadMethod(Method)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_ReadMethod()
-	 * @model 
-	 * @generated
-	 */
-	Method getReadMethod();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getReadMethod <em>Read Method</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Read Method</em>' reference.
-	 * @see #getReadMethod()
-	 * @generated
-	 */
-	void setReadMethod(Method value);
-
-	/**
-	 * Returns the value of the '<em><b>Write Method</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Write Method</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Write Method</em>' reference.
-	 * @see #setWriteMethod(Method)
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_WriteMethod()
-	 * @model 
-	 * @generated
-	 */
-	Method getWriteMethod();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.PropertyDecorator#getWriteMethod <em>Write Method</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Write Method</em>' reference.
-	 * @see #getWriteMethod()
-	 * @generated
-	 */
-	void setWriteMethod(Method value);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model parameters=""
-	 * @generated
-	 */
-	EClassifier getPropertyType();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoAdapterFactory.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoAdapterFactory.java
deleted file mode 100644
index 4da967e..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoAdapterFactory.java
+++ /dev/null
@@ -1,218 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoAdapterFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:17:59 $ 
- */
-import java.lang.ref.ReferenceQueue;
-import java.lang.ref.WeakReference;
-import java.util.*;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.jem.internal.java.beaninfo.IIntrospectionAdapter;
-import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry;
-/**
- * BeaninfoAdapterFactory - the factory for 
- * beaninfo introspection to populate the Java Model.
- * Creation date: (11/1/2000 11:52:55 AM)
- * @author: Administrator
- */
-public class BeaninfoAdapterFactory extends AdapterFactoryImpl {
-	protected IBeaninfoSupplier fInfoSupplier;
-
-	// Maintain a mapping of the source objects to the adaptors which have
-	// introspected from them.  This allows a close operation to force those
-	// adapters to clear out the data. It also allows for marking an adapter as stale
-	// so that next time it introspects it will re-get the data.
-	// 
-	// This is a WeakReference so that we don't hold onto adapters that were
-	// explicitly removed in other ways.
-	private Map fIntrospected = new HashMap();	// NOTE: This is to be accessed only under sync(this)!
-	private ReferenceQueue fRefQ = new ReferenceQueue();
-	private static class WeakValue extends WeakReference {
-		private Object key;
-		public WeakValue(Object aKey, Object value, ReferenceQueue que) {
-			super(value, que);
-			key = aKey;
-		}
-
-		public Object getKey() {
-			return key;
-		}
-	};
-
-	public BeaninfoAdapterFactory(IBeaninfoSupplier supplier) {
-		fInfoSupplier = supplier;
-	}
-	
-	public Adapter createAdapter(Notifier target, Object type) {
-		if (type == IIntrospectionAdapter.ADAPTER_KEY) {
-			return new BeaninfoClassAdapter(this);
-		} else
-			return new BeaninfoSuperAdapter();
-	}
-	
-	/**
-	 * @see org.eclipse.emf.common.notify.AdapterFactory#isFactoryForType(Object)
-	 */
-	public boolean isFactoryForType(Object type) {
-		return IIntrospectionAdapter.ADAPTER_KEY == type || BeaninfoSuperAdapter.ADAPTER_KEY == type;
-	}	
-
-	public ProxyFactoryRegistry getRegistry() {
-		return fInfoSupplier.getRegistry();
-	}
-	
-	public boolean isRegistryCreated() {
-		return fInfoSupplier.isRegistryCreated();
-	}
-
-	public ProxyFactoryRegistry recycleRegistry() {
-		markAllStale(); // At this point in time we need to mark them all stale because we are recycling. MarkAllStale also closes the registry.
-		return getRegistry();
-	}
-
-	/**
-	 * Close ALL adapters. Also remove the adapters so that they
-	 * are not being held onto. This means we are closing the project or removing the nature.
-	 */
-	public void closeAll(boolean clearResults) {
-		processQueue();
-		synchronized (this) {
-			// We are going to be removing all of them, so just set introspected to an empty one
-			// and use the real one. This way we won't get concurrent modifications as we remove
-			// it from the notifier removeAdapter.
-			Map intr = fIntrospected;
-			fIntrospected = Collections.EMPTY_MAP;	// Since we are closing we can keep the unmodifiable one here.
-			Iterator i = intr.values().iterator();
-			while (i.hasNext()) {
-				BeaninfoClassAdapter a = (BeaninfoClassAdapter) ((WeakValue) i.next()).get();
-				if (a != null) {
-					if (clearResults)
-						a.clearIntrospection();
-					Notifier notifier = a.getTarget();
-					if (notifier != null)
-						notifier.eAdapters().remove(a);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Mark ALL adapters as stale. This occurs because we've recycled the registry.
-	 */
-	public void markAllStale() {
-		ProxyFactoryRegistry fact = isRegistryCreated() ? getRegistry() : null;
-		processQueue();
-		synchronized (this) {
-			Iterator i = fIntrospected.values().iterator();
-			while (i.hasNext()) {
-				BeaninfoClassAdapter a = (BeaninfoClassAdapter) ((WeakValue) i.next()).get();
-				if (a != null)
-					a.markStaleFactory(fact);
-			}
-			fInfoSupplier.closeRegistry();	// Get rid of the registry now since it is not needed. This way we won't accidentily hold onto it when not needed.
-		}
-	}
-	/**
-	 * Mark the introspection as stale for a source object. Also clear results if told to.
-	 * @param sourceName Fully qualified source name, use type for reflection, i.e. "a.b.c.Class1$InnerClass"
-	 * @param clearResults clear out the results. If false, they will be reused if possible on recycle.
-	 */
-	public void markStaleIntrospection(String sourceName, boolean clearResults) {
-		processQueue();
-		synchronized (this) {
-			WeakValue ref = (WeakValue) fIntrospected.get(sourceName);
-			if (ref != null) {
-				BeaninfoClassAdapter a = (BeaninfoClassAdapter) ref.get();
-				if (a != null) {
-					if (clearResults)
-						a.clearIntrospection();
-					a.markStaleFactory(isRegistryCreated() ? getRegistry() : null); // Mark it stale with the current registry.
-				}
-			}
-		}
-	}
-
-	/**
-	 * Register an adapter for introspection.
-	 * @param sourceName Fully qualified source name, use type for reflection, i.e. "a.b.c.Class1$InnerClass"
-	 * @param adapter The adapter to register
-	 */
-	public void registerIntrospection(String sourceName, BeaninfoClassAdapter adapter) {
-		// Create it as a weak reference so that it doesn't hold onto the adapter if it is ever removed
-		// and thrown away (or the MOF resource itself is thrown away).
-		processQueue();
-		synchronized (this) {
-			fIntrospected.put(sourceName, new WeakValue(sourceName, adapter, fRefQ));
-		}
-	}
-
-	/**
-	 * Unregister the introspection and remove the adapter and clear out any introspection it may of done.
-	 * @param sourceName Fully qualified source name, use type for reflection, i.e. "a.b.c.Class1$InnerClass"
-	 */
-	public void unregisterIntrospection(String sourceName) {
-		processQueue();
-		synchronized (this) {
-			WeakValue ref = (WeakValue) fIntrospected.remove(sourceName);
-			if (ref != null) {
-				BeaninfoClassAdapter a = (BeaninfoClassAdapter) ref.get();
-				a.clearIntrospection();
-				a.getTarget().eAdapters().remove(a);
-			}
-		}
-	}
-
-	/**
-	 * Unregister this class and all inner classes (denoted by having same name plus '$' plus stuff)
-	 * @param sourceName Fully qualified source name, use type for reflection, i.e. "a.b.c.Class1$InnerClass"
-	 */
-	public void unregisterIntrospectionPlusInner(String sourceName) {
-		processQueue();
-		String sourceNameForInner = sourceName + '$';
-		synchronized (this) {
-			Iterator itr = fIntrospected.entrySet().iterator();
-			while (itr.hasNext()) {
-				Map.Entry entry = (Map.Entry) itr.next();
-				String entryName = (String) entry.getKey();
-				if (entryName.equals(sourceName) || entryName.startsWith(sourceNameForInner)) {
-					// It is the item or one of its inner classes.
-					WeakValue ref = (WeakValue) entry.getValue();
-					itr.remove();	// Since I removed it BEFORE sending removeAdapter, I won't get a concurrentmodification exception from removeAdapter also removing it, since it won't be there then.
-					BeaninfoClassAdapter a = (BeaninfoClassAdapter) ref.get();
-					a.clearIntrospection();
-					a.getTarget().eAdapters().remove(a);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Remove adapter. This happens in the case that adapter is being removed and
-	 * we want to remove it from our list. This is an internal API only for use by
-	 * the adapter itself.
-	 */
-	public synchronized void removeAdapter(BeaninfoClassAdapter a) {
-		fIntrospected.remove(a.getJavaClass().getQualifiedNameForReflection());
-	}
-
-	private synchronized void processQueue() {
-		WeakValue wv;
-		while ((wv = (WeakValue) fRefQ.poll()) != null) {
-			fIntrospected.remove(wv.getKey());
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoClassAdapter.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoClassAdapter.java
deleted file mode 100644
index 5f3d951..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoClassAdapter.java
+++ /dev/null
@@ -1,1990 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoClassAdapter.java,v $
- *  $Revision: 1.6 $  $Date: 2004/02/20 00:43:53 $ 
- */
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.lang.ref.WeakReference;
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.*;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.ESuperAdapter;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreEList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-
-import org.eclipse.jem.internal.beaninfo.*;
-import org.eclipse.jem.internal.proxy.core.*;
-
-import com.ibm.etools.emf.event.EventFactory;
-import com.ibm.etools.emf.event.EventUtil;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.internal.java.beaninfo.IIntrospectionAdapter;
-import org.eclipse.jem.java.impl.JavaClassImpl;
-
-/**
- * Beaninfo adapter for doing introspection on a Java Model class.
- */
-
-public class BeaninfoClassAdapter extends AdapterImpl implements IIntrospectionAdapter {
-	
-	/**
-	 * Clear out the introspection because introspection is being closed or removed from the project.
-	 * Don't want anything hanging around that we had done.
-	 */
-	public void clearIntrospection() {
-		if (beaninfo != null) {
-			beaninfo = null;
-		}
-		if (hasIntrospected) {
-			// Clear out the beandecorator if implicitly created.
-			Iterator beanItr = getJavaClass().getEAnnotations().iterator();
-			while (beanItr.hasNext()) {
-				EAnnotation dec = (EAnnotation) beanItr.next();
-				if (dec instanceof BeanDecorator) {
-					BeanDecorator decor = (BeanDecorator) dec;
-					decor.setDescriptorProxy(null);
-					decor.setDecoratorProxy(null);
-					if (decor.isImplicitlyCreated() == BeanDecorator.IMPLICIT_DECORATOR) {
-						beanItr.remove();
-						((InternalEObject) decor).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
-						break;
-					}
-				}
-			}
-		}
-	
-		if (hasIntrospectedProperties) {
-			// Clear out the features that we implicitly created.
-			Iterator propItr = getJavaClass().getEStructuralFeaturesGen().iterator();
-			while (propItr.hasNext()) {
-				EStructuralFeature prop = (EStructuralFeature) propItr.next();
-				Iterator pdItr = prop.getEAnnotations().iterator();
-				while (pdItr.hasNext()) {
-					EAnnotation dec = (EAnnotation) pdItr.next();
-					if (dec instanceof PropertyDecorator) {
-						PropertyDecorator pd = (PropertyDecorator) dec;
-						pd.setDescriptorProxy(null);
-						pd.setDecoratorProxy(null);
-						if (pd.isImplicitlyCreated() != PropertyDecorator.NOT_IMPLICIT) {
-							pdItr.remove(); // Remove it from the property.
-							 ((InternalEObject) pd).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
-						}
-						if (pd.isImplicitlyCreated() == PropertyDecorator.IMPLICIT_DECORATOR_AND_FEATURE) {
-							propItr.remove(); // Remove the feature itself
-							 ((InternalEObject) prop).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
-						}
-						break;
-					}
-				}
-			}
-	
-			hasIntrospectedProperties = false;
-		}
-	
-		if (hasIntrospectedOperations) {
-			// Clear out the operations that we implicitly created.
-			Iterator operItr = getJavaClass().getEOperationsGen().iterator();
-			while (operItr.hasNext()) {
-				EOperation oper = (EOperation) operItr.next();
-				Iterator mdItr = oper.getEAnnotations().iterator();
-				while (mdItr.hasNext()) {
-					EAnnotation dec = (EAnnotation) mdItr.next();
-					if (dec instanceof MethodDecorator) {
-						MethodDecorator md = (MethodDecorator) dec;
-						md.setDescriptorProxy(null);
-						md.setDecoratorProxy(null);
-						if (md.isImplicitlyCreated() != MethodDecorator.NOT_IMPLICIT) {
-							mdItr.remove(); // Remove it from the operation.
-							 ((InternalEObject) md).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
-						}
-						if (md.isImplicitlyCreated() == MethodDecorator.IMPLICIT_DECORATOR_AND_FEATURE) {
-							operItr.remove(); // Remove the oepration itself
-							 ((InternalEObject) oper).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
-						}
-						break;
-					}
-				}
-			}
-	
-			hasIntrospectedOperations = false;
-		}
-		
-		if (hasIntrospectedEvents) {
-			// Clear out the eventsthat we implicitly created.
-			Iterator evtItr = getJavaClass().getEventsGen().iterator();
-			while (evtItr.hasNext()) {
-				JavaEvent evt = (JavaEvent) evtItr.next();
-				Iterator edItr = evt.getEAnnotations().iterator();
-				while (edItr.hasNext()) {
-					EAnnotation dec = (EAnnotation) edItr.next();
-					if (dec instanceof EventSetDecorator) {
-						EventSetDecorator ed = (EventSetDecorator) dec;
-						ed.setDescriptorProxy(null);
-						ed.setDecoratorProxy(null);
-						if (ed.isImplicitlyCreated() != EventSetDecorator.NOT_IMPLICIT) {
-							edItr.remove(); // Remove it from the event.
-							 ((InternalEObject) ed).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
-						}
-						if (ed.isImplicitlyCreated() == EventSetDecorator.IMPLICIT_DECORATOR_AND_FEATURE) {
-							evtItr.remove(); // Remove the event itself
-							 ((InternalEObject) evt).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
-						}
-						break;
-					}
-				}
-			}
-	
-			hasIntrospectedEvents = false;
-		}		
-	}
-	
-	private void clearAll() {
-		if (beaninfo != null) {
-			beaninfo = null;
-		}
-		// Clear out the annotations.
-		getJavaClass().getEAnnotations().clear();
-		// Clear out the attributes.
-		getJavaClass().getEStructuralFeaturesGen().clear();	
-		// Clear out the operations.
-		getJavaClass().getEOperationsGen().clear();
-		// Clear out the events.
-		getJavaClass().getEventsGen().clear();
-	}
-	
-
-	/**
-	 * @version 	1.0
-	 * @author
-	 */
-
-	protected static final URI BAD_URI = URI.createURI("baduri"); //$NON-NLS-1$
-	// A URI that will never resolve. Used to mark an object as no longer valid.
-	protected boolean hasIntrospected;
-	protected boolean isIntrospecting;
-
-	protected boolean hasIntrospectedProperties;
-	protected boolean isIntrospectingProperties;
-
-	protected boolean isDoingAllProperties;
-
-	protected boolean hasIntrospectedOperations;
-	protected boolean isIntrospectingOperations;
-
-	protected boolean isDoingAllOperations;
-
-	protected boolean hasIntrospectedEvents;
-	protected boolean isIntrospectingEvents;
-
-	protected boolean isDoingAllEvents;
-
-	protected final static int
-		NEVER_RETRIEVED_EXTENSION_DOCUMENT = 0,
-		RETRIEVED_ROOT_ONLY = 1,
-		RETRIEVED_FULL_DOCUMENT = 2;
-	protected int retrievedExtensionDocument = NEVER_RETRIEVED_EXTENSION_DOCUMENT;
-
-	protected IBeanProxy beaninfo;
-	protected BeaninfoAdapterFactory adapterFactory;
-
-	private WeakReference staleFactory; // When reference not null, then this factory is a stale factory and 
-	// a new one is needed when the factory returned == this one.
-	// It is a WeakRef so that if the factory goes away on its own
-	// that we don't hold onto it.
-
-	// A temporary hashset of the local properties. Used when creating a new
-	// property to use the old one. It is cleared out at the end of attribute introspection.
-	// It is only built once during attribute introspection so that we have the snapshot
-	// of before the introspection (i.e. the ones that were specifically added by users
-	// and not through introspection). The ones that we are adding do not need to be checked
-	// against each other because there will not be conflicts.
-	//
-	// Also at the end, we will go through the properties and see if it exists in the fPropertiesMap and
-	// it is not the value Boolean.FALSE in the map, and the entry is implicitly created. This means this
-	// was an implicit entry from the previous introspection and was not re-created in this introspection.
-	private HashMap propertiesMap;
-	private List featuresRealList; // Temp pointer to the real list we are building. It is the true list in java class.
-	
-	// A temporary hashmap of the local operations. Used when creating a new
-	// operation to reuse the old one. It is cleared out at the end of operation introspection.
-	// It is only built once during operation introspection so that we have the snapshot
-	// of before the introspection.
-	private HashMap operationsMap;
-	private EList operationsRealList; // Temp pointer to the real list we are building. It is the true list in java class.
-	// A set of operations as we create them so that we which ones we added/kept and which are no longer in use and can be removed.	
-	// If they aren't in this set at the end, then we know it should be removed if it is one we had created in the past.
-	private HashSet newoperations; 
-
-	// A temporary hashset of the local events. Used when creating a new
-	// event to use the old one. It is cleared out at the end of event introspection.
-	// It is only built once during event introspection so that we have the snapshot
-	// of before the introspection (i.e. the ones that were specifically added by users
-	// and not through introspection). The ones that we are adding do not need to be checked
-	// against each other because there will not be conflicts.
-	//
-	// Also at the end, we will go through the events and see if it exists in the fEventsMap and
-	// it is not the value Boolean.FALSE in the map, and the entry is implicitly created. This means this
-	// was an implicit entry from the previous introspection and was not re-created in this introspection.
-	private HashMap eventsMap;
-	private EList eventsRealList; // Temp pointer to the real list we are building. It is the true list in java class.
-
-	private Boolean defaultBound;
-	// Whether this class is default bound or not (i.e. does this class implement add/remove property change listener. If null, then not yet queried.
-
-	public BeaninfoClassAdapter(BeaninfoAdapterFactory factory) {
-		super();
-		adapterFactory = factory;
-	}
-
-	/*
-	 * Answer whether this java class is still connected to a live resource. It happens during unloading
-	 * that we are no longer connected to a resource (because the javapackage has already been processed and
-	 * unloaded) or the resource is in the process of being unloaded, but the unloading process will still 
-	 * call accessors on this java class, which will come over here. In those cases we should treat as
-	 * introspection completed without doing anything.
-	 */
-	protected boolean isResourceConnected() {
-		Resource res = getJavaClass().eResource();
-		return res != null && res.isLoaded();
-	}
-
-	protected final ProxyFactoryRegistry getRegistry() {
-		ProxyFactoryRegistry factory = adapterFactory.getRegistry();
-		if (staleFactory != null && factory == staleFactory.get()) {
-			// We need to recycle the factory. The returned factory is the same factory when it went stale.
-			factory = adapterFactory.recycleRegistry();
-		}
-		staleFactory = null; // Whether we recycled or not, it is no longer stale.
-		return factory;
-	}
-
-	/**
-	 * Return whether this adapter has been marked as stale. Needed
-	 * by the users so that they can recycle if necessary.
-	 */
-	public boolean isStale() {
-		return staleFactory != null;
-	}
-
-	protected BeaninfoAdapterFactory getAdapterFactory() {
-		return adapterFactory;
-	}
-
-	public boolean isAdapterForType(Object key) {
-		return IIntrospectionAdapter.ADAPTER_KEY.equals(key);
-	}
-
-	/**
-	 * This map is keyed by name. It is a snapshot of the properties at the
-	 * time the introspection/reflection of properties was started. It is used
-	 * for quick lookup.
-	 *
-	 * Once a property is used, the entry is replaced with a Boolean.FALSE. This
-	 * is so we know which have already been used and at the end, which need
-	 * to be deleted since they weren't used (i.e. the ones that aren't FALSE).
-	 */
-	protected HashMap getPropertiesMap() {
-		if (propertiesMap == null) {
-			List localFeatures = (List) getJavaClass().getEStructuralFeaturesGen();
-			propertiesMap = new HashMap(localFeatures.size());
-			Iterator itr = localFeatures.iterator();
-			while (itr.hasNext()) {
-				EStructuralFeature feature = (EStructuralFeature) itr.next();
-				propertiesMap.put(feature.getName(), feature);
-			}
-		}
-		return propertiesMap;
-	}
-
-	/**
-	 * Get it once so that we don't need to keep getting it over and over.
-	 */
-	protected List getFeaturesList() {
-		if (featuresRealList == null)
-			featuresRealList = (List) getJavaClass().getEStructuralFeaturesGen();
-		return featuresRealList;
-	}
-
-	/**
-	 * The map is keyed by longName. If a Method is passed in, then the
-	 * id of the method is used (this is in reflection), if an IBeanProxy
-	 * is passed in, then an id is created and looked up (this is in introspection).
-	 * The map is used for a quick lookup of behaviors at the time introspection
-	 * of behaviors started.
-	 */
-	protected HashMap getOperationsMap() {
-		if (operationsMap == null) {
-			List locals = (List) getJavaClass().getEOperationsGen();
-			int l = locals.size();
-			operationsMap = new HashMap(l);
-			for (int i = 0; i < l; i++) {
-				EOperation op = (EOperation) locals.get(i);
-				operationsMap.put(formLongName(op), op);
-			}
-		}
-		return operationsMap;
-	}
-
-	/**
-	 * Get it once so that we don't need to keep getting it over and over.
-	 */
-	protected EList getOperationsList() {
-		if (operationsRealList == null)
-			operationsRealList = getJavaClass().getEOperationsGen();
-		return operationsRealList;
-	}
-
-	/**
-	 * The map is keyed by name.
-	 * The map is used for a quick lookup of events at the time introspection
-	 * of events started.
-	 *
-	 * Once an event is used, the entry is replaced with a Boolean.FALSE. This
-	 * is so we know which have already been used and at the end, which need
-	 * to be deleted since they weren't used (i.e. the ones that aren't FALSE).
-	 */
-	protected HashMap getEventsMap() {
-		if (eventsMap == null) {
-			List locals = (List) getJavaClass().getEventsGen();
-			eventsMap = new HashMap(locals.size());
-			Iterator itr = locals.iterator();
-			while (itr.hasNext()) {
-				JavaEvent event = (JavaEvent) itr.next();
-				eventsMap.put(event.getName(), event);
-			}
-		}
-		return eventsMap;
-	}
-
-	/**
-	 * Get it once so that we don't need to keep getting it over and over.
-	 */
-	protected EList getEventsList() {
-		if (eventsRealList == null)
-			eventsRealList = getJavaClass().getEventsGen();
-		return eventsRealList;
-	}
-
-	public void introspectIfNecessary() {
-		if (!hasIntrospected && !isIntrospecting) {
-			try {
-				introspect();
-			} catch (Throwable e) {
-				hasIntrospected = false;
-				BeaninfoPlugin.getPlugin().getLogger().log(
-					new Status(
-						IStatus.WARNING,
-						BeaninfoPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
-						0,
-						MessageFormat.format(
-							BeaninfoPlugin.getPlugin().getDescriptor().getResourceString(BeaninfoProperties.INTROSPECTFAILED),
-							new Object[] { getJavaClass().getJavaName(), ""}),
-						e));
-			}
-		}
-	}
-
-	public void introspect() {
-		isIntrospecting = true;
-		try {
-			if (isResourceConnected()) {
-				// See if are valid kind of class.
-				if (getJavaClass().getKind() == TypeKind.UNDEFINED_LITERAL) {
-					// Not valid, don't let any further introspection occur.
-					if (retrievedExtensionDocument == RETRIEVED_FULL_DOCUMENT) {
-						// We've been defined at one point. Need to clear everything and step back
-						// to never retrieved so that we now get the root added in. If we had been
-						// previously defined, then we didn't have root. We will have to lose
-						// all other updates too. But they can come back when we're defined.
-						clearAll();
-						retrievedExtensionDocument = NEVER_RETRIEVED_EXTENSION_DOCUMENT;
-					}
-					if (retrievedExtensionDocument == NEVER_RETRIEVED_EXTENSION_DOCUMENT)
-						applyExtensionDocument(true);	// Add in Root stuff so that it will work correctly even though undefined.					
-					hasIntrospected = hasIntrospectedOperations = hasIntrospectedProperties = hasIntrospectedEvents = true;
-				} else {
-					if (retrievedExtensionDocument == RETRIEVED_ROOT_ONLY) {
-						// We need to clear out EVERYTHING because we are coming from an undefined to a defined.
-						// Nothing previous is now valid. (Particually the root stuff).
-						clearAll();
-					}
-					if (retrievedExtensionDocument != RETRIEVED_FULL_DOCUMENT)
-						applyExtensionDocument(false); // Apply the extension doc before we do anything.
-					BeanDecorator decor = Utilities.getBeanDecorator(getJavaClass());
-					if (decor == null || decor.isDoBeaninfo()) {
-						IBeanTypeProxy targetType = null;
-						ProxyFactoryRegistry registry = getRegistry();
-						if (registry != null && registry.isValid())
-							targetType =
-								registry.getBeanTypeProxyFactory().getBeanTypeProxy(getJavaClass().getQualifiedNameForReflection());
-						if (targetType != null) {
-							if (targetType.getInitializationError() == null) {
-								// If an exception is thrown, treat this as no proxy, however log it because we
-								// shouldn't have exceptions during introspection, but if we do it should be logged
-								// so it can be corrected.
-								try {
-									beaninfo =
-										getProxyConstants().getIntrospectProxy().invoke(
-											null,
-											new IBeanProxy[] { targetType, getRegistry().getBeanProxyFactory().createBeanProxyWith(false)});
-								} catch (ThrowableProxy e) {
-									BeaninfoPlugin.getPlugin().getLogger().log(
-										new Status(
-											IStatus.WARNING,
-											BeaninfoPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
-											0,
-											MessageFormat.format(
-												BeaninfoPlugin.getPlugin().getDescriptor().getResourceString(
-													BeaninfoProperties.INTROSPECTFAILED),
-												new Object[] { getJavaClass().getJavaName(), ""}),
-											e));
-								}
-							} else {
-								// The class itself couldn't be initialized. Just log it, but treat as no proxy.
-								BeaninfoPlugin.getPlugin().getLogger().log(
-									new Status(
-										IStatus.WARNING,
-										BeaninfoPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
-										0,
-										MessageFormat.format(
-											BeaninfoPlugin.getPlugin().getDescriptor().getResourceString(
-												BeaninfoProperties.INTROSPECTFAILED),
-											new Object[] { getJavaClass().getJavaName(), targetType.getInitializationError()}),
-										null));
-							}
-						} else {
-							// The class itself could not be found. Just log it, but treat as no proxy.
-							BeaninfoPlugin.getPlugin().getLogger().log(
-								new Status(
-									IStatus.INFO,
-									BeaninfoPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
-									0,
-									MessageFormat.format(
-										BeaninfoPlugin.getPlugin().getDescriptor().getResourceString(BeaninfoProperties.INTROSPECTFAILED),
-										new Object[] { getJavaClass().getJavaName(), "Class not found"}),
-									null));
-						}
-					}
-					calculateBeanDescriptor(decor);
-					hasIntrospected = true;
-				}
-				getAdapterFactory().registerIntrospection(getJavaClass().getQualifiedNameForReflection(), this);
-			}
-		} finally {
-			isIntrospecting = false;
-		}
-	}
-
-	private static final String OVERRIDE_EXTENSION = ".override";	//$NON-NLS-1$
-	private static final String ROOT = "..ROOT.."; //$NON-NLS-1$
-	private static final String ROOT_OVERRIDE = "..ROOT.."+OVERRIDE_EXTENSION;	 //$NON-NLS-1$
-	
-	protected void applyExtensionDocument(boolean rootOnly) {
-		boolean alreadyRetrievedRoot = retrievedExtensionDocument == RETRIEVED_ROOT_ONLY;
-		retrievedExtensionDocument = rootOnly ? RETRIEVED_ROOT_ONLY : RETRIEVED_FULL_DOCUMENT;
-		JavaClass jc = getJavaClass();
-		Resource mergeIntoResource = jc.eResource();
-		ResourceSet rset = mergeIntoResource.getResourceSet();
-		if (!alreadyRetrievedRoot && (rootOnly || jc.getSupertype() == null)) {
-			// It is a root class. Need to merge in root stuff.
-			BeaninfoPlugin.OverridePathSearch searcher =
-				BeaninfoPlugin.getPlugin().getOverrideSearch(ROOT);
-			applyExtensionDocTo(rset, jc, ROOT_OVERRIDE, searcher);
-			if (rootOnly)
-				return;
-		}
-
-		String baseOverridefile = getJavaClass().getName() + OVERRIDE_EXTENSION; // getName() returns inner classes with "$" notation, which is good. //$NON-NLS-1$
-		BeaninfoPlugin.OverridePathSearch searcher =
-			BeaninfoPlugin.getPlugin().getOverrideSearch(getJavaClass().getJavaPackage().getPackageName());		
-		applyExtensionDocTo(rset, jc, baseOverridefile, searcher);
-	}
-	
-	protected void applyExtensionDocTo(ResourceSet rset, EObject mergeIntoEObject, String baseOverridefile, BeaninfoPlugin.OverridePathSearch searcher) {
-		for (String[] paths = searcher.getNextPath(); paths != null; paths = searcher.getNextPath()) {
-			String overridepath = searcher.getUnmatchedPath();
-			String overridefile = baseOverridefile;
-			if (overridepath.length() > 0)
-				overridefile = overridepath + '/' + overridefile;
-			for (int i = 0; i < paths.length; i++) {
-				String filename = paths[i] + overridefile;
-				Resource overrideRes = null;
-				URI uri = URI.createURI(filename);
-				try {
-					overrideRes = rset.getResource(uri, true);
-		
-					EventUtil util = EventFactory.eINSTANCE.createEventUtil(mergeIntoEObject, rset);
-					util.doForwardEvents(overrideRes.getContents());
-				} catch (WrappedException e) {
-					// FileNotFoundException is ok
-					if (!(e.exception() instanceof FileNotFoundException)) {
-						if (e.exception() instanceof IOException && e.getMessage() == null)
-							;	// TODO remove this when bugzilla fixed so that throws FileNotFound again. https://bugs.eclipse.org/bugs/show_bug.cgi?id=51649
-						else if (e.exception() instanceof CoreException
-							&& ((CoreException) e.exception()).getStatus().getCode() == IResourceStatus.RESOURCE_NOT_FOUND) {
-							// This is ok. Means uri_mapping not set so couldn't find in Workspace, also ok.
-						} else {
-							BeaninfoPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, BeaninfoPlugin.PI_BEANINFO, 0, "Error loading file\"" + filename + "\"", e.exception())); //$NON-NLS-1$ //$NON-NLS-2$						
-						}
-					}
-					overrideRes = rset.getResource(uri, false);
-					// In case it happened after creating resource but during load.					
-				} catch (Exception e) {
-					// Couldn't load it for some reason.
-					BeaninfoPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, BeaninfoPlugin.PI_BEANINFO, 0, "Error loading file\"" + filename + "\"", e)); //$NON-NLS-1$ //$NON-NLS-2$
-					overrideRes = rset.getResource(uri, false); // In case it happened after creating resource but during load.
-		
-				} finally {
-					if (overrideRes != null)
-						rset.getResources().remove(overrideRes); // We don't need it around once we do the merge.
-				}
-			}
-		}
-	}
-
-	/**
-	 * Return the target as a JavaClass 
-	 */
-	protected JavaClassImpl getJavaClass() {
-		return (JavaClassImpl) getTarget();
-	}
-
-	/**
-	 * Answer the beaninfo constants record
-	 */
-	protected BeaninfoProxyConstants getProxyConstants() {
-		return BeaninfoProxyConstants.getConstants(getRegistry());
-	}
-
-	/**
-	 * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getEStructuralFeatures()
-	 */
-	public EList getEStructuralFeatures() {
-		introspectProperties();
-		return getJavaClass().getEStructuralFeaturesGen();
-	}
-	
-	/**
-	 * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getAllProperties()
-	 */
-	public EList getAllProperties() {
-		return allProperties();
-	}	
-	
-	/**
-	 * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getEOperations()
-	 */
-	public EList getEOperations() {
-		return introspectOperations();
-	}
-	
-	/**
-	 * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getEAllOperations()
-	 */
-	public BasicEList getEAllOperations() {
-		return allOperations();
-	}
-	
-	/**
-	 * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getEvents()
-	 */
-	public EList getEvents() {
-		return introspectEvents();
-	}
-	
-	/**
-	 * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getAllEvents()
-	 */
-	public EList getAllEvents() {
-		return allEvents();
-	}					
-
-	/**
-	 * Fill in the BeanDescriptorDecorator.
-	 */
-	protected void calculateBeanDescriptor(BeanDecorator decor) {
-		// If there already is one, then we
-		// will use it. This allows merging with beanfinfo.
-		// If this was an implicit one left over from a previous introspection before going stale,
-		// this is OK because we always want a bean decorator from introspection. We will reuse it.
-
-		if (decor == null) {
-			decor = BeaninfoFactory.eINSTANCE.createBeanDecorator();
-			decor.setImplicitlyCreated(BeanDecorator.IMPLICIT_DECORATOR);
-			getJavaClass().getEAnnotations().add(decor);
-		}
-
-		if (beaninfo != null && decor.isMergeIntrospection()) {
-			decor.setDescriptorProxy(getProxyConstants().getBeanDescriptorProxy().invokeCatchThrowableExceptions(beaninfo));
-			decor.setMergeSuperPropertiesProxy(
-				((IBooleanBeanProxy) getProxyConstants().getIsMergeInheritedPropertiesProxy().invokeCatchThrowableExceptions(beaninfo))
-					.getBooleanValue());
-			decor.setMergeSuperBehaviorsProxy(
-				((IBooleanBeanProxy) getProxyConstants().getIsMergeInheritedMethodsProxy().invokeCatchThrowableExceptions(beaninfo))
-					.getBooleanValue());
-			decor.setMergeSuperEventsProxy(
-				((IBooleanBeanProxy) getProxyConstants().getIsMergeInheritedEventsProxy().invokeCatchThrowableExceptions(beaninfo))
-					.getBooleanValue());					
-		} else {
-			decor.setDescriptorProxy(null);
-			decor.setMergeSuperEventsProxy(null);
-			decor.setMergeSuperPropertiesProxy(null);
-			decor.setMergeSuperBehaviorsProxy(null);
-		}
-		decor.setDecoratorProxy(null);
-	}
-
-	/**
-	 * introspect the Properties
-	 */
-	protected void introspectProperties() {
-		introspectIfNecessary();
-		if (!isIntrospecting && !isIntrospectingProperties && !hasIntrospectedProperties) {
-			isIntrospectingProperties = true;
-			try {
-				if (isResourceConnected()) {
-					BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
-					if (bd == null || bd.isIntrospectProperties()) {
-						// bd wants properties to be introspected/reflected
-						if (beaninfo != null) {
-							IArrayBeanProxy props =
-								(IArrayBeanProxy) getProxyConstants().getPropertyDescriptorsProxy().invokeCatchThrowableExceptions(
-									beaninfo);
-							if (props != null) {
-								int propSize = props.getLength();
-								for (int i = 0; i < propSize; i++)
-									calculateProperty(props.getCatchThrowableException(i));
-							}
-						} else
-							reflectProperties(); // No beaninfo, so use reflection to create properties
-					}
-
-					// Now go through the list and remove those that should be removed.
-					Map oldLocals = getPropertiesMap();
-					Iterator itr = getFeaturesList().iterator();
-					while (itr.hasNext()) {
-						EStructuralFeature a = (EStructuralFeature) itr.next();
-						PropertyDecorator p = Utilities.getPropertyDecorator(a);
-						Object aOld = oldLocals.get(a.getName());
-						if (aOld != null && aOld != Boolean.FALSE) {
-							// A candidate for removal. It was in the old list and it was not processed.
-							if (p != null) {
-								int implicit = p.isImplicitlyCreated();
-								if (implicit != PropertyDecorator.NOT_IMPLICIT) {
-									p.setEModelElement(null); // Remove from the feature;
-									((InternalEObject) p).eSetProxyURI(BAD_URI);
-									// Mark it as bad proxy so we know it is no longer any use.
-									p = null;
-								}
-
-								if (implicit == PropertyDecorator.IMPLICIT_DECORATOR_AND_FEATURE) {
-									itr.remove(); // Remove it, this was implicitly created and not processed this time.
-									((InternalEObject) a).eSetProxyURI(BAD_URI);
-									// Mark it as bad proxy so we know it is no longer any use.
-								}
-							}
-						}
-					}
-				}
-				hasIntrospectedProperties = true;
-			} finally {
-				isIntrospectingProperties = false;
-				propertiesMap = null; // Get rid of accumulated map.
-				featuresRealList = null; // Release the real list.
-			}
-		}
-	}
-
-	/**
-	 * merge all  the Properties (i.e. supertypes) (properties)
-	 */
-	protected EList allProperties() {
-		
-		EList jcAllProperties = getJavaClass().getAllPropertiesGen();
-		BeaninfoSuperAdapter superAdapter =
-			(BeaninfoSuperAdapter) EcoreUtil.getRegisteredAdapter(getJavaClass(), BeaninfoSuperAdapter.class);
-		if (jcAllProperties != null) {
-			// See if new one required.
-			if (superAdapter == null || !superAdapter.isAllPropertiesCollectionModified())
-				return jcAllProperties;
-			// Can't get superadapter, so must not be attached to a resource, so return current list. Or no change required.       		
-		}
-		
-		UniqueEList allProperties = new UniqueEList() {
-			protected Object[] newData(int capacity) {
-				return new EStructuralFeature[capacity];
-			}
-
-			protected boolean useEquals() {
-				return false;
-			}
-
-		};
-		if (!isIntrospecting && !isDoingAllProperties && isResourceConnected()) {
-			isDoingAllProperties = true;
-			try {
-				EList localProperties = getJavaClass().getProperties();
-				JavaClass superType = getJavaClass().getSupertype();
-				if (superType != null) {
-					// Now we need to merge in the supers.
-					BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
-					List supers = superType.getAllProperties();					
-
-					// We will now merge as directed.
-					boolean mergeAll = bd == null || bd.isMergeSuperProperties();
-					if (!mergeAll) {
-						// we don't to want to merge super properties, but we still need super non-properties or explict ones.
-						int len = supers.size();
-						for (int i = 0; i < len; i++) {
-							EStructuralFeature p = (EStructuralFeature) supers.get(i);
-							PropertyDecorator pd = Utilities.getPropertyDecorator(p);
-							if ( pd == null || (pd.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT && !pd.isMergeIntrospection()))
-								allProperties.add(p);
-						}
-					} else {
-						// We want to merge all.					
-						if (beaninfo != null) {
-							// BeanInfo has given us the merge list. If the list is empty, then we accept all.
-							IArrayBeanProxy superNames = (IArrayBeanProxy) getProxyConstants().getInheritedPropertyDescriptorsProxy().invokeCatchThrowableExceptions(beaninfo);
-							if (superNames != null) {
-								// We were given a list of names.
-								// Get the names into a set to create a quick lookup.
-								int l = superNames.getLength();
-								HashSet superSet = new HashSet(l);
-								for (int i = 0; i < l; i++) {
-									superSet.add(((IStringBeanProxy) superNames.getCatchThrowableException(i)).stringValue());
-								}
-								
-								// Now walk and add in non-bean properties (and bean properties that were explicitly added and not mergeable (i.e. didn't come thru beaninfo)) 
-								// and those specifically called out by BeanInfo.
-								int len = supers.size();
-								for (int i = 0; i < len; i++) {
-									EStructuralFeature p = (EStructuralFeature) supers.get(i);
-									PropertyDecorator pd = Utilities.getPropertyDecorator(p);
-									if (pd == null || (pd.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT && !pd.isMergeIntrospection()) || superSet.contains(pd.getName()))
-										allProperties.add(p);
-								}							
-							} else {
-								// BeanInfo called out that all super properties are good
-								allProperties.addAll(supers);
-							}
-						} else {
-							// We don't have a BeanInfo telling us how to merge. This means we're reflecting and have prevented
-							// dups. So we accept all supers.
-							allProperties.addAll(supers);
-						}
-					}
-				}
-				allProperties.addAll(localProperties);				
-				superAdapter.setAllPropertiesCollectionModified(false); // Now built, so reset to not changed.
-			} finally {
-				isDoingAllProperties = false;
-			}
-		}
-
-		allProperties.shrink();
-		return new EcoreEList.UnmodifiableEList(
-			getJavaClass(),
-			null,
-			allProperties.size(),
-			allProperties.data());
-	}
-
-	/**
-	 * Fill in the property and its decorator using the propDesc.
-	 */
-	protected void calculateProperty(IBeanProxy propDesc) {
-		// See if this is an indexed property. If it is, then a few fields will not be set in here, but
-		// will instead be set by the calculateIndexedProperty, which will be called.
-		boolean indexed = propDesc.getProxyFactoryRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.beans.IndexedPropertyDescriptor").equals(propDesc.getTypeProxy()); //$NON-NLS-1$
-		String name = ((IStringBeanProxy) getProxyConstants().getNameProxy().invokeCatchThrowableExceptions(propDesc)).stringValue();
-		boolean changeable;
-		EClassifier type = null;
-
-		changeable = getProxyConstants().getWriteMethodProxy().invokeCatchThrowableExceptions(propDesc) != null;
-		IBeanTypeProxy typeProxy = (IBeanTypeProxy) getProxyConstants().getPropertyTypeProxy().invokeCatchThrowableExceptions(propDesc);
-		if (typeProxy != null)
-			type = Utilities.getJavaClass(typeProxy, getJavaClass().eResource().getResourceSet());
-
-		if (indexed) {
-			// If no array write method found, then see if there is an indexed write method. If there is, then it is changable.
-			if (!changeable)
-				changeable = getProxyConstants().getIndexedWriteMethodProxy().invokeCatchThrowableExceptions(propDesc) != null;
-			if (typeProxy == null) {
-				// If no array type proxy from above, create one from the indexed type proxy.
-				typeProxy = (IBeanTypeProxy) getProxyConstants().getIndexedPropertyTypeProxy().invokeCatchThrowableExceptions(propDesc);
-				if (typeProxy != null) {
-					typeProxy = typeProxy.getProxyFactoryRegistry().getBeanTypeProxyFactory().getBeanTypeProxy(typeProxy.getTypeName(), 1);
-					type = Utilities.getJavaClass(typeProxy, getJavaClass().eResource().getResourceSet());
-				}
-			}
-		}
-
-		if (type != null)
-			createProperty(name, indexed, changeable, type, propDesc); // A valid property descriptor.
-	}
-
-	/**
-	 * Fill in the property and its decorator using the passed in information.
-	 */
-	public PropertyDecorator createProperty(String name, boolean indexed, boolean changeable, EClassifier type, IBeanProxy propDesc) {
-		// First find if there is already a property of this name, and if there is, is the PropertyDecorator
-		// marked to not allow merging in of introspection results.		
-		HashMap existingLocals = getPropertiesMap();
-		EStructuralFeature prop = null;
-		PropertyDecorator pd = null;
-		Object p = existingLocals.get(name);
-		if (Boolean.FALSE == p)
-			return null; // We've already processed this name, can't process it again.
-		if (p != null) {
-			// We've found one of the same name. Whether we modify it or use it as is, we put in a
-			// special dummy in its place. That marks that we've already processed it and accepted it.
-			existingLocals.put(name, Boolean.FALSE);
-
-			// If the decorator for this entry says not to merge then return.
-			// If there is no PropertyDecorator, then we will merge. If they
-			// didn't want to merge then should of created of property decorator and said no merge.
-			pd = Utilities.getPropertyDecorator((EStructuralFeature) p);
-			if (pd != null && !pd.isMergeIntrospection())
-				return null;
-			prop = (EStructuralFeature) p;
-		}
-
-		// Need to test if this is an implicit decorator and it is not of the 
-		// same type (i.e. is indexed now but wasn't or visa-versa, then we need
-		// to get rid of the decorator and recreate it. If it is not implicit, then
-		// we have to use it as is because the user specified, so it won't become
-		// an indexed if the user did not created it as an index, and visa-versa.
-		if (pd != null && pd.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT) {
-			// We can't change the type for explicit.
-			indexed = pd instanceof IndexedPropertyDecorator;
-		} else if (
-			pd != null
-				&& pd.isImplicitlyCreated() != FeatureDecorator.NOT_IMPLICIT
-				&& ((indexed && !(pd instanceof IndexedPropertyDecorator)) || (!indexed && pd instanceof IndexedPropertyDecorator))) {
-			prop.getEAnnotations().remove(pd);
-			pd = null;
-		}
-
-		int implicit = pd == null ? FeatureDecorator.IMPLICIT_DECORATOR : pd.isImplicitlyCreated();
-		if (prop == null) {
-			// We will create a new property.
-			// We can't have an implicit feature, but an explicit decorator.
-			getFeaturesList().add(prop = EcoreFactory.eINSTANCE.createEReference());
-			implicit = FeatureDecorator.IMPLICIT_DECORATOR_AND_FEATURE;
-		}
-
-		// Now fill it in. Normal id for an attribute is "classname.attributename" but we can't use that
-		// for us because that format is used by Java Core for a field and there would be confusion.
-		// So we will use '/' instead.
-		 ((XMIResource) prop.eResource()).setID(prop, getJavaClass().getName() + BeaninfoJavaReflectionKeyExtension.FEATURE + name);
-		prop.setName(name);
-		prop.setTransient(false);
-		prop.setVolatile(false);
-		prop.setChangeable(changeable);
-
-		// Containment and Unsettable is tricky for EReferences. There is no way to know whether it has been explicitly set to false, or it defaulted to
-		// false because ECore has not made containment/unsettable an unsettable feature. So we need to instead use the algorithm of if we here 
-		// created the feature, then we will by default set it to containment/unsettable. If it was created through diff merge, then
-		// we will leave it alone. It is the responsibility of the merge file writer to set containment/unsettable correctly.
-		if (implicit == FeatureDecorator.IMPLICIT_DECORATOR_AND_FEATURE) {
-			prop.setUnsettable(true);
-		}
-		prop.setEType(type);
-		if (!indexed) {
-			prop.setLowerBound(0);
-			prop.setUpperBound(1);
-		} else {
-			prop.setLowerBound(0);
-			prop.setUpperBound(-1);
-			prop.setUnique(true);
-		}
-
-		// Now create/fill in the property descriptor for it.
-		// If there already is one then we
-		// will use it. This allows merging with beanfinfo.		
-		if (pd == null) {
-			pd =
-				(!indexed)
-					? BeaninfoFactory.eINSTANCE.createPropertyDecorator()
-					: BeaninfoFactory.eINSTANCE.createIndexedPropertyDecorator();
-			pd.setImplicitlyCreated(implicit);
-			prop.getEAnnotations().add(pd);
-		}
-		pd.setDescriptorProxy(propDesc);
-		pd.setDecoratorProxy(null);
-		return pd;
-	}
-
-	/**
-	 * Reflect the properties. This requires going through local methods and matching them up to
-	 * see if they are properties.
-	 */
-	protected void reflectProperties() {
-		// If we are set to mergeSuperTypeProperties, then we need to get the super properties.
-		// This is so that duplicate any from super that we find here. When reflecting we don't
-		// allow discovered duplicates unless they are different types.
-		HashMap supers = new HashMap(50);
-		BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
-		if (bd.isMergeSuperProperties()) {
-			JavaClass superType = getJavaClass().getSupertype();
-			if (superType != null) {
-				Iterator superAllItr = superType.getAllProperties().iterator();
-				while (superAllItr.hasNext()) {
-					EStructuralFeature sf = (EStructuralFeature) superAllItr.next();
-					supers.put(sf.getName(), sf);
-				}
-				// Kludge: The above requests for super properties could of caused a recycle (in case the super
-				// was stale). Because of this we need to reintrospect to mark ourselves as not stale.
-				introspectIfNecessary();
-			}
-		}
-
-		// If any of the classes in the hierarchy are bound, then all reflected properties are considered bound.
-		boolean isBound = isDefaultBound();
-		if (!isBound) {
-			List superTypes = getJavaClass().getEAllSuperTypes();
-			ListIterator sprs = superTypes.listIterator(superTypes.size());
-			// Start from end because that will be first class above the this one.
-			while (sprs.hasPrevious() && !isBound) {
-				JavaClass spr = (JavaClass) sprs.previous();
-				BeaninfoClassAdapter bi = (BeaninfoClassAdapter) EcoreUtil.getExistingAdapter(spr, IIntrospectionAdapter.ADAPTER_KEY);
-				isBound = bi.isDefaultBound();
-			}
-		}
-
-		HashMap props = new HashMap();
-
-		Iterator itr = getJavaClass().getPublicMethods().iterator();
-		while (itr.hasNext()) {
-			Method mthd = (Method) itr.next();
-			if (mthd.isStatic() || mthd.isConstructor())
-				continue; // Statics/constructors don't participate as properties
-			if (mthd.getName().startsWith("get")) { //$NON-NLS-1$
-				String name = java.beans.Introspector.decapitalize(mthd.getName().substring(3));
-				PropertyInfo propInfo = (PropertyInfo) props.get(name);
-				if (propInfo == null) {
-					propInfo = new PropertyInfo();
-					if (propInfo.setGetter(mthd, false))
-						props.put(name, propInfo);
-				} else
-					propInfo.setGetter(mthd, false);
-			} else if (mthd.getName().startsWith("is")) { //$NON-NLS-1$
-				String name = java.beans.Introspector.decapitalize(mthd.getName().substring(2));
-				PropertyInfo propInfo = (PropertyInfo) props.get(name);
-				if (propInfo == null) {
-					propInfo = new PropertyInfo();
-					if (propInfo.setGetter(mthd, true))
-						props.put(name, propInfo);
-				} else
-					propInfo.setGetter(mthd, true);
-			} else if (mthd.getName().startsWith("set")) { //$NON-NLS-1$
-				String name = java.beans.Introspector.decapitalize(mthd.getName().substring(3));
-				PropertyInfo propInfo = (PropertyInfo) props.get(name);
-				if (propInfo == null) {
-					propInfo = new PropertyInfo();
-					if (propInfo.setSetter(mthd))
-						props.put(name, propInfo);
-				} else
-					propInfo.setSetter(mthd);
-			}
-		}
-
-		// Now go through the hash map and create the properties.
-		itr = props.entrySet().iterator();
-		while (itr.hasNext()) {
-			Map.Entry entry = (Map.Entry) itr.next();
-			EStructuralFeature sf = (EStructuralFeature) supers.get(entry.getKey());
-			// Create it if the sf is not a super.
-			if (sf == null)
-				 ((PropertyInfo) entry.getValue()).createProperty((String) entry.getKey(), isBound);
-		}
-	}
-
-	private class PropertyInfo {
-		
-		public EClassifier type, indexedType;
-		public boolean constrained;
-		public Method getter, setter, indexedGetter, indexedSetter;
-
-		public boolean setGetter(Method get, boolean mustBeBoolean) {
-			List parms = (List) get.getParameters();
-			if (parms.size() > 1)
-				return false; // Invalid - improper number of parms.
-			boolean indexed = parms.size() == 1;
-			if (indexed && !((JavaParameter) parms.get(0)).getEType().getName().equals("int")) //$NON-NLS-1$
-				return false; // Invalid - a parm that is not an int is invalid for indexed.
-			EClassifier retType = get.getReturnType();
-			if (retType == null || retType.getName().equals("void")) //$NON-NLS-1$
-				return false; // Invalid - must have a return type
-			if (mustBeBoolean && !retType.getName().equals("boolean")) //$NON-NLS-1$
-				return false; // Invalid - it must be a boolean.
-			if (indexed) {
-				if (indexedType != null) {
-					if (indexedType != retType)
-						return false; // Invalid - type is different from previous info.
-				}
-				if (type != null && !(((JavaHelpers) type).isArray() && ((ArrayType) type).getComponentType() == retType))
-					return false; // Invalid - indexed type doesn't match component type of base type.
-			} else {
-				if (type != null) {
-					if (type != retType)
-						return false; // Invalid - type is different from previous info.
-				}
-				if (indexedType != null && !(((JavaHelpers) retType).isArray() && ((ArrayType) retType).getComponentType() == indexedType))
-					if (type == null) {
-						// We had a potential indexed and had not yet found the regular type. We've now found
-						// the regular type, and it is not indexed. So it takes priority and will wipe out
-						// the indexed type.
-						indexedGetter = null;
-						indexedSetter = null;
-						indexedType = null;
-					} else
-						return false; // Invalid - indexed type doesn't match component type of base type we already have
-			}
-
-			if (indexed) {
-				if (indexedGetter != null)
-					return false; // Already have an indexed getter.
-				indexedGetter = get;
-				indexedType = retType;
-			} else {
-				if (getter != null)
-					return false; // Already have a getter
-				getter = get;
-				type = retType;
-			}
-			return true;
-		}
-
-		public boolean setSetter(Method set) {
-			List parms = (List) set.getParameters();
-			if (parms.size() > 2 || parms.size() < 1)
-				return false; // Invalid - improper number of parms.
-			boolean indexed = parms.size() == 2;
-			if (indexed && !((JavaParameter) parms.get(0)).getEType().getName().equals("int")) //$NON-NLS-1$
-				return false; // Invalid - a parm that is not an int is invalid for indexed.
-			EClassifier retType = set.getReturnType();
-			if (retType != null && !retType.getName().equals("void")) //$NON-NLS-1$
-				return false; // Invalid - must not have a return type
-			EClassifier propType = null;
-			if (indexed) {
-				propType = ((JavaParameter) parms.get(1)).getEType();
-				if (indexedType != null) {
-					if (indexedType != propType)
-						return false; // Invalid - type is different from previous info.
-				}
-				if (type != null && !(((JavaHelpers) type).isArray() && ((ArrayType) type).getComponentType() == propType))
-					return false; // Invalid - indexed type doesn't match component type of base type, or base type not an array
-			} else {
-				propType = ((JavaParameter) parms.get(0)).getEType();
-				if (type != null) {
-					if (type != propType)
-						return false; // Invalid - type is different from previous info.
-				}
-				if (indexedType != null
-					&& !(((JavaHelpers) propType).isArray() && ((ArrayType) propType).getComponentType() == indexedType))
-					if (type == null) {
-						// We had a potential indexed and had not yet found the regular type. We've now found
-						// the regular type, and it is not indexed of the correct type. So it takes priority and will wipe out
-						// the indexed type.
-						indexedGetter = null;
-						indexedSetter = null;
-						indexedType = null;
-					} else
-						return false; // Invalid - indexed type doesn't match component type of base type from this setter.
-			}
-
-			if (indexed) {
-				if (indexedSetter != null)
-					return false; // Already have an indexed getter.
-				indexedSetter = set;
-				indexedType = propType;
-			} else {
-				if (setter != null)
-					return false; // Already have a getter
-				setter = set;
-				type = propType;
-			}
-
-			if (set.getJavaExceptions().contains(Utilities.getJavaClass("java.beans.PropertyVetoException", getJavaClass().eResource().getResourceSet()))) //$NON-NLS-1$
-				constrained = true;
-			return true;
-		}
-
-		public void createProperty(String name, boolean isBound) {
-			boolean indexed = indexedType != null;
-			if (indexed && type == null)
-				return; // A potential indexed, but never found the getter/setter of the regular type.
-
-			PropertyDecorator prop =
-				BeaninfoClassAdapter.this.createProperty(
-					name,
-					indexed,
-					(!indexed) ? (setter != null) : (setter != null || indexedSetter != null),
-					type,
-					null);
-			if (prop == null)
-				return; // Reflection not wanted.
-
-			indexed = prop instanceof IndexedPropertyDecorator; // It could of been forced back to not indexed if explicitly set.
-
-			// Now fill in the property decorator info. If our decorator was not implicit, then we need
-			// to use a proxy so that the use can override specific settings while we supply the defaults.
-			// If our decorator was implicitly created, then we know that there are no user data and we
-			// can use our decorator directly.
-			if (prop.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT) {
-				PropertyDecorator propProxy =
-					indexed
-						? BeaninfoFactory.eINSTANCE.createIndexedPropertyDecorator()
-						: BeaninfoFactory.eINSTANCE.createPropertyDecorator();
-				// Create a proxy.
-				prop.setDecoratorProxy(propProxy);
-				prop = propProxy;
-			}
-
-			prop.setBound(isBound);
-			prop.setConstrained(constrained);
-			if (getter != null)
-				prop.setReadMethod(getter);
-			else
-				prop.eUnset(BeaninfoPackage.eINSTANCE.getPropertyDecorator_ReadMethod());
-			if (setter != null)
-				prop.setWriteMethod(setter);
-			else
-				prop.eUnset(BeaninfoPackage.eINSTANCE.getPropertyDecorator_WriteMethod());
-			if (indexed) {
-				IndexedPropertyDecorator iprop = (IndexedPropertyDecorator) prop;
-				if (indexedGetter != null)
-					iprop.setIndexedReadMethod(indexedGetter);
-				else
-					iprop.eUnset(BeaninfoPackage.eINSTANCE.getIndexedPropertyDecorator_IndexedReadMethod());
-				if (indexedSetter != null)
-					iprop.setIndexedWriteMethod(indexedSetter);
-				else
-					iprop.eUnset(BeaninfoPackage.eINSTANCE.getIndexedPropertyDecorator_IndexedReadMethod());
-			}
-
-		}
-	};
-
-	/**
-	 * introspect the behaviors (methods)
-	 */
-	protected EList introspectOperations() {
-		introspectIfNecessary();
-		if (!isIntrospecting && !isIntrospectingOperations && !hasIntrospectedOperations) {
-			isIntrospectingOperations = true;
-			try {
-				if (isResourceConnected()) {
-					newoperations = new HashSet(50);
-					BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
-					if (bd == null || bd.isIntrospectBehaviors()) {
-						// bd wants behaviors to be introspected/reflected
-						if (beaninfo != null) {
-							IArrayBeanProxy mthds =
-								(IArrayBeanProxy) getProxyConstants().getMethodDescriptorsProxy().invokeCatchThrowableExceptions(beaninfo);
-							if (mthds != null) {
-								int mthdSize = mthds.getLength();
-								for (int i = 0; i < mthdSize; i++)
-									calculateOperation(mthds.getCatchThrowableException(i));
-							}
-						} else
-							reflectOperations(); // No beaninfo, so use reflection to create behaviors
-					}
-
-					// Now go through the list and remove those that should be removed.
-					Iterator itr = getOperationsList().iterator();
-					while (itr.hasNext()) {
-						EOperation a = (EOperation) itr.next();
-						MethodDecorator m = Utilities.getMethodDecorator(a);
-						if (!newoperations.contains(a)) {
-							// A candidate for removal. It is in the list but we didn't add it. Check to see if it one we had created in the past.
-							// If no methoddecorator, then keep it, not one ours.
-							if (m != null) {
-								int implicit = m.isImplicitlyCreated();
-								if (implicit != MethodDecorator.NOT_IMPLICIT) {
-									m.setEModelElement(null); // Remove it because it was implicit.
-									 ((InternalEObject) m).eSetProxyURI(BAD_URI);
-									m = null;
-								}
-								if (implicit == MethodDecorator.IMPLICIT_DECORATOR_AND_FEATURE) {
-									itr.remove(); // The feature was implicit too.
-									 ((InternalEObject) a).eSetProxyURI(BAD_URI);
-									a = null;
-								}
-							}
-						}
-					}
-					hasIntrospectedOperations = true;
-				}
-			} finally {
-				isIntrospectingOperations = false;
-				operationsMap = null; // Clear out the temp lists.
-				operationsRealList = null;
-				newoperations = null;
-
-			}
-		}
-		return getJavaClass().getEOperationsGen();
-	}
-
-	/**
-	 * Fill in the behavior and its decorator using the mthdDesc.
-	 */
-	protected void calculateOperation(IBeanProxy operDesc) {
-		String name = ((IStringBeanProxy) getProxyConstants().getNameProxy().invokeCatchThrowableExceptions(operDesc)).stringValue();
-		createOperation(name, formLongName(name, operDesc), null, operDesc);
-	}
-
-	/**
-	 * Fill in the behavior and its decorator using the passed in information.
-	 */
-	public MethodDecorator createOperation(String name, String longName, Method method, IBeanProxy mthdDesc) {
-		// First find if there is already a behavior of this name and method signature , and if there is, is the MethodDecorator
-		// marked to not allow merging in of introspection results.
-		HashMap existingLocals = getOperationsMap();
-		EOperation oper = null;
-		MethodDecorator md = null;
-		Object b = null;
-		if (name != null)
-			b = existingLocals.get(longName);
-		else
-			b = existingLocals.get(longName);
-			
-		if (b != null) {
-			// If the decorator for this entry says not to merge then return.
-			// If there is no decorator, then we will merge. If they didn't want to
-			// merge, then they should of created a decorator with no merge on it.
-			md = Utilities.getMethodDecorator((EOperation) b);
-			if (md != null && !md.isMergeIntrospection())
-				return null;
-			oper = (EOperation) b;
-		}
-
-		// Need to find the method and method id.
-		if (method == null) {
-			// No method sent, create a proxy to it.
-			method = JavaRefFactory.eINSTANCE.createMethod();
-			URI uri = Utilities.getMethodURI((IMethodProxy) getProxyConstants().getMethodProxy().invokeCatchThrowableExceptions(mthdDesc));
-			((InternalEObject) method).eSetProxyURI(uri);
-		}
-
-		int implicit = md == null ? FeatureDecorator.IMPLICIT_DECORATOR : FeatureDecorator.NOT_IMPLICIT;
-		if (oper == null) {
-			// We will create a new MethodProxy.
-			oper = BeaninfoFactory.eINSTANCE.createMethodProxy();
-			getOperationsList().add(oper);
-			implicit = FeatureDecorator.IMPLICIT_DECORATOR_AND_FEATURE; 
-		}		
-		if (name == null)
-			name = method.getName();		
-
-		// Now fill it in.
-		if (oper instanceof MethodProxy)
-			 ((MethodProxy) oper).setMethod(method);
-		((XMIResource) oper.eResource()).setID(oper, getJavaClass().getName() + BeaninfoJavaReflectionKeyExtension.BEHAVIOR + name);
-		oper.setName(name);
-		newoperations.add(oper);
-
-		// Now create/fill in the method decorator for it.
-		// If there already is one then we
-		// will use it. This allows merging with beaninfo.		
-		if (md == null) {
-			md = BeaninfoFactory.eINSTANCE.createMethodDecorator();
-			md.setImplicitlyCreated(implicit);
-			oper.getEAnnotations().add(md);
-		}
-		md.setDescriptorProxy(mthdDesc);
-		md.setDecoratorProxy(null);
-		return md;
-	}
-
-	/**
-	 * Reflect the behaviors. This requires going through local public methods and creating a 
-	 * method proxy for it.
-	 */
-	protected void reflectOperations() {
-		// If we are set to mergeSuperTypeBehaviors, then we need to get the super behaviors.
-		// This is so that duplicate any from super that we find here. When reflecting we don't
-		// allow discovered duplicates unless they are different signatures. So all super operations
-		// will be allowed and we will not override them.
-		HashMap supers = new HashMap(50);
-		BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
-		if (bd.isMergeSuperBehaviors()) {
-			EClass superType = getJavaClass().getSupertype();
-			if (superType != null) {
-				Iterator superAllItr = superType.getEAllOperations().iterator();
-				while (superAllItr.hasNext()) {
-					EOperation op = (EOperation) superAllItr.next();
-					supers.put(formLongName(op), op);
-				}
-				// Kludge: The above requests for super properties could of caused a recycle (in case the super
-				// was stale). Because of this we need to reintrospect to mark ourselves as not stale.
-				introspectIfNecessary();
-			}
-		}
-
-		Iterator itr = getJavaClass().getPublicMethods().iterator();
-		while (itr.hasNext()) {
-			Method mthd = (Method) itr.next();
-			if (mthd.isStatic() || mthd.isConstructor())
-				continue; // Statics/constructors don't participate as behaviors	
-			String longName = formLongName(mthd);
-			if (supers.get(longName) != null)
-				continue;	// Already exists in supers, don't override.
-				
-			createOperation(null, longName, mthd, null);	// Don't pass a name, try to create it by name, only use ID if there is more than one of the same name.
-		}
-	}
-
-	/**
-	 * merge all  the Behaviors(i.e. supertypes)
-	 */
-	protected BasicEList allOperations() {
-		UniqueEList allOperations = new UniqueEList() {
-			protected Object[] newData(int capacity) {
-				return new EOperation[capacity];
-			}
-
-			protected boolean useEquals() {
-				return false;
-			}
-		};
-		if (!isIntrospecting && !isDoingAllOperations && isResourceConnected()) {
-			isDoingAllOperations = true;
-			try {
-				EList localOperations = getJavaClass().getEOperations();
-				JavaClass superType = getJavaClass().getSupertype();
-				if (superType != null) {
-					// Now we need to merge in the supers.
-					BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
-					List supers = superType.getEAllOperations();					
-
-					// We will now merge as directed.
-					boolean mergeAll = bd == null || bd.isMergeSuperBehaviors();
-					if (!mergeAll) {
-						// we don't to want to merge super properties, but we still need super non-properties.
-						int len = supers.size();
-						for (int i = 0; i < len; i++) {
-							EOperation o = (EOperation) supers.get(i);
-							MethodDecorator md = Utilities.getMethodDecorator(o);
-							if (md == null || (md.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT && !md.isMergeIntrospection()))
-								allOperations.add(o);
-						}
-					} else {
-						// We want to merge all.					
-						if (beaninfo != null) {
-							// BeanInfo has given us the merge list. If the list is empty, then we accept all.
-							IArrayBeanProxy superNames = (IArrayBeanProxy) getProxyConstants().getInheritedMethodDescriptorsProxy().invokeCatchThrowableExceptions(beaninfo);
-							if (superNames != null) {
-								// We were given a list of names.
-								// Get the names into a set to create a quick lookup.
-								int l = superNames.getLength();
-								HashSet superSet = new HashSet(l);
-								for (int i = 0; i < l; i++) {
-									superSet.add(((IStringBeanProxy) superNames.getCatchThrowableException(i)).stringValue());
-								}
-								
-								// Now walk and add in non-bean properties (and bean operations that were explicitly added and not mergeable (i.e. didn't come thru beaninfo)) 
-								// and those specifically called out by BeanInfo.
-								int len = supers.size();
-								for (int i = 0; i < len; i++) {
-									EOperation o = (EOperation) supers.get(i);
-									MethodDecorator md = Utilities.getMethodDecorator(o);
-									if (md == null || (md.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT && !md.isMergeIntrospection()))
-										allOperations.add(o);
-									else {
-										String longName = formLongName(o);
-										if (longName == null || superSet.contains(longName))
-											allOperations.add(o);
-									}
-								}						
-							} else {
-								// BeanInfo called out that all super properties 
-								allOperations.addAll(supers);
-							}
-						} else {
-							// We don't have a BeanInfo telling us how to merge, so we did reflection. But if that is the case, we already
-							// took the supers into account and did not override any thru the reflection, so all supers are good.
-							allOperations.addAll(supers);
-						}
-					}
-				}
-				allOperations.addAll(localOperations);				
-				ESuperAdapter sa = getJavaClass().getESuperAdapter();
-				sa.setAllOperationsCollectionModified(false); // Now built, so reset to not changed.
-			} finally {
-				isDoingAllOperations = false;
-			}
-		}
-
-		allOperations.shrink();
-		return new EcoreEList.UnmodifiableEList(
-			getJavaClass(),
-			EcorePackage.eINSTANCE.getEClass_EAllOperations(),
-			allOperations.size(),
-			allOperations.data());
-
-	}
-
-	/**
-	 * introspect the events
-	 */
-	protected EList introspectEvents() {
-		introspectIfNecessary();
-		if (!isIntrospecting && !isIntrospectingEvents && !hasIntrospectedEvents) {
-			isIntrospectingEvents = true;
-			try {
-				if (isResourceConnected()) {
-					BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
-					if (bd == null || bd.isIntrospectEvents()) {
-						// bd wants events to be introspected/reflected
-						if (beaninfo != null) {
-							IArrayBeanProxy events =
-								(IArrayBeanProxy) getProxyConstants().getEventSetDescriptorsProxy().invokeCatchThrowableExceptions(
-									beaninfo);
-							if (events != null) {
-								int eventSize = events.getLength();
-								for (int i = 0; i < eventSize; i++)
-									calculateEvent(events.getCatchThrowableException(i));
-							}
-						} else
-							reflectEvents(); // No beaninfo, so use reflection to create events
-					}
-
-					// Now go through the list and remove those that should be removed.
-					Map oldLocals = getEventsMap();
-					Iterator itr = getEventsList().iterator();
-					while (itr.hasNext()) {
-						JavaEvent a = (JavaEvent) itr.next();
-						EventSetDecorator e = Utilities.getEventSetDecorator(a);
-						Object aOld = oldLocals.get(a.getName());
-						if (aOld != null && aOld != Boolean.FALSE) {
-							// A candidate for removal. It was in the old list and it was not processed.
-							if (e != null) {
-								int implicit = e.isImplicitlyCreated();
-								if (implicit != EventSetDecorator.NOT_IMPLICIT) {
-									e.setEModelElement(null); // Remove it because it was implicit.
-									 ((InternalEObject) e).eSetProxyURI(BAD_URI);
-									e = null;
-								}
-								if (implicit == EventSetDecorator.IMPLICIT_DECORATOR_AND_FEATURE) {
-									itr.remove(); // The feature was implicit too.
-									 ((InternalEObject) a).eSetProxyURI(BAD_URI);
-									a = null;
-								}
-							}
-						}
-					}
-					hasIntrospectedEvents = true;
-				}
-			} finally {
-				isIntrospectingEvents = false;
-				eventsMap = null; // Clear out the temp lists.
-				eventsRealList = null;
-			}
-		}
-
-		return getJavaClass().getEventsGen();
-	}
-
-	/**
-	 * Fill in the event and its decorator using the eventDesc.
-	 */
-	protected void calculateEvent(IBeanProxy eventDesc) {
-		String name = ((IStringBeanProxy) getProxyConstants().getNameProxy().invokeCatchThrowableExceptions(eventDesc)).stringValue();
-		createEvent(name, eventDesc);
-	}
-
-	/**
-	 * Fill in the event and its decorator using the passed in information.
-	 */
-	public EventSetDecorator createEvent(String name, IBeanProxy eventDesc) {
-		// First find if there is already an event of this name, and if there is, is the EventSetDecorator
-		// marked to not allow merging in of introspection results.
-		HashMap existingLocals = getEventsMap();
-		JavaEvent event = null;
-		EventSetDecorator ed = null;
-		Object b = existingLocals.get(name);
-		if (Boolean.FALSE == b)
-			return null; // We've already processed this event, can't process it again.			
-		if (b != null) {
-			// We've found one of the same event. Whether we modify it or use it as is, we put in a
-			// special dummy in its place. That marks that we've already processed it and accepted it.
-			existingLocals.put(name, Boolean.FALSE);
-
-			// If the decorator for this entry says not to merge then return.
-			// If there is no decorator, then we will merge. If they didn't want to
-			// merge, then they should of created a decorator with no merge on it.
-			ed = Utilities.getEventSetDecorator((JavaEvent) b);
-			if (ed != null && !ed.isMergeIntrospection())
-				return null;
-			event = (JavaEvent) b;
-		}
-
-		int implicit = ed == null ? FeatureDecorator.IMPLICIT_DECORATOR : FeatureDecorator.NOT_IMPLICIT;
-		if (event == null) {
-			// We will create a new Event.
-			event = BeaninfoFactory.eINSTANCE.createBeanEvent();
-			getEventsList().add(event);
-			implicit = FeatureDecorator.IMPLICIT_DECORATOR_AND_FEATURE; // Can't have an implicit feature but explicit decorator.
-		}
-
-		// Now fill it in.
-		 ((XMIResource) event.eResource()).setID(event, getJavaClass().getName() + BeaninfoJavaReflectionKeyExtension.EVENT + name);
-		event.setName(name);
-
-		// Now create/fill in the event decorator for it.
-		// If there already is one then we
-		// will use it. This allows merging with beaninfo.		
-		if (ed == null) {
-			ed = BeaninfoFactory.eINSTANCE.createEventSetDecorator();
-			ed.setImplicitlyCreated(implicit);
-			event.getEAnnotations().add(ed);
-		}
-		ed.setDescriptorProxy(eventDesc);
-		ed.setDecoratorProxy(null);
-		return ed;
-	}
-
-	/**
-	 * Reflect the events. This requires going through local public methods and creating an 
-	 * event for the discovered events.
-	 */
-	protected void reflectEvents() {
-		// If we are set to mergeSuperTypeEvents, then we need to get the super events.
-		// This is so that duplicate any from super that we find here. When reflecting we don't
-		// allow discovered duplicates.
-		HashMap supers = new HashMap(50);
-		BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
-		if (bd.isMergeSuperEvents()) {
-			JavaClass superType = (JavaClass) getJavaClass().getSupertype();
-			if (superType != null) {
-				Iterator superAllItr = superType.getAllEvents().iterator();
-				while (superAllItr.hasNext()) {
-					JavaEvent se = (JavaEvent) superAllItr.next();
-					supers.put(se.getName(), se);
-				}
-				// Kludge: The above requests for super events could of caused a recycle (in case the super
-				// was stale). Because of this we need to reintrospect to mark ourselves as not stale.
-				introspectIfNecessary();
-			}
-		}
-
-		HashMap events = new HashMap();
-		eventListenerClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("java.util.EventListener", getJavaClass()); // Initialize, needed for building eventinfos. //$NON-NLS-1$
-		tooManyExceptionClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("java.util.TooManyListenersException", getJavaClass()); // Initialize, needed for building eventinfos. //$NON-NLS-1$
-		Iterator itr = getJavaClass().getPublicMethods().iterator();
-		while (itr.hasNext()) {
-			Method mthd = (Method) itr.next();
-			if (mthd.isStatic() || mthd.isConstructor())
-				continue; // Statics/constructors don't participate in events.
-			String key = validEventAdder(mthd);
-			if (key != null) {
-				EventInfo eventInfo = (EventInfo) events.get(key);
-				if (eventInfo == null) {
-					eventInfo = new EventInfo();
-					eventInfo.setAdder(mthd);
-					events.put(key, eventInfo);
-				} else
-					eventInfo.setAdder(mthd);
-			} else {
-				key = validEventRemove(mthd);
-				if (key != null) {
-					EventInfo eventInfo = (EventInfo) events.get(key);
-					if (eventInfo == null) {
-						eventInfo = new EventInfo();
-						eventInfo.setRemover(mthd);
-						events.put(key, eventInfo);
-					} else
-						eventInfo.setRemover(mthd);
-				}
-			}
-		}
-
-		eventListenerClass = null; // No longer need it.
-
-		// Now actually create the events.
-		HashSet eventNames = new HashSet(events.size()); // Set of found event names, to prevent duplicates
-		Iterator evtItr = events.entrySet().iterator();
-		while (evtItr.hasNext()) {
-			Map.Entry eventMap = (Map.Entry) evtItr.next();
-			EventInfo ei = (EventInfo) eventMap.getValue();
-			if (ei.isValidInfo()) {
-				String eventName = getEventName((String) eventMap.getKey());
-				if (eventNames.contains(eventName))
-					continue;	// Aleady created it. (Note: Introspector actually takes last one over previous dups, but the order is totally undefined, so choosing first is just as good or bad.
-
-				JavaEvent superEvent = (JavaEvent) supers.get(eventName);
-				if (superEvent != null)
-					continue; // Don't override a super event.
-
-				if (ei.createEvent(eventName))
-					eventNames.add(eventName); // It was validly created.
-			}
-		}
-
-		tooManyExceptionClass = null; // No longer need it.
-	}
-
-	/**
-	 * merge all the Events (i.e. supertypes)
-	 */
-	protected EList allEvents() {
-
-		EList jcAllEvents = getJavaClass().getAllEventsGen();
-		BeaninfoSuperAdapter superAdapter =
-			(BeaninfoSuperAdapter) EcoreUtil.getRegisteredAdapter(getJavaClass(), BeaninfoSuperAdapter.class);
-		if (jcAllEvents != null) {
-			// See if new one required.
-			if (superAdapter == null || !superAdapter.isAllEventsCollectionModified())
-				return jcAllEvents;
-			// Can't get superadapter, so must not be attached to a resource, so return current list. Or no change required.       		
-		}
-
-		UniqueEList allEvents = new UniqueEList() {
-			protected Object[] newData(int capacity) {
-				return new JavaEvent[capacity];
-			}
-
-			protected boolean useEquals() {
-				return false;
-			}
-		};
-		if (!isIntrospecting && !isDoingAllEvents && isResourceConnected()) {
-			isDoingAllEvents = true;
-			try {
-				EList localEvents = getJavaClass().getEvents();
-				JavaClass superType = getJavaClass().getSupertype();
-				if (superType != null) {
-					// Now we need to merge in the supers.
-					BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
-					List supers = superType.getAllEvents();					
-
-					// We will now merge as directed.
-					boolean mergeAll = bd == null || bd.isMergeSuperEvents();
-					if (!mergeAll) {
-						// we don't to want to merge super properties, but we still need super non-properties or explicit ones.
-						int len = supers.size();
-						for (int i = 0; i < len; i++) {
-							JavaEvent e = (JavaEvent) supers.get(i);
-							EventSetDecorator ed = Utilities.getEventSetDecorator(e);
-							if (ed == null || (ed.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT && !ed.isMergeIntrospection()))
-								allEvents.add(e);
-						}
-					} else {
-						// We want to merge all.					
-						if (beaninfo != null) {
-							// BeanInfo has given us the merge list. If the list is empty, then we accept all.
-							IArrayBeanProxy superNames = (IArrayBeanProxy) getProxyConstants().getInheritedEventSetDescriptorsProxy().invokeCatchThrowableExceptions(beaninfo);
-							if (superNames != null) {
-								// We were given a list of names.
-								// Get the names into a set to create a quick lookup.
-								int l = superNames.getLength();
-								HashSet superSet = new HashSet(l);
-								for (int i = 0; i < l; i++) {
-									superSet.add(((IStringBeanProxy) superNames.getCatchThrowableException(i)).stringValue());
-								}
-								
-								// Now walk and add in non-bean properties (and bean events that were explicitly added and not mergeable (i.e. didn't come thru beaninfo)) 
-								// and those specifically called out by BeanInfo.
-								int len = supers.size();
-								for (int i = 0; i < len; i++) {
-									JavaEvent e = (JavaEvent) supers.get(i);
-									EventSetDecorator ed = Utilities.getEventSetDecorator(e);
-									if (ed == null || (ed.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT && !ed.isMergeIntrospection()) || superSet.contains(ed.getName()))
-										allEvents.add(e);
-								}							
-							} else {
-								// BeanInfo called out that all super properties 
-								allEvents.addAll(supers);
-							}
-						} else {
-							// We don't have a BeanInfo telling us how to merge. This means we reflected and have already stripped
-							// out and prevented duplicates by name.
-							allEvents.addAll(supers);
-						}
-					}
-				}
-				allEvents.addAll(localEvents);				
-				superAdapter.setAllEventsCollectionModified(false); // Now built, so reset to not changed.
-			} finally {
-				isDoingAllEvents = false;
-			}
-		}
-
-		allEvents.shrink();
-		return new EcoreEList.UnmodifiableEList(
-			getJavaClass(),
-			JavaRefPackage.eINSTANCE.getJavaClass_AllEvents(),
-			allEvents.size(),
-			allEvents.data());
-
-	}
-
-	private JavaClass eventListenerClass, // Event Listener class. Needed for validation.
-	tooManyExceptionClass; // Too many listeners exception.
-
-	/*
-	 * Pass in the key, it will be used to form the name.
-	 */
-	protected String getEventName(String key) {
-		return key.substring(0, key.indexOf(':'));
-	}
-
-	/*	
-	 * Answers event key if valid, null if not valid.
-	 */
-	protected String validEventAdder(Method method) {
-		String name = method.getName();
-		if (!name.startsWith("add") || !name.endsWith("Listener")) //$NON-NLS-1$ //$NON-NLS-2$
-			return null; // Not valid format for an add listener name.
-
-		List parms = (List) method.getParameters();
-		if (parms.size() != 1)
-			return null; // Invalid - improper number of parms.
-
-		EClassifier returnType = method.getReturnType();
-		if (returnType == null || !returnType.getName().equals("void")) //$NON-NLS-1$
-			return null; // Invalid - must be void return type.
-
-		EClassifier parmType = ((JavaParameter) parms.get(0)).getEType();
-		if (!BeaninfoClassAdapter.this.eventListenerClass.isAssignableFrom(parmType))
-			return null; // Parm must be inherit from EventListener
-
-		// This is a unique containing event name and listener type
-		// This is so we can have a unique key for two events with the same
-		// name but different listener type. (This matches Introspector so that we aren't
-		// coming up with different results.
-		return java.beans.Introspector.decapitalize(name.substring(3, name.length() - 8))
-			+ ':'
-			+ ((JavaHelpers) parmType).getQualifiedName();
-	}
-
-	/*
-	 * Answers event key if valid, null if not valid.
-	 */
-	protected String validEventRemove(Method method) {
-		String name = method.getName();
-		if (!name.startsWith("remove") || !name.endsWith("Listener")) //$NON-NLS-1$ //$NON-NLS-2$
-			return null; // Not valid format for a remove listener name.
-
-		List parms = (List) method.getParameters();
-		if (parms.size() != 1)
-			return null; // Invalid - improper number of parms.
-
-		EClassifier returnType = method.getReturnType();
-		if (returnType == null || !returnType.getName().equals("void")) //$NON-NLS-1$
-			return null; // Invalid - must be void return type.
-
-		EClassifier parmType = ((JavaParameter) parms.get(0)).getEType();
-		if (!BeaninfoClassAdapter.this.eventListenerClass.isAssignableFrom(parmType))
-			return null; // Parm must be inherit from EventListener
-
-		// This is a unique containing event name and listener type
-		// This is so we can have a unique key for two events with the same
-		// name but different listener type. (This matches Introspector so that we aren't
-		// coming up with different results).
-		return java.beans.Introspector.decapitalize(name.substring(6, name.length() - 8))
-			+ ':'
-			+ ((JavaHelpers) parmType).getQualifiedName();
-	}
-
-	public boolean isDefaultBound() {
-		if (defaultBound == null) {
-			// Haven't yet decided on it.
-			Iterator methods = getJavaClass().getPublicMethods().iterator();
-			boolean foundAdd = false, foundRemove = false;
-			while (methods.hasNext() && (!foundAdd || !foundRemove)) {
-				Method method = (Method) methods.next();
-				if ("addPropertyChangeListener".equals(method.getName())) { //$NON-NLS-1$
-					List parms = method.getParameters();
-					if (parms.size() == 1) {
-						JavaParameter parm = (JavaParameter) parms.get(0);
-						if ("java.beans.PropertyChangeListener".equals(((JavaHelpers) parm.getEType()).getQualifiedName())) { //$NON-NLS-1$
-							foundAdd = true;
-							continue;
-						}
-					}
-				} else if ("removePropertyChangeListener".equals(method.getName())) { //$NON-NLS-1$
-					List parms = method.getParameters();
-					if (parms.size() == 1) {
-						JavaParameter parm = (JavaParameter) parms.get(0);
-						if ("java.beans.PropertyChangeListener".equals(((JavaHelpers) parm.getEType()).getQualifiedName())) { //$NON-NLS-1$
-							foundRemove = true;
-							continue;
-						}
-					}
-				}
-			}
-
-			defaultBound = (foundAdd && foundRemove) ? Boolean.TRUE : Boolean.FALSE;
-		}
-		return defaultBound.booleanValue();
-	}
-
-	private class EventInfo {
-		
-		public Method addListenerMethod;
-		public Method removeListenerMethod;
-
-		public void setAdder(Method addMethod) {
-			addListenerMethod = addMethod;
-		}
-
-		public void setRemover(Method removeMethod) {
-			removeListenerMethod = removeMethod;
-		}
-
-		// Answer whether this is a valid event info.
-		public boolean isValidInfo() {
-			return (addListenerMethod != null && removeListenerMethod != null);
-		}
-
-		public boolean createEvent(String name) {
-			EventSetDecorator ed = BeaninfoClassAdapter.this.createEvent(name, null);
-			if (ed == null)
-				return false; // Reflection not wanted.
-
-			ed.setAddListenerMethod(addListenerMethod);
-			ed.setRemoveListenerMethod(removeListenerMethod);
-
-			// See if unicast.
-			Iterator itr = addListenerMethod.getJavaExceptions().iterator();
-			while (itr.hasNext()) {
-				if (itr.next() == BeaninfoClassAdapter.this.tooManyExceptionClass) {
-					ed.setUnicast(true);
-					break;
-				}
-			}
-
-			// Set the listener type.
-			List parms = addListenerMethod.getParameters();
-			ed.setListenerType((JavaClass) ((JavaParameter) parms.get(0)).getEType());
-
-			// We'll let listener methods get retrieved dynamically when needed.
-
-			return true;
-		}
-
-	}
-
-	/**
-	 * Mark this factory as the stale factory.
-	 */
-	public void markStaleFactory(ProxyFactoryRegistry stale) {
-		if (staleFactory == null) {
-			// It's not stale so make it stale.
-			hasIntrospected = hasIntrospectedProperties = hasIntrospectedOperations = hasIntrospectedEvents = false;
-			// So that next access will re-introspect
-			defaultBound = null; // So query on next request.
-			staleFactory = new WeakReference(stale);
-			if (beaninfo != null) {
-				beaninfo.getProxyFactoryRegistry().releaseProxy(beaninfo); // Dispose of the beaninfo since we will need to recreate it
-				beaninfo = null;
-			}
-
-			// Need to mark the esuperadapter that things have changed so that any 
-			// subtype will know to reuse the parent for anything that requires knowing parent info.
-			Adapter a = EcoreUtil.getExistingAdapter(getTarget(), ESuperAdapter.class);
-			// Simulate that this objects super has changed. This will make all subclasses
-			// think about the super has changed and next retrieving anything that involves the
-			// super will cause a rebuild to occur.
-			Notification note =
-				new ENotificationImpl((InternalEObject) getTarget(), Notification.SET, EcorePackage.ECLASS__ESUPER_TYPES, null, null);
-			if (a != null)
-				a.notifyChanged(note);
-			// Do the same with BeaninfoSuperAdapter so that events also will be rebuilt.
-			a = EcoreUtil.getExistingAdapter(getTarget(), BeaninfoSuperAdapter.ADAPTER_KEY);
-			if (a != null)
-				a.notifyChanged(note);
-		}
-	}
-
-	/**
-	 * Form a longname for the addkey function.
-	 */
-	private String formLongName(EOperation feature) {
-		Method mthd = null;
-		if (feature instanceof Method)
-			mthd = (Method) feature;
-		else if (feature instanceof MethodProxy)
-			mthd = ((MethodProxy) feature).getMethod();
-		else
-			return null; // Don't know what it is.
-
-		StringBuffer longName = new StringBuffer(100);
-		longName.append(feature.getName()); // Feature Name
-		longName.append(':');
-		longName.append(mthd.getName()); // Method Name
-		longName.append('(');
-		List p = mthd.getParameters();
-		for (int i = 0; i < p.size(); i++) {
-			JavaParameter parm = (JavaParameter) p.get(i);
-			if (i>0)
-				longName.append(',');
-			longName.append(parm.getJavaType().getQualifiedName());
-		}
-
-		return longName.toString();
-	}
-	
-	private String formLongName(String name, IBeanProxy methDesc) {
-		StringBuffer longName = new StringBuffer(100);
-		longName.append(name); // Feature Name
-		longName.append(':');
-		IMethodProxy mthd = (IMethodProxy) getProxyConstants().getMethodProxy().invokeCatchThrowableExceptions(methDesc);
-		longName.append(mthd.getName()); // Method Name
-		longName.append('(');
-		IBeanTypeProxy[] p = mthd.getParameterTypes();
-		for (int i = 0; i < p.length; i++) {
-			IBeanTypeProxy parm = p[i];
-			if (i>0)
-				longName.append(',');
-			longName.append(parm.getFormalTypeName());
-		}
-
-		return longName.toString();
-	}
-	/**
-	 * @see org.eclipse.emf.common.notify.Adapter#notifyChanged(Notification)
-	 */
-	public void notifyChanged(Notification msg) {
-		// In case of removing adapter, make sure we are first removed from the factory so it doesn't know about us anymore.
-		if (msg.getEventType() == Notification.REMOVING_ADAPTER)
-			getAdapterFactory().removeAdapter(this);
-	}
-
-	/**
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return super.toString() + '(' + (getJavaClass() != null ? getJavaClass().getQualifiedName() : "?") + ')'; //$NON-NLS-1$
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoEntry.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoEntry.java
deleted file mode 100644
index f5958e4..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoEntry.java
+++ /dev/null
@@ -1,352 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoEntry.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/08 00:48:00 $ 
- */
-
-import java.util.ArrayList;
-
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.w3c.dom.*;
-
-/**
- * Beaninfo entry. Location of the beaninfos. Much like a standard classpath entry.
- * The BeanInfos are either in a jar or another project. They can be supplied as
- * a local file in the project, or as an external jar, or as external jar through a
- * variable, or an external jar through a plugin.
- * <p>
- * An external jar through containers is not valid because container are attached to
- * projects. they aren't standalone.
- * 
- * @version 	1.0
- * @author
- */
-public class BeaninfoEntry implements IBeaninfosDocEntry {
-
-	final static String sBeaninfo = "beaninfo"; // Beaninfo entry, shared with BeaninfosDoc. //$NON-NLS-1$
-	
-	public static final int BIE_PLUGIN = 100;	// Beaninfo jar can be found in a plugin.
-
-	static int kindFromString(String kindStr) {
-		if (kindStr == null)
-			return -1;
-		if (kindStr.equalsIgnoreCase("con"))
-			return IClasspathEntry.CPE_CONTAINER;
-		if (kindStr.equalsIgnoreCase("var")) //$NON-NLS-1$
-			return IClasspathEntry.CPE_VARIABLE;
-		if (kindStr.equalsIgnoreCase("src")) //$NON-NLS-1$
-			return IClasspathEntry.CPE_SOURCE;
-		if (kindStr.equalsIgnoreCase("lib")) //$NON-NLS-1$
-			return IClasspathEntry.CPE_LIBRARY;
-		if (kindStr.equalsIgnoreCase("plugin")) //$NON-NLS-1$
-			return BIE_PLUGIN;
-		return -1;
-	}
-
-	static String kindToString(int kind) {
-
-		switch (kind) {
-			case IClasspathEntry.CPE_PROJECT :
-				return "src"; // backward compatibility //$NON-NLS-1$
-			case IClasspathEntry.CPE_SOURCE :
-				return "src"; //$NON-NLS-1$
-			case IClasspathEntry.CPE_LIBRARY :
-				return "lib"; //$NON-NLS-1$
-			case IClasspathEntry.CPE_VARIABLE :
-				return "var"; //$NON-NLS-1$
-			case IClasspathEntry.CPE_CONTAINER:
-				return "con";
-			case BIE_PLUGIN:
-				return "plugin";	//$NON-NLS-1$
-			default :
-				return "unknown"; //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Return the appropriate kind of entry when we know it is a classpath entry.
-	 */
-	public static IClasspathEntry createEntry(int kind, IPath path, IProject project, boolean isExported) {
-		switch (kind) {
-
-			case IClasspathEntry.CPE_LIBRARY :
-				if (path.isAbsolute())
-					return JavaCore.newLibraryEntry(path, null, null, isExported);
-				break;
-
-			case IClasspathEntry.CPE_SOURCE :
-				if (path.isAbsolute()) {
-					// must be an entry in this project or specify another project
-					String projSegment = path.segment(0);
-					if (project != null && projSegment != null && projSegment.equals(project.getName())) {
-						// this project
-						return JavaCore.newSourceEntry(path);
-					} else {
-						// another project
-						return JavaCore.newProjectEntry(path, isExported);
-					}
-				}
-				break;
-
-			case IClasspathEntry.CPE_VARIABLE :
-				return JavaCore.newVariableEntry(path, null, null, isExported);
-
-		}
-
-		return null;
-	}
-	/**
-	 * Read the entry in from the element.
-	 */
-	public static BeaninfoEntry readEntry(IReader reader, Object element, IProject project) {
-		String elementKind = reader.getAttribute(element, BeaninfosDoc.sKind);
-		String pathStr = reader.getAttribute(element, BeaninfosDoc.sPath);
-		// ensure path is absolute
-		IPath path = new Path(pathStr);
-		int kind = kindFromString(elementKind);
-		if (kind != IClasspathEntry.CPE_VARIABLE && kind != IClasspathEntry.CPE_CONTAINER && kind != BIE_PLUGIN && !path.isAbsolute()) {
-			path = project != null ? project.getFullPath().append(path) : path.makeAbsolute(); // Some folder/jar within this project
-		}
-
-		// exported flag
-		String exportedString = reader.getAttribute(element, BeaninfosDoc.sExported);
-		boolean isExported = "true".equalsIgnoreCase(exportedString); //$NON-NLS-1$
-		//$NON-NLS-1$
-
-		// recreate the entry
-		IClasspathEntry cpEntry = null;
-		IPath pluginPath = null;
-		if (kind != BIE_PLUGIN) {
-			cpEntry = createEntry(kind, path, project, isExported);
-		} else {
-			if (path.isAbsolute())
-				pluginPath = path;
-		}
-
-		ArrayList searchpaths = new ArrayList();
-		Object children = reader.getChildren(element);
-		int childrenLength = reader.getLength(children);
-		for (int i = 0; i < childrenLength; i++) {
-			Object child = reader.getItem(children, i);
-			if (reader.isNodeTypeElement(child)) {
-				Object entry = null;
-				if (reader.getNodeName(child).equalsIgnoreCase(SearchpathEntry.sSearchpath)) {
-					entry = SearchpathEntry.readEntry(reader, child, project, true);
-				}
-				if (entry != null)
-					searchpaths.add(entry);
-			}
-		}
-
-		if (cpEntry != null)
-			return new BeaninfoEntry(
-				cpEntry,
-				(SearchpathEntry[]) searchpaths.toArray(new SearchpathEntry[searchpaths.size()]),
-				isExported);
-		else if (pluginPath != null)
-			return new BeaninfoEntry(
-				pluginPath,
-				(SearchpathEntry[]) searchpaths.toArray(new SearchpathEntry[searchpaths.size()]),
-				isExported);
-		else
-			return null;
-	}
-
-	protected IClasspathEntry entry; // Store it as a classpath entry for convienence. It is the RAW classpath entry. This is only used when pointing to something other than a plugin.
-	protected IPath pluginPath;	// When stored in a plugin, this will be set instead.
-	protected boolean isExported;
-	protected SearchpathEntry[] searchpaths;
-	
-	/**
-	 * Used when the beaninfo jar is within a plugin. In that case, the first segment
-	 * of the path is the plugin descriptor, and the rest is the path from the plugin
-	 * directory to the jar.
-	 */
-	public BeaninfoEntry(IPath pluginPath, SearchpathEntry[] searchpaths, boolean isExported) {
-		this(searchpaths, isExported);
-		this.pluginPath = pluginPath;
-	}
-
-	/**
-	 * Used when the beaninfo jar/folder is either an external jar/folder or is somewhere else
-	 * in the workspace. In that case the entry is the RAW classpath entry to that code.
-	 */
-	public BeaninfoEntry(IClasspathEntry entry, SearchpathEntry[] searchpaths, boolean isExported) {
-		this(searchpaths, isExported);
-		this.entry = entry;
-	}
-	
-	protected BeaninfoEntry(SearchpathEntry[] searchpaths, boolean isExported) {
-		this.isExported = isExported;
-		this.searchpaths = searchpaths != null ? searchpaths : new SearchpathEntry[0];
-	}
-	
-	public SearchpathEntry[] getSearchPaths() {
-		return searchpaths;
-	}
-	
-	public void setSearchPaths(SearchpathEntry[] searchpaths) {
-		this.searchpaths = searchpaths;
-	}
-	
-	public boolean isExported() {
-		return isExported;
-	}
-	
-	public void setIsExported(boolean isExported) {
-		this.isExported = isExported;
-	}
-
-	public Node writeEntry(Document doc, IProject project) {
-
-		Element element = doc.createElement(sBeaninfo);
-		IPath path = null;
-		if (entry != null) {
-			element.setAttribute(BeaninfosDoc.sKind, kindToString(entry.getEntryKind()));
-			path = entry.getPath();
-			if (entry.getEntryKind() != IClasspathEntry.CPE_VARIABLE && entry.getEntryKind() != IClasspathEntry.CPE_CONTAINER) {
-				// translate to project relative from absolute (unless a device path)
-				if (path.isAbsolute()) {
-					if (path.segment(0).equals(project.getFullPath().segment(0))) {
-						path = path.removeFirstSegments(1);
-						path = path.makeRelative();
-					} else {
-						path = path.makeAbsolute();
-					}
-				}
-			}
-		} else {
-			element.setAttribute(BeaninfosDoc.sKind, kindToString(BIE_PLUGIN));
-			path = pluginPath;
-		}
-
-		element.setAttribute(BeaninfosDoc.sPath, path.toString()); //$NON-NLS-1$
-		if (isExported()) {
-			element.setAttribute(BeaninfosDoc.sExported, "true"); //$NON-NLS-1$
-		}
-
-		for (int i = 0; i < searchpaths.length; i++) {
-			SearchpathEntry spe = searchpaths[i];
-			element.appendChild(spe.writeEntry(doc, project));
-		}
-
-		return element;
-	}
-	
-	/**
-	 * If this is not a plugin info, then return the classpath entry.
-	 */
-	public IClasspathEntry getClasspathEntry() {
-		return entry;
-	}
-	
-	/**
-	 * Return the resolved classpath for this entry. This is the path to the 
-	 * beaninfo jar.
-	 * Returns either:
-	 * 1) a string if a single jar,
-	 * 2) an IProject if it is a project,
-	 * 3) a String[] if it is a jar (including from any fragments) in a plugin. The [0] entry should be the one directly from the plugin, the rest will be from fragments.
-	 * It can return null if the path could not be computed.
-	 */
-	public Object getClasspath() {
-		if (entry != null) {
-			// It is a standard CPE Entry.
-			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-			IClasspathEntry resolvedEntry = JavaCore.getResolvedClasspathEntry(entry);
-			switch (resolvedEntry.getEntryKind()) {
-				case IClasspathEntry.CPE_PROJECT :
-					IProject reqProject = (IProject) root.findMember(resolvedEntry.getPath().lastSegment());
-					// Project entries only have one segment.
-					if (reqProject != null && reqProject.isOpen())
-						return reqProject;
-					else
-						return null;
-
-				case IClasspathEntry.CPE_SOURCE :
-					reqProject = (IProject) root.findMember(resolvedEntry.getPath().segment(0));
-					// Find project from the first segment.
-					IJavaProject javaProject = JavaCore.create(reqProject);
-					if (javaProject != null) {
-						try {
-							IPath outputLocation = javaProject.getOutputLocation();
-							IResource resource = root.findMember(outputLocation);
-							if (resource != null) {
-								return resource.getLocation().toString();
-							}
-						} catch(JavaModelException e) {
-						}
-					}
-					break;
-
-				case IClasspathEntry.CPE_LIBRARY :
-					IResource library = root.findMember(resolvedEntry.getPath());
-					// can be external or in workspace
-					return (library != null) ? library.getLocation().toString() : resolvedEntry.getPath().toString();
-			}
-		} else {
-			IPluginDescriptor descr = Platform.getPluginRegistry().getPluginDescriptor(pluginPath.segment(0));
-			if (descr != null)
-				return ProxyPlugin.getPlugin().localizeFromPluginDescriptorAndFragments(
-					descr,
-					pluginPath.removeFirstSegments(1).toString());
-		}
-		return null;
-
-	}
-	
-	public int getKind() {
-		return entry != null ? entry.getEntryKind() : BIE_PLUGIN;
-	}
-	
-	public IPath getPath() {
-		return entry != null ? entry.getPath() : pluginPath;
-	}
-	
-	public boolean equals(Object other) {
-		if (this == other)
-			return true;
-			
-		if (!(other instanceof BeaninfoEntry))
-			return false;
-
-		// Return equal if the classpath entry is the same classpath entry or plugin path entry.
-		// The search path doesn't have any affect on the semantic equality.
-		BeaninfoEntry otherEntry = (BeaninfoEntry) other;
-		if (isExported != otherEntry.isExported)
-			return false;	
-		if (entry != null)
-			return entry.equals(otherEntry.entry);
-		
-		return pluginPath.equals(otherEntry.pluginPath);
-	}
-	
-	public int hashCode() {
-		if (entry != null)
-			return entry.hashCode() ^ (isExported ? Boolean.TRUE : Boolean.FALSE).hashCode();
-		else
-			return pluginPath.hashCode() ^ (isExported ? Boolean.TRUE : Boolean.FALSE).hashCode();
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoJavaReflectionKeyExtension.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoJavaReflectionKeyExtension.java
deleted file mode 100644
index 00458ce..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoJavaReflectionKeyExtension.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoJavaReflectionKeyExtension.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/05 23:11:22 $ 
- */
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.internal.java.adapters.IJavaReflectionKeyExtension;
-import org.eclipse.jem.internal.java.adapters.JavaReflectionKey;
-
-/**
- * Java Reflection Key extension to retrieve keys for beaninfo creations.
- * 
- * Handles attributes and behaviors.
- * 
- * @version 	1.0
- * @author R. L. Kulp  
- */
-public class BeaninfoJavaReflectionKeyExtension implements IJavaReflectionKeyExtension {
-	
-	// The format of the keys are:
-	// behaviors:  "classname/behavior/behaviorname"
-	// structural features: "classname/featurename"
-	public static final String 
-		BEHAVIOR = "/operation/",	// Piece in key that indicates this is a behavior. //$NON-NLS-1$
-		EVENT = "/event/",		// Piece in key that indicates this is an event. //$NON-NLS-1$
-		FEATURE = "/";			// Piece in key that indicates this is an attribute. //$NON-NLS-1$
-	
-	/**
-	 * Get the object for this key.
-	 */
-	public Object getObject(String key, JavaReflectionKey reflectionKey) {
-		if (key != null) {
-			int ibehave = key.indexOf(BEHAVIOR);
-			if (ibehave > -1) {
-				// We have a possible behavior.
-				String classname = key.substring(0, ibehave);
-				int ibehaveName = ibehave+BEHAVIOR.length();
-				if (ibehaveName < key.length()) {
-					JavaClass javaclass = getJavaClass(reflectionKey, classname);
-					if (javaclass != null) {
-						javaclass.getEOperations();	// Get the list introspected and populated if not already.
-						return reflectionKey.primGet(key);	// It should now be there, 
-					}
-				}
-			} else {
-				int ievent = key.indexOf(EVENT);
-				if (ievent > -1) {
-					// We have a possible event.
-					String classname = key.substring(0, ievent);
-					int ieventName = ievent+EVENT.length();
-					if (ieventName < key.length()) {
-						JavaClass javaclass = getJavaClass(reflectionKey, classname);
-						if (javaclass != null) {
-							javaclass.getEvents();	// Get the list introspected and populated if not already.
-							return reflectionKey.primGet(key);	// It should now be there, 
-						}
-					}
-				} else {
-					int ifeature = key.indexOf(FEATURE);
-					if (ifeature > -1) {
-						// We have a possible feature.
-						String classname = key.substring(0, ifeature);
-						int ifeatureName = ifeature+FEATURE.length();
-						if (ifeatureName < key.length()) {
-							String feature = key.substring(ifeatureName);
-							JavaClass javaclass = getJavaClass(reflectionKey, classname);
-							if (javaclass != null) {
-								// This is just a hack until we can get ID situation straightened out.
-								// Need to cause introspection of the attributes and references.
-								javaclass.getEStructuralFeatures();
-								Object result = reflectionKey.primGet(key);	// See if it now got added as an id.
-								if (result == null) {
-									// Well, it could of been added by the diff merge, which as of now can't handle ids.
-									// So we will find it within the attributes/references.
-									result = findFeature(feature, javaclass.getEReferences());
-									if (result == null)
-										result = findFeature(feature, javaclass.getEAttributes());									
-									if (result instanceof EStructuralFeature) {
-										// Need to add it as an id so next time won't come through here.
-										((XMIResource) javaclass.eResource()).setID((EObject) result, key);	// So next time it will find it directly.
-									}
-								}
-								return result;
-							}
-						}
-					}
-				}
-			}
-		}
-						
-		return null;
-	}
-
-	private EStructuralFeature findFeature(String featureName, List featureList) {
-		Iterator itr = featureList.iterator();		
-		while (itr.hasNext()) {
-			EStructuralFeature feature = (EStructuralFeature) itr.next();
-			if (featureName.equals(feature.getName())) {
-				return feature;
-			}
-		}
-		return null;
-	}
-
-	protected JavaClass getJavaClass(JavaReflectionKey reflectionKey, String classname) {
-		Object eclass = reflectionKey.primGet(classname);
-		if (eclass == null) 
-			eclass = reflectionKey.getJavaType(classname);	// Let it create it.
-		if (eclass instanceof JavaClass)
-			return (JavaClass) eclass;
-		else
-			return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoModelSynchronizer.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoModelSynchronizer.java
deleted file mode 100644
index cc1551d..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoModelSynchronizer.java
+++ /dev/null
@@ -1,271 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoModelSynchronizer.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/06 20:43:00 $ 
- */
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.*;
-
-import org.eclipse.jem.internal.adapters.jdom.JavaModelListener;
-/**
- * This class listens for changes to the java model and flushs the
- * appropriate class introspection.
- */
-
-public class BeaninfoModelSynchronizer extends JavaModelListener {
-	protected BeaninfoAdapterFactory fAdapterFactory;
-	protected IJavaProject fProject; // The project this listener is opened on.
-	protected IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-	private static final IPath CLASSPATH_PATH = new Path(".classpath"); //$NON-NLS-1$
-	private static final IPath BEANINFOCONFIG_PATH = new Path(BeaninfoNature.P_BEANINFO_SEARCH_PATH);	//$NON-NLS-1$	
-
-	public BeaninfoModelSynchronizer(BeaninfoAdapterFactory aFactory, IJavaProject aProject) {
-		super();
-		fAdapterFactory = aFactory;
-		fProject = aProject;
-		// We're really only interested in Post_Change, not the others, so we will
-		// remove ourself (since super ctor added ourself) and then add ourself
-		// back with only post change. (Post change is after everything has been
-		// reconciled and build).
-		JavaCore.removeElementChangedListener(this);
-		JavaCore.addElementChangedListener(this, ElementChangedEvent.POST_CHANGE);	
-	}
-
-	/**
-	 * Stop the synchronizer from listening to any more changes.
-	 */
-	public void stopSynchronizer(boolean clearResults) {
-		JavaCore.removeElementChangedListener(this);
-		getAdapterFactory().closeAll(clearResults);
-	}
-
-	protected BeaninfoAdapterFactory getAdapterFactory() {
-		return fAdapterFactory;
-	}
-
-	protected IJavaProject getJavaProject(IClasspathEntry entry) {
-		IProject proj = workspaceRoot.getProject(entry.getPath().segment(0));
-		if (proj != null)
-			return (IJavaProject) JavaCore.create(proj);
-		return null;
-	}
-	
-	private boolean isClassPathChange(IJavaElementDelta delta) {
-		int flags = delta.getFlags();
-		return (
-			delta.getKind() == IJavaElementDelta.CHANGED
-				&& ((flags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) != 0)
-				|| ((flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0)
-				|| ((flags & IJavaElementDelta.F_REORDER) != 0));
-	}
-
-	/**
-	 * This method will check to see if a <code>javaProject</code> is a project in the
-	 * classpath of the adapterFactory java project.
-	 */
-	protected boolean isInClasspath(IJavaProject javaProject) {
-		IJavaProject adapterJavaProject = fProject;
-		if (javaProject.equals(adapterJavaProject))
-			return true;
-		return isInClasspath(javaProject, adapterJavaProject, true, new HashSet());
-	}
-
-	protected boolean isInClasspath(IJavaProject testProject, IJavaProject targetProject, boolean isFirstLevel, Set visited) {
-		if (visited.contains(targetProject))
-			return false;
-		visited.add(targetProject);
-		IClasspathEntry[] entries = null;
-		try {
-			entries = targetProject.getRawClasspath();
-		} catch (JavaModelException e) {
-			return false;
-		}
-		IClasspathEntry entry, resEntry;
-		IJavaProject proj = null;
-		List projects = null;
-		for (int i = 0; i < entries.length; i++) {
-			entry = entries[i];
-			if (entry.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
-				resEntry = JavaCore.getResolvedClasspathEntry(entry);
-				proj = getJavaProject(resEntry);
-				if (isFirstLevel || resEntry.isExported()) {
-					if (proj.equals(testProject))
-						return true;
-					else {
-						if (projects == null)
-							projects = new ArrayList();
-						projects.add(proj);
-					}
-				}
-			}
-		}
-		return isInClasspath(testProject, projects, false, visited);
-	}
-	
-	protected boolean isInClasspath(IJavaProject testProject, List someJavaProjects, boolean isFirstLevel, Set visited) {
-		if (someJavaProjects == null)
-			return false;
-		int size = someJavaProjects.size();
-		IJavaProject javaProj = null;
-		for (int i = 0; i < size; i++) {
-			javaProj = (IJavaProject) someJavaProjects.get(i);
-			return isInClasspath(testProject, javaProj, isFirstLevel, visited);
-		}
-		return false;
-	}
-
-	/*
-	 * Test if .classpath/.beaninfoconfig is part of the change. This is necessary
-	 * because .classpath/.beaninfoconfig changes of DEPENDENT PROJECTS are not signaled
-	 * through classpath change mechanisms of the top project.
-	 */
-	private boolean isClasspathResourceChange(IJavaElementDelta delta) {
-		IResourceDelta[] resources = delta.getResourceDeltas();
-		if (resources == null)
-			return false;
-		IPath path = null;
-		for (int i = 0; i < resources.length; i++) {
-			if (resources[i].getKind() != IResourceDelta.NO_CHANGE) {
-				path = resources[i].getProjectRelativePath();
-				if (path.equals(CLASSPATH_PATH) || path.equals(BEANINFOCONFIG_PATH))
-					return true;
-			}
-		}
-		return false;
-	}
-
-	protected void processJavaElementChanged(IJavaProject element, IJavaElementDelta delta) {
-		if (isInClasspath(element)) {
-			if (delta.getKind() == IJavaElementDelta.REMOVED || delta.getKind() == IJavaElementDelta.ADDED) {
-				// Don't need to do anything for delete/close/add/open of main project because there is much more that needs to
-				// be done by BeaninfoNature on project close/delete, so nature listens for this and does the appropriate cleanup.			
-				if (!element.equals(fProject)) {
-					// However, all other projects are required projects and if they are deleted/closed/added/opened when need to do
-					// a full flush because we don't know any of the state, whether they are still there or not.
-					getAdapterFactory().markAllStale();
-				}
-				return;
-			} else if (isClasspathResourceChange(delta)) {
-				getAdapterFactory().markAllStale(); // The .classpath file itself in SOME DEPENDENT PROJECT has changed. 
-				return;
-			}
-			processChildren(element, delta);
-		}
-	}
-
-	/**
-	 * Handle the change for a single element, children will be handled separately.
-	 * If a working copy, then ignore it because we don't care about changes until
-	 * they are committed. Else, if the CU has changed content then mark all of the
-	 * types in this CU (such as inner classes) as stale.
-	 * If it is not a content change then process the children.
-	 */
-	protected void processJavaElementChanged(ICompilationUnit element, IJavaElementDelta delta) {
-		if (!element.isWorkingCopy()) {
-			if (((delta.getKind() == IJavaElementDelta.CHANGED && (delta.getFlags() & IJavaElementDelta.F_PRIMARY_WORKING_COPY) == 0) || delta.getKind() == IJavaElementDelta.ADDED)) {
-				try {
-					IType[] flushTypes = element.getAllTypes();
-					for (int i = 0; i < flushTypes.length; i++) {
-						getAdapterFactory().markStaleIntrospection(flushTypes[i].getFullyQualifiedName(), false);
-					}
-				} catch (JavaModelException e) {
-				}
-			}
-			if (delta.getKind() == IJavaElementDelta.REMOVED) {
-				// It doesn't matter if totally removed or just moved somewhere else, we will clear out and remove the
-				// adapter because there could be a rename which would be a different class.
-				// Currently the element is already deleted and there is no way to find the types in the unit to remove.
-				// So instead we ask factory to remove all it any that start with it plus for inner classes.				
-				getAdapterFactory().unregisterIntrospectionPlusInner(getFullNameFromElement(element));
-				return;
-				// Since the compilation unit was removed we don't need to process the children (actually the children list will be empty
-			}
-			processChildren(element, delta);
-		}
-	}
-
-	/**
-	 * Handle the change for a single element, children will be handled separately.
-		 */
-	protected void processJavaElementChanged(IClassFile element, IJavaElementDelta delta) {
-		if (delta.getKind() == IJavaElementDelta.REMOVED) {
-			// It doesn't matter if totally removed or just moved somewhere else, we will clear out and remove the
-			// adapter because there could be a rename which would be a different class.
-			// Currently the element is already deleted and there is no way to find the types in the unit to remove.
-			// So instead we ask factory to remove all it any that start with it plus for inner classes.
-			getAdapterFactory().unregisterIntrospectionPlusInner(getFullNameFromElement(element));
-			return; // Since the classfile was removed we don't need to process the children (actually the children list will be empty
-		}
-		IJavaElementDelta[] children = delta.getAffectedChildren();
-		for (int ii = 0; ii < children.length; ii++) {
-			processDelta(children[ii]);
-		}
-	}
-
-	protected String getFullNameFromElement(IJavaElement element) {
-		String name = element.getElementName();		
-		if (!(element instanceof ICompilationUnit || element instanceof IClassFile))
-			return name;	// Shouldn't be here
-		
-		// remove extension.
-		int periodNdx = name.lastIndexOf('.');
-		if (periodNdx == -1)
-			return name;	// Shouldn't be here. There should be an extension
-					
-		String typeName = null;
-		String parentName = element.getParent().getElementName();
-		if (parentName == null || parentName.length() == 0)
-			typeName = name.substring(0, periodNdx); // In default package
-		else
-			typeName = parentName + "." + name.substring(0, periodNdx); //$NON-NLS-1$
-								
-		return typeName;
-	}
-
-	/**
-	 * Handle the change for a single element, children will be handled separately.
-	 * If the classpath has changed, mark all as stale because we don't know what
-	 * has changed. Things that were in the path may no longer be in the path, or
-	 * the order was changed, which could affect the introspection.
-	 */
-	protected void processJavaElementChanged(IPackageFragmentRoot element, IJavaElementDelta delta) {
-		if (isClassPathChange(delta))
-			fAdapterFactory.markAllStale();
-		else
-			super.processJavaElementChanged(element, delta);
-	}
-
-	/**
-	 * Handle the change for a single element, children will be handled separately.
-	 * Something about the type has changed. If it was removed (not a move), then close the
-	 * adapter too.
-	 */
-	protected void processJavaElementChanged(IType element, IJavaElementDelta delta) {
-		if (delta.getKind() == IJavaElementDelta.REMOVED) {
-			getAdapterFactory().unregisterIntrospectionPlusInner(element.getFullyQualifiedName());	// Close it out. Doesn't matter if moved_to, that would be a rename which requires brand new class.
-		} else
-			getAdapterFactory().markStaleIntrospection(element.getFullyQualifiedName(), false); // Just mark it stale
-		processChildren(element, delta);
-	}
-
-	public String toString() {
-		return super.toString()+" "+fProject.getElementName(); //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoNature.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoNature.java
deleted file mode 100644
index 7aac844..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoNature.java
+++ /dev/null
@@ -1,921 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoNature.java,v $
- *  $Revision: 1.9 $  $Date: 2004/03/08 00:48:00 $ 
- */
-
-import java.io.*;
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.apache.xerces.jaxp.DocumentBuilderFactoryImpl;
-import org.apache.xml.serialize.*;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.w3c.dom.*;
-import org.xml.sax.InputSource;
-
-import org.eclipse.jem.internal.java.adapters.JavaXMIFactoryImpl;
-import org.eclipse.jem.internal.java.beaninfo.IIntrospectionAdapter;
-import org.eclipse.jem.internal.java.init.JavaInit;
-import org.eclipse.jem.internal.plugin.JavaEMFNature;
-import org.eclipse.jem.internal.proxy.core.*;
-
-import com.ibm.wtp.emf.workbench.ResourceHandler;
-
-/**
- * The beaninfo nature. It is created for a project and holds the
- * necessary info for beaninfo to be performed on a project.
- */
-
-public class BeaninfoNature implements IProjectNature {
-
-	public static final String NATURE_ID = "org.eclipse.jem.beaninfo.BeanInfoNature"; //$NON-NLS-1$
-	public static final String P_BEANINFO_SEARCH_PATH = ".beaninfoConfig"; //$NON-NLS-1$
-	// Persistent key
-
-	private ResourceTracker resourceTracker;
-	// This class listens for changes to the beaninfo paths file, and if changed it marks all stale
-	// so the next time anything is needed it will recycle the vm. It will also listen about to close or
-	// about to delete of the project so that it can cleanup.
-	private class ResourceTracker implements IResourceChangeListener{
-		public void resourceChanged(IResourceChangeEvent e) {
-			// About to close or delete the project and it is ours, so we need to cleanup.
-			if (e.getType() == IResourceChangeEvent.PRE_CLOSE || e.getType() == IResourceChangeEvent.PRE_DELETE) {
-				// Performance: It has been noted that dres.equals(...) can be slow with the number
-				// of visits done. Checking just the last segment (getName()) first before checking
-				// the entire resource provides faster testing. If the last segment is not equal,
-				// then the entire resource could not be equal.
-				IResource eventResource = e.getResource();
-				if (eventResource.getName().equals(getProject().getName()) && eventResource.equals(getProject())) {
-					cleanup(false);
-					return;
-				}
-			}
-			// Note: the BeaninfoModelSynchronizer takes care of both .classpath and .beaninfoconfig changes
-			// in this project and any required projects.
-		}
-	}
-
-	private ProxyFactoryRegistry.IRegistryListener registryListener = new ProxyFactoryRegistry.IRegistryListener() {
-		/**
-		 * @see org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry.IRegistryListener#registryTerminated(ProxyFactoryRegistry)
-		 */
-		public void registryTerminated(ProxyFactoryRegistry registry) {
-			markAllStale();
-		};
-	};
-
-	/**
-	 * Get the runtime nature for the project, create it if necessary.
-	 */
-	public static BeaninfoNature getRuntime(IProject project) throws CoreException {
-		if (project.hasNature(NATURE_ID))
-			return (BeaninfoNature) project.getNature(NATURE_ID);
-		else
-			return createRuntime(project);
-	}
-
-	/**
-	 * Test if this is a valid project for a Beaninfo Nature. It must be
-	 * a JavaProject.
-	 */
-	public static boolean isValidProject(IProject project) {
-		try {
-			return project.hasNature(JavaCore.NATURE_ID);
-		} catch (CoreException e) {
-			return false;
-		}
-	}
-
-	/**
-	 * Create the runtime.
-	 */
-	private static BeaninfoNature createRuntime(IProject project) throws CoreException {
-		if (!isValidProject(project))
-			throw new CoreException(
-				new Status(
-					IStatus.ERROR,
-					BeaninfoPlugin.PI_BEANINFO,
-					0,
-					MessageFormat.format(
-						BeaninfoPlugin.getPlugin().getDescriptor().getResourceString(BeaninfoProperties.INTROSPECTFAILED),
-						new Object[] { project.getName(), "Invalid project"}),
-					null));
-
-		addNatureToProject(project, NATURE_ID);
-		return (BeaninfoNature) project.getNature(NATURE_ID);
-	}
-
-	private static void addNatureToProject(IProject proj, String natureId) throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures = description.getNatureIds();
-		String[] newNatures = new String[prevNatures.length + 1];
-		System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length);
-		newNatures[prevNatures.length] = natureId;
-		description.setNatureIds(newNatures);
-		proj.setDescription(description, null);
-	}
-
-	private IProject fProject;
-	protected ProxyFactoryRegistry fRegistry;
-	protected ResourceSet javaRSet;
-	protected BeaninfoModelSynchronizer fSynchronizer;
-	protected static BeaninfoJavaReflectionKeyExtension fReflectionKeyExtension;
-
-	/** 
-	 * Configures the project with this nature.
-	 * This is called by <code>IProject.getNature</code> and should not
-	 * be called directly by clients.
-	 * The nature extension id is added to the list of natures on the project by
-	 * <code>IProject.getNature</code>, and need not be added here.
-	 *
-	 * @exception CoreException if this method fails.
-	 */
-	public void configure() throws CoreException {
-	}
-
-	/** 
-	 * Removes this nature from the project, performing any required deconfiguration.
-	 * This is called by <code>IProject.removeNature</code> and should not
-	 * be called directly by clients.
-	 * The nature id is removed from the list of natures on the project by
-	 * <code>IProject.removeNature</code>, and need not be removed here.
-	 *
-	 * @exception CoreException if this method fails. 
-	 */
-	public void deconfigure() throws CoreException {
-		removeSharedProperty(P_BEANINFO_SEARCH_PATH, null);
-		cleanup(true);
-	}
-
-	/**
-	 * Return a new ResourceSet that is linked correctly to this Beaninfo Nature.
-	 * This links up a ResourceSet so that it will work correctly with this nature.
-	 * It makes sure that going through the ResourceSet that any "java:/..."
-	 * classes can be found and it makes sure that any new classes are placed into the
-	 * nature's resource set and not resource set doing the calling.
-	 * 
-	 * The resourceset will have a context assigned to it.
-	 * 
-	 * This should be used any time a resource set is needed that is not the
-	 * project wide resource set associated with beaninfos, but will reference
-	 * Java Model classes or instantiate.
-	 */
-	public ResourceSet newResourceSet() {
-		SpecialResourceSet rset = new SpecialResourceSet();
-		rset.add(new ResourceHandler() {
-			public EObject getEObjectFailed(ResourceSet originatingResourceSet, URI uri, boolean loadOnDemand) {
-				return null; // We don't have any special things we can do in this case.
-			}
-
-			public Resource getResource(ResourceSet originatingResourceSet, URI uri) {
-				// Always try to get it out of the nature's resource set because it may of been loaded there either as 
-				// the "java:..." type or it could of been an override extra file (such as an override EMF package, for
-				// example jcf has a side package containing the definition of the new attribute type. That file
-				// will also be loaded into this resourceset. So to find it we need to go in here and try.
-				//
-				// However, if not found we won't go and try to load the resource. That could load in the wrong place.
-				// TODO Because of a bug in XMLHandler.getPackageFromURI(), it doesn't use getResource(...,true) and it tries instead
-				// to use uri inputstream to load the package when not found. This bypasses our special create resource and so
-				// packages are not automatically created. So we need to do load on demand here instead if it is a java protocol.
-				return getResourceSet().getResource(uri, JavaXMIFactoryImpl.SCHEME.equals(uri.scheme()));
-			}
-
-			public Resource createResource(ResourceSet originatingResourceSet, URI uri) {
-				// This is the one. It has got here because it couldn't find a resource already loaded.
-				// If it is a "java:/..." protocol resource, then we want to make sure it is loaded at the BeaninfoNature context
-				// instead of the lower one.
-				if (JavaXMIFactoryImpl.SCHEME.equals(uri.scheme()))
-					return getResourceSet().getResource(uri, true);
-				else
-					return null;
-			}
-		});
-		return rset;
-	}
-	/**
-	 * Clean up, this means either the project is being closed, deleted, or it means that
-	 * the nature is being removed from the project. Either way that means to
-	 * terminate the VM and remove what we added to the context if the flag says clear it.
-	 */
-	protected void cleanup(boolean clearResults) {
-		getProject().getWorkspace().removeResourceChangeListener(resourceTracker);
-		resourceTracker = null;
-		fSynchronizer.stopSynchronizer(clearResults);
-		Init.cleanup(javaRSet, clearResults);
-		if (fRegistry != null)
-			fRegistry.terminateRegistry();
-
-		javaRSet = null;
-		fRegistry = null;
-		fProject = null;
-		fSynchronizer = null;
-	}
-
-	/** 
-	 * Returns the project to which this project nature applies.
-	 *
-	 * @return the project handle
-	 */
-	public IProject getProject() {
-		return fProject;
-	}
-
-	/**
-	 * Sets the project to which this nature applies.
-	 * Used when instantiating this project nature runtime.
-	 * This is called by <code>IProject.addNature</code>
-	 * and should not be called directly by clients.
-	 *
-	 * @param project the project to which this nature applies
-	 */
-	public void setProject(IProject project) {
-		fProject = project;
-
-		try {
-			// The nature has been started for this project, need to setup the introspection process now.
-			JavaEMFNature javaNature = JavaEMFNature.createRuntime(fProject);
-			JavaInit.init();
-			if (fReflectionKeyExtension == null) {
-				// Register the reflection key extension.
-				fReflectionKeyExtension = new BeaninfoJavaReflectionKeyExtension();
-				JavaXMIFactoryImpl.INSTANCE.registerReflectionKeyExtension(fReflectionKeyExtension);
-			}
-
-			javaRSet = javaNature.getResourceSet();
-			Init.initialize(javaRSet, new IBeaninfoSupplier() {
-				public ProxyFactoryRegistry getRegistry() {
-					return BeaninfoNature.this.getRegistry();
-				}
-
-				public boolean isRegistryCreated() {
-					return BeaninfoNature.this.isRegistryCreated();
-				}
-				
-				public void closeRegistry() {
-					BeaninfoNature.this.closeRegistry();
-				}
-			});
-			fSynchronizer =
-				new BeaninfoModelSynchronizer(
-					(BeaninfoAdapterFactory) EcoreUtil.getAdapterFactory(javaRSet.getAdapterFactories(), IIntrospectionAdapter.ADAPTER_KEY),
-					JavaCore.create(javaNature.getProject()));
-			resourceTracker = new ResourceTracker();
-			project.getWorkspace().addResourceChangeListener(resourceTracker);
-		} catch (CoreException e) {
-			BeaninfoPlugin.getPlugin().getLogger().log(e.getStatus());
-		}
-	}
-
-	/**
-	 * Get the registry, creating it if necessary.
-	 */
-	public ProxyFactoryRegistry getRegistry() {
-		return getRegistry(new NullProgressMonitor());
-	}
-
-	/**
-	 * Close the registry. It needs to be recycled because a class has changed
-	 * and now the new class needs to be accessed.
-	 */
-	protected void closeRegistry() {
-		ProxyFactoryRegistry reg = null;
-		synchronized (this) {
-			reg = fRegistry;
-			fRegistry = null;
-		}
-		if (reg != null) {
-			reg.removeRegistryListener(registryListener);
-			reg.terminateRegistry();
-		}
-	}
-
-	public synchronized ProxyFactoryRegistry getRegistry(IProgressMonitor pm) {
-		if (fRegistry == null) {
-			try {
-					fRegistry = ProxyLaunchSupport.startImplementation(fProject, "Beaninfo", //$NON-NLS-1$
-							new IConfigurationContributor[] { getConfigurationContributor()}, pm);
-				fRegistry.addRegistryListener(registryListener);
-			} catch (CoreException e) {
-				BeaninfoPlugin.getPlugin().getLogger().log(e.getStatus());
-			}
-		}
-		return fRegistry;
-	}
-	
-	public synchronized boolean isRegistryCreated() {
-		return fRegistry != null;
-	}
-	
-	/**
-	 * Check to see if the nature is still valid. If the project has been
-	 * renamed, the nature is still around, but the project has been closed.
-	 * So the nature is now invalid.
-	 * 
-	 * @return Is this a valid nature. I.e. is the project still open.
-	 */
-	public boolean isValidNature() {
-		return fProject != null;
-	}
-
-	/**
-	 * Set the search path onto the registry.
-	 */
-	protected void setProxySearchPath(ProxyFactoryRegistry registry, List searchPaths) {
-		if (searchPaths != null) {
-			String[] stringSearchPath = (String[]) searchPaths.toArray(new String[searchPaths.size()]);
-			Utilities.setBeanInfoSearchPath(registry, stringSearchPath);
-		} else
-			Utilities.setBeanInfoSearchPath(registry, null);
-	}
-
-	private static final String ENCODING = "UTF-8"; //$NON-NLS-1$
-	static final String sBeaninfos = "beaninfos"; // Root element name //$NON-NLS-1$
-	/**
-	 * Get the persistent search path. The object returned is a copy of the
-	 * list, and it can be modified, but it won't be reflected back into the
-	 * nature.
-	 */
-	public BeaninfosDoc getSearchPath() {
-		BeaninfosDoc bdoc = null;
-		try {
-			InputStream property = getSharedProperty(P_BEANINFO_SEARCH_PATH);
-			if (property != null) {
-				try {
-					// Need to reconstruct from the XML format.
-					DocumentBuilderFactoryImpl bldrFactory = new DocumentBuilderFactoryImpl();
-					Document doc = bldrFactory.newDocumentBuilder().parse(new InputSource(new InputStreamReader(property, ENCODING)));
-					Element root = doc.getDocumentElement();
-					if (root != null && root.getNodeName().equalsIgnoreCase(sBeaninfos)) {
-						bdoc = BeaninfosDoc.readEntry(new DOMReader(), root, getProject());
-					}
-				} finally {
-					try {
-						property.close();
-					} catch (IOException e) {
-					}
-				}
-			}
-		} catch (CoreException e) {
-			BeaninfoPlugin.getPlugin().getLogger().log(e.getStatus());
-		} catch (Exception e) {
-			BeaninfoPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, BeaninfoPlugin.PI_BEANINFO, 0, "", e));
-		}
-		return bdoc;
-	}
-
-	/**
-	 * Set the persistent search path. No progress monitor.
-	 */
-	public void setSearchPath(BeaninfosDoc searchPath) throws CoreException {
-		setSearchPath(searchPath, null);
-	}
-
-	/**
-	 * Set the persistent search path with a progress monitor
-	 */
-	public void setSearchPath(BeaninfosDoc searchPath, IProgressMonitor monitor) throws CoreException {
-		String property = null;
-		if (searchPath != null && searchPath.getSearchpath().length > 0) {
-			try {
-				DocumentBuilderFactoryImpl bldrFactory = new DocumentBuilderFactoryImpl();
-				Document doc = bldrFactory.newDocumentBuilder().newDocument();
-				Element root = doc.createElement(sBeaninfos); // Create Root Element
-				IBeaninfosDocEntry[] entries = searchPath.getSearchpath();
-				for (int i = 0; i < entries.length; i++)
-					root.appendChild(entries[i].writeEntry(doc, getProject())); // Add to the search path
-				doc.appendChild(root); // Add Root to Document
-				OutputFormat format = new OutputFormat(doc); //Serialize DOM
-				format.setIndenting(true);
-				StringWriter strWriter = new StringWriter();
-				Serializer serial = SerializerFactory.getSerializerFactory(format.getMethod()).makeSerializer(strWriter, format);
-				serial.asDOMSerializer().serialize(doc.getDocumentElement());
-				property = strWriter.toString();
-			} catch (Exception e) {
-			}
-		}
-
-		if (property != null) {
-			// If it hasn't changed, don't write it back out. This is so that if the file hasn't
-			// been checked out and it is the same, we don't want to bother the user. This is because
-			// we don't know if the user had simply browsed the search path or had actually changed and
-			// set it back to what it was. In either of those cases it would be a bother to ask the
-			// user to checkout the file.
-			InputStream is = getSharedProperty(P_BEANINFO_SEARCH_PATH);
-			if (is != null) {
-				try {
-					try {
-						InputStreamReader reader = new InputStreamReader(is, ENCODING);
-						char[] chars = new char[1000];
-						StringBuffer oldProperty = new StringBuffer(1000);
-						int read = reader.read(chars);
-						while (read != -1) {
-							oldProperty.append(chars, 0, read);
-							read = reader.read(chars);
-						}
-						if (oldProperty.toString().equals(property))
-							return;
-					} catch (IOException e) {
-					} // Didn't change.
-				} finally {
-					try {
-						is.close();
-					} catch (IOException e) {
-					}
-				}
-			}
-			setSharedProperty(P_BEANINFO_SEARCH_PATH, property, monitor);
-		} else
-			removeSharedProperty(P_BEANINFO_SEARCH_PATH, monitor);
-	}
-
-	/**
-	 * Return the resource set for all java packages in this nature.
-	 */
-	public ResourceSet getResourceSet() {
-		return javaRSet;
-	}
-
-	protected void markAllStale() {
-		// Mark all stale so that the registry will be recycled.
-		if (fRegistry != null) {
-			// We have a registry running, we need to indicate recycle is needed.
-			fSynchronizer.getAdapterFactory().markAllStale();
-			// Mark all stale. Next time we need anything it will be recycled.
-		}
-	}
-
-	/**
-	 * Compute the file name to use for a given shared property
-	 */
-	protected String computeSharedPropertyFileName(QualifiedName qName) {
-		return qName.getLocalName();
-	}
-
-	/**
-	 * Retrieve a shared property on a project. If the property is not defined, answers null.
-	 * Note that it is orthogonal to IResource persistent properties, and client code has to decide
-	 * which form of storage to use appropriately. Shared properties produce real resource files which
-	 * can be shared through a VCM onto a server. Persistent properties are not shareable.
-	 *
-	 */
-	protected InputStream getSharedProperty(String propertyFileName) throws CoreException {
-		IFile rscFile = getProject().getFile(propertyFileName);
-		if (rscFile.exists())
-			return rscFile.getContents(true);
-		else
-			return null;
-	}
-
-	/**
-	 * Record a shared persistent property onto a project.
-	 * Note that it is orthogonal to IResource persistent properties, and client code has to decide
-	 * which form of storage to use appropriately. Shared properties produce real resource files which
-	 * can be shared through a VCM onto a server. Persistent properties are not shareable.
-	 * 
-	 * shared properties end up in resource files, and thus cannot be modified during
-	 * delta notifications (a CoreException would then be thrown).
-	 * 
-	 */
-	protected void setSharedProperty(String propertyName, String value, IProgressMonitor monitor) throws CoreException {
-
-		try {
-			IFile rscFile = getProject().getFile(propertyName);
-			InputStream input = new ByteArrayInputStream(value.getBytes(ENCODING));
-			// update the resource content
-			if (rscFile.exists()) {
-				rscFile.setContents(input, true, false, null);
-			} else {
-				rscFile.create(input, true, monitor);
-			}
-		} catch (UnsupportedEncodingException e) {
-		}
-	}
-
-	/**
-	 * Remove a shared persistent property onto a project.
-	 * Note that it is orthogonal to IResource persistent properties, and client code has to decide
-	 * which form of storage to use appropriately. Shared properties produce real resource files which
-	 * can be shared through a VCM onto a server. Persistent properties are not shareable.
-	 * 
-	 * shared properties end up in resource files, and thus cannot be modified during
-	 * delta notifications (a CoreException would then be thrown).
-	 * 
-	 */
-	protected void removeSharedProperty(String propertyName, IProgressMonitor monitor) throws CoreException {
-
-		IFile rscFile = getProject().getFile(propertyName);
-		rscFile.delete(true, true, monitor);
-	}
-
-	/**
-	 * Return a configuration contributor that sets up a vm to allow
-	 * introspection. This will make sure the appropriate paths
-	 * are in the classpath to allow access to the beaninfos, and
-	 * it will setup the beaninfo search path for this project.
-	 */
-	public IConfigurationContributor getConfigurationContributor() {
-		return new ConfigurationContributor(getSearchPath());
-	}
-
-	private static final IPath JRE_LIB_VARIABLE_PATH = new Path(JavaRuntime.JRELIB_VARIABLE);	// TODO Remove when we handle containers
-	private class ConfigurationContributor implements IConfigurationContributor {
-
-		BeaninfosDoc doc;
-		List computedSearchPath = new ArrayList();
-		// Compute the search path as we compute the classpaths. This is saved because it will be used in a separate call.
-		HashSet visitedVariablepaths; // Visited registered variable paths, so we don't visit them again.
-		List variableContributors = new ArrayList(0); // Variable contributors that were found.
-
-		public ConfigurationContributor(BeaninfosDoc doc) {
-			this.doc = doc;
-		}
-
-		/**
-		 * Method to update any class paths with any
-		 * paths that need to be added to a VM. In this case, it is
-		 * the proxyvm.jar that needs to be added. This jar contains
-		 * the common code that is required by any VM for proxy
-		 * support.
-		 */
-		public void contributeClasspaths(IConfigurationContributionController controller) throws CoreException {
-			// Need to find any additional beaninfo jars. They can be pointed to within this projects path,
-			// or they can be found in pre-req'd project (assuming they are exported).
-			HashSet visitedProjects = new HashSet();
-			visitedVariablepaths = new HashSet();
-			try {
-				contributeClasspathsForProject(controller, getProject(), visitedProjects, doc);
-				// Add the beaninfovm.jar and any nls to the end of the classpath.
-				controller.contributeClasspath(BeaninfoPlugin.getPlugin(), "vm/beaninfovm.jar", IConfigurationContributionController.APPEND_USER_CLASSPATH, true); //$NON-NLS-1$
-			} finally {
-				visitedVariablepaths = null;
-			}
-
-			// Now turn the var elements into contributors.
-			for (ListIterator itr = variableContributors.listIterator(); itr.hasNext();) {
-				IConfigurationElement v = (IConfigurationElement) itr.next();
-				IConfigurationContributor contrib = null;
-				try {
-					contrib = (IConfigurationContributor) v.createExecutableExtension(BeaninfoPlugin.PI_CONTRIBUTOR);
-				} catch (ClassCastException e) {
-					BeaninfoPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, BeaninfoPlugin.PI_BEANINFO, 0, "", e)); //$NON-NLS-1$
-				}
-
-				itr.set(contrib); // Set to what should be used, null is valid for not found.
-				if (contrib != null)
-					contrib.contributeClasspaths(controller);
-			}
-		}
-
-		private IClasspathEntry get(IClasspathEntry[] array, InternalCPEntry cpe) {
-			for (int i = 0; i < array.length; i++) {
-				if (cpe.equals(array[i]))
-					return array[i];
-			}
-
-			return null;
-		}
-
-		/*
-		 * Contribute classpaths for the specified project. If doc is passed in, then this is the top level and
-		 * all should be added. If no doc, then this is pre-req'd project, and then we will handle exported entries only.
-		 */
-		protected void contributeClasspathsForProject(
-			IConfigurationContributionController controller,
-			IProject project,
-			HashSet visitedProjects,
-			BeaninfosDoc doc)
-			throws CoreException {
-			if (visitedProjects.contains(project))
-				return;
-			visitedProjects.add(project);
-
-			IJavaProject jProject = JavaCore.create(project);
-			IClasspathEntry[] rawPath = jProject.getRawClasspath();
-
-			// List of classpath entries for this project that have already been processed in the search path list.
-			// This is so that at the end when we process the classpath to add in any implicit beaninfos/search paths,
-			// we know these had been explicitly handled already.
-			List contributedICPEs = new ArrayList();
-			InternalCPEntry working = new InternalCPEntry(); // A working copy that we keep reusing.
-
-			// Search path of this project
-			IBeaninfosDocEntry[] entries = null;
-			if (doc != null)
-				entries = doc.getSearchpath();
-			else {
-				BeaninfosDoc adoc = BeaninfoNature.getRuntime(project).getSearchPath();
-				entries = adoc != null ? adoc.getSearchpath() : new IBeaninfosDocEntry[0];
-			}
-
-			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-
-			for (int i = 0; i < entries.length; i++) {
-				IBeaninfosDocEntry entry = entries[i];
-				if (entry instanceof BeaninfoEntry) {
-					BeaninfoEntry be = (BeaninfoEntry) entry;
-					if (doc != null || be.isExported()) {
-						// First project or this is an exported beaninfo
-						Object cp = be.getClasspath();
-						if (cp instanceof IProject)
-							controller.contributeProject((IProject) cp);
-						else if (cp instanceof String)
-							controller.contributeClasspath((String) cp, IConfigurationContributionController.APPEND_USER_CLASSPATH);
-						else if (cp instanceof String[]) {
-							String[] cps = (String[]) cp;
-							for (int j = 0; j < cps.length; j++) {
-								controller.contributeClasspath(cps[j], IConfigurationContributionController.APPEND_USER_CLASSPATH);
-							}
-						} else
-							continue; // It was an invalid entry, don't add in its searchpaths.
-
-						// Now add in the package names.
-						SearchpathEntry[] sees = be.getSearchPaths();
-						for (int j = 0; j < sees.length; j++) {
-							SearchpathEntry searchpathEntry = sees[j];
-							if (!computedSearchPath.contains(searchpathEntry.getPackage()))
-								computedSearchPath.add(searchpathEntry.getPackage());
-						}
-					}
-				} else {
-					// Just a search path entry. There is no beaninfo jar to pick up.
-					SearchpathEntry se = (SearchpathEntry) entry;
-					working.setEntry(se.getKind(), se.getPath());
-					int cndx = contributedICPEs.indexOf(working);
-					if (cndx == -1) {
-						InternalCPEntry icpe = new InternalCPEntry(working.getKind(), working.getPath());
-						contributedICPEs.add(icpe); // Keep a record that this entry has been used.
-						if (doc == null) {
-							// This is the first time we've found this entry and we are in a nested project, find the raw classpath entry to see
-							// if this entry is exported. Only do it if exported. (Note: exported is only used on non-source. Source are always exported).
-							IClasspathEntry cpe = get(rawPath, icpe);
-							if (cpe == null || (cpe.getEntryKind() != IClasspathEntry.CPE_SOURCE && !cpe.isExported())) {
-								icpe.setIsExported(false); // Mark it as exported so if found again it won't be used.
-								continue; // Not exist or not exported, so we don't want it here either.
-							}
-						}
-					} else {
-						InternalCPEntry icpe = (InternalCPEntry) contributedICPEs.get(cndx);
-						if (doc == null && !icpe.isExported())
-							continue; // We've already determined it is not exported, so don't use it.
-					}
-
-					String pkg = se.getPackage();
-					if (pkg != null) {
-						// Explicit search path
-						if (!computedSearchPath.contains(pkg))
-							computedSearchPath.add(pkg);
-					} else {
-						// Process if this is an implicit search path kind of entry.
-						// I.e. It is just kind/path and no packagename. This means
-						// find the implicit searchpaths for this entry and put them
-						// in order here now. This can only be used on implicit kind
-						// of classpath entries. Any others don't have any implicit search paths
-						// so they are processed, just ignored.
-						processImplicitSearchPath(controller, visitedProjects, root, se.getKind(), se.getPath());
-					}
-
-				}
-			}
-
-			// Now we need to go through our raw classpath to handle any not already handled.
-			// We only handle implicit search path from the project or registered variable.
-			for (int i = 0; i < rawPath.length; i++) {
-				IClasspathEntry entry = rawPath[i];
-				working.setEntry(entry);
-				if (contributedICPEs.contains(working))
-					continue; // We've already handled it above.
-				processImplicitSearchPath(controller, visitedProjects, root, entry.getEntryKind(), entry.getPath());
-			}
-
-		}
-
-		protected void processImplicitSearchPath(
-			IConfigurationContributionController controller,
-			HashSet visitedProjects,
-			IWorkspaceRoot root,
-			int kind,
-			IPath path)
-			throws CoreException {
-			// Use the implicit search path from the project or registered variable.
-			// For now, only projects.
-			if (kind == IClasspathEntry.CPE_PROJECT) {
-				IProject reqProject = (IProject) root.findMember(path.lastSegment());
-				// Project entries only have one segment.
-				if (reqProject != null && reqProject.isOpen())
-					contributeClasspathsForProject(controller, reqProject, visitedProjects, null);
-			} else if (kind == IClasspathEntry.CPE_VARIABLE || kind == IClasspathEntry.CPE_CONTAINER) {
-				// We only handle variables as being registered.
-				// TODO - Hack to deal with containers for SWT till we get the proper solution
-				if (path == null || path.segmentCount() == 0)
-					return; // No path information to process.
-				// First we handle the generic kind of for just the variable itself (which is segment 0).
-				IPath varpath = path.segmentCount() == 1 ? path : path.removeLastSegments(path.segmentCount() - 1);
-				if (!visitedVariablepaths.contains(varpath)) {
-					visitedVariablepaths.add(varpath);
-					BeaninfoRegistration[] registrations = BeaninfoPlugin.getPlugin().getRegistrations(varpath);
-					if (registrations != null)
-						processBeaninfoRegistrations(registrations, controller);
-				}
-
-				// Now process for the specific path (which would be variable followed by some subpaths).
-				if (path.segmentCount() > 1 && !visitedVariablepaths.contains(path)) {
-					visitedVariablepaths.add(path);
-					BeaninfoRegistration[] registrations = BeaninfoPlugin.getPlugin().getRegistrations(path);
-					if (registrations != null)
-						processBeaninfoRegistrations(registrations, controller);
-				}
-			} 
-
-			if (kind == IClasspathEntry.CPE_CONTAINER) {
-				// KLUDGE TODO For now we can't really handle containers, we will simply hard-code and only handle JRE container to JRE_LIB stuff.
-				if (path == null || path.segmentCount() == 0)
-					return; // No path information to process.
-				if (path.segment(0).equals(JavaRuntime.JRE_CONTAINER)) {
-					if (!visitedVariablepaths.contains(JRE_LIB_VARIABLE_PATH)) {
-						visitedVariablepaths.add(JRE_LIB_VARIABLE_PATH);
-						BeaninfoRegistration[] registrations = BeaninfoPlugin.getPlugin().getRegistrations(JRE_LIB_VARIABLE_PATH);
-						if (registrations != null)
-							processBeaninfoRegistrations(registrations, controller);							
-					}
-				}
-			}
-		}
-
-		protected void processBeaninfoRegistrations(
-			BeaninfoRegistration[] registrations,
-			IConfigurationContributionController controller)
-			throws CoreException {
-			for (int i = 0; i < registrations.length; i++)
-				processBeaninfoRegistration(registrations[i], controller);
-		}
-
-		protected void processBeaninfoRegistration(
-			BeaninfoRegistration registration,
-			IConfigurationContributionController controller)
-			throws CoreException {
-			BeaninfosDoc doc = registration.getDoc();
-			if (doc == null)
-				return;
-
-			IConfigurationElement varElement = registration.getVariableElement();
-			if (varElement != null)
-				variableContributors.add(varElement);
-
-			IBeaninfosDocEntry[] entries = doc.getSearchpath();
-
-			for (int i = 0; i < entries.length; i++) {
-				IBeaninfosDocEntry entry = entries[i];
-				if (entry instanceof BeaninfoEntry) {
-					BeaninfoEntry be = (BeaninfoEntry) entry;
-					Object cp = be.getClasspath();
-					if (cp instanceof IProject)
-						controller.contributeProject((IProject) cp);
-					else if (cp instanceof String)
-						controller.contributeClasspath((String) cp, IConfigurationContributionController.APPEND_USER_CLASSPATH);
-					else if (cp instanceof String[]) {
-						String[] cps = (String[]) cp;
-						for (int j = 0; j < cps.length; j++) {
-							controller.contributeClasspath(cps[j], IConfigurationContributionController.APPEND_USER_CLASSPATH);	
-						}					
-					} else
-						continue; // It was an invalid entry, don't add in its searchpaths.
-
-					// Now add in the package names.
-					SearchpathEntry[] sees = be.getSearchPaths();
-					for (int j = 0; j < sees.length; j++) {
-						SearchpathEntry searchpathEntry = sees[j];
-						if (!computedSearchPath.contains(searchpathEntry.getPackage()))
-							computedSearchPath.add(searchpathEntry.getPackage());
-					}
-				} else {
-					// Just a search path entry. There is no beaninfo jar to pick up. The paths will be in the current classpath probably from the bean classes jar that this registration matches.
-					// There should be no paths or kinds. It should only be packagename.
-
-					String pkg = ((SearchpathEntry) entry).getPackage();
-					if (pkg != null) {
-						// Explicit search path
-						if (!computedSearchPath.contains(pkg))
-							computedSearchPath.add(pkg);
-					}
-				}
-			}
-		}
-
-		public void contributeToConfiguration(final ILaunchConfigurationWorkingCopy config) {
-			for (int i = 0; i < variableContributors.size(); i++) {
-				final int ii = i;
-				Platform.run(new ISafeRunnable() {
-					public void handleException(Throwable exception) {
-						// do nothing. by default platform logs.
-					}
-
-					public void run() throws Exception {
-						IConfigurationContributor contrib = (IConfigurationContributor) variableContributors.get(ii);
-						if (contrib != null)
-							contrib.contributeToConfiguration(config);
-					}
-				});
-			}
-		}
-
-		public void contributeToRegistry(ProxyFactoryRegistry registry) {
-			setProxySearchPath(registry, computedSearchPath);
-			for (int i = 0; i < variableContributors.size(); i++) {
-				IConfigurationContributor contrib = (IConfigurationContributor) variableContributors.get(i);
-				if (contrib != null)
-					contrib.contributeToRegistry(registry);
-			}
-		}
-	}
-
-	/*
-	 * An internal type CPEntry because an actual
-	 * entry also tests attachments, but we are only interested
-	 * in kind/path.
-	 * 
-	 * Note: This must not be used in a Hash... because its hashCode
-	 * doesn't work for this. This is because there is no hashCode
-	 * that we could compute that would allow IClasspathEntry's and
-	 * InternalCPEntry's that are semantically equal to hash to the same value.
-	 */
-	private static class InternalCPEntry {
-		int kind;
-		IPath path;
-		boolean isExported = true;
-
-		public InternalCPEntry(int kind, IPath path) {
-			setEntry(kind, path);
-		}
-
-		public InternalCPEntry() {
-		}
-
-		/*
-		 * Set if this entry is exported or not. This is not involved in
-		 * the equality test.
-		 */
-		public boolean isExported() {
-			return isExported;
-		}
-
-		public void setIsExported(boolean isExported) {
-			this.isExported = isExported;
-		}
-
-		public int getKind() {
-			return kind;
-		}
-
-		public IPath getPath() {
-			return path;
-		}
-
-		public boolean equals(Object o) {
-			if (this == o)
-				return true;
-
-			if (o instanceof IClasspathEntry) {
-				IClasspathEntry ce = (IClasspathEntry) o;
-				return kind == ce.getEntryKind() && path.equals(ce.getPath());
-			}
-
-			if (o instanceof InternalCPEntry) {
-				InternalCPEntry ice = (InternalCPEntry) o;
-				return kind == ice.kind && path.equals(ice.path);
-			}
-
-			return false;
-		}
-
-		public void setEntry(IClasspathEntry entry) {
-			setEntry(entry.getEntryKind(), entry.getPath());
-		}
-
-		public void setEntry(int kind, IPath path) {
-			this.kind = kind;
-			this.path = path;
-		}
-
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoPlugin.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoPlugin.java
deleted file mode 100644
index d5a1e67..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoPlugin.java
+++ /dev/null
@@ -1,326 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoPlugin.java,v $
- *  $Revision: 1.5 $  $Date: 2004/03/06 11:28:26 $ 
- */
-
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-
-import com.ibm.wtp.common.logger.proxy.Logger;
-import com.ibm.wtp.logger.proxyrender.EclipseLogger;
-
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-
-/**
- * The plugin class for the org.eclipse.jem.internal.proxy.core plugin.
- */
-
-public class BeaninfoPlugin extends Plugin {
-	public static final String PI_BEANINFO = "org.eclipse.jem.beaninfo";	// Plugin ID, used for QualifiedName. //$NON-NLS-1$
-	public static final String PI_BEANINFO_REGISTRATIONS = "registrations";	// ID of the registrations extension point. //$NON-NLS-1$
-	public static final String PI_BEANINFO_OVERRIDES = "overrides";	// ID of the overrides extension point. //$NON-NLS-1$
-	
-	public static final String PI_VARIABLE = "variable";	// <variable> in extension point. //$NON-NLS-1$
-	public static final String PI_CONTAINER = "container"; // <container> in extension point. //$NON-NLS-1$	
-	public static final String PI_PATH = "path";	// <path="..."> in extension point. //$NON-NLS-1$
-	public static final String PI_CONTRIBUTOR = "contributor";	// <contributor ...> or contributor="..." in extension point //$NON-NLS-1$
-
-	public static final String PI_PACKAGE = "package";	// <package="..." in extension point. //$NON-NLS-1$
-	
-	private static BeaninfoPlugin BEANINFO_PLUGIN = null;
-		
-	public BeaninfoPlugin(IPluginDescriptor pluginDescriptor) {	
-		super(pluginDescriptor);
-		BEANINFO_PLUGIN = this;
-	}
-	
-	/**
-	 * Accessor method to get the singleton plugin.
-	 */
-	public static BeaninfoPlugin getPlugin() {
-		return BEANINFO_PLUGIN;
-	}
-	
-	
-	
-	// Map of registered beaninfos, mapped key is path, value is BeaninfoRegistration[].
-	// It is allowed to have more than one. They will be concatenated together when used.
-	private Map beaninfos = null;
-	private Map getBeaninfoRegistrations() {
-		if (beaninfos == null) {
-			beaninfos = new HashMap(30);
-			processRegistrationExtensionPoint();
-		}
-		return beaninfos;
-	}
-	
-	// Corresponding arrays, that map one to the other.
-	// Fragments is the array of package fragments, as paths (per plugin), that are registered.
-	// Paths are the corresponding array of file paths array (as strings). They are retrieved
-	// by the same index as the matching fragment index and plugin index.
-	private IPath[][] fragments;
-	private String[][][] paths;
-	
-	public class OverridePathSearch {
-		protected IPath packagePath;
-		protected int nextPlugin = 0;
-		protected int nextIndex = 0;
-		protected int matchIndex = -1;
-		
-		protected OverridePathSearch(IPath packagePath) {
-			this.packagePath = packagePath;
-			if (fragments == null)
-				processOverridesExtensionPoint();
-		}
-		
-		/**
-		 * Get the next array of paths that match.
-		 * Returns null if there are no more.
-		 */
-		public String[] getNextPath() {
-			while (nextPlugin < fragments.length) {
-				while (nextIndex < fragments[nextPlugin].length) {
-					matchIndex = nextIndex++;
-					if (fragments[nextPlugin][matchIndex].isPrefixOf(packagePath))
-						return paths[nextPlugin][matchIndex];
-				}
-				nextPlugin++;	// Step up to next plugin
-				nextIndex = 0;
-			}
-			matchIndex = -1;	// Not found
-			return null;
-		}
-		
-		/**
-		 * Return the unmatched portion of the package name
-		 * for the current entry. For example, if the
-		 * package was "java.awt" and the current match
-		 * path was "java", then the unmatched portion
-		 * would be returned as "awt". If it matched exactly,
-		 * it would return "". And if this is being called
-		 * when it shouldn't it will return null. It will
-		 * return it in directory form. (i.e. "xyz/qxr").
-		 */
-		public String getUnmatchedPath() {
-			if (matchIndex != -1) {
-				IPath match = fragments[nextPlugin][matchIndex];
-				return packagePath.removeFirstSegments(match.segmentCount()).toString();
-			}
-			
-			return null;
-		}		
-	}
-			
-
-	/**
-	 * Return the searcher for the given package name.
-	 */
-	public OverridePathSearch getOverrideSearch(String packageName) {
-		return new OverridePathSearch(new Path(packageName.replace('.', '/')));
-	}
-	
-	private Logger logger;
-	public Logger getLogger() {
-		if (logger == null)
-			logger = EclipseLogger.getEclipseLogger(this);
-		return logger;
-	}
-	
-	
-	/**
-	 * Register one registration for the path.
-	 * The path must be a classpath variable for the first segment. It won't be looked for otherwise.
-	 * If it is only one segment long, then it is for the variable itself, and it will be used
-	 * for all paths that start with that variable. This allows several different jars within 
-	 * the variable's path to share the same beaninfo registration information.
-	 */
-	public void registerBeaninfoRegistration(IPath path, BeaninfoRegistration registration) {
-		BeaninfoRegistration[] registered = (BeaninfoRegistration[]) getBeaninfoRegistrations().get(path);
-		if (registered == null)
-			registered = new BeaninfoRegistration[] {registration};
-		else {
-			BeaninfoRegistration[] old = registered;
-			registered = new BeaninfoRegistration[old.length+1];
-			System.arraycopy(old, 0, registered, 0, old.length);
-			registered[old.length] = registration;
-		}
-		
-		getBeaninfoRegistrations().put(path, registered);
-	}
-	
-	/**
-	 * Register multiple registrations for the path.
-	 * The path must be a classpath variable for the first segment. It won't be looked for otherwise.
-	 * If it is only one segment long, then it is for the variable itself, and it will be used
-	 * for all paths that start with that variable. This allows several different jars within 
-	 * the variable's path to share the same beaninfo registration information.
-	 */	
-	public void registerBeaninfoRegistration(IPath path, BeaninfoRegistration[] registrations) {
-		BeaninfoRegistration[] registered = (BeaninfoRegistration[]) getBeaninfoRegistrations().get(path);
-		if (registered == null) {
-			registered = new BeaninfoRegistration[registrations.length];
-			System.arraycopy(registrations, 0, registered, 0, registrations.length);
-		} else {
-			BeaninfoRegistration[] old = registered;
-			registered = new BeaninfoRegistration[old.length+registrations.length];
-			System.arraycopy(old, 0, registered, 0, old.length);
-			System.arraycopy(registrations, 0, registered, old.length, registrations.length);
-		}
-		
-		getBeaninfoRegistrations().put(path, registered);
-	}
-	
-	/**
-	 * Return the registrations for a specified path. Return null if not registered.
-	 */
-	public BeaninfoRegistration[] getRegistrations(IPath path) {
-		return (BeaninfoRegistration[]) getBeaninfoRegistrations().get(path);
-	}
-
-	protected void processRegistrationExtensionPoint() {
-		// Read in the registration information from the extensions.
-		// We'll first gather together in Lists, and then send as arrays at one time to register them.
-		HashMap registrations = new HashMap();
-		IExtension[] extensions = getDescriptor().getExtensionPoint(PI_BEANINFO_REGISTRATIONS).getExtensions();
-		// Need to be in plugin order so that first ones processed have no dependencies on others.
-		HashMap pluginDescriptorsToExtensions = new HashMap(extensions.length);
-		for (int i = 0; i < extensions.length; i++) {
-			IPluginDescriptor desc = extensions[i].getDeclaringPluginDescriptor();
-			IExtension[] ext = (IExtension[]) pluginDescriptorsToExtensions.get(desc);
-			if (ext == null)
-				pluginDescriptorsToExtensions.put(desc, new IExtension[] {extensions[i]});
-			else {
-				// More than one extension defined in this plugin.
-				IExtension[] newExt = new IExtension[ext.length + 1];
-				System.arraycopy(ext, 0, newExt, 0, ext.length);
-				newExt[newExt.length-1] = extensions[i];
-				pluginDescriptorsToExtensions.put(desc, newExt);
-			}
-		}
-		
-		IPluginDescriptor[] ordered = ProxyPlugin.orderPlugins(pluginDescriptorsToExtensions.keySet());
-		for (int i = 0; i < ordered.length; i++) {
-			IExtension[] exts = (IExtension[]) pluginDescriptorsToExtensions.get(ordered[i]);
-			for (int j = 0; j < exts.length; j++) {			
-				IConfigurationElement[] configs = exts[j].getConfigurationElements();
-				for (int k = 0; k < configs.length; k++) {
-					IConfigurationElement iConfigurationElement = configs[k];
-					if (PI_VARIABLE.equals(iConfigurationElement.getName()) || PI_CONTAINER.equals(iConfigurationElement.getName())) {
-						boolean hasContributor = iConfigurationElement.getAttributeAsIs(PI_CONTRIBUTOR) != null || iConfigurationElement.getChildren(PI_CONTRIBUTOR).length > 0;
-						String varpathstr = iConfigurationElement.getAttributeAsIs(PI_PATH);
-						if (varpathstr == null)
-							continue;	// Not proper format.
-						IPath varpath = new Path(varpathstr);
-						List varentry = (List) registrations.get(varpath);
-						if (varentry == null) {
-							varentry = new ArrayList(1);
-							registrations.put(varpath, varentry);
-						}
-						IConfigurationElement[] beaninfos = iConfigurationElement.getChildren(BeaninfoNature.sBeaninfos);
-						for (int l = 0; l < beaninfos.length; l++) {
-							IConfigurationElement root = beaninfos[l];
-							BeaninfoRegistration reg = new BeaninfoRegistration(BeaninfosDoc.readEntry(new ConfigurationElementReader(), root, null));
-							if (hasContributor) {
-								reg.setVariableElement(iConfigurationElement);
-								hasContributor = false;	// Only the first one for this variable needs it. The others would only be dups.
-							}
-							varentry.add(reg);
-						}
-					}
-				}
-			}
-		}
-		
-		// Now we've processed all of the extensions.
-		Iterator regItr = registrations.entrySet().iterator();
-		while (regItr.hasNext()) {
-			Map.Entry entry = (Map.Entry) regItr.next();
-			List registrationsList = (List) entry.getValue();
-			registerBeaninfoRegistration((IPath) entry.getKey(), (BeaninfoRegistration[]) registrationsList.toArray(new BeaninfoRegistration[registrationsList.size()]));			
-		}
-	}
-	
-	protected void processOverridesExtensionPoint() {
-		// We are processing this once because it is accessed often (once per introspected class per project).
-		// This can add up so we get it together once here.
-		// Read in the overrides information from the extensions.
-		// Read in the registration information from the extensions.
-		IExtension[] extensions = getDescriptor().getExtensionPoint(PI_BEANINFO_OVERRIDES).getExtensions();
-		// Need to be in plugin order so that first ones processed have no dependencies on others.
-		HashMap pluginDescriptorsToExtensions = new HashMap(extensions.length);
-		for (int i = 0; i < extensions.length; i++) {
-			IPluginDescriptor desc = extensions[i].getDeclaringPluginDescriptor();
-			IExtension[] ext = (IExtension[]) pluginDescriptorsToExtensions.get(desc);
-			if (ext == null)
-				pluginDescriptorsToExtensions.put(desc, new IExtension[] {extensions[i]});
-			else {
-				// More than one extension defined in this plugin.
-				IExtension[] newExt = new IExtension[ext.length + 1];
-				System.arraycopy(ext, 0, newExt, 0, ext.length);
-				newExt[newExt.length-1] = extensions[i];
-				pluginDescriptorsToExtensions.put(desc, newExt);
-			}
-		}
-		
-		// Now order them so we process in required order.
-		HashMap overrideMap = new HashMap();	// Working override map per plugin
-		IPluginDescriptor[] ordered = ProxyPlugin.orderPlugins(pluginDescriptorsToExtensions.keySet());
-		fragments = new IPath[ordered.length][];
-		paths = new String[ordered.length][][];
-		for (int i = 0; i < ordered.length; i++) {
-			IExtension[] exts = (IExtension[]) pluginDescriptorsToExtensions.get(ordered[i]);
-			overrideMap.clear();
-			for (int j = 0; j < exts.length; j++) {			
-				IConfigurationElement[] configs = exts[j].getConfigurationElements();
-				for (int k = 0; k < configs.length; k++) {
-					IConfigurationElement iConfigurationElement = configs[k];
-					// Don't care about the element name, we show <overrides...> in the example, but really don't care. It just needs path and package.
-					String packageName = iConfigurationElement.getAttributeAsIs(PI_PACKAGE);
-					String path = iConfigurationElement.getAttributeAsIs(PI_PATH);			
-					if (packageName != null && packageName.length() > 0 && path != null && path.length() > 0) {
-						IPath packPath = new Path(packageName.replace('.', '/'));
-						if (path.charAt(path.length()-1) != '/' && path.charAt(path.length()-1) != '\\')
-							path += '/';
-						String[] sofar = (String[]) overrideMap.get(packPath);
-						if (sofar == null)
-							sofar = new String[] {path};
-						else {
-							String[] old = sofar;
-							sofar = new String[old.length+1];
-							System.arraycopy(old, 0, sofar, 0, old.length);
-							sofar[old.length] = path;
-						}
-						overrideMap.put(packPath, sofar);
-					}
-				}
-			}
-			
-			// Now construct the arrays for this plugin
-			int size = overrideMap.size();
-			fragments[i] = new IPath[size];
-			paths[i] = new String[size][];
-			Iterator itr = overrideMap.entrySet().iterator();
-			int ii=-1;
-			while (itr.hasNext()) {
-				Map.Entry entry = (Map.Entry) itr.next();
-				fragments[i][++ii] = (IPath) entry.getKey();
-				paths[i][ii] = (String[]) entry.getValue();
-			}
-		}
-	}
-}
-
-
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProperties.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProperties.java
deleted file mode 100644
index b4e35cd..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProperties.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoProperties.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/14 18:36:32 $ 
- */
-
-
- 
-/**
- * Interface to NLS. Contains the keys used in the plugin.properties file.
- */
-
-public interface BeaninfoProperties {
-	public static final String
-		INTROSPECTFAILED = "%INTROSPECT_FAILED_EXC_ Introspection failed on class \"{0}.\" msg=\"{1}.\""; //$NON-NLS-1$
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProxyConstants.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProxyConstants.java
deleted file mode 100644
index 15a2391..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProxyConstants.java
+++ /dev/null
@@ -1,314 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoProxyConstants.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:17:59 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * This holds the proxy constants for access in beaninfo.
- * It is created on a per-registry basis and stored in the
- * constants section of the registry so that they can be
- * accessed as needed.
- *
- * To gain access to these constants, use the static accessor
- * method "getConstants()" so that the instance is not created
- * until actually needed.
- */
-
-public final class BeaninfoProxyConstants {
-		
-	private static final String REGISTRY_KEY = "org.eclipse.jem.internal.beaninfo.adapters.BeaninfoProxyConstants:"; //$NON-NLS-1$
-			
-	final IBeanTypeProxy modelingBeaninfo;
-	final IMethodProxy introspectProxy;
-	final IMethodProxy getIsMergeInheritedPropertiesProxy;
-	final IMethodProxy getIsMergeInheritedMethodsProxy;	
-	final IMethodProxy getIsMergeInheritedEventsProxy;	
-	
-
-	final IMethodProxy getBeanInfoSearchPathProxy;
-	final IMethodProxy setBeanInfoSearchPathProxy;
-	
-	final IMethodProxy getNameProxy;
-	final IMethodProxy getDisplayNameProxy;
-	final IMethodProxy getIsExpertProxy;
-	final IMethodProxy getIsHiddenProxy;
-	final IMethodProxy getIsPreferredProxy;
-	final IMethodProxy getShortDescriptionProxy;
-	final IMethodProxy getAttributeNamesProxy;
-	final IMethodProxy getValueProxy;
-
-	final IMethodProxy getBeanDescriptorProxy;
-	final IMethodProxy getCustomizerClassProxy;	
-	
-	final IMethodProxy getPropertyDescriptorsProxy;
-	final IMethodProxy getInheritedPropertyDescriptorsProxy;	
-	final IMethodProxy getReadMethodProxy;	
-	final IMethodProxy getWriteMethodProxy;
-	final IMethodProxy getPropertyTypeProxy;
-	final IMethodProxy getIsBoundProxy;
-	final IMethodProxy getIsConstrainedProxy;
-	final IMethodProxy getPropertyEditorClassProxy;
-	
-	final IMethodProxy getIndexedReadMethodProxy;
-	final IMethodProxy getIndexedWriteMethodProxy;
-	final IMethodProxy getIndexedPropertyTypeProxy;
-	
-	final IMethodProxy getMethodDescriptorsProxy;
-	final IMethodProxy getInheritedMethodDescriptorsProxy;	
-	final IMethodProxy getMethodProxy;
-	final IMethodProxy getParameterDescriptorsProxy;
-	
-	final IMethodProxy getEventSetDescriptorsProxy;
-	final IMethodProxy getInheritedEventSetDescriptorsProxy;	
-	final IMethodProxy getIsInDefaultEventSetProxy;
-	final IMethodProxy getIsUnicastProxy;
-	final IMethodProxy getAddListenerMethodProxy;		
-	final IMethodProxy getRemoveListenerMethodProxy;	
-	final IMethodProxy getListenerMethodDescriptorsProxy;
-	final IMethodProxy getListenerTypeProxy;		
-	
-/**
- * Get the constants instance for the specified registry.
- */
-public static BeaninfoProxyConstants getConstants(ProxyFactoryRegistry registry) {
-	BeaninfoProxyConstants constants = (BeaninfoProxyConstants) registry.getConstants(REGISTRY_KEY);
-	if (constants == null)
-		registry.registerConstants(REGISTRY_KEY, constants = new BeaninfoProxyConstants(registry));	
-	return constants;
-}
-		
-
-public BeaninfoProxyConstants(ProxyFactoryRegistry registry) {
-	
-	IStandardBeanTypeProxyFactory typeFactory = registry.getBeanTypeProxyFactory();
-	
-	IBeanTypeProxy introspector = typeFactory.getBeanTypeProxy("java.beans.Introspector"); //$NON-NLS-1$
-	getBeanInfoSearchPathProxy = introspector.getMethodProxy("getBeanInfoSearchPath"); //$NON-NLS-1$
-	setBeanInfoSearchPathProxy = introspector.getMethodProxy("setBeanInfoSearchPath", "[Ljava.lang.String;");  //$NON-NLS-1$ //$NON-NLS-2$
-	
-	modelingBeaninfo = typeFactory.getBeanTypeProxy("org.eclipse.jem.internal.beaninfo.vm.ModelingBeanInfo");//$NON-NLS-1$
-	introspectProxy = modelingBeaninfo.getMethodProxy("introspect", new String[] {"java.lang.Class", "boolean"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	getBeanDescriptorProxy = modelingBeaninfo.getMethodProxy("getBeanDescriptor"); //$NON-NLS-1$
-	getIsMergeInheritedMethodsProxy = modelingBeaninfo.getMethodProxy("isMergeInheritedMethods");		 //$NON-NLS-1$
-	getIsMergeInheritedPropertiesProxy = modelingBeaninfo.getMethodProxy("isMergeInheritedProperties"); //$NON-NLS-1$
-	getIsMergeInheritedEventsProxy = modelingBeaninfo.getMethodProxy("isMergeInheritedEvents"); //$NON-NLS-1$	
-	getPropertyDescriptorsProxy = modelingBeaninfo.getMethodProxy("getPropertyDescriptors"); //$NON-NLS-1$
-	getInheritedPropertyDescriptorsProxy = modelingBeaninfo.getMethodProxy("getInheritedPropertyDescriptors"); //$NON-NLS-1$	
-	getMethodDescriptorsProxy = modelingBeaninfo.getMethodProxy("getMethodDescriptors"); //$NON-NLS-1$
-	getInheritedMethodDescriptorsProxy = modelingBeaninfo.getMethodProxy("getInheritedMethodDescriptors"); //$NON-NLS-1$		
-	getEventSetDescriptorsProxy = modelingBeaninfo.getMethodProxy("getEventSetDescriptors");	 //$NON-NLS-1$
-	getInheritedEventSetDescriptorsProxy = modelingBeaninfo.getMethodProxy("getInheritedEventSetDescriptors");	 //$NON-NLS-1$	
-	
-	IBeanTypeProxy featureDescriptor = typeFactory.getBeanTypeProxy("java.beans.FeatureDescriptor"); //$NON-NLS-1$
-	getNameProxy = featureDescriptor.getMethodProxy("getName");	 //$NON-NLS-1$
-	getDisplayNameProxy = featureDescriptor.getMethodProxy("getDisplayName"); //$NON-NLS-1$
-	getShortDescriptionProxy = featureDescriptor.getMethodProxy("getShortDescription"); //$NON-NLS-1$
-	getIsExpertProxy = featureDescriptor.getMethodProxy("isExpert");	 //$NON-NLS-1$
-	getIsHiddenProxy = featureDescriptor.getMethodProxy("isHidden");	 //$NON-NLS-1$
-	getIsPreferredProxy = featureDescriptor.getMethodProxy("isPreferred"); //$NON-NLS-1$
-	getAttributeNamesProxy = featureDescriptor.getMethodProxy("attributeNames"); //$NON-NLS-1$
-	getValueProxy = featureDescriptor.getMethodProxy("getValue", "java.lang.String");	 //$NON-NLS-1$ //$NON-NLS-2$
-	
-	getCustomizerClassProxy = typeFactory.getBeanTypeProxy("java.beans.BeanDescriptor").getMethodProxy("getCustomizerClass"); //$NON-NLS-1$ //$NON-NLS-2$
-	
-	IBeanTypeProxy propertyDescriptor = typeFactory.getBeanTypeProxy("java.beans.PropertyDescriptor"); //$NON-NLS-1$
-	getReadMethodProxy = propertyDescriptor.getMethodProxy("getReadMethod");	 //$NON-NLS-1$
-	getWriteMethodProxy = propertyDescriptor.getMethodProxy("getWriteMethod"); //$NON-NLS-1$
-	getPropertyTypeProxy = propertyDescriptor.getMethodProxy("getPropertyType"); //$NON-NLS-1$
-	getIsBoundProxy = propertyDescriptor.getMethodProxy("isBound");	 //$NON-NLS-1$
-	getIsConstrainedProxy = propertyDescriptor.getMethodProxy("isConstrained");	 //$NON-NLS-1$
-	getPropertyEditorClassProxy = propertyDescriptor.getMethodProxy("getPropertyEditorClass");	 //$NON-NLS-1$
-	
-	IBeanTypeProxy indexedPropertyDescriptor = typeFactory.getBeanTypeProxy("java.beans.IndexedPropertyDescriptor");	 //$NON-NLS-1$
-	getIndexedReadMethodProxy = indexedPropertyDescriptor.getMethodProxy("getIndexedReadMethod"); //$NON-NLS-1$
-	getIndexedWriteMethodProxy = indexedPropertyDescriptor.getMethodProxy("getIndexedWriteMethod"); //$NON-NLS-1$
-	getIndexedPropertyTypeProxy = indexedPropertyDescriptor.getMethodProxy("getIndexedPropertyType");	 //$NON-NLS-1$
-	
-	IBeanTypeProxy methodDescriptor = typeFactory.getBeanTypeProxy("java.beans.MethodDescriptor"); //$NON-NLS-1$
-	getMethodProxy = methodDescriptor.getMethodProxy("getMethod"); //$NON-NLS-1$
-	getParameterDescriptorsProxy = methodDescriptor.getMethodProxy("getParameterDescriptors"); //$NON-NLS-1$
-	
-	IBeanTypeProxy eventSetDescriptor = typeFactory.getBeanTypeProxy("java.beans.EventSetDescriptor"); //$NON-NLS-1$
-	getIsInDefaultEventSetProxy = eventSetDescriptor.getMethodProxy("isInDefaultEventSet"); //$NON-NLS-1$
-	getIsUnicastProxy = eventSetDescriptor.getMethodProxy("isUnicast");	 //$NON-NLS-1$
-	getAddListenerMethodProxy = eventSetDescriptor.getMethodProxy("getAddListenerMethod");		 //$NON-NLS-1$
-	getRemoveListenerMethodProxy = eventSetDescriptor.getMethodProxy("getRemoveListenerMethod");			 //$NON-NLS-1$
-	getListenerMethodDescriptorsProxy = eventSetDescriptor.getMethodProxy("getListenerMethodDescriptors"); //$NON-NLS-1$
-	getListenerTypeProxy = eventSetDescriptor.getMethodProxy("getListenerType"); //$NON-NLS-1$	
-
-}
-
-public IMethodProxy getGetBeanInfoSearchPathProxy() {
-	return getBeanInfoSearchPathProxy;
-}
-
-public IMethodProxy getSetBeanInfoSearchPathProxy() {
-	return setBeanInfoSearchPathProxy;
-}
-
-public IBeanTypeProxy getModelingBeaninfoProxy() {
-	return modelingBeaninfo;
-}
-
-public IMethodProxy getBeanDescriptorProxy() {
-	return getBeanDescriptorProxy;
-}
-
-public IMethodProxy getIntrospectProxy() {
-	return introspectProxy;
-}
-
-public IMethodProxy getNameProxy() {
-	return getNameProxy;
-}
-
-public IMethodProxy getDisplayNameProxy() {
-	return getDisplayNameProxy;
-}
-
-public IMethodProxy getShortDescriptionProxy() {
-	return getShortDescriptionProxy;
-}
-
-public IMethodProxy getAttributeNamesProxy() {
-	return getAttributeNamesProxy;
-}
-
-public IMethodProxy getValueProxy() {
-	return getValueProxy;
-}
-
-public IMethodProxy getIsExpertProxy() {
-	return getIsExpertProxy;
-}
-
-public IMethodProxy getIsHiddenProxy() {
-	return getIsHiddenProxy;
-}
-
-public IMethodProxy getIsPreferredProxy() {
-	return getIsPreferredProxy;
-}
-
-
-public IMethodProxy getCustomizerClassProxy() {
-	return getCustomizerClassProxy;
-}
-
-public IMethodProxy getIsMergeInheritedMethodsProxy() {
-	return getIsMergeInheritedMethodsProxy;
-}
-
-public IMethodProxy getIsMergeInheritedPropertiesProxy() {
-	return getIsMergeInheritedPropertiesProxy;
-}
-
-public IMethodProxy getIsMergeInheritedEventsProxy() {
-	return getIsMergeInheritedEventsProxy;
-}
-
-public IMethodProxy getPropertyDescriptorsProxy() {
-	return getPropertyDescriptorsProxy;
-}
-
-public IMethodProxy getInheritedPropertyDescriptorsProxy() {
-	return getInheritedPropertyDescriptorsProxy;
-}
-
-public IMethodProxy getReadMethodProxy() {
-	return getReadMethodProxy;
-}
-
-public IMethodProxy getWriteMethodProxy() {
-	return getWriteMethodProxy;
-}
-
-public IMethodProxy getPropertyTypeProxy() {
-	return getPropertyTypeProxy;
-}
-
-public IMethodProxy getIsBoundProxy() {
-	return getIsBoundProxy;
-}
-
-public IMethodProxy getIsConstrainedProxy() {
-	return getIsConstrainedProxy;
-}
-
-public IMethodProxy getPropertyEditorClassProxy() {
-	return getPropertyEditorClassProxy;
-}
-
-public IMethodProxy getIndexedReadMethodProxy() {
-	return getIndexedReadMethodProxy;
-}
-
-public IMethodProxy getIndexedWriteMethodProxy() {
-	return getIndexedWriteMethodProxy;
-}
-
-public IMethodProxy getIndexedPropertyTypeProxy() {
-	return getIndexedPropertyTypeProxy;
-}
-
-public IMethodProxy getMethodDescriptorsProxy() {
-	return getMethodDescriptorsProxy;
-}
-
-public IMethodProxy getInheritedMethodDescriptorsProxy() {
-	return getInheritedMethodDescriptorsProxy;
-}
-
-public IMethodProxy getMethodProxy() {
-	return getMethodProxy;
-}
-
-public IMethodProxy getParameterDescriptorsProxy() {
-	return getParameterDescriptorsProxy;
-}
-
-public IMethodProxy getEventSetDescriptorsProxy() {
-	return getEventSetDescriptorsProxy;
-}
-
-public IMethodProxy getInheritedEventSetDescriptorsProxy() {
-	return getInheritedEventSetDescriptorsProxy;
-}
-
-public IMethodProxy getIsInDefaultEventSetProxy() {
-	return getIsInDefaultEventSetProxy;
-}
-
-public IMethodProxy getIsUnicastProxy() {
-	return getIsUnicastProxy;
-}
-
-public IMethodProxy getAddListenerMethodProxy() {
-	return getAddListenerMethodProxy;
-}
-
-public IMethodProxy getRemoveListenerMethodProxy() {
-	return getRemoveListenerMethodProxy;
-}
-
-public IMethodProxy getListenerMethodDescriptorsProxy() {
-	return getListenerMethodDescriptorsProxy;
-}
-
-public IMethodProxy getListenerTypeProxy() {
-	return getListenerTypeProxy;
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoRegistration.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoRegistration.java
deleted file mode 100644
index ba8c376..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoRegistration.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoRegistration.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:17:59 $ 
- */
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-/**
- * This is the registration information for registered beaninfos in the BeaninfoPlugin.
- * @version 	1.0
- * @author
- */
-public class BeaninfoRegistration {
-	
-	protected BeaninfosDoc doc;
-	protected IConfigurationElement variableElement;	// This is used to get contributor element. If null, then no contributor.
-	
-	public BeaninfoRegistration() {
-	}
-	
-	/**
-	 * Construct with a BeaninfosDoc
-	 */
-	public BeaninfoRegistration(BeaninfosDoc doc) {
-		this.doc = doc;
-	}
-	
-	/**
-	 * Construct with a BeaninfosDoc and variable element.
-	 */
-	public BeaninfoRegistration(BeaninfosDoc doc, IConfigurationElement variableElement) {
-		this.doc = doc;
-		this.variableElement = variableElement;
-	}	
-
-	/**
-	 * Gets the doc.
-	 * @return Returns a BeaninfosDoc
-	 */
-	public BeaninfosDoc getDoc() {
-		return doc;
-	}
-
-	/**
-	 * Sets the doc.
-	 * @param doc The doc to set
-	 */
-	public void setDoc(BeaninfosDoc doc) {
-		this.doc = doc;
-	}
-
-	/**
-	 * Gets the variableElement.
-	 * @return Returns a IConfigurationElement
-	 */
-	public IConfigurationElement getVariableElement() {
-		return variableElement;
-	}
-
-	/**
-	 * Sets the variableElement.
-	 * @param variableElement The variableElement to set
-	 */
-	public void setVariableElement(IConfigurationElement variableElement) {
-		this.variableElement = variableElement;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoSuperAdapter.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoSuperAdapter.java
deleted file mode 100644
index f0602d2..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoSuperAdapter.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoSuperAdapter.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:00 $ 
- */
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.ecore.impl.ESuperAdapter;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.impl.JavaClassImpl;
-
-/**
- * Used to know when events or any of the super classes change so
- * that we can re-construct our all events list next time we need it.
- * @version 	1.0
- * @author
- */
-public class BeaninfoSuperAdapter extends AdapterImpl {
-
-	public static final Class ADAPTER_KEY = BeaninfoSuperAdapter.class;
-
-	private boolean allEventsCollectionModified = true;
-	private boolean allPropertiesCollectionModified = true;
-
-	public BeaninfoSuperAdapter() {
-		super();
-	}
-
-	public void notifyChanged(Notification msg) {
-		if (msg.getEventType() != Notification.REMOVING_ADAPTER)
-			setFlags(msg.getFeatureID(JavaClass.class));
-	}
-
-	public boolean isAllEventsCollectionModified() {
-		return allEventsCollectionModified;
-	}
-
-	public void setAllEventsCollectionModified(boolean newEventsModified) {
-		allEventsCollectionModified = newEventsModified;
-	}
-
-	public void setAllPropertiesCollectionModified(boolean allPropertiesCollectionModified) {
-		this.allPropertiesCollectionModified = allPropertiesCollectionModified;
-	}
-
-	public boolean isAllPropertiesCollectionModified() {
-		return allPropertiesCollectionModified;
-	}
-	
-	public Collection getSubclasses() {
-		// Get them from the ESuperAdapter. Easiest to do.
-		ESuperAdapter ea = ((JavaClassImpl) getTarget()).getESuperAdapter();
-		return ea.getSubclasses();
-	}
-
-	public boolean isAdapterForType(Object type) {
-		return ADAPTER_KEY.equals(type);
-	}
-
-	void setFlags(int featureId) {
-		switch (featureId) {
-			case JavaRefPackage.JAVA_CLASS__EVENTS :
-				setAllEventsCollectionModified(true);
-				break;
-
-			case JavaRefPackage.JAVA_CLASS__ESUPER_TYPES:
-				setAllEventsCollectionModified(true);
-				setAllPropertiesCollectionModified(true);
-				break;				
-				
-			case JavaRefPackage.JAVA_CLASS__ESTRUCTURAL_FEATURES:
-				setAllPropertiesCollectionModified(true);
-				break;
-				
-			default :
-				break;
-		}
-		Iterator i = getSubclasses().iterator();
-		while (i.hasNext()) {
-			Notifier n = (Notifier) i.next();
-			BeaninfoSuperAdapter a = (BeaninfoSuperAdapter) EcoreUtil.getExistingAdapter(n, ADAPTER_KEY);
-			if (a != null)
-				a.setFlags(featureId);
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfosDoc.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfosDoc.java
deleted file mode 100644
index 0847370..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfosDoc.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfosDoc.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:17:59 $ 
- */
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.w3c.dom.*;
-/**
- * Beaninfos document in-memory format.
- */
-
-public class BeaninfosDoc implements IBeaninfosDocEntry {
-
-	protected IBeaninfosDocEntry[] searchpath;
-
-	static final String sExported = "exported"; //$NON-NLS-1$
-
-	static final String sKind = "kind"; //$NON-NLS-1$
-
-	static final String sPath = "path"; //$NON-NLS-1$
-
-	public BeaninfosDoc() {
-	}
-
-	public BeaninfosDoc(IBeaninfosDocEntry[] searchpath) {
-		this.searchpath = searchpath;
-	}
-
-	public int getKind() {
-		return -1;	// N.A.
-	}
-	
-	public IPath getPath() {
-		return null;	// N.A.
-	}
-	
-	public static BeaninfosDoc readEntry(IReader reader, Object root, IProject project) {
-		ArrayList paths = new ArrayList();
-		Object children = reader.getChildren(root);
-		int childrenLength = reader.getLength(children);
-		for (int i = 0; i < childrenLength; i++) {
-			Object child = reader.getItem(children, i);
-			if (reader.isNodeTypeElement(child)) {
-				Object entry = null;
-				if (reader.getNodeName(child).equalsIgnoreCase(BeaninfoEntry.sBeaninfo)) {
-					entry = BeaninfoEntry.readEntry(reader, child, project);
-				} else if (reader.getNodeName(child).equalsIgnoreCase(SearchpathEntry.sSearchpath)) {
-					entry = SearchpathEntry.readEntry(reader, child, project, false);
-				}
-				if (entry != null)
-					paths.add(entry);
-			}
-		}
-		return new BeaninfosDoc((IBeaninfosDocEntry[]) paths.toArray(new IBeaninfosDocEntry[paths.size()]));
-	}
-
-	public IBeaninfosDocEntry[] getSearchpath() {
-		return searchpath;
-	}
-
-	public void setSearchpath(IBeaninfosDocEntry[] searchpath) {
-		this.searchpath = searchpath;
-	}
-
-	public Node writeEntry(Document doc, IProject project) {
-		Element root = doc.createElement(SearchpathEntry.sSearchpath); // Create Root Element
-		for (int i = 0; i < searchpath.length; i++) {
-			root.appendChild(searchpath[i].writeEntry(doc, project)); // Add to the document
-		}
-		return root;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/ConfigurationElementReader.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/ConfigurationElementReader.java
deleted file mode 100644
index 9c9ce0c..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/ConfigurationElementReader.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ConfigurationElementReader.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:17:59 $ 
- */
-
-import java.lang.reflect.Array;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-/**
- * For reading from IConfigurationElements
- * @version 	1.0
- * @author
- */
-class ConfigurationElementReader implements IReader {
-
-	/*
-	 * @see IReader#getChildren(Object)
-	 */
-	public Object getChildren(Object node) {
-		return (node instanceof IConfigurationElement) ? ((IConfigurationElement) node).getChildren() : new IConfigurationElement[0];
-	}
-
-	/*
-	 * @see IReader#getLength(Object)
-	 */
-	public int getLength(Object nodeList) {
-		return (nodeList instanceof IConfigurationElement[]) ? Array.getLength(nodeList) : 0;
-	}
-
-	/*
-	 * @see IReader#getItem(Object, int)
-	 */
-	public Object getItem(Object nodeList, int index) {
-		return (nodeList instanceof IConfigurationElement[]) ? Array.get(nodeList, index) : null;
-	}
-
-	/*
-	 * @see IReader#isNodeTypeElement(Object)
-	 */
-	public boolean isNodeTypeElement(Object node) {
-		return node instanceof IConfigurationElement;
-	}
-
-	/*
-	 * @see IReader#getNodeName(Object)
-	 */
-	public String getNodeName(Object node) {
-		return (node instanceof IConfigurationElement) ? ((IConfigurationElement) node).getName() : ""; //$NON-NLS-1$
-	}
-
-	/*
-	 * @see IReader#getAttribute(Object, String)
-	 */
-	public String getAttribute(Object element, String attributeName) {
-		return (element instanceof IConfigurationElement) ? ((IConfigurationElement) element).getAttributeAsIs(attributeName) : null;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/DOMReader.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/DOMReader.java
deleted file mode 100644
index 9368770..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/DOMReader.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: DOMReader.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/08 00:48:00 $ 
- */
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * The internal class for reading dom elements.
- * @version 	1.0
- * @author
- */
-class DOMReader implements IReader {
-	
-	/*
-	 * @see IReader#getChildren(Object)
-	 */
-	public Object getChildren(Object node) {
-		return (node instanceof Node) ? ((Node) node).getChildNodes() : null;
-	}
-	
-	
-	/*
-	 * @see IReader#getLength(Object)
-	 */
-	public int getLength(Object nodeList) {
-		return (nodeList instanceof NodeList) ? ((NodeList) nodeList).getLength() : 0;
-	}
-
-	/*
-	 * @see IReader#getItem(Object, int)
-	 */
-	public Object getItem(Object nodeList, int index) {
-		return (nodeList instanceof NodeList) ? ((NodeList) nodeList).item(index) : null;
-	}
-
-	/*
-	 * @see IReader#isNodeTypeElement(Object)
-	 */
-	public boolean isNodeTypeElement(Object node) {
-		return (node instanceof Node) ? ((Node) node).getNodeType() == Node.ELEMENT_NODE : false;
-	}
-
-	/*
-	 * @see IReader#getNodeName(Object)
-	 */
-	public String getNodeName(Object node) {
-		return (node instanceof Node) ? ((Node) node).getNodeName() : ""; //$NON-NLS-1$
-	}
-
-	/*
-	 * @see IReader#getAttribute(Object, String)
-	 */
-	public String getAttribute(Object element, String attributeName) {
-		return (element instanceof Element) && ((Element) element).hasAttribute(attributeName) ? ((Element) element).getAttribute(attributeName) : null;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IBeaninfoSupplier.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IBeaninfoSupplier.java
deleted file mode 100644
index 75011b3..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IBeaninfoSupplier.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IBeaninfoSupplier.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:17:59 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry;
-/**
- * Interface to supply information for beaninfo to decouple
- * the introspection from the desktop.
- */
-
-public interface IBeaninfoSupplier {
-	
-	/**
-	 * @return Return the registry to use. Initialize it if not already initialized.
-	 */
-	public ProxyFactoryRegistry getRegistry();
-	
-	/**
-	 * Used to know if we currently have a registry created in the supplier.
-	 * 
-	 * @return true if there is a registry currently in the supplier.
-	 */
-	public boolean isRegistryCreated();
-	
-	/**
-	 * Close the registry. This tells the registry to close. This is necessary
-	 * at times because of changes to classes require the registry to be
-	 * reconstructed.
-	 */
-	public void closeRegistry();
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IBeaninfosDocEntry.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IBeaninfosDocEntry.java
deleted file mode 100644
index 8055c34..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IBeaninfosDocEntry.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IBeaninfosDocEntry.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:17:59 $ 
- */
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * Interface for DOM Doc writable entries.
- * 
- * @version 	1.0
- * @author
- */
-public interface IBeaninfosDocEntry {
-	public Node writeEntry(Document doc, IProject project);
-	
-	public int getKind();
-	public IPath getPath();
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IReader.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IReader.java
deleted file mode 100644
index 4d3722b..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IReader.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IReader.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:17:59 $ 
- */
-/**
- * This is internal interface for reading beaninfoConfig either through IConfigurationElements or
- * w3.dom.Nodes. This is because when reading the .beaninfoConfig we will be using Nodes, but
- * when reading configs from registered extensions they will be IConfigurationElements.
- * @version 	1.0
- * @author
- */
-interface IReader {
-	
-	public Object getChildren(Object node);
-	public int getLength(Object nodeList);
-	public Object getItem(Object nodeList, int index);
-	public boolean isNodeTypeElement(Object node);	// Is this an element type node
-	public String getNodeName(Object node);
-	public String getAttribute(Object element, String attributeName);
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/Init.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/Init.java
deleted file mode 100644
index da0cf7b..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/Init.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Init.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:17:59 $ 
- */
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.jem.internal.java.beaninfo.IIntrospectionAdapter;
-import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry;
-
-/**
- * Static initializer class to initialize the beaninfo stuff.
- * It is disconnected from the desktop and so doesn't require it.
- */
-
-public class Init {
-	
-	// So it can't be instantiated.
-	private Init() {
-	};
-
-	/**
-	 * Initialize the context with an IBeaninfoSupplier, used to set up the
-	 * introspection process. 
-	 *
-	 * The beaninfo supplier is responsible for setting up the bean info search path,
-	 * including removing the sun beaninfos, if desired.
-	 */
-	public static void initialize(ResourceSet rset, final IBeaninfoSupplier supplier) {
-		rset.getAdapterFactories().add(new BeaninfoAdapterFactory(supplier));
-	}
-
-	/**
-	 * Initialize the registry now that it is available.
-	 */
-	public static void initialize(ProxyFactoryRegistry registry) {
-		// Remove the "sun.beans.info" from the beaninfo search path because
-		// we completely override the sun bean infos.
-		Utilities.removeBeanInfoPath(registry, "sun.beans.infos"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Cleanup from the context because we are being removed.
-	 * If clearResults is true, then the factory should clear the results of introspection
-	 * from the everything because the context will still be around.
-	 */
-	public static void cleanup(ResourceSet rset, boolean clearResults) {
-		BeaninfoAdapterFactory factory =
-			(BeaninfoAdapterFactory) EcoreUtil.getAdapterFactory(rset.getAdapterFactories(), IIntrospectionAdapter.ADAPTER_KEY);
-		rset.getAdapterFactories().remove(factory);
-		if (factory != null)
-			factory.closeAll(clearResults);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SearchpathEntry.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SearchpathEntry.java
deleted file mode 100644
index 579fc53..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SearchpathEntry.java
+++ /dev/null
@@ -1,187 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: SearchpathEntry.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/08 00:48:00 $ 
- */
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.w3c.dom.*;
-
-/**
- * Searchpath entry. Beaninfo searchpath entry (i.e. package name). Can include
- * kind/path/exported if not a child of the BeaninfoEntry.
- * 
- * Note: if not a child of a BeanInfoEntry, then the path refers to a package
- * in the classpath, so container is supported here.
- * 
- * @version 	1.0
- * @author
- */
-public class SearchpathEntry implements IBeaninfosDocEntry {
-
-	final static String sSearchpath = "searchpath"; // Searchpath entry, shared with BeaninfosDoc. //$NON-NLS-1$
-	final static String sPackage = "package"; // Package name. //$NON-NLS-1$
-
-	/**
-	 * Read the entry in from the element.
-	 */
-	public static SearchpathEntry readEntry(IReader reader, Object element, IProject project, boolean beaninfoChild) {
-		String packageName = reader.getAttribute(element, sPackage);
-		if (beaninfoChild)
-			return new SearchpathEntry(packageName); // Kind/path aren't valid on beaninfo children.
-
-		String elementKind = reader.getAttribute(element, BeaninfosDoc.sKind);
-		String pathStr = reader.getAttribute(element, BeaninfosDoc.sPath);
-		int kind = BeaninfoEntry.kindFromString(elementKind);		
-		IPath path = null;
-		if (pathStr != null) {
-			// ensure path is absolute
-			path = new Path(pathStr);
-			if (kind != IClasspathEntry.CPE_VARIABLE && kind != IClasspathEntry.CPE_CONTAINER && !path.isAbsolute()) {
-				path = project != null ? project.getFullPath().append(path) : path.makeAbsolute(); // Some folder/jar within this project
-			}
-		}
-
-		// create the appropriate entry
-		boolean valid = true;
-		switch (kind) {
-
-			case IClasspathEntry.CPE_LIBRARY :
-				valid = path != null && path.isAbsolute();
-				break;
-
-			case IClasspathEntry.CPE_SOURCE :
-				if (path == null)
-					valid = false;
-				else if (path.isAbsolute()) {
-					// must be an entry in this project or specify another project
-					String projSegment = path.segment(0);
-					if (project == null || projSegment == null || !projSegment.equals(project.getName())) {
-						// another project
-						kind = IClasspathEntry.CPE_PROJECT;
-					}
-				}
-				break;
-
-			case IClasspathEntry.CPE_VARIABLE :
-			case IClasspathEntry.CPE_CONTAINER:				
-				break;
-
-			default :
-				valid = false;
-				break;
-		}
-
-		if (valid)
-			return new SearchpathEntry(kind, path, packageName);
-		else
-			return null;
-
-	}
-
-	protected int kind = -1; // Under Beaninfo entry, these don't have kind/path's.
-	protected IPath path;	// Path can be null if under beaninfo entry
-	protected String packageName;	// Packagename can be null if kind/path refer to a project or registered variable.
-	protected boolean isExported;
-
-	public SearchpathEntry(int kind, IPath path, String packageName) {
-		this.kind = kind;
-		this.path = path;
-		this.packageName = packageName;
-	}
-
-	public SearchpathEntry(String packageName) {
-		this.packageName = packageName;
-	}
-
-	public int getKind() {
-		return kind;
-	}
-	
-	public IPath getPath() {
-		return path;
-	}
-
-	public String getPackage() {
-		return packageName;
-	}
-
-	public Node writeEntry(Document doc, IProject project) {
-
-		Element element = doc.createElement(sSearchpath);
-		if (kind != -1) {
-			// A non-beaninfo child
-			element.setAttribute(BeaninfosDoc.sKind, BeaninfoEntry.kindToString(kind));
-			IPath tPath = path;
-			if (kind != IClasspathEntry.CPE_VARIABLE && kind != IClasspathEntry.CPE_CONTAINER) {
-				// translate to project relative from absolute (unless a device path)
-				if (tPath.isAbsolute()) {
-					if (tPath.segment(0).equals(project.getFullPath().segment(0))) {
-						tPath = tPath.removeFirstSegments(1);
-						tPath = tPath.makeRelative();
-					} else {
-						tPath = tPath.makeAbsolute();
-					}
-				}
-			}
-
-			element.setAttribute(BeaninfosDoc.sPath, tPath.toString());
-		}
-		if (packageName != null)
-			element.setAttribute(sPackage, packageName);
-		return element;
-	}
-	
-	public boolean equals(Object other) {
-		if (this == other)
-			return true;
-			
-		if (!(other instanceof SearchpathEntry))
-			return false;
-	
-		SearchpathEntry otherEntry = (SearchpathEntry) other;
-		if (kind != otherEntry.kind)
-			return false;
-			
-		if (path == null)
-			if (otherEntry.path != null)
-				return false;
-			else
-				;
-		else if (!path.equals(otherEntry.path))
-			return false;
-			
-		if (packageName == null)
-			if (otherEntry.packageName != null)
-				return false;
-			else
-				;
-		else if (!packageName.equals(otherEntry.packageName))
-			return false;
-			
-		return true;
-	}
-	
-	public int hashCode() {
-		int hashCode = kind;
-		if (path != null)
-			hashCode ^= path.hashCode();
-		if (packageName != null)
-			hashCode ^= packageName.hashCode();
-		return hashCode;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SpecialResourceSet.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SpecialResourceSet.java
deleted file mode 100644
index 701ef25..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SpecialResourceSet.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: SpecialResourceSet.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/24 19:33:46 $ 
- */
-
-import com.ibm.wtp.internal.emf.workbench.ProjectResourceSetImpl;
-import com.ibm.wtp.emf.workbench.plugin.EMFWorkbenchPlugin;
-
-/**
- * A Special resource set that is used to link together to the beaninfo
- * nature's resource set and makes sure that any request for a new "java:/..."
- * JavaClass is redirected to the beaninfo nature's resource set. Otherwise
- * the classes will be all over the place and not all gathered in one place.
- * 
- * *package* protected because no one should create one of these. They are
- * returned by the BeaninfoNature.newResourceSet() request.
- * 
- * @version 	1.0
- * @author
- */
-class SpecialResourceSet extends ProjectResourceSetImpl {
-
-	/**
-	 * Constructor for SpecialResourceSet.
-	 * @param aProject
-	 */
-	public SpecialResourceSet() {
-		super(null);
-		EMFWorkbenchPlugin.getSharedCache().stopListening(this);	// We don't care about listening.
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/Utilities.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/Utilities.java
deleted file mode 100644
index 44a3dc3..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/Utilities.java
+++ /dev/null
@@ -1,458 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Utilities.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:00 $ 
- */
-import java.lang.reflect.InvocationTargetException;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-import org.eclipse.jem.internal.beaninfo.*;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.java.JavaURL;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.internal.java.adapters.ReflectionAdaptor;
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Beaninfo (introspection) utilities methods
- */
-
-public final class Utilities {
-	
-	private static final java.lang.reflect.Method sSignatureToString;
-	static {
-		// If in the workbench, we want to use the Signature.toString(type) method
-		// to convert array arguments. However, we may not be in workbench, so we
-		// need to use reflection.
-		java.lang.reflect.Method ssig = null;
-		try {
-			Class signature = Class.forName("org.eclipse.jdt.core.Signature"); //$NON-NLS-1$
-			ssig = signature.getMethod("toString", new Class[] { String.class }); //$NON-NLS-1$
-		} catch (ClassNotFoundException e) {
-		} catch (NoSuchMethodException e) {
-		}
-
-		sSignatureToString = ssig;
-	}
-
-	private Utilities() {
-	}
-
-	/**
-	 * Utility to return the EClassifier from the given name. (EClassifier because
-	 * it could return either a JavaDataType or a JavaClass).
-	 */
-	public static JavaHelpers getJavaClass(String className, ResourceSet rset) {
-		return (JavaHelpers) rset.getEObject(URI.createURI((new JavaURL(className)).getFullString()), true);
-	}
-
-	/** 
-	 * Utility to return the EClassifier from the given IBeanTypeProxy.
-	 */
-	public static EClassifier getJavaClass(IBeanTypeProxy type, ResourceSet rset) {
-		if (type != null) {
-			String typeName = null;
-			if (!type.isArray())
-				typeName = type.getTypeName();
-			else {
-				typeName = ((IArrayBeanTypeProxy) type).getFinalComponentType().getTypeName();
-				int dim = ((IArrayBeanTypeProxy) type).getDimensions();
-				while (dim-- > 0)
-					typeName = typeName.concat("[]"); //$NON-NLS-1$
-			}
-			return getJavaClass(typeName, rset);
-		} else
-			return null;
-	}
-
-	/**
-	 * Utility to return the Method from the given IMethodProxy.
-	 */
-	public static Method getMethod(IMethodProxy method, ResourceSet rset) {
-		return method != null ? (Method) rset.getEObject(URI.createURI(getMethodURL(method)), true) : null;
-	}
-
-	/**
-	 * Answer the URL String for Method from the given IMethodProxy
-	 */
-	public static String getMethodURL(IMethodProxy method) {
-		String className = method.getClassType().getTypeName();
-		int classStart = className.lastIndexOf('.');
-		StringBuffer url = new StringBuffer(50);
-		url.append("java:/"); //$NON-NLS-1$
-		if (classStart > -1)
-			url.append(className.substring(0, classStart));
-		url.append('#');
-		IBeanTypeProxy[] parms = method.getParameterTypes();
-		String[] parmTypes = new String[parms.length];
-		for (int i = 0; i < parmTypes.length; i++) {
-			IBeanTypeProxy ptype = parms[i];
-			if (!ptype.isArray() || sSignatureToString == null)
-				parmTypes[i] = parms[i].getTypeName();
-			else {
-				// It is an array and we are in the workbench. Need to converty [I to int[]
-				try {
-					parmTypes[i] = (String) sSignatureToString.invoke(null, new Object[] { ptype.getTypeName()});
-				} catch (IllegalArgumentException e) {
-				} catch (IllegalAccessException e) {
-				} catch (InvocationTargetException e) {
-				}
-			}
-		}
-		url.append(computeMethodID(className.substring(classStart + 1), method.getName(), parmTypes));
-		return url.toString();
-	}
-
-	/**
-	 * Turn it into an URI.
-	 */
-	public static URI getMethodURI(IMethodProxy method) {
-		return URI.createURI(getMethodURL(method));
-	}
-
-	/**
-	 * Utility to compute the Java Modeling METHODID from method declaring class name,
-	 * method name, and parameter class names.
-	 */
-	public static String computeMethodID(String className, String methodName, String[] parameterTypes) {
-		StringBuffer out = new StringBuffer(50);
-		out.append(className);
-		out.append(ReflectionAdaptor.C_CLASS_MEMBER_DELIMITER);
-		out.append(methodName);
-		out.append(ReflectionAdaptor.C_METHOD_PARM_DELIMITER);
-		for (int i = 0; i < parameterTypes.length; i++) {
-			out.append(parameterTypes[i]);
-			if (i < parameterTypes.length - 1)
-				out.append(ReflectionAdaptor.C_PARM_PARM_DELIMITER);
-		}
-		if (className.equals(methodName))
-			out.append(ReflectionAdaptor.S_CONSTRUCTOR_TOKEN); //It's a constructor
-		return out.toString();
-	}
-
-	/**
-	 * Utility to retrieve the BeanDecorator.
-	 */
-	public static BeanDecorator getBeanDecorator(EModelElement model) {
-		return (BeanDecorator) getDecorator(model, BeanDecorator.class);
-	}
-	/**
-	 * Utility to retrieve a decorator of the specified class.
-	 */
-	public static EAnnotation getDecorator(EModelElement model, Class decoratorClass) {
-		Iterator itr = model.getEAnnotations().iterator();
-		while (itr.hasNext()) {
-			EAnnotation decr = (EAnnotation) itr.next();
-			if (decoratorClass.isInstance(decr))
-				return decr;
-		}
-		return null;
-	}
-
-	/**
-	 * Utility to retrieve the EventSetDecorator.
-	 */
-	public static EventSetDecorator getEventSetDecorator(EModelElement model) {
-		return (EventSetDecorator) getDecorator(model, EventSetDecorator.class);
-	}
-
-	/**
-	 * Utility to retrieve the MethodDecorator.
-	 */
-	public static MethodDecorator getMethodDecorator(EModelElement model) {
-		return (MethodDecorator) getDecorator(model, MethodDecorator.class);
-	}
-
-	/**
-	 * Utility to retrieve the PropertyDecorator.
-	 */
-	public static PropertyDecorator getPropertyDecorator(EModelElement model) {
-		return (PropertyDecorator) getDecorator(model, PropertyDecorator.class);
-	}
-
-	/**
-	 * Utility to return an iterator on the list which will return the property decorators
-	 * of only the properties in the EList passed in. If the property does not have a
-	 * property decorator, then it is not a beaninfo property.
-	 */
-	public static Iterator getPropertiesIterator(final EList properties) {
-		return new Iterator() {
-			private Iterator itr = properties.iterator();
-			private boolean hasNext = true;
-			private PropertyDecorator next;
-			{
-				findNext();
-			}
-			public boolean hasNext() {
-				return hasNext;
-			}
-
-			public Object next() {
-				PropertyDecorator temp = next;
-				findNext();
-				return temp;
-			}
-
-			public void remove() {
-				throw new UnsupportedOperationException();
-			}
-
-			private void findNext() {
-				while (itr.hasNext()) {
-					EModelElement nextOne = (EModelElement) itr.next();
-					next = getPropertyDecorator(nextOne);
-					if (next != null) {
-						return;
-					}
-				}
-				hasNext = false;
-			}
-		};
-	}
-
-	/**
-	 * Utility to return an iterator on the list which will return the EventSet decorators
-	 * of only the BeanEvents in the EList passed in.
-	 */
-	public static Iterator getEventSetsIterator(final EList events) {
-		return new Iterator() {
-			private Iterator itr = events.iterator();
-			private boolean hasNext = true;
-			private EventSetDecorator next;
-			{
-				findNext();
-			}
-			public boolean hasNext() {
-				return hasNext;
-			}
-
-			public Object next() {
-				EventSetDecorator temp = next;
-				findNext();
-				return temp;
-			}
-
-			public void remove() {
-				throw new UnsupportedOperationException();
-			}
-
-			private void findNext() {
-				while (itr.hasNext()) {
-					EModelElement nextOne = (EModelElement) itr.next();
-					next = getEventSetDecorator(nextOne);
-					if (next != null) {
-						return;
-					}
-				}
-				hasNext = false;
-			}
-		};
-	}
-
-	/**
-	 * Utility to return an iterator on the list which will return the Method decorators
-	 * of only the Methods in the EList passed in.
-	 */
-	public static Iterator getMethodsIterator(final EList methods) {
-		return new Iterator() {
-			private Iterator itr = methods.iterator();
-			private boolean hasNext = true;
-			private MethodDecorator next;
-			{
-				findNext();
-			}
-			public boolean hasNext() {
-				return hasNext;
-			}
-
-			public Object next() {
-				MethodDecorator temp = next;
-				findNext();
-				return temp;
-			}
-
-			public void remove() {
-				throw new UnsupportedOperationException();
-			}
-
-			private void findNext() {
-				while (itr.hasNext()) {
-					EModelElement nextOne = (EModelElement) itr.next();
-					next = getMethodDecorator(nextOne);
-					if (next != null) {
-						return;
-					}
-				}
-				hasNext = false;
-			}
-		};
-	}
-
-	/**
-	 * Get the search path from the remote vm. 
-	 * 
-	 * Note: This shouldn't be used when working with a BeaninfoNature. Use the
-	 * accessors taking the nature  instead. Otherwise there will be inconsistencies since the search path won't be
-	 * saved across invocations of the workspace if it is not updated through the nature).
-	 */
-	public static IArrayBeanProxy getBeanInfoSearchPath(ProxyFactoryRegistry registry) {
-		return (IArrayBeanProxy) BeaninfoProxyConstants
-			.getConstants(registry)
-			.getGetBeanInfoSearchPathProxy()
-			.invokeCatchThrowableExceptions(
-			null);
-	}
-
-	/**
-	 * Set the search path to the array of strings passed in on the remote vm.
-	 *
-	 * Note: This shouldn't be used when working with a BeaninfoNature. Use the
-	 * accessors taking the nature  instead. Otherwise there will be inconsistencies since the search path won't be
-	 * saved across invocations of the workspace if it is not updated through the nature).	 
-	 */
-	public static void setBeanInfoSearchPath(ProxyFactoryRegistry registry, String[] paths) {
-
-		try {
-			BeaninfoProxyConstants biConstants = BeaninfoProxyConstants.getConstants(registry);
-			JavaStandardBeanProxyConstants jConstants = JavaStandardBeanProxyConstants.getConstants(registry);
-			IStandardBeanProxyFactory proxyFactory = registry.getBeanProxyFactory();
-			IArrayBeanProxy newPath = proxyFactory.createBeanProxyWith(jConstants.getStringType(), paths != null ? paths.length : 0);
-			if (paths != null)
-				for (int i = 0; i < paths.length; i++)
-					newPath.set(proxyFactory.createBeanProxyWith(paths[i]), i);
-			biConstants.getSetBeanInfoSearchPathProxy().invoke(null, newPath);
-		} catch (ThrowableProxy e) {
-		}
-	}
-
-	/**
-	 * From the Beaninfo Nature, insert a path to the beaninfo path at the given index, -1 means at the end.
-	 * If index is larger than the current path, it will also add at the end.
-	 */
-	public static void insertBeanInfoSearchPath(BeaninfoNature nature, IBeaninfosDocEntry path, int index) throws CoreException {
-		BeaninfosDoc infoPath = nature.getSearchPath();
-		IBeaninfosDocEntry[] oldPath = infoPath.getSearchpath();
-
-		IBeaninfosDocEntry[] newPath = new IBeaninfosDocEntry[oldPath.length + 1];
-
-		if (index == -1 || index >= oldPath.length) {
-			// At the end or past end
-			System.arraycopy(oldPath, 0, newPath, 0, oldPath.length);
-			newPath[oldPath.length] = path;
-		} else {
-			// In the middle
-			System.arraycopy(oldPath, 0, newPath, 0, index);
-			newPath[index] = path;
-			System.arraycopy(oldPath, index, newPath, index + 1, oldPath.length - index);
-		}
-
-		infoPath.setSearchpath(newPath);
-		nature.setSearchPath(infoPath);
-	}
-
-	/**
-	 * Insert a path to the beaninfo path at the given index, -1 means at the end.
-	 * If index is larger than the current path, it will also add at the end.
-	 *
-	 * Note: This shouldn't be used when working with a BeaninfoNature. Use the
-	 * accessors taking the nature  instead. Otherwise there will be inconsistencies since the search path won't be
-	 * saved across invocations of the workspace if it is not updated through the nature).	 
-	 */
-	public static void insertBeanInfoSearchPath(ProxyFactoryRegistry registry, String path, int index) {
-		try {
-			BeaninfoProxyConstants biConstants = BeaninfoProxyConstants.getConstants(registry);
-			IArrayBeanProxy infoPath = (IArrayBeanProxy) biConstants.getGetBeanInfoSearchPathProxy().invoke(null);
-			int pathLength = infoPath.getLength();
-
-			IStandardBeanProxyFactory proxyFactory = registry.getBeanProxyFactory();
-
-			IArrayBeanProxy newPath = proxyFactory.createBeanProxyWith(infoPath.getTypeProxy(), pathLength + 1);
-			IBeanProxy stringProxy = proxyFactory.createBeanProxyWith(path);
-
-			JavaStandardBeanProxyConstants constants = JavaStandardBeanProxyConstants.getConstants(registry);
-			if (index == -1 || index >= pathLength) {
-				// At the end or past end
-				constants.arraycopy(infoPath, 0, newPath, 0, infoPath.getLength());
-				newPath.set(stringProxy, pathLength);
-			} else {
-				// In the middle
-				constants.arraycopy(infoPath, 0, newPath, 0, index);
-				newPath.set(stringProxy, index);
-				constants.arraycopy(infoPath, index, newPath, index + 1, pathLength - index);
-			}
-
-			biConstants.getSetBeanInfoSearchPathProxy().invoke(null, newPath);
-		} catch (ThrowableProxy e) {
-		}
-	}
-
-	/**
-	 * From the Beaninfo Nature, remove the specified path from the beaninfo search path.
-	 * Not an error if not found.
-	 */
-	public static void removeBeanInfoPath(BeaninfoNature nature, IBeaninfosDocEntry path) throws CoreException {
-		BeaninfosDoc infoPath = nature.getSearchPath();
-		IBeaninfosDocEntry[] oldPath = infoPath.getSearchpath();
-
-		for (int i = 0; i < oldPath.length; i++) {
-			if (path.equals(oldPath[i])) {
-				// We found it, so remove it.
-				IBeaninfosDocEntry[] newPath = new IBeaninfosDocEntry[oldPath.length - 1];
-				System.arraycopy(oldPath, 0, newPath, 0, i);
-				if (i < oldPath.length - 1)
-					System.arraycopy(oldPath, i + 1, newPath, i, oldPath.length - i - 1);
-				infoPath.setSearchpath(newPath);
-				nature.setSearchPath(infoPath);
-				return;
-			}
-		}
-	}
-
-	/**
-	 * Remove the specified path from the beaninfo search path.
-	 * Not an error if not found.
-	 *
-	 * Note: This shouldn't be used when working with a BeaninfoNature. Use the
-	 * accessors taking the nature  instead. Otherwise there will be inconsistencies since the search path won't be
-	 * saved across invocations of the workspace if it is not updated through the nature).	 	 
-	 */
-	public static void removeBeanInfoPath(ProxyFactoryRegistry registry, String path) {
-		try {
-			BeaninfoProxyConstants biConstants = BeaninfoProxyConstants.getConstants(registry);
-			IArrayBeanProxy infoPath = (IArrayBeanProxy) biConstants.getGetBeanInfoSearchPathProxy().invoke(null);
-			int pathLength = infoPath.getLength();
-
-			for (int i = 0; i < pathLength; i++) {
-				IStringBeanProxy aPath = (IStringBeanProxy) infoPath.get(i);
-				if (path.equals(aPath.stringValue())) {
-					// We found it, so remove it.
-					IArrayBeanProxy newPath = registry.getBeanProxyFactory().createBeanProxyWith(infoPath.getTypeProxy(), pathLength - 1);
-					JavaStandardBeanProxyConstants constants = JavaStandardBeanProxyConstants.getConstants(registry);
-					constants.arraycopy(infoPath, 0, newPath, 0, i);
-					if (i < pathLength - 1)
-						constants.arraycopy(infoPath, i + 1, newPath, i, pathLength - i - 1);
-					biConstants.getSetBeanInfoSearchPathProxy().invoke(null, newPath);
-					return;
-				}
-			}
-		} catch (ThrowableProxy e) {
-		}
-	};
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanDecoratorImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanDecoratorImpl.java
deleted file mode 100644
index 158690f..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanDecoratorImpl.java
+++ /dev/null
@@ -1,984 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeanDecoratorImpl.java,v $
- *  $Revision: 1.10 $  $Date: 2004/03/10 00:39:58 $ 
- */
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.logging.Level;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeanDecorator;
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.FeatureAttributeValue;
-import org.eclipse.jem.internal.beaninfo.adapters.*;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoProxyConstants;
-import org.eclipse.jem.internal.beaninfo.adapters.Utilities;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-import org.eclipse.jem.internal.proxy.core.IStringBeanProxy;
-import org.eclipse.jem.internal.proxy.core.ThrowableProxy;
-
-import com.ibm.wtp.logger.proxyrender.EclipseLogger;
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Bean Decorator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#isMergeSuperProperties <em>Merge Super Properties</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#isMergeSuperBehaviors <em>Merge Super Behaviors</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#isMergeSuperEvents <em>Merge Super Events</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#isIntrospectProperties <em>Introspect Properties</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#isIntrospectBehaviors <em>Introspect Behaviors</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#isIntrospectEvents <em>Introspect Events</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#isDoBeaninfo <em>Do Beaninfo</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.BeanDecoratorImpl#getCustomizerClass <em>Customizer Class</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class BeanDecoratorImpl extends FeatureDecoratorImpl implements BeanDecorator{
-	/**
-	 * The default value of the '{@link #isMergeSuperProperties() <em>Merge Super Properties</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isMergeSuperProperties()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean MERGE_SUPER_PROPERTIES_EDEFAULT = true;
-
-	private Boolean mergeSuperPropertiesProxy;
-	private Boolean mergeSuperBehaviorsProxy;
-	private Boolean mergeSuperEventsProxy;
-	
-	/**
-	 * The cached value of the '{@link #isMergeSuperProperties() <em>Merge Super Properties</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isMergeSuperProperties()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean mergeSuperProperties = MERGE_SUPER_PROPERTIES_EDEFAULT;
-	/**
-	 * This is true if the Merge Super Properties attribute has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean mergeSuperPropertiesESet = false;
-
-	/**
-	 * The default value of the '{@link #isMergeSuperBehaviors() <em>Merge Super Behaviors</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isMergeSuperBehaviors()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean MERGE_SUPER_BEHAVIORS_EDEFAULT = true;
-
-	/**
-	 * The cached value of the '{@link #isMergeSuperBehaviors() <em>Merge Super Behaviors</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isMergeSuperBehaviors()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean mergeSuperBehaviors = MERGE_SUPER_BEHAVIORS_EDEFAULT;
-	/**
-	 * This is true if the Merge Super Behaviors attribute has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean mergeSuperBehaviorsESet = false;
-
-	/**
-	 * The default value of the '{@link #isMergeSuperEvents() <em>Merge Super Events</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isMergeSuperEvents()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean MERGE_SUPER_EVENTS_EDEFAULT = true;
-
-	/**
-	 * The cached value of the '{@link #isMergeSuperEvents() <em>Merge Super Events</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isMergeSuperEvents()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean mergeSuperEvents = MERGE_SUPER_EVENTS_EDEFAULT;
-	/**
-	 * This is true if the Merge Super Events attribute has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean mergeSuperEventsESet = false;
-
-	/**
-	 * The default value of the '{@link #isIntrospectProperties() <em>Introspect Properties</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isIntrospectProperties()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean INTROSPECT_PROPERTIES_EDEFAULT = true;
-
-	/**
-	 * The cached value of the '{@link #isIntrospectProperties() <em>Introspect Properties</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isIntrospectProperties()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean introspectProperties = INTROSPECT_PROPERTIES_EDEFAULT;
-	/**
-	 * The default value of the '{@link #isIntrospectBehaviors() <em>Introspect Behaviors</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isIntrospectBehaviors()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean INTROSPECT_BEHAVIORS_EDEFAULT = true;
-
-	/**
-	 * The cached value of the '{@link #isIntrospectBehaviors() <em>Introspect Behaviors</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isIntrospectBehaviors()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean introspectBehaviors = INTROSPECT_BEHAVIORS_EDEFAULT;
-	/**
-	 * The default value of the '{@link #isIntrospectEvents() <em>Introspect Events</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isIntrospectEvents()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean INTROSPECT_EVENTS_EDEFAULT = true;
-
-	/**
-	 * The cached value of the '{@link #isIntrospectEvents() <em>Introspect Events</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isIntrospectEvents()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean introspectEvents = INTROSPECT_EVENTS_EDEFAULT;
-	/**
-	 * The default value of the '{@link #isDoBeaninfo() <em>Do Beaninfo</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDoBeaninfo()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean DO_BEANINFO_EDEFAULT = true;
-
-	/**
-	 * The cached value of the '{@link #isDoBeaninfo() <em>Do Beaninfo</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDoBeaninfo()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean doBeaninfo = DO_BEANINFO_EDEFAULT;
-	/**
-	 * The cached value of the '{@link #getCustomizerClass() <em>Customizer Class</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getCustomizerClass()
-	 * @generated
-	 * @ordered
-	 */
-	protected JavaClass customizerClass = null;
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */	
-	protected BeanDecoratorImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return BeaninfoPackage.eINSTANCE.getBeanDecorator();
-	}
-
-	/**
-	 * Should the properties of super types be merged when asking for eAllAttributes//eAllReferences.
-	 */
-	public boolean isMergeSuperProperties() {
-		if (mergeSuperPropertiesProxy != null && !this.isSetMergeSuperProperties())
-			return mergeSuperPropertiesProxy.booleanValue();
-		else
-			return this.isMergeSuperPropertiesGen();
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isMergeSuperPropertiesGen() {
-		return mergeSuperProperties;
-	}
-
-	public JavaClass getCustomizerClass() {
-		if (validProxy(fFeatureProxy) && !this.eIsSet(BeaninfoPackage.eINSTANCE.getBeanDecorator_CustomizerClass()))
-			try {
-				return (JavaClass) Utilities.getJavaClass((IBeanTypeProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getCustomizerClassProxy().invoke(fFeatureProxy), getEModelElement().eResource().getResourceSet());
-			} catch (ThrowableProxy e) {
-			};
-					
-		return this.getCustomizerClassGen();
-	}
-	
-	/**
-	 * Set merge super properties proxy. This can't be answered from the BeanDescriptor proxy,
-	 * so it must be explicitly set from the beaninfo class adapter.
-	 */
-	public void setMergeSuperPropertiesProxy(Boolean bool) {
-		mergeSuperPropertiesProxy = bool;
-	}
-	
-
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMergeSuperProperties(boolean newMergeSuperProperties) {
-		boolean oldMergeSuperProperties = mergeSuperProperties;
-		mergeSuperProperties = newMergeSuperProperties;
-		boolean oldMergeSuperPropertiesESet = mergeSuperPropertiesESet;
-		mergeSuperPropertiesESet = true;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_PROPERTIES, oldMergeSuperProperties, mergeSuperProperties, !oldMergeSuperPropertiesESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetMergeSuperProperties() {
-		boolean oldMergeSuperProperties = mergeSuperProperties;
-		boolean oldMergeSuperPropertiesESet = mergeSuperPropertiesESet;
-		mergeSuperProperties = MERGE_SUPER_PROPERTIES_EDEFAULT;
-		mergeSuperPropertiesESet = false;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_PROPERTIES, oldMergeSuperProperties, MERGE_SUPER_PROPERTIES_EDEFAULT, oldMergeSuperPropertiesESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetMergeSuperProperties() {
-		return mergeSuperPropertiesESet;
-	}
-
-	/**
-	 * Should the behaviors of super types be merged when asking for eAllBehaviors.
-	 */
-	public boolean isMergeSuperBehaviors() {
-		if (mergeSuperBehaviorsProxy != null && !this.isSetMergeSuperBehaviors())
-			return mergeSuperBehaviorsProxy.booleanValue();
-		else
-			return this.isMergeSuperBehaviorsGen();
-	
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isMergeSuperBehaviorsGen() {
-		return mergeSuperBehaviors;
-	}
-
-	/**
-	 * Set merge super behaviors proxy. This can't be answered from the BeanDescriptor proxy,
-	 * so it must be explicitly set from the beaninfo class adapter.
-	 */
-	public void setMergeSuperBehaviorsProxy(Boolean bool) {
-		mergeSuperBehaviorsProxy = bool;
-	}	
-	
-
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMergeSuperBehaviors(boolean newMergeSuperBehaviors) {
-		boolean oldMergeSuperBehaviors = mergeSuperBehaviors;
-		mergeSuperBehaviors = newMergeSuperBehaviors;
-		boolean oldMergeSuperBehaviorsESet = mergeSuperBehaviorsESet;
-		mergeSuperBehaviorsESet = true;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_BEHAVIORS, oldMergeSuperBehaviors, mergeSuperBehaviors, !oldMergeSuperBehaviorsESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetMergeSuperBehaviors() {
-		boolean oldMergeSuperBehaviors = mergeSuperBehaviors;
-		boolean oldMergeSuperBehaviorsESet = mergeSuperBehaviorsESet;
-		mergeSuperBehaviors = MERGE_SUPER_BEHAVIORS_EDEFAULT;
-		mergeSuperBehaviorsESet = false;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_BEHAVIORS, oldMergeSuperBehaviors, MERGE_SUPER_BEHAVIORS_EDEFAULT, oldMergeSuperBehaviorsESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetMergeSuperBehaviors() {
-		return mergeSuperBehaviorsESet;
-	}
-
-	/** 
-	 * Should the events of super types be merged when asking for eAllEvents.
-	 */
-	public boolean isMergeSuperEvents() {
-		if (mergeSuperEventsProxy != null && !this.isSetMergeSuperEvents())
-			return mergeSuperEventsProxy.booleanValue();
-		else
-			return this.isMergeSuperEventsGen();
-	
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isMergeSuperEventsGen() {
-		return mergeSuperEvents;
-	}
-
-	/**
-	 * Set merge super events proxy. This can't be answered from the BeanDescriptor proxy,
-	 * so it must be explicitly set from the beaninfo class adapter.
-	 */
-	public void setMergeSuperEventsProxy(Boolean bool) {
-		mergeSuperEventsProxy = bool;
-	}	
-		
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMergeSuperEvents(boolean newMergeSuperEvents) {
-		boolean oldMergeSuperEvents = mergeSuperEvents;
-		mergeSuperEvents = newMergeSuperEvents;
-		boolean oldMergeSuperEventsESet = mergeSuperEventsESet;
-		mergeSuperEventsESet = true;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_EVENTS, oldMergeSuperEvents, mergeSuperEvents, !oldMergeSuperEventsESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetMergeSuperEvents() {
-		boolean oldMergeSuperEvents = mergeSuperEvents;
-		boolean oldMergeSuperEventsESet = mergeSuperEventsESet;
-		mergeSuperEvents = MERGE_SUPER_EVENTS_EDEFAULT;
-		mergeSuperEventsESet = false;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_EVENTS, oldMergeSuperEvents, MERGE_SUPER_EVENTS_EDEFAULT, oldMergeSuperEventsESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetMergeSuperEvents() {
-		return mergeSuperEventsESet;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isIntrospectProperties() {
-		return introspectProperties;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setIntrospectProperties(boolean newIntrospectProperties) {
-		boolean oldIntrospectProperties = introspectProperties;
-		introspectProperties = newIntrospectProperties;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_PROPERTIES, oldIntrospectProperties, introspectProperties));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isIntrospectBehaviors() {
-		return introspectBehaviors;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setIntrospectBehaviors(boolean newIntrospectBehaviors) {
-		boolean oldIntrospectBehaviors = introspectBehaviors;
-		introspectBehaviors = newIntrospectBehaviors;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_BEHAVIORS, oldIntrospectBehaviors, introspectBehaviors));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isIntrospectEvents() {
-		return introspectEvents;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setIntrospectEvents(boolean newIntrospectEvents) {
-		boolean oldIntrospectEvents = introspectEvents;
-		introspectEvents = newIntrospectEvents;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_EVENTS, oldIntrospectEvents, introspectEvents));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setCustomizerClass(JavaClass newCustomizerClass) {
-		JavaClass oldCustomizerClass = customizerClass;
-		customizerClass = newCustomizerClass;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__CUSTOMIZER_CLASS, oldCustomizerClass, customizerClass));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.BEAN_DECORATOR__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.BEAN_DECORATOR__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.BEAN_DECORATOR__DETAILS:
-					return ((InternalEList)getDetails()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT:
-					return eBasicSetContainer(null, BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT, msgs);
-				case BeaninfoPackage.BEAN_DECORATOR__CONTENTS:
-					return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES:
-					return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.BEAN_DECORATOR__EANNOTATIONS:
-				return getEAnnotations();
-			case BeaninfoPackage.BEAN_DECORATOR__SOURCE:
-				return getSource();
-			case BeaninfoPackage.BEAN_DECORATOR__DETAILS:
-				return getDetails();
-			case BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT:
-				return getEModelElement();
-			case BeaninfoPackage.BEAN_DECORATOR__CONTENTS:
-				return getContents();
-			case BeaninfoPackage.BEAN_DECORATOR__REFERENCES:
-				return getReferences();
-			case BeaninfoPackage.BEAN_DECORATOR__DISPLAY_NAME:
-				return getDisplayName();
-			case BeaninfoPackage.BEAN_DECORATOR__SHORT_DESCRIPTION:
-				return getShortDescription();
-			case BeaninfoPackage.BEAN_DECORATOR__CATEGORY:
-				return getCategory();
-			case BeaninfoPackage.BEAN_DECORATOR__EXPERT:
-				return isExpert() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_DECORATOR__HIDDEN:
-				return isHidden() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_DECORATOR__PREFERRED:
-				return isPreferred() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_INTROSPECTION:
-				return isMergeIntrospection() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES_EXPLICIT:
-				return isAttributesExplicit() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES:
-				return getAttributes();
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_PROPERTIES:
-				return isMergeSuperProperties() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_BEHAVIORS:
-				return isMergeSuperBehaviors() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_EVENTS:
-				return isMergeSuperEvents() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_PROPERTIES:
-				return isIntrospectProperties() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_BEHAVIORS:
-				return isIntrospectBehaviors() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_EVENTS:
-				return isIntrospectEvents() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_DECORATOR__DO_BEANINFO:
-				return isDoBeaninfo() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_DECORATOR__CUSTOMIZER_CLASS:
-				if (resolve) return getCustomizerClass();
-				return basicGetCustomizerClass();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.BEAN_DECORATOR__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__SOURCE:
-				setSource((String)newValue);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__DETAILS:
-				getDetails().clear();
-				getDetails().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT:
-				setEModelElement((EModelElement)newValue);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__CONTENTS:
-				getContents().clear();
-				getContents().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__REFERENCES:
-				getReferences().clear();
-				getReferences().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__DISPLAY_NAME:
-				setDisplayName((String)newValue);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__SHORT_DESCRIPTION:
-				setShortDescription((String)newValue);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__CATEGORY:
-				setCategory((String)newValue);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__EXPERT:
-				setExpert(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__HIDDEN:
-				setHidden(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__PREFERRED:
-				setPreferred(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_INTROSPECTION:
-				setMergeIntrospection(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES_EXPLICIT:
-				setAttributesExplicit(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES:
-				getAttributes().clear();
-				getAttributes().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_PROPERTIES:
-				setMergeSuperProperties(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_BEHAVIORS:
-				setMergeSuperBehaviors(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_EVENTS:
-				setMergeSuperEvents(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_PROPERTIES:
-				setIntrospectProperties(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_BEHAVIORS:
-				setIntrospectBehaviors(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_EVENTS:
-				setIntrospectEvents(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__DO_BEANINFO:
-				setDoBeaninfo(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__CUSTOMIZER_CLASS:
-				setCustomizerClass((JavaClass)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.BEAN_DECORATOR__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__SOURCE:
-				setSource(SOURCE_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__DETAILS:
-				getDetails().clear();
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT:
-				setEModelElement((EModelElement)null);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__CONTENTS:
-				getContents().clear();
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__REFERENCES:
-				getReferences().clear();
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__DISPLAY_NAME:
-				unsetDisplayName();
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__SHORT_DESCRIPTION:
-				unsetShortDescription();
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__CATEGORY:
-				setCategory(CATEGORY_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__EXPERT:
-				unsetExpert();
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__HIDDEN:
-				unsetHidden();
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__PREFERRED:
-				unsetPreferred();
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_INTROSPECTION:
-				setMergeIntrospection(MERGE_INTROSPECTION_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES_EXPLICIT:
-				setAttributesExplicit(ATTRIBUTES_EXPLICIT_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES:
-				getAttributes().clear();
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_PROPERTIES:
-				unsetMergeSuperProperties();
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_BEHAVIORS:
-				unsetMergeSuperBehaviors();
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_EVENTS:
-				unsetMergeSuperEvents();
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_PROPERTIES:
-				setIntrospectProperties(INTROSPECT_PROPERTIES_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_BEHAVIORS:
-				setIntrospectBehaviors(INTROSPECT_BEHAVIORS_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_EVENTS:
-				setIntrospectEvents(INTROSPECT_EVENTS_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__DO_BEANINFO:
-				setDoBeaninfo(DO_BEANINFO_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_DECORATOR__CUSTOMIZER_CLASS:
-				setCustomizerClass((JavaClass)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.BEAN_DECORATOR__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case BeaninfoPackage.BEAN_DECORATOR__SOURCE:
-				return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
-			case BeaninfoPackage.BEAN_DECORATOR__DETAILS:
-				return details != null && !details.isEmpty();
-			case BeaninfoPackage.BEAN_DECORATOR__EMODEL_ELEMENT:
-				return getEModelElement() != null;
-			case BeaninfoPackage.BEAN_DECORATOR__CONTENTS:
-				return contents != null && !contents.isEmpty();
-			case BeaninfoPackage.BEAN_DECORATOR__REFERENCES:
-				return references != null && !references.isEmpty();
-			case BeaninfoPackage.BEAN_DECORATOR__DISPLAY_NAME:
-				return isSetDisplayName();
-			case BeaninfoPackage.BEAN_DECORATOR__SHORT_DESCRIPTION:
-				return isSetShortDescription();
-			case BeaninfoPackage.BEAN_DECORATOR__CATEGORY:
-				return CATEGORY_EDEFAULT == null ? category != null : !CATEGORY_EDEFAULT.equals(category);
-			case BeaninfoPackage.BEAN_DECORATOR__EXPERT:
-				return isSetExpert();
-			case BeaninfoPackage.BEAN_DECORATOR__HIDDEN:
-				return isSetHidden();
-			case BeaninfoPackage.BEAN_DECORATOR__PREFERRED:
-				return isSetPreferred();
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_INTROSPECTION:
-				return mergeIntrospection != MERGE_INTROSPECTION_EDEFAULT;
-			case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES_EXPLICIT:
-				return attributesExplicit != ATTRIBUTES_EXPLICIT_EDEFAULT;
-			case BeaninfoPackage.BEAN_DECORATOR__ATTRIBUTES:
-				return attributes != null && !attributes.isEmpty();
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_PROPERTIES:
-				return isSetMergeSuperProperties();
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_BEHAVIORS:
-				return isSetMergeSuperBehaviors();
-			case BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_EVENTS:
-				return isSetMergeSuperEvents();
-			case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_PROPERTIES:
-				return introspectProperties != INTROSPECT_PROPERTIES_EDEFAULT;
-			case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_BEHAVIORS:
-				return introspectBehaviors != INTROSPECT_BEHAVIORS_EDEFAULT;
-			case BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_EVENTS:
-				return introspectEvents != INTROSPECT_EVENTS_EDEFAULT;
-			case BeaninfoPackage.BEAN_DECORATOR__DO_BEANINFO:
-				return doBeaninfo != DO_BEANINFO_EDEFAULT;
-			case BeaninfoPackage.BEAN_DECORATOR__CUSTOMIZER_CLASS:
-				return customizerClass != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (mergeSuperProperties: ");
-		if (mergeSuperPropertiesESet) result.append(mergeSuperProperties); else result.append("<unset>");
-		result.append(", mergeSuperBehaviors: ");
-		if (mergeSuperBehaviorsESet) result.append(mergeSuperBehaviors); else result.append("<unset>");
-		result.append(", mergeSuperEvents: ");
-		if (mergeSuperEventsESet) result.append(mergeSuperEvents); else result.append("<unset>");
-		result.append(", introspectProperties: ");
-		result.append(introspectProperties);
-		result.append(", introspectBehaviors: ");
-		result.append(introspectBehaviors);
-		result.append(", introspectEvents: ");
-		result.append(introspectEvents);
-		result.append(", doBeaninfo: ");
-		result.append(doBeaninfo);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaClass getCustomizerClassGen() {
-		if (customizerClass != null && customizerClass.eIsProxy()) {
-			JavaClass oldCustomizerClass = customizerClass;
-			customizerClass = (JavaClass)eResolveProxy((InternalEObject)customizerClass);
-			if (customizerClass != oldCustomizerClass) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.BEAN_DECORATOR__CUSTOMIZER_CLASS, oldCustomizerClass, customizerClass));
-			}
-		}
-		return customizerClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaClass basicGetCustomizerClass() {
-		return customizerClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isDoBeaninfo() {
-		return doBeaninfo;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDoBeaninfo(boolean newDoBeaninfo) {
-		boolean oldDoBeaninfo = doBeaninfo;
-		doBeaninfo = newDoBeaninfo;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__DO_BEANINFO, oldDoBeaninfo, doBeaninfo));
-	}
-
-	private URL iconURL;
-	private boolean hasQueriedIconURL;
-	public URL getIconURL(){
-		if (!hasQueriedIconURL){
-			FeatureAttributeValue value = (FeatureAttributeValue) getAttributes().get("ICON_COLOR_16x16_URL");	//$NON-NLS-1$
-			if (value != null && value.isSetValueProxy()){ 
-				// Get the value
-				String urlString = ((IStringBeanProxy)value.getValueProxy()).stringValue();
-				try {
-					hasQueriedIconURL = true;
-					iconURL = new URL(urlString);
-				} catch ( MalformedURLException exc ) {
-					BeaninfoPlugin.getPlugin().getLogger().log(exc, Level.INFO);
-				}
-			}			
-		}
-		return iconURL;
-	}
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanEventImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanEventImpl.java
deleted file mode 100644
index 28dc344..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanEventImpl.java
+++ /dev/null
@@ -1,314 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeanEventImpl.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:00 $ 
- */
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeanEvent;
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.java.impl.JavaEventImpl;
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Bean Event</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-
-public class BeanEventImpl extends JavaEventImpl implements BeanEvent{
-
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected BeanEventImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return BeaninfoPackage.eINSTANCE.getBeanEvent();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.BEAN_EVENT__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case BeaninfoPackage.BEAN_EVENT__ECONTAINING_CLASS:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, BeaninfoPackage.BEAN_EVENT__ECONTAINING_CLASS, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.BEAN_EVENT__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.BEAN_EVENT__ECONTAINING_CLASS:
-					return eBasicSetContainer(null, BeaninfoPackage.BEAN_EVENT__ECONTAINING_CLASS, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case BeaninfoPackage.BEAN_EVENT__ECONTAINING_CLASS:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.ECLASS__ESTRUCTURAL_FEATURES, EClass.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.BEAN_EVENT__EANNOTATIONS:
-				return getEAnnotations();
-			case BeaninfoPackage.BEAN_EVENT__NAME:
-				return getName();
-			case BeaninfoPackage.BEAN_EVENT__ORDERED:
-				return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_EVENT__UNIQUE:
-				return isUnique() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_EVENT__LOWER_BOUND:
-				return new Integer(getLowerBound());
-			case BeaninfoPackage.BEAN_EVENT__UPPER_BOUND:
-				return new Integer(getUpperBound());
-			case BeaninfoPackage.BEAN_EVENT__MANY:
-				return isMany() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_EVENT__REQUIRED:
-				return isRequired() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_EVENT__ETYPE:
-				if (resolve) return getEType();
-				return basicGetEType();
-			case BeaninfoPackage.BEAN_EVENT__CHANGEABLE:
-				return isChangeable() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_EVENT__VOLATILE:
-				return isVolatile() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_EVENT__TRANSIENT:
-				return isTransient() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_EVENT__DEFAULT_VALUE_LITERAL:
-				return getDefaultValueLiteral();
-			case BeaninfoPackage.BEAN_EVENT__DEFAULT_VALUE:
-				return getDefaultValue();
-			case BeaninfoPackage.BEAN_EVENT__UNSETTABLE:
-				return isUnsettable() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_EVENT__DERIVED:
-				return isDerived() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.BEAN_EVENT__ECONTAINING_CLASS:
-				return getEContainingClass();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.BEAN_EVENT__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.BEAN_EVENT__NAME:
-				setName((String)newValue);
-				return;
-			case BeaninfoPackage.BEAN_EVENT__ORDERED:
-				setOrdered(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_EVENT__UNIQUE:
-				setUnique(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_EVENT__LOWER_BOUND:
-				setLowerBound(((Integer)newValue).intValue());
-				return;
-			case BeaninfoPackage.BEAN_EVENT__UPPER_BOUND:
-				setUpperBound(((Integer)newValue).intValue());
-				return;
-			case BeaninfoPackage.BEAN_EVENT__ETYPE:
-				setEType((EClassifier)newValue);
-				return;
-			case BeaninfoPackage.BEAN_EVENT__CHANGEABLE:
-				setChangeable(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_EVENT__VOLATILE:
-				setVolatile(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_EVENT__TRANSIENT:
-				setTransient(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_EVENT__DEFAULT_VALUE_LITERAL:
-				setDefaultValueLiteral((String)newValue);
-				return;
-			case BeaninfoPackage.BEAN_EVENT__UNSETTABLE:
-				setUnsettable(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.BEAN_EVENT__DERIVED:
-				setDerived(((Boolean)newValue).booleanValue());
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.BEAN_EVENT__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case BeaninfoPackage.BEAN_EVENT__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_EVENT__ORDERED:
-				setOrdered(ORDERED_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_EVENT__UNIQUE:
-				setUnique(UNIQUE_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_EVENT__LOWER_BOUND:
-				setLowerBound(LOWER_BOUND_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_EVENT__UPPER_BOUND:
-				setUpperBound(UPPER_BOUND_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_EVENT__ETYPE:
-				setEType((EClassifier)null);
-				return;
-			case BeaninfoPackage.BEAN_EVENT__CHANGEABLE:
-				setChangeable(CHANGEABLE_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_EVENT__VOLATILE:
-				setVolatile(VOLATILE_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_EVENT__TRANSIENT:
-				setTransient(TRANSIENT_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_EVENT__DEFAULT_VALUE_LITERAL:
-				setDefaultValueLiteral(DEFAULT_VALUE_LITERAL_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_EVENT__UNSETTABLE:
-				setUnsettable(UNSETTABLE_EDEFAULT);
-				return;
-			case BeaninfoPackage.BEAN_EVENT__DERIVED:
-				setDerived(DERIVED_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.BEAN_EVENT__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case BeaninfoPackage.BEAN_EVENT__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case BeaninfoPackage.BEAN_EVENT__ORDERED:
-				return ordered != ORDERED_EDEFAULT;
-			case BeaninfoPackage.BEAN_EVENT__UNIQUE:
-				return unique != UNIQUE_EDEFAULT;
-			case BeaninfoPackage.BEAN_EVENT__LOWER_BOUND:
-				return lowerBound != LOWER_BOUND_EDEFAULT;
-			case BeaninfoPackage.BEAN_EVENT__UPPER_BOUND:
-				return upperBound != UPPER_BOUND_EDEFAULT;
-			case BeaninfoPackage.BEAN_EVENT__MANY:
-				return isMany() != false;
-			case BeaninfoPackage.BEAN_EVENT__REQUIRED:
-				return isRequired() != false;
-			case BeaninfoPackage.BEAN_EVENT__ETYPE:
-				return eType != null;
-			case BeaninfoPackage.BEAN_EVENT__CHANGEABLE:
-				return changeable != CHANGEABLE_EDEFAULT;
-			case BeaninfoPackage.BEAN_EVENT__VOLATILE:
-				return volatile_ != VOLATILE_EDEFAULT;
-			case BeaninfoPackage.BEAN_EVENT__TRANSIENT:
-				return transient_ != TRANSIENT_EDEFAULT;
-			case BeaninfoPackage.BEAN_EVENT__DEFAULT_VALUE_LITERAL:
-				return DEFAULT_VALUE_LITERAL_EDEFAULT == null ? defaultValueLiteral != null : !DEFAULT_VALUE_LITERAL_EDEFAULT.equals(defaultValueLiteral);
-			case BeaninfoPackage.BEAN_EVENT__DEFAULT_VALUE:
-				return getDefaultValue() != null;
-			case BeaninfoPackage.BEAN_EVENT__UNSETTABLE:
-				return unsettable != UNSETTABLE_EDEFAULT;
-			case BeaninfoPackage.BEAN_EVENT__DERIVED:
-				return derived != DERIVED_EDEFAULT;
-			case BeaninfoPackage.BEAN_EVENT__ECONTAINING_CLASS:
-				return getEContainingClass() != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoFactoryImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoFactoryImpl.java
deleted file mode 100644
index 15450e2..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoFactoryImpl.java
+++ /dev/null
@@ -1,196 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoFactoryImpl.java,v $
- *  $Revision: 1.3 $  $Date: 2004/03/08 21:25:33 $ 
- */
-
-import java.util.Map;
-
-import org.eclipse.jem.internal.beaninfo.*;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-
-
-public class BeaninfoFactoryImpl extends EFactoryImpl implements BeaninfoFactory{
-
-	/**
-	 * Creates and instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */	
-	public BeaninfoFactoryImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EObject create(EClass eClass) {
-		switch (eClass.getClassifierID()) {
-			case BeaninfoPackage.FEATURE_DECORATOR: return createFeatureDecorator();
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE: return createFeatureAttributeValue();
-			case BeaninfoPackage.BEAN_DECORATOR: return createBeanDecorator();
-			case BeaninfoPackage.EVENT_SET_DECORATOR: return createEventSetDecorator();
-			case BeaninfoPackage.METHOD_DECORATOR: return createMethodDecorator();
-			case BeaninfoPackage.PARAMETER_DECORATOR: return createParameterDecorator();
-			case BeaninfoPackage.PROPERTY_DECORATOR: return createPropertyDecorator();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR: return createIndexedPropertyDecorator();
-			case BeaninfoPackage.METHOD_PROXY: return createMethodProxy();
-			case BeaninfoPackage.BEAN_EVENT: return createBeanEvent();
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY: return (EObject)createFeatureAttributeMapEntry();
-			default:
-				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public FeatureDecorator createFeatureDecorator() {
-		FeatureDecoratorImpl featureDecorator = new FeatureDecoratorImpl();
-		return featureDecorator;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EventSetDecorator createEventSetDecorator() {
-		EventSetDecoratorImpl eventSetDecorator = new EventSetDecoratorImpl();
-		return eventSetDecorator;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MethodProxy createMethodProxy() {
-		MethodProxyImpl methodProxy = new MethodProxyImpl();
-		return methodProxy;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PropertyDecorator createPropertyDecorator() {
-		PropertyDecoratorImpl propertyDecorator = new PropertyDecoratorImpl();
-		return propertyDecorator;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public IndexedPropertyDecorator createIndexedPropertyDecorator() {
-		IndexedPropertyDecoratorImpl indexedPropertyDecorator = new IndexedPropertyDecoratorImpl();
-		return indexedPropertyDecorator;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public BeanDecorator createBeanDecorator() {
-		BeanDecoratorImpl beanDecorator = new BeanDecoratorImpl();
-		return beanDecorator;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MethodDecorator createMethodDecorator() {
-		MethodDecoratorImpl methodDecorator = new MethodDecoratorImpl();
-		return methodDecorator;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ParameterDecorator createParameterDecorator() {
-		ParameterDecoratorImpl parameterDecorator = new ParameterDecoratorImpl();
-		return parameterDecorator;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public FeatureAttributeValue createFeatureAttributeValue() {
-		FeatureAttributeValueImpl featureAttributeValue = new FeatureAttributeValueImpl();
-		return featureAttributeValue;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public BeaninfoPackage getBeaninfoPackage() {
-		return (BeaninfoPackage)getEPackage();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @deprecated
-	 * @generated
-	 */
-	public static BeaninfoPackage getPackage() {
-		return BeaninfoPackage.eINSTANCE;
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public BeanEvent createBeanEvent() {
-		BeanEventImpl beanEvent = new BeanEventImpl();
-		return beanEvent;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Map.Entry createFeatureAttributeMapEntry() {
-		FeatureAttributeMapEntryImpl featureAttributeMapEntry = new FeatureAttributeMapEntryImpl();
-		return featureAttributeMapEntry;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoPackageImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoPackageImpl.java
deleted file mode 100644
index df99189..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoPackageImpl.java
+++ /dev/null
@@ -1,899 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoPackageImpl.java,v $
- *  $Revision: 1.3 $  $Date: 2004/03/08 21:25:33 $ 
- */
-
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.emf.ecore.impl.EcorePackageImpl;
-
-import org.eclipse.jem.internal.beaninfo.BeanDecorator;
-import org.eclipse.jem.internal.beaninfo.BeanEvent;
-import org.eclipse.jem.internal.beaninfo.BeaninfoFactory;
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.EventSetDecorator;
-import org.eclipse.jem.internal.beaninfo.FeatureAttributeValue;
-import org.eclipse.jem.internal.beaninfo.FeatureDecorator;
-import org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator;
-import org.eclipse.jem.internal.beaninfo.MethodDecorator;
-import org.eclipse.jem.internal.beaninfo.MethodProxy;
-import org.eclipse.jem.internal.beaninfo.ParameterDecorator;
-import org.eclipse.jem.internal.beaninfo.PropertyDecorator;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.impl.JavaRefPackageImpl;
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-
-public class BeaninfoPackageImpl extends EPackageImpl implements BeaninfoPackage{
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass featureDecoratorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass featureAttributeValueEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass beanDecoratorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass eventSetDecoratorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass methodDecoratorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass parameterDecoratorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass propertyDecoratorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass indexedPropertyDecoratorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass methodProxyEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass beanEventEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass featureAttributeMapEntryEClass = null;
-
-	/**
-	 * Creates an instance of the model <b>Package</b>, registered with
-	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
-	 * package URI value.
-	 * <p>Note: the correct way to create the package is via the static
-	 * factory method {@link #init init()}, which also performs
-	 * initialization of the package, or returns the registered package,
-	 * if one already exists.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.emf.ecore.EPackage.Registry
-	 * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#eNS_URI
-	 * @see #init()
-	 * @generated
-	 */
-	private BeaninfoPackageImpl() {
-		super(eNS_URI, BeaninfoFactory.eINSTANCE);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static boolean isInited = false;
-
-	/**
-	 * Creates, registers, and initializes the <b>Package</b> for this
-	 * model, and for any others upon which it depends.  Simple
-	 * dependencies are satisfied by calling this method on all
-	 * dependent packages before doing anything else.  This method drives
-	 * initialization for interdependent packages directly, in parallel
-	 * with this package, itself.
-	 * <p>Of this package and its interdependencies, all packages which
-	 * have not yet been registered by their URI values are first created
-	 * and registered.  The packages are then initialized in two steps:
-	 * meta-model objects for all of the packages are created before any
-	 * are initialized, since one package's meta-model objects may refer to
-	 * those of another.
-	 * <p>Invocation of this method will not affect any packages that have
-	 * already been initialized.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #eNS_URI
-	 * @see #createPackageContents()
-	 * @see #initializePackageContents()
-	 * @generated
-	 */
-	public static BeaninfoPackage init() {
-		if (isInited) return (BeaninfoPackage)EPackage.Registry.INSTANCE.get(BeaninfoPackage.eNS_URI);
-
-		// Obtain or create and register package.
-		BeaninfoPackageImpl theBeaninfoPackage = (BeaninfoPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EPackage ? EPackage.Registry.INSTANCE.get(eNS_URI) : new BeaninfoPackageImpl());
-
-		isInited = true;
-
-		// Initialize simple dependencies
-		EcorePackageImpl.init();
-		JavaRefPackageImpl.init();
-
-		// Obtain or create and register interdependencies
-
-		// Step 1: create meta-model objects
-		theBeaninfoPackage.createPackageContents();
-
-		// Step 2: complete initialization
-		theBeaninfoPackage.initializePackageContents();
-
-		return theBeaninfoPackage;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getFeatureDecorator() {
-		return featureDecoratorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getFeatureDecorator_DisplayName() {
-		return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getFeatureDecorator_ShortDescription() {
-		return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getFeatureDecorator_Category() {
-		return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getFeatureDecorator_Expert() {
-		return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getFeatureDecorator_Hidden() {
-		return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getFeatureDecorator_Preferred() {
-		return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getFeatureDecorator_MergeIntrospection() {
-		return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getFeatureDecorator_Attributes() {
-		return (EReference)featureDecoratorEClass.getEStructuralFeatures().get(8);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getEventSetDecorator() {
-		return eventSetDecoratorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getEventSetDecorator_InDefaultEventSet() {
-		return (EAttribute)eventSetDecoratorEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getEventSetDecorator_Unicast() {
-		return (EAttribute)eventSetDecoratorEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getEventSetDecorator_AddListenerMethod() {
-		return (EReference)eventSetDecoratorEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getEventSetDecorator_ListenerMethods() {
-		return (EReference)eventSetDecoratorEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getEventSetDecorator_ListenerType() {
-		return (EReference)eventSetDecoratorEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getEventSetDecorator_RemoveListenerMethod() {
-		return (EReference)eventSetDecoratorEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getMethodProxy() {
-		return methodProxyEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getMethodProxy_Method() {
-		return (EReference)methodProxyEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPropertyDecorator() {
-		return propertyDecoratorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPropertyDecorator_Bound() {
-		return (EAttribute)propertyDecoratorEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPropertyDecorator_Constrained() {
-		return (EAttribute)propertyDecoratorEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPropertyDecorator_DesignTime() {
-		return (EAttribute)propertyDecoratorEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPropertyDecorator_AlwaysIncompatible() {
-		return (EAttribute)propertyDecoratorEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPropertyDecorator_FilterFlags() {
-		return (EAttribute)propertyDecoratorEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPropertyDecorator_PropertyEditorClass() {
-		return (EReference)propertyDecoratorEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPropertyDecorator_ReadMethod() {
-		return (EReference)propertyDecoratorEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPropertyDecorator_WriteMethod() {
-		return (EReference)propertyDecoratorEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getIndexedPropertyDecorator() {
-		return indexedPropertyDecoratorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getIndexedPropertyDecorator_IndexedReadMethod() {
-		return (EReference)indexedPropertyDecoratorEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getIndexedPropertyDecorator_IndexedWriteMethod() {
-		return (EReference)indexedPropertyDecoratorEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getBeanDecorator() {
-		return beanDecoratorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getBeanDecorator_MergeSuperProperties() {
-		return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getBeanDecorator_MergeSuperBehaviors() {
-		return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getBeanDecorator_MergeSuperEvents() {
-		return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getBeanDecorator_IntrospectProperties() {
-		return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getBeanDecorator_IntrospectBehaviors() {
-		return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getBeanDecorator_IntrospectEvents() {
-		return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getBeanDecorator_CustomizerClass() {
-		return (EReference)beanDecoratorEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getMethodDecorator() {
-		return methodDecoratorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMethodDecorator_ParmsExplicit() {
-		return (EAttribute)methodDecoratorEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getMethodDecorator_ParameterDescriptors() {
-		return (EReference)methodDecoratorEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getParameterDecorator() {
-		return parameterDecoratorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getParameterDecorator_Name() {
-		return (EAttribute)parameterDecoratorEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getFeatureAttributeValue() {
-		return featureAttributeValueEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getFeatureAttributeValue_Value() {
-		return (EReference)featureAttributeValueEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getFeatureAttributeValue_ValueJava() {
-		return (EAttribute)featureAttributeValueEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public BeaninfoFactory getBeaninfoFactory() {
-		return (BeaninfoFactory)getEFactoryInstance();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isCreated = false;
-
-	/**
-	 * Creates the meta-model objects for the package.  This method is
-	 * guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void createPackageContents() {
-		if (isCreated) return;
-		isCreated = true;
-
-		// Create classes and their features
-		featureDecoratorEClass = createEClass(FEATURE_DECORATOR);
-		createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__DISPLAY_NAME);
-		createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__SHORT_DESCRIPTION);
-		createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__CATEGORY);
-		createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__EXPERT);
-		createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__HIDDEN);
-		createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__PREFERRED);
-		createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__MERGE_INTROSPECTION);
-		createEAttribute(featureDecoratorEClass, FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT);
-		createEReference(featureDecoratorEClass, FEATURE_DECORATOR__ATTRIBUTES);
-
-		featureAttributeValueEClass = createEClass(FEATURE_ATTRIBUTE_VALUE);
-		createEReference(featureAttributeValueEClass, FEATURE_ATTRIBUTE_VALUE__VALUE);
-		createEAttribute(featureAttributeValueEClass, FEATURE_ATTRIBUTE_VALUE__VALUE_JAVA);
-		createEAttribute(featureAttributeValueEClass, FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY);
-
-		beanDecoratorEClass = createEClass(BEAN_DECORATOR);
-		createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__MERGE_SUPER_PROPERTIES);
-		createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__MERGE_SUPER_BEHAVIORS);
-		createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__MERGE_SUPER_EVENTS);
-		createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__INTROSPECT_PROPERTIES);
-		createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__INTROSPECT_BEHAVIORS);
-		createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__INTROSPECT_EVENTS);
-		createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__DO_BEANINFO);
-		createEReference(beanDecoratorEClass, BEAN_DECORATOR__CUSTOMIZER_CLASS);
-
-		eventSetDecoratorEClass = createEClass(EVENT_SET_DECORATOR);
-		createEAttribute(eventSetDecoratorEClass, EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET);
-		createEAttribute(eventSetDecoratorEClass, EVENT_SET_DECORATOR__UNICAST);
-		createEAttribute(eventSetDecoratorEClass, EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT);
-		createEReference(eventSetDecoratorEClass, EVENT_SET_DECORATOR__ADD_LISTENER_METHOD);
-		createEReference(eventSetDecoratorEClass, EVENT_SET_DECORATOR__LISTENER_METHODS);
-		createEReference(eventSetDecoratorEClass, EVENT_SET_DECORATOR__LISTENER_TYPE);
-		createEReference(eventSetDecoratorEClass, EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD);
-
-		methodDecoratorEClass = createEClass(METHOD_DECORATOR);
-		createEAttribute(methodDecoratorEClass, METHOD_DECORATOR__PARMS_EXPLICIT);
-		createEReference(methodDecoratorEClass, METHOD_DECORATOR__PARAMETER_DESCRIPTORS);
-
-		parameterDecoratorEClass = createEClass(PARAMETER_DECORATOR);
-		createEAttribute(parameterDecoratorEClass, PARAMETER_DECORATOR__NAME);
-		createEReference(parameterDecoratorEClass, PARAMETER_DECORATOR__PARAMETER);
-
-		propertyDecoratorEClass = createEClass(PROPERTY_DECORATOR);
-		createEAttribute(propertyDecoratorEClass, PROPERTY_DECORATOR__BOUND);
-		createEAttribute(propertyDecoratorEClass, PROPERTY_DECORATOR__CONSTRAINED);
-		createEAttribute(propertyDecoratorEClass, PROPERTY_DECORATOR__DESIGN_TIME);
-		createEAttribute(propertyDecoratorEClass, PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE);
-		createEAttribute(propertyDecoratorEClass, PROPERTY_DECORATOR__FILTER_FLAGS);
-		createEReference(propertyDecoratorEClass, PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS);
-		createEReference(propertyDecoratorEClass, PROPERTY_DECORATOR__READ_METHOD);
-		createEReference(propertyDecoratorEClass, PROPERTY_DECORATOR__WRITE_METHOD);
-
-		indexedPropertyDecoratorEClass = createEClass(INDEXED_PROPERTY_DECORATOR);
-		createEReference(indexedPropertyDecoratorEClass, INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD);
-		createEReference(indexedPropertyDecoratorEClass, INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD);
-
-		methodProxyEClass = createEClass(METHOD_PROXY);
-		createEReference(methodProxyEClass, METHOD_PROXY__METHOD);
-
-		beanEventEClass = createEClass(BEAN_EVENT);
-
-		featureAttributeMapEntryEClass = createEClass(FEATURE_ATTRIBUTE_MAP_ENTRY);
-		createEAttribute(featureAttributeMapEntryEClass, FEATURE_ATTRIBUTE_MAP_ENTRY__KEY);
-		createEReference(featureAttributeMapEntryEClass, FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isInitialized = false;
-
-	/**
-	 * Complete the initialization of the package and its meta-model.  This
-	 * method is guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void initializePackageContents() {
-		if (isInitialized) return;
-		isInitialized = true;
-
-		// Initialize package
-		setName(eNAME);
-		setNsPrefix(eNS_PREFIX);
-		setNsURI(eNS_URI);
-
-		// Obtain other dependent packages
-		EcorePackageImpl theEcorePackage = (EcorePackageImpl)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
-		JavaRefPackageImpl theJavaRefPackage = (JavaRefPackageImpl)EPackage.Registry.INSTANCE.getEPackage(JavaRefPackage.eNS_URI);
-
-		// Add supertypes to classes
-		featureDecoratorEClass.getESuperTypes().add(theEcorePackage.getEAnnotation());
-		beanDecoratorEClass.getESuperTypes().add(this.getFeatureDecorator());
-		eventSetDecoratorEClass.getESuperTypes().add(this.getFeatureDecorator());
-		methodDecoratorEClass.getESuperTypes().add(this.getFeatureDecorator());
-		parameterDecoratorEClass.getESuperTypes().add(this.getFeatureDecorator());
-		propertyDecoratorEClass.getESuperTypes().add(this.getFeatureDecorator());
-		indexedPropertyDecoratorEClass.getESuperTypes().add(this.getPropertyDecorator());
-		methodProxyEClass.getESuperTypes().add(theEcorePackage.getEOperation());
-		beanEventEClass.getESuperTypes().add(theJavaRefPackage.getJavaEvent());
-
-		// Initialize classes and features; add operations and parameters
-		initEClass(featureDecoratorEClass, FeatureDecorator.class, "FeatureDecorator", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getFeatureDecorator_DisplayName(), ecorePackage.getEString(), "displayName", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getFeatureDecorator_ShortDescription(), ecorePackage.getEString(), "shortDescription", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getFeatureDecorator_Category(), ecorePackage.getEString(), "category", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getFeatureDecorator_Expert(), ecorePackage.getEBoolean(), "expert", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getFeatureDecorator_Hidden(), ecorePackage.getEBoolean(), "hidden", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getFeatureDecorator_Preferred(), ecorePackage.getEBoolean(), "preferred", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getFeatureDecorator_MergeIntrospection(), ecorePackage.getEBoolean(), "mergeIntrospection", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getFeatureDecorator_AttributesExplicit(), ecorePackage.getEBoolean(), "attributesExplicit", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getFeatureDecorator_Attributes(), this.getFeatureAttributeMapEntry(), null, "attributes", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		addEOperation(featureDecoratorEClass, ecorePackage.getEString(), "getName");
-
-		initEClass(featureAttributeValueEClass, FeatureAttributeValue.class, "FeatureAttributeValue", !IS_ABSTRACT, !IS_INTERFACE);
-		initEReference(getFeatureAttributeValue_Value(), theEcorePackage.getEObject(), null, "value", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getFeatureAttributeValue_ValueJava(), theEcorePackage.getEJavaObject(), "valueJava", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getFeatureAttributeValue_ValueProxy(), theEcorePackage.getEJavaObject(), "valueProxy", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(beanDecoratorEClass, BeanDecorator.class, "BeanDecorator", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getBeanDecorator_MergeSuperProperties(), ecorePackage.getEBoolean(), "mergeSuperProperties", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getBeanDecorator_MergeSuperBehaviors(), ecorePackage.getEBoolean(), "mergeSuperBehaviors", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getBeanDecorator_MergeSuperEvents(), ecorePackage.getEBoolean(), "mergeSuperEvents", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getBeanDecorator_IntrospectProperties(), ecorePackage.getEBoolean(), "introspectProperties", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getBeanDecorator_IntrospectBehaviors(), ecorePackage.getEBoolean(), "introspectBehaviors", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getBeanDecorator_IntrospectEvents(), ecorePackage.getEBoolean(), "introspectEvents", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getBeanDecorator_DoBeaninfo(), ecorePackage.getEBoolean(), "doBeaninfo", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getBeanDecorator_CustomizerClass(), theJavaRefPackage.getJavaClass(), null, "customizerClass", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(eventSetDecoratorEClass, EventSetDecorator.class, "EventSetDecorator", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getEventSetDecorator_InDefaultEventSet(), ecorePackage.getEBoolean(), "inDefaultEventSet", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getEventSetDecorator_Unicast(), ecorePackage.getEBoolean(), "unicast", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getEventSetDecorator_ListenerMethodsExplicit(), ecorePackage.getEBoolean(), "listenerMethodsExplicit", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getEventSetDecorator_AddListenerMethod(), theJavaRefPackage.getMethod(), null, "addListenerMethod", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getEventSetDecorator_ListenerMethods(), this.getMethodProxy(), null, "listenerMethods", null, 1, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getEventSetDecorator_ListenerType(), theJavaRefPackage.getJavaClass(), null, "listenerType", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getEventSetDecorator_RemoveListenerMethod(), theJavaRefPackage.getMethod(), null, "removeListenerMethod", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(methodDecoratorEClass, MethodDecorator.class, "MethodDecorator", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getMethodDecorator_ParmsExplicit(), ecorePackage.getEBoolean(), "parmsExplicit", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getMethodDecorator_ParameterDescriptors(), this.getParameterDecorator(), null, "parameterDescriptors", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(parameterDecoratorEClass, ParameterDecorator.class, "ParameterDecorator", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getParameterDecorator_Name(), ecorePackage.getEString(), "name", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getParameterDecorator_Parameter(), theJavaRefPackage.getJavaParameter(), null, "parameter", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(propertyDecoratorEClass, PropertyDecorator.class, "PropertyDecorator", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getPropertyDecorator_Bound(), ecorePackage.getEBoolean(), "bound", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getPropertyDecorator_Constrained(), ecorePackage.getEBoolean(), "constrained", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getPropertyDecorator_DesignTime(), ecorePackage.getEBoolean(), "designTime", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getPropertyDecorator_AlwaysIncompatible(), ecorePackage.getEBoolean(), "alwaysIncompatible", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getPropertyDecorator_FilterFlags(), ecorePackage.getEString(), "filterFlags", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getPropertyDecorator_PropertyEditorClass(), theJavaRefPackage.getJavaClass(), null, "propertyEditorClass", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getPropertyDecorator_ReadMethod(), theJavaRefPackage.getMethod(), null, "readMethod", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getPropertyDecorator_WriteMethod(), theJavaRefPackage.getMethod(), null, "writeMethod", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		addEOperation(propertyDecoratorEClass, theEcorePackage.getEClassifier(), "getPropertyType");
-
-		initEClass(indexedPropertyDecoratorEClass, IndexedPropertyDecorator.class, "IndexedPropertyDecorator", !IS_ABSTRACT, !IS_INTERFACE);
-		initEReference(getIndexedPropertyDecorator_IndexedReadMethod(), theJavaRefPackage.getMethod(), null, "indexedReadMethod", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getIndexedPropertyDecorator_IndexedWriteMethod(), theJavaRefPackage.getMethod(), null, "indexedWriteMethod", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(methodProxyEClass, MethodProxy.class, "MethodProxy", !IS_ABSTRACT, !IS_INTERFACE);
-		initEReference(getMethodProxy_Method(), theJavaRefPackage.getMethod(), null, "method", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(beanEventEClass, BeanEvent.class, "BeanEvent", !IS_ABSTRACT, !IS_INTERFACE);
-
-		initEClass(featureAttributeMapEntryEClass, Map.Entry.class, "FeatureAttributeMapEntry", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getFeatureAttributeMapEntry_Key(), ecorePackage.getEString(), "key", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getFeatureAttributeMapEntry_Value(), this.getFeatureAttributeValue(), null, "value", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		// Create resource
-		createResource(eNS_URI);
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getBeanDecorator_DoBeaninfo() {
-		return (EAttribute)beanDecoratorEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getFeatureAttributeValue_ValueProxy() {
-		return (EAttribute)featureAttributeValueEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getParameterDecorator_Parameter() {
-		return (EReference)parameterDecoratorEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getFeatureDecorator_AttributesExplicit() {
-		return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getBeanEvent() {
-		return beanEventEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getFeatureAttributeMapEntry() {
-		return featureAttributeMapEntryEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getFeatureAttributeMapEntry_Key() {
-		return (EAttribute)featureAttributeMapEntryEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getFeatureAttributeMapEntry_Value() {
-		return (EReference)featureAttributeMapEntryEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getEventSetDecorator_ListenerMethodsExplicit() {
-		return (EAttribute)eventSetDecoratorEClass.getEStructuralFeatures().get(2);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/EventSetDecoratorImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/EventSetDecoratorImpl.java
deleted file mode 100644
index ebe5d06..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/EventSetDecoratorImpl.java
+++ /dev/null
@@ -1,972 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: EventSetDecoratorImpl.java,v $
- *  $Revision: 1.4 $  $Date: 2004/03/08 21:25:33 $ 
- */
-
-
-import java.util.Collection;
-
-import java.util.*;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.EventSetDecorator;
-import org.eclipse.jem.internal.beaninfo.MethodProxy;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-
-import org.eclipse.jem.internal.beaninfo.*;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoProxyConstants;
-import org.eclipse.jem.internal.beaninfo.adapters.Utilities;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.java.*;
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Event Set Decorator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#isInDefaultEventSet <em>In Default Event Set</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#isUnicast <em>Unicast</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#isListenerMethodsExplicit <em>Listener Methods Explicit</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#getAddListenerMethod <em>Add Listener Method</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#getListenerMethods <em>Listener Methods</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#getListenerType <em>Listener Type</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.EventSetDecoratorImpl#getRemoveListenerMethod <em>Remove Listener Method</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class EventSetDecoratorImpl extends FeatureDecoratorImpl implements EventSetDecorator{
-
-	/**
-	 * The default value of the '{@link #isInDefaultEventSet() <em>In Default Event Set</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isInDefaultEventSet()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean IN_DEFAULT_EVENT_SET_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isInDefaultEventSet() <em>In Default Event Set</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isInDefaultEventSet()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean inDefaultEventSet = IN_DEFAULT_EVENT_SET_EDEFAULT;
-
-	/**
-	 * This is true if the In Default Event Set attribute has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean inDefaultEventSetESet = false;
-
-	/**
-	 * The default value of the '{@link #isUnicast() <em>Unicast</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isUnicast()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean UNICAST_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isUnicast() <em>Unicast</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isUnicast()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean unicast = UNICAST_EDEFAULT;
-
-	/**
-	 * This is true if the Unicast attribute has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean unicastESet = false;
-
-	/**
-	 * The default value of the '{@link #isListenerMethodsExplicit() <em>Listener Methods Explicit</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isListenerMethodsExplicit()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean LISTENER_METHODS_EXPLICIT_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isListenerMethodsExplicit() <em>Listener Methods Explicit</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isListenerMethodsExplicit()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean listenerMethodsExplicit = LISTENER_METHODS_EXPLICIT_EDEFAULT;
-	/**
-	 * The cached value of the '{@link #getAddListenerMethod() <em>Add Listener Method</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAddListenerMethod()
-	 * @generated
-	 * @ordered
-	 */
-	protected Method addListenerMethod = null;
-	/**
-	 * The cached value of the '{@link #getListenerMethods() <em>Listener Methods</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getListenerMethods()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList listenerMethods = null;
-	/**
-	 * The cached value of the '{@link #getListenerType() <em>Listener Type</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getListenerType()
-	 * @generated
-	 * @ordered
-	 */
-	protected JavaClass listenerType = null;
-	/**
-	 * The cached value of the '{@link #getRemoveListenerMethod() <em>Remove Listener Method</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getRemoveListenerMethod()
-	 * @generated
-	 * @ordered
-	 */
-	protected Method removeListenerMethod = null;
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */	
-	protected EventSetDecoratorImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return BeaninfoPackage.eINSTANCE.getEventSetDecorator();
-	}
-
-	public boolean isInDefaultEventSet() {	
-		if (!isSetInDefaultEventSet())
-			if (validProxy(fFeatureProxy)) {
-				try {
-					return ((IBooleanBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIsInDefaultEventSetProxy().invoke(fFeatureProxy)).booleanValue();
-				} catch (ThrowableProxy e) {
-				}
-			}
-				
-		return this.isInDefaultEventSetGen();
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isInDefaultEventSetGen() {
-		return inDefaultEventSet;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setInDefaultEventSet(boolean newInDefaultEventSet) {
-		boolean oldInDefaultEventSet = inDefaultEventSet;
-		inDefaultEventSet = newInDefaultEventSet;
-		boolean oldInDefaultEventSetESet = inDefaultEventSetESet;
-		inDefaultEventSetESet = true;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET, oldInDefaultEventSet, inDefaultEventSet, !oldInDefaultEventSetESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetInDefaultEventSet() {
-		boolean oldInDefaultEventSet = inDefaultEventSet;
-		boolean oldInDefaultEventSetESet = inDefaultEventSetESet;
-		inDefaultEventSet = IN_DEFAULT_EVENT_SET_EDEFAULT;
-		inDefaultEventSetESet = false;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET, oldInDefaultEventSet, IN_DEFAULT_EVENT_SET_EDEFAULT, oldInDefaultEventSetESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetInDefaultEventSet() {
-		return inDefaultEventSetESet;
-	}
-
-	public boolean isUnicast() {	
-		if (!isSetUnicast())
-			if (validProxy(fFeatureProxy)) {
-				try {
-					return ((IBooleanBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIsUnicastProxy().invoke(fFeatureProxy)).booleanValue();
-				} catch (ThrowableProxy e) {
-				}
-			}
-				
-		return this.isUnicastGen();
-	}
-		
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isUnicastGen() {
-		return unicast;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setUnicast(boolean newUnicast) {
-		boolean oldUnicast = unicast;
-		unicast = newUnicast;
-		boolean oldUnicastESet = unicastESet;
-		unicastESet = true;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.EVENT_SET_DECORATOR__UNICAST, oldUnicast, unicast, !oldUnicastESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetUnicast() {
-		boolean oldUnicast = unicast;
-		boolean oldUnicastESet = unicastESet;
-		unicast = UNICAST_EDEFAULT;
-		unicastESet = false;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.EVENT_SET_DECORATOR__UNICAST, oldUnicast, UNICAST_EDEFAULT, oldUnicastESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetUnicast() {
-		return unicastESet;
-	}
-
-	public Method getAddListenerMethod() {	
-		if (!eIsSet(BeaninfoPackage.eINSTANCE.getEventSetDecorator_AddListenerMethod()))
-			if (validProxy(fFeatureProxy)) {
-				try {
-					return Utilities.getMethod((IMethodProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getAddListenerMethodProxy().invoke(fFeatureProxy),  getEModelElement().eResource().getResourceSet());
-				} catch (ThrowableProxy e) {
-				}
-			}
-				
-		return this.getAddListenerMethodGen();
-	}
-		
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Method getAddListenerMethodGen() {
-		if (addListenerMethod != null && addListenerMethod.eIsProxy()) {
-			Method oldAddListenerMethod = addListenerMethod;
-			addListenerMethod = (Method)eResolveProxy((InternalEObject)addListenerMethod);
-			if (addListenerMethod != oldAddListenerMethod) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.EVENT_SET_DECORATOR__ADD_LISTENER_METHOD, oldAddListenerMethod, addListenerMethod));
-			}
-		}
-		return addListenerMethod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Method basicGetAddListenerMethod() {
-		return addListenerMethod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setAddListenerMethod(Method newAddListenerMethod) {
-		Method oldAddListenerMethod = addListenerMethod;
-		addListenerMethod = newAddListenerMethod;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.EVENT_SET_DECORATOR__ADD_LISTENER_METHOD, oldAddListenerMethod, addListenerMethod));
-	}
-
-	protected boolean retrievedListenerMethods;
-	protected boolean retrievedListenerMethodsSuccessful; 
-	
-	public EList getListenerMethods() {	
-		if (!isListenerMethodsExplicit()) {
-			if (validProxy(fFeatureProxy) && !retrievedListenerMethods) {
-				retrievedListenerMethods = true;
-				EList methodsList = this.getListenerMethodsGen();
-				try {
-					BeaninfoProxyConstants constants = BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry());
-					IArrayBeanProxy methodDescs = (IArrayBeanProxy) constants.getListenerMethodDescriptorsProxy().invoke(fFeatureProxy);
-					if (methodDescs != null) {
-						ResourceSet rset = getEModelElement().eResource().getResourceSet();
-						int methodDescsLength = methodDescs.getLength();
-						BeaninfoFactory bfact = BeaninfoFactory.eINSTANCE;
-						for (int i=0; i<methodDescsLength; i++) {
-							IBeanProxy mthdDesc = methodDescs.get(i);
-							// First find the Method from the descriptor
-							URI uri = Utilities.getMethodURI((IMethodProxy) constants.getMethodProxy().invokeCatchThrowableExceptions(mthdDesc));
-							Method method = (Method) rset.getEObject(uri, true);	// In the V5 release, this poofs one up, even if it didn't exist, however, since we are getting one from the remote vm, if should exist here too.
-							// We need a method proxy, and a method decorator.
-							MethodProxy mproxy = bfact.createMethodProxy();
-							mproxy.setMethod(method);
-							mproxy.setName(method.getName());
-							MethodDecorator md = bfact.createMethodDecorator();
-							md.setImplicitlyCreated(IMPLICIT_DECORATOR_AND_FEATURE);
-							md.setDescriptorProxy(mthdDesc);
-							md.setEModelElement(mproxy);
-							methodsList.add(mproxy);
-						}
-						retrievedListenerMethodsSuccessful = true;
-						return methodsList;
-					}		
-				} catch (ThrowableProxy e) {
-				};
-			}
-			
-			if (retrievedListenerMethodsSuccessful)
-				return this.getListenerMethodsGen();	// Built once from proxy, use it always.
-			else
-				return createDefaultListenerMethodsList();	// Not explicit and not sucessful retrieval, use default.
-		}
-		return this.getListenerMethodsGen();
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getListenerMethodsGen() {
-		if (listenerMethods == null) {
-			listenerMethods = new EObjectContainmentEList(MethodProxy.class, this, BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS);
-		}
-		return listenerMethods;
-	}
-
-	/**
-	 * This is called if method listeners list not explicitly set and there is no feature proxy or
-	 * there is a feature proxy and the proxy has nothing defined.
-	 */
-	protected EList createDefaultListenerMethodsList() {
-		EList mthdsList = this.getListenerMethodsGen();		
-		if (!eIsSet(EcorePackage.eINSTANCE.getEAnnotation_EModelElement()))
-			return mthdsList;	// We are not attached, can't determine the list yet.
-			
-		retrievedListenerMethods = retrievedListenerMethodsSuccessful = true;
-		JavaClass eventObjectClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("java.util.EventObject", getEModelElement().eResource().getResourceSet()); //$NON-NLS-1$
-		
-		mthdsList.clear();
-		
-		// This is a little tricky. Need to get the methods for the listener type, and
-		// then go through the methods and filter out the non-event ones.
-		JavaClass lt = getListenerType();
-		if (lt == null)
-			return mthdsList;	// Couldn't get the listener type for some reason, so leave as is.
-		
-		BeaninfoFactory bfact = BeaninfoFactory.eINSTANCE;
-		List ms = lt.getPublicMethodsExtended();
-		int msize = ms.size();
-		for (int i=0; i<msize; i++) {
-			Method method = (Method) ms.get(i);
-			List parms = method.getParameters();
-			if (parms.size() != 1)
-				continue;	// Must have only one parm.
-			if (!eventObjectClass.isAssignableFrom(((JavaParameter) parms.get(0)).getEType()))
-				continue;	// Parm does not inherit from java.util.EventObject
-				
-			// We need a method proxy, and a method decorator.
-			MethodProxy mproxy = bfact.createMethodProxy();
-			mproxy.setMethod(method);
-			mproxy.setName(method.getName());			
-			MethodDecorator md = bfact.createMethodDecorator();
-			md.setImplicitlyCreated(IMPLICIT_DECORATOR_AND_FEATURE);
-			md.setEModelElement(mproxy);			
-			mthdsList.add(mproxy);
-		}
-		return mthdsList;
-	}	
-	
-	public JavaClass getListenerType() {	
-		if (!eIsSet(BeaninfoPackage.eINSTANCE.getEventSetDecorator_ListenerType()))
-			if (validProxy(fFeatureProxy)) {
-				try {
-					return (JavaClass) Utilities.getJavaClass((IBeanTypeProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getListenerTypeProxy().invoke(fFeatureProxy),  getEModelElement().eResource().getResourceSet());
-				} catch (ThrowableProxy e) {
-				}
-			}
-				
-		return this.getListenerTypeGen();
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaClass getListenerTypeGen() {
-		if (listenerType != null && listenerType.eIsProxy()) {
-			JavaClass oldListenerType = listenerType;
-			listenerType = (JavaClass)eResolveProxy((InternalEObject)listenerType);
-			if (listenerType != oldListenerType) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_TYPE, oldListenerType, listenerType));
-			}
-		}
-		return listenerType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaClass basicGetListenerType() {
-		return listenerType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setListenerType(JavaClass newListenerType) {
-		JavaClass oldListenerType = listenerType;
-		listenerType = newListenerType;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_TYPE, oldListenerType, listenerType));
-	}
-
-	public Method getRemoveListenerMethod() {	
-		if (!eIsSet(BeaninfoPackage.eINSTANCE.getEventSetDecorator_RemoveListenerMethod()))
-			if (validProxy(fFeatureProxy)) {
-				try {
-					return Utilities.getMethod((IMethodProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getRemoveListenerMethodProxy().invoke(fFeatureProxy),  getEModelElement().eResource().getResourceSet());
-				} catch (ThrowableProxy e) {
-				}
-			}
-				
-		return this.getRemoveListenerMethodGen();
-	}
-		
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Method getRemoveListenerMethodGen() {
-		if (removeListenerMethod != null && removeListenerMethod.eIsProxy()) {
-			Method oldRemoveListenerMethod = removeListenerMethod;
-			removeListenerMethod = (Method)eResolveProxy((InternalEObject)removeListenerMethod);
-			if (removeListenerMethod != oldRemoveListenerMethod) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD, oldRemoveListenerMethod, removeListenerMethod));
-			}
-		}
-		return removeListenerMethod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Method basicGetRemoveListenerMethod() {
-		return removeListenerMethod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setRemoveListenerMethod(Method newRemoveListenerMethod) {
-		Method oldRemoveListenerMethod = removeListenerMethod;
-		removeListenerMethod = newRemoveListenerMethod;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD, oldRemoveListenerMethod, removeListenerMethod));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.EVENT_SET_DECORATOR__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.EVENT_SET_DECORATOR__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.EVENT_SET_DECORATOR__DETAILS:
-					return ((InternalEList)getDetails()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT:
-					return eBasicSetContainer(null, BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT, msgs);
-				case BeaninfoPackage.EVENT_SET_DECORATOR__CONTENTS:
-					return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES:
-					return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS:
-					return ((InternalEList)getListenerMethods()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.EVENT_SET_DECORATOR__EANNOTATIONS:
-				return getEAnnotations();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__SOURCE:
-				return getSource();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__DETAILS:
-				return getDetails();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT:
-				return getEModelElement();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__CONTENTS:
-				return getContents();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__REFERENCES:
-				return getReferences();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__DISPLAY_NAME:
-				return getDisplayName();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__SHORT_DESCRIPTION:
-				return getShortDescription();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__CATEGORY:
-				return getCategory();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__EXPERT:
-				return isExpert() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__HIDDEN:
-				return isHidden() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__PREFERRED:
-				return isPreferred() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__MERGE_INTROSPECTION:
-				return isMergeIntrospection() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES_EXPLICIT:
-				return isAttributesExplicit() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES:
-				return getAttributes();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET:
-				return isInDefaultEventSet() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__UNICAST:
-				return isUnicast() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT:
-				return isListenerMethodsExplicit() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__ADD_LISTENER_METHOD:
-				if (resolve) return getAddListenerMethod();
-				return basicGetAddListenerMethod();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS:
-				return getListenerMethods();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_TYPE:
-				if (resolve) return getListenerType();
-				return basicGetListenerType();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD:
-				if (resolve) return getRemoveListenerMethod();
-				return basicGetRemoveListenerMethod();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.EVENT_SET_DECORATOR__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__SOURCE:
-				setSource((String)newValue);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__DETAILS:
-				getDetails().clear();
-				getDetails().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT:
-				setEModelElement((EModelElement)newValue);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__CONTENTS:
-				getContents().clear();
-				getContents().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__REFERENCES:
-				getReferences().clear();
-				getReferences().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__DISPLAY_NAME:
-				setDisplayName((String)newValue);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__SHORT_DESCRIPTION:
-				setShortDescription((String)newValue);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__CATEGORY:
-				setCategory((String)newValue);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__EXPERT:
-				setExpert(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__HIDDEN:
-				setHidden(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__PREFERRED:
-				setPreferred(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__MERGE_INTROSPECTION:
-				setMergeIntrospection(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES_EXPLICIT:
-				setAttributesExplicit(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES:
-				getAttributes().clear();
-				getAttributes().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET:
-				setInDefaultEventSet(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__UNICAST:
-				setUnicast(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT:
-				setListenerMethodsExplicit(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__ADD_LISTENER_METHOD:
-				setAddListenerMethod((Method)newValue);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS:
-				getListenerMethods().clear();
-				getListenerMethods().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_TYPE:
-				setListenerType((JavaClass)newValue);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD:
-				setRemoveListenerMethod((Method)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.EVENT_SET_DECORATOR__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__SOURCE:
-				setSource(SOURCE_EDEFAULT);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__DETAILS:
-				getDetails().clear();
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT:
-				setEModelElement((EModelElement)null);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__CONTENTS:
-				getContents().clear();
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__REFERENCES:
-				getReferences().clear();
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__DISPLAY_NAME:
-				unsetDisplayName();
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__SHORT_DESCRIPTION:
-				unsetShortDescription();
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__CATEGORY:
-				setCategory(CATEGORY_EDEFAULT);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__EXPERT:
-				unsetExpert();
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__HIDDEN:
-				unsetHidden();
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__PREFERRED:
-				unsetPreferred();
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__MERGE_INTROSPECTION:
-				setMergeIntrospection(MERGE_INTROSPECTION_EDEFAULT);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES_EXPLICIT:
-				setAttributesExplicit(ATTRIBUTES_EXPLICIT_EDEFAULT);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES:
-				getAttributes().clear();
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET:
-				unsetInDefaultEventSet();
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__UNICAST:
-				unsetUnicast();
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT:
-				setListenerMethodsExplicit(LISTENER_METHODS_EXPLICIT_EDEFAULT);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__ADD_LISTENER_METHOD:
-				setAddListenerMethod((Method)null);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS:
-				getListenerMethods().clear();
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_TYPE:
-				setListenerType((JavaClass)null);
-				return;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD:
-				setRemoveListenerMethod((Method)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.EVENT_SET_DECORATOR__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__SOURCE:
-				return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
-			case BeaninfoPackage.EVENT_SET_DECORATOR__DETAILS:
-				return details != null && !details.isEmpty();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__EMODEL_ELEMENT:
-				return getEModelElement() != null;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__CONTENTS:
-				return contents != null && !contents.isEmpty();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__REFERENCES:
-				return references != null && !references.isEmpty();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__DISPLAY_NAME:
-				return isSetDisplayName();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__SHORT_DESCRIPTION:
-				return isSetShortDescription();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__CATEGORY:
-				return CATEGORY_EDEFAULT == null ? category != null : !CATEGORY_EDEFAULT.equals(category);
-			case BeaninfoPackage.EVENT_SET_DECORATOR__EXPERT:
-				return isSetExpert();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__HIDDEN:
-				return isSetHidden();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__PREFERRED:
-				return isSetPreferred();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__MERGE_INTROSPECTION:
-				return mergeIntrospection != MERGE_INTROSPECTION_EDEFAULT;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES_EXPLICIT:
-				return attributesExplicit != ATTRIBUTES_EXPLICIT_EDEFAULT;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__ATTRIBUTES:
-				return attributes != null && !attributes.isEmpty();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__IN_DEFAULT_EVENT_SET:
-				return isSetInDefaultEventSet();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__UNICAST:
-				return isSetUnicast();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT:
-				return listenerMethodsExplicit != LISTENER_METHODS_EXPLICIT_EDEFAULT;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__ADD_LISTENER_METHOD:
-				return addListenerMethod != null;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS:
-				return listenerMethods != null && !listenerMethods.isEmpty();
-			case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_TYPE:
-				return listenerType != null;
-			case BeaninfoPackage.EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD:
-				return removeListenerMethod != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (inDefaultEventSet: ");
-		if (inDefaultEventSetESet) result.append(inDefaultEventSet); else result.append("<unset>");
-		result.append(", unicast: ");
-		if (unicastESet) result.append(unicast); else result.append("<unset>");
-		result.append(", listenerMethodsExplicit: ");
-		result.append(listenerMethodsExplicit);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isListenerMethodsExplicit() {
-		return listenerMethodsExplicit;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setListenerMethodsExplicit(boolean newListenerMethodsExplicit) {
-		boolean oldListenerMethodsExplicit = listenerMethodsExplicit;
-		listenerMethodsExplicit = newListenerMethodsExplicit;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT, oldListenerMethodsExplicit, listenerMethodsExplicit));
-	}
-
-	public void setDescriptorProxy(IBeanProxy descriptorProxy) {
-		if (retrievedListenerMethods) {
-			this.getListenerMethodsGen().clear();
-			retrievedListenerMethods = retrievedListenerMethodsSuccessful = false;
-		}
-		super.setDescriptorProxy(descriptorProxy);
-	}	
-
-	/**
-	 * For some listener interfaces an adapter class is provided that implements default no-op methods, e.g.
-	 * java.awt.event.FocusEvent which has java.awt.event.FocusAdapter.
-	 * The Adapter class is provided in a key/value pair on the java.beans.EventSetDescriptor with a key 
-	 * defined in a static final constants EVENTADAPTERCLASS = "eventAdapterClass";
-	 */	
-	public JavaClass getEventAdapterClass(){
-		FeatureAttributeValue featureAttribute = (FeatureAttributeValue)getAttributes().get(EventSetDecorator.EVENTADAPTERCLASS);
-		if (featureAttribute != null && featureAttribute.isSetValueProxy()) {
-			String adapterClassName = ((IStringBeanProxy)featureAttribute.getValueProxy()).stringValue();
-			return (JavaClass) Utilities.getJavaClass(adapterClassName,eResource().getResourceSet()); 
-		}
-		return null;	
-	}
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureAttributeMapEntryImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureAttributeMapEntryImpl.java
deleted file mode 100644
index bf4419b..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureAttributeMapEntryImpl.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: FeatureAttributeMapEntryImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/08 21:25:33 $ 
- */
-
-package org.eclipse.jem.internal.beaninfo.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.BasicEMap;
-import org.eclipse.emf.common.util.EMap;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.FeatureAttributeValue;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Feature Attribute Map Entry</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeMapEntryImpl#getTypedKey <em>Key</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeMapEntryImpl#getTypedValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class FeatureAttributeMapEntryImpl extends EObjectImpl implements BasicEMap.Entry {
-	/**
-	 * The default value of the '{@link #getTypedKey() <em>Key</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTypedKey()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String KEY_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getTypedKey() <em>Key</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTypedKey()
-	 * @generated
-	 * @ordered
-	 */
-	protected String key = KEY_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getTypedValue() <em>Value</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTypedValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected FeatureAttributeValue value = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected FeatureAttributeMapEntryImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return BeaninfoPackage.eINSTANCE.getFeatureAttributeMapEntry();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getTypedKey() {
-		return key;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setTypedKey(String newKey) {
-		String oldKey = key;
-		key = newKey;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__KEY, oldKey, key));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public FeatureAttributeValue getTypedValue() {
-		return value;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetTypedValue(FeatureAttributeValue newValue, NotificationChain msgs) {
-		FeatureAttributeValue oldValue = value;
-		value = newValue;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE, oldValue, newValue);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setTypedValue(FeatureAttributeValue newValue) {
-		if (newValue != value) {
-			NotificationChain msgs = null;
-			if (value != null)
-				msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE, null, msgs);
-			if (newValue != null)
-				msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE, null, msgs);
-			msgs = basicSetTypedValue(newValue, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE, newValue, newValue));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE:
-					return basicSetTypedValue(null, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__KEY:
-				return getTypedKey();
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE:
-				return getTypedValue();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__KEY:
-				setTypedKey((String)newValue);
-				return;
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE:
-				setTypedValue((FeatureAttributeValue)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__KEY:
-				setTypedKey(KEY_EDEFAULT);
-				return;
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE:
-				setTypedValue((FeatureAttributeValue)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__KEY:
-				return KEY_EDEFAULT == null ? key != null : !KEY_EDEFAULT.equals(key);
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_MAP_ENTRY__VALUE:
-				return value != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (key: ");
-		result.append(key);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected int hash = -1;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getHash() {
-		if (hash == -1) {
-			Object theKey = getKey();
-			hash = (theKey == null ? 0 : theKey.hashCode());
-		}
-		return hash;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setHash(int hash) {
-		this.hash = hash;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getKey() {
-		return getTypedKey();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setKey(Object key) {
-		setTypedKey((String)key);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getValue() {
-		return getTypedValue();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object setValue(Object value) {
-		Object oldValue = getValue();
-		setTypedValue((FeatureAttributeValue)value);
-		return oldValue;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EMap getEMap() {
-		EObject container = eContainer();
-		return container == null ? null : (EMap)container.eGet(eContainmentFeature());
-	}
-} //FeatureAttributeMapEntryImpl
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureAttributeValueImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureAttributeValueImpl.java
deleted file mode 100644
index a05a5c1..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureAttributeValueImpl.java
+++ /dev/null
@@ -1,450 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: FeatureAttributeValueImpl.java,v $
- *  $Revision: 1.3 $  $Date: 2004/03/08 21:25:33 $ 
- */
-
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.FeatureAttributeValue;
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Feature Attribute Value</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeValueImpl#getValue <em>Value</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeValueImpl#getValueJava <em>Value Java</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeValueImpl#getValueProxy <em>Value Proxy</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class FeatureAttributeValueImpl extends EObjectImpl implements FeatureAttributeValue{
-	/**
-	 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected EObject value = null;
-	
-	/**
-	 * This is true if the Value containment reference has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean valueESet = false;
-
-	/**
-	 * The default value of the '{@link #getValueJava() <em>Value Java</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValueJava()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final Object VALUE_JAVA_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getValueJava() <em>Value Java</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValueJava()
-	 * @generated
-	 * @ordered
-	 */
-	protected Object valueJava = VALUE_JAVA_EDEFAULT;
-
-	/**
-	 * This is true if the Value Java attribute has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean valueJavaESet = false;
-
-	/**
-	 * The default value of the '{@link #getValueProxy() <em>Value Proxy</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValueProxy()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final Object VALUE_PROXY_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getValueProxy() <em>Value Proxy</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValueProxy()
-	 * @generated
-	 * @ordered
-	 */
-	protected Object valueProxy = VALUE_PROXY_EDEFAULT;
-	/**
-	 * This is true if the Value Proxy attribute has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean valueProxyESet = false;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */	
-	protected FeatureAttributeValueImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return BeaninfoPackage.eINSTANCE.getFeatureAttributeValue();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EObject getValue() {
-		return value;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetValue(EObject newValue, NotificationChain msgs) {
-		EObject oldValue = value;
-		value = newValue;
-		boolean oldValueESet = valueESet;
-		valueESet = true;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE, oldValue, newValue, !oldValueESet);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setValue(EObject newValue) {
-		if (newValue != value) {
-			NotificationChain msgs = null;
-			if (value != null)
-				msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE, null, msgs);
-			if (newValue != null)
-				msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE, null, msgs);
-			msgs = basicSetValue(newValue, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else {
-			boolean oldValueESet = valueESet;
-			valueESet = true;
-			if (eNotificationRequired())
-				eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE, newValue, newValue, !oldValueESet));
-    	}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicUnsetValue(NotificationChain msgs) {
-		EObject oldValue = value;
-		value = null;
-		boolean oldValueESet = valueESet;
-		valueESet = false;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE, oldValue, null, oldValueESet);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetValue() {
-		if (value != null) {
-			NotificationChain msgs = null;
-			msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE, null, msgs);
-			msgs = basicUnsetValue(msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else {
-			boolean oldValueESet = valueESet;
-			valueESet = false;
-			if (eNotificationRequired())
-				eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE, null, null, oldValueESet));
-    	}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetValue() {
-		return valueESet;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getValueJava() {
-		return valueJava;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setValueJava(Object newValueJava) {
-		Object oldValueJava = valueJava;
-		valueJava = newValueJava;
-		boolean oldValueJavaESet = valueJavaESet;
-		valueJavaESet = true;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_JAVA, oldValueJava, valueJava, !oldValueJavaESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetValueJava() {
-		Object oldValueJava = valueJava;
-		boolean oldValueJavaESet = valueJavaESet;
-		valueJava = VALUE_JAVA_EDEFAULT;
-		valueJavaESet = false;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_JAVA, oldValueJava, VALUE_JAVA_EDEFAULT, oldValueJavaESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetValueJava() {
-		return valueJavaESet;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE:
-					return basicUnsetValue(msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE:
-				return getValue();
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_JAVA:
-				return getValueJava();
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY:
-				return getValueProxy();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE:
-				setValue((EObject)newValue);
-				return;
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_JAVA:
-				setValueJava((Object)newValue);
-				return;
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY:
-				setValueProxy((Object)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE:
-				unsetValue();
-				return;
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_JAVA:
-				unsetValueJava();
-				return;
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY:
-				unsetValueProxy();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE:
-				return isSetValue();
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_JAVA:
-				return isSetValueJava();
-			case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY:
-				return isSetValueProxy();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (valueJava: ");
-		if (valueJavaESet) result.append(valueJava); else result.append("<unset>");
-		result.append(", valueProxy: ");
-		if (valueProxyESet) result.append(valueProxy); else result.append("<unset>");
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getValueProxy() {
-		return valueProxy;
-	}
-
-	public void setValueProxy(Object newValueProxy) {
-		unsetValue();
-		unsetValueJava();
-		setValueProxyGen(newValueProxy);
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setValueProxyGen(Object newValueProxy) {
-		Object oldValueProxy = valueProxy;
-		valueProxy = newValueProxy;
-		boolean oldValueProxyESet = valueProxyESet;
-		valueProxyESet = true;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY, oldValueProxy, valueProxy, !oldValueProxyESet));
-	}
-
-	public void unsetValueProxy() {
-		if (isSetValueProxy()) {
-			unsetValue();
-			unsetValueJava();
-		}
-		unsetValueProxyGen();
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetValueProxyGen() {
-		Object oldValueProxy = valueProxy;
-		boolean oldValueProxyESet = valueProxyESet;
-		valueProxy = VALUE_PROXY_EDEFAULT;
-		valueProxyESet = false;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY, oldValueProxy, VALUE_PROXY_EDEFAULT, oldValueProxyESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetValueProxy() {
-		return valueProxyESet;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureDecoratorImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureDecoratorImpl.java
deleted file mode 100644
index 8a5d83f..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureDecoratorImpl.java
+++ /dev/null
@@ -1,1134 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: FeatureDecoratorImpl.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/08 21:25:33 $ 
- */
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EMap;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.ENamedElement;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EAnnotationImpl;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EcoreEMap;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoFactory;
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.FeatureAttributeValue;
-import org.eclipse.jem.internal.beaninfo.FeatureDecorator;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoProxyConstants;
-import org.eclipse.jem.internal.proxy.core.EnumerationBeanProxyWrapper;
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IBooleanBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IMethodProxy;
-import org.eclipse.jem.internal.proxy.core.IStringBeanProxy;
-import org.eclipse.jem.internal.proxy.core.ThrowableProxy;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Feature Decorator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#getDisplayName <em>Display Name</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#getShortDescription <em>Short Description</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#getCategory <em>Category</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#isExpert <em>Expert</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#isHidden <em>Hidden</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#isPreferred <em>Preferred</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#isMergeIntrospection <em>Merge Introspection</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#isAttributesExplicit <em>Attributes Explicit</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureDecoratorImpl#getAttributes <em>Attributes</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class FeatureDecoratorImpl extends EAnnotationImpl implements FeatureDecorator{
-	/**
-	 * The default value of the '{@link #getDisplayName() <em>Display Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDisplayName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String DISPLAY_NAME_EDEFAULT = null;
-
-	protected IBeanProxy fFeatureProxy;
-	protected FeatureDecorator fFeatureDecoratorProxy;
-	private int fIsImplicit = NOT_IMPLICIT;
-	private String fProxyDisplayName = null;
-	
-	protected boolean isDesignTimeProxy = false;
-	protected boolean setIsDesignTimeProxy;
-	protected boolean isPreferredProxy = false;
-	protected boolean setIsPreferredProxy;
-	
-	protected String categoryProxy;	
-	protected boolean setCategoryProxy;
-	protected String shortDescriptionProxy;
-	protected boolean setShortDescriptionProxy;
-	 
-	/**
-	 * The cached value of the '{@link #getDisplayName() <em>Display Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDisplayName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String displayName = DISPLAY_NAME_EDEFAULT;
-	/**
-	 * This is true if the Display Name attribute has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean displayNameESet = false;
-
-	/**
-	 * The default value of the '{@link #getShortDescription() <em>Short Description</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShortDescription()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String SHORT_DESCRIPTION_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getShortDescription() <em>Short Description</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShortDescription()
-	 * @generated
-	 * @ordered
-	 */
-	protected String shortDescription = SHORT_DESCRIPTION_EDEFAULT;
-	/**
-	 * This is true if the Short Description attribute has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean shortDescriptionESet = false;
-
-	/**
-	 * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getCategory()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String CATEGORY_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getCategory() <em>Category</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getCategory()
-	 * @generated
-	 * @ordered
-	 */
-	protected String category = CATEGORY_EDEFAULT;
-	/**
-	 * The default value of the '{@link #isExpert() <em>Expert</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isExpert()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean EXPERT_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isExpert() <em>Expert</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isExpert()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean expert = EXPERT_EDEFAULT;
-
-	/**
-	 * This is true if the Expert attribute has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean expertESet = false;
-
-	/**
-	 * The default value of the '{@link #isHidden() <em>Hidden</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isHidden()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean HIDDEN_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isHidden() <em>Hidden</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isHidden()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean hidden = HIDDEN_EDEFAULT;
-
-	/**
-	 * This is true if the Hidden attribute has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean hiddenESet = false;
-
-	/**
-	 * The default value of the '{@link #isPreferred() <em>Preferred</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isPreferred()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean PREFERRED_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isPreferred() <em>Preferred</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isPreferred()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean preferred = PREFERRED_EDEFAULT;
-
-	/**
-	 * This is true if the Preferred attribute has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean preferredESet = false;
-
-	/**
-	 * The default value of the '{@link #isMergeIntrospection() <em>Merge Introspection</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isMergeIntrospection()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean MERGE_INTROSPECTION_EDEFAULT = true;
-
-	/**
-	 * The cached value of the '{@link #isMergeIntrospection() <em>Merge Introspection</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isMergeIntrospection()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean mergeIntrospection = MERGE_INTROSPECTION_EDEFAULT;
-	/**
-	 * The default value of the '{@link #isAttributesExplicit() <em>Attributes Explicit</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isAttributesExplicit()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean ATTRIBUTES_EXPLICIT_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isAttributesExplicit() <em>Attributes Explicit</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isAttributesExplicit()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean attributesExplicit = ATTRIBUTES_EXPLICIT_EDEFAULT;
-
-
-	/**
-	 * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAttributes()
-	 * @generated
-	 * @ordered
-	 */
-	protected EMap attributes = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 */
-	protected FeatureDecoratorImpl() {
-		super();
-		setSource(this.getClass().getName());		
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return BeaninfoPackage.eINSTANCE.getFeatureDecorator();
-	}
-
-	protected boolean retrievedAttributes;
-	
-	protected boolean validProxy(IBeanProxy proxy) {
-		return proxy != null ? proxy.isValid() : false;
-	}
-			
-	public EMap getAttributes() {
-		if (!isAttributesExplicit()) {
-			if (validProxy(fFeatureProxy) && !retrievedAttributes) {
-				retrievedAttributes = true;
-				EMap attribs = this.getAttributesGen();				
-				
-				IMethodProxy getValue = BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getValueProxy();
-				try {				
-					EnumerationBeanProxyWrapper attrNames = new EnumerationBeanProxyWrapper(BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getAttributeNamesProxy().invoke(fFeatureProxy));
-					while (attrNames.hasMoreElements()) {
-						try {
-							IStringBeanProxy attrName = (IStringBeanProxy) attrNames.nextElement();
-							IBeanProxy attrValue = getValue.invoke(fFeatureProxy, attrName);
-							if ("ivjDesignTimeProperty".equals(attrName.stringValue())) { //$NON-NLS-1$
-								// This is special, we pull it out.
-								// This actually only has meaning for Properties, so we only set it here, it is not referenced till there.
-								if (attrValue instanceof IBooleanBeanProxy) {
-									IBooleanBeanProxy v = (IBooleanBeanProxy) attrValue;
-									isDesignTimeProxy = v.booleanValue();
-								} else
-									isDesignTimeProxy = false;
-								setIsDesignTimeProxy = true;
-							} else if ("category".equals(attrName.stringValue())) { //$NON-NLS-1$
-								// This is special we pull it out.
-								if (attrValue instanceof IStringBeanProxy) {
-									categoryProxy = ((IStringBeanProxy) attrValue).stringValue();
-								} else
-									categoryProxy = null;
-								setCategoryProxy = true;
-							} else if ("preferred".equals(attrName.stringValue())) { //$NON-NLS-1$
-								// There is a bug JDK 1.3 where preferred setting in the FeatureDescriptor is not
-								// preserved and is lost. This was fixed in 1.4. So to allow 1.3 preferred to work
-								// we allow the convention that if there is a "preferred" attribute setting, then
-								// we will use that for preferred. 
-								// When sure that a descriptor is only used in 1.4, then the "preferred" attribute
-								// can be removed from that beaninfo featureDescriptor.
-								if (attrValue instanceof IBooleanBeanProxy) {
-									IBooleanBeanProxy v = (IBooleanBeanProxy) attrValue;
-									isPreferredProxy = v.booleanValue();
-									setIsPreferredProxy = true;									
-								} 
-
-							} else {
-								// See if entry already exists, if not create. If it does, and there wasn't a value proxy
-								// previously set, then ignore it (because came from an override). If previously set, then
-								// set with new one.
-								String key = attrName.stringValue();
-								FeatureAttributeValue fv = (FeatureAttributeValue) attribs.get(key);
-								if (fv == null)
-									fv = BeaninfoFactory.eINSTANCE.createFeatureAttributeValue();
-								else if (!fv.isSetValueProxy())
-									continue;
-								fv.setValueProxy(attrValue);
-								attribs.put(key, fv);
-							}
-						} catch (ThrowableProxy e) {
-						}
-					}
-				} catch (ThrowableProxy e) {
-				}						
-			}
-		}
-		return this.getAttributesGen();
-	}
-	
-	/**
-	 * Was this decorator and/or feature implicitly created by introspection?
-	 * The default should be NOT_IMPLICIT.
-	 * This is here for linkage with the introspection process
-	 * and is not really a MOF property. The introspection needs
-	 * to know which features it created and which were explicitly
-	 * created by other means. Implicitly created ones may be 
-	 * deleted at any time when the introspection determines it
-	 * needs to.
-	 */
-	public int isImplicitlyCreated() {
-		return fIsImplicit;
-	}
-	
-	public void setImplicitlyCreated(int implicit) {
-		fIsImplicit = implicit;
-	}
-	
-	
-	public boolean isIntrospected() {
-		return fFeatureProxy != null;
-	}
-	
-	public IBeanProxy getDescriptorProxy() {
-		return fFeatureProxy;
-	}
-	
-	public void setDescriptorProxy(IBeanProxy descriptor) {
-		fFeatureProxy = descriptor;
-		fProxyDisplayName = null;
-		if (retrievedAttributes) {
-			attributes.clear();
-			retrievedAttributes = false;
-		}
-		isDesignTimeProxy = false;
-		setIsDesignTimeProxy = false;
-		
-		setCategoryProxy = false;
-		categoryProxy = null;
-		
-		setShortDescriptionProxy = false;
-		shortDescriptionProxy = null;
-		
-		isPreferredProxy = false;
-		setIsPreferredProxy = false;
-
-		if (validProxy(fFeatureProxy)) {
-			// Cache display name because this is used over and over.
-			if (!isSetDisplayName())
-				try {
-					fProxyDisplayName = ((IStringBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getDisplayNameProxy().invoke(fFeatureProxy)).stringValue();
-				} catch (NullPointerException e) {
-				} catch (ThrowableProxy e) {
-				}
-				
-		}
-				
-	}
-	
-	public void setDecoratorProxy(FeatureDecorator decorator) {
-		fFeatureDecoratorProxy = decorator;
-	}
-	
-	public String getName() {
-		ENamedElement ne = (ENamedElement) getEModelElement();
-		if (ne != null)
-			return ne.getName();	// The name from the owner of the feature has to be the name of feature.
-		else
-			return "?";	// Don't know what it is. //$NON-NLS-1$
-	}
-	
-	public String getDisplayName() {
-		if (!isSetDisplayName())
-			if (fProxyDisplayName != null) 
-				return fProxyDisplayName;
-			else
-				return getName();	// Use the name as the display name.
-		return this.getDisplayNameGen();
-	}
-	public String getShortDescription() {
-		if (!isSetShortDescription()) {
-			if (!setShortDescriptionProxy) {
-				// Short description is used over and over, so we cache it.
-				setShortDescriptionProxy = true;
-				if (validProxy(fFeatureProxy))
-					try {
-						IStringBeanProxy str = (IStringBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getShortDescriptionProxy().invoke(fFeatureProxy);
-						if (str != null)
-							shortDescriptionProxy = str.stringValue();
-					} catch (ThrowableProxy e) {
-					};
-			}
-			
-			return shortDescriptionProxy != null ? shortDescriptionProxy : getDisplayName();	// It not set, then use display name.
-		}
-					
-		return this.getShortDescriptionGen();
-	}
-
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDisplayName(String newDisplayName) {
-		String oldDisplayName = displayName;
-		displayName = newDisplayName;
-		boolean oldDisplayNameESet = displayNameESet;
-		displayNameESet = true;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__DISPLAY_NAME, oldDisplayName, displayName, !oldDisplayNameESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetDisplayName() {
-		String oldDisplayName = displayName;
-		boolean oldDisplayNameESet = displayNameESet;
-		displayName = DISPLAY_NAME_EDEFAULT;
-		displayNameESet = false;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.FEATURE_DECORATOR__DISPLAY_NAME, oldDisplayName, DISPLAY_NAME_EDEFAULT, oldDisplayNameESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetDisplayName() {
-		return displayNameESet;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setShortDescription(String newShortDescription) {
-		String oldShortDescription = shortDescription;
-		shortDescription = newShortDescription;
-		boolean oldShortDescriptionESet = shortDescriptionESet;
-		shortDescriptionESet = true;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__SHORT_DESCRIPTION, oldShortDescription, shortDescription, !oldShortDescriptionESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetShortDescription() {
-		String oldShortDescription = shortDescription;
-		boolean oldShortDescriptionESet = shortDescriptionESet;
-		shortDescription = SHORT_DESCRIPTION_EDEFAULT;
-		shortDescriptionESet = false;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.FEATURE_DECORATOR__SHORT_DESCRIPTION, oldShortDescription, SHORT_DESCRIPTION_EDEFAULT, oldShortDescriptionESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetShortDescription() {
-		return shortDescriptionESet;
-	}
-
-	public String getCategory() {
-		if (category != CATEGORY_EDEFAULT)
-			return getCategoryGen();
-		getAttributes();	// Force retrieval of attributes so that we can see if category is there.
-		return setCategoryProxy ? categoryProxy : CATEGORY_EDEFAULT;
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getCategoryGen() {
-		return category;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setCategory(String newCategory) {
-		String oldCategory = category;
-		category = newCategory;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__CATEGORY, oldCategory, category));
-	}
-
-	public boolean isExpert() {
-		if (validProxy(fFeatureProxy) && !isSetExpert())
-			try {
-				return ((IBooleanBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIsExpertProxy().invoke(fFeatureProxy)).booleanValue();
-			} catch (ThrowableProxy e) {
-			};
-					
-		return this.isExpertGen();
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isExpertGen() {
-		return expert;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setExpert(boolean newExpert) {
-		boolean oldExpert = expert;
-		expert = newExpert;
-		boolean oldExpertESet = expertESet;
-		expertESet = true;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__EXPERT, oldExpert, expert, !oldExpertESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetExpert() {
-		boolean oldExpert = expert;
-		boolean oldExpertESet = expertESet;
-		expert = EXPERT_EDEFAULT;
-		expertESet = false;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.FEATURE_DECORATOR__EXPERT, oldExpert, EXPERT_EDEFAULT, oldExpertESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetExpert() {
-		return expertESet;
-	}
-
-	/**
-	 */
-	public boolean isHidden() {
-		if (validProxy(fFeatureProxy) && !isSetHidden())
-			try {
-				return ((IBooleanBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIsHiddenProxy().invoke(fFeatureProxy)).booleanValue();
-			} catch (ThrowableProxy e) {
-			};
-					
-		return this.isHiddenGen();
-	
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isHiddenGen() {
-		return hidden;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setHidden(boolean newHidden) {
-		boolean oldHidden = hidden;
-		hidden = newHidden;
-		boolean oldHiddenESet = hiddenESet;
-		hiddenESet = true;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__HIDDEN, oldHidden, hidden, !oldHiddenESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetHidden() {
-		boolean oldHidden = hidden;
-		boolean oldHiddenESet = hiddenESet;
-		hidden = HIDDEN_EDEFAULT;
-		hiddenESet = false;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.FEATURE_DECORATOR__HIDDEN, oldHidden, HIDDEN_EDEFAULT, oldHiddenESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetHidden() {
-		return hiddenESet;
-	}
-
-	public boolean isPreferred() {
-		getAttributes();	// This will cause the preferred flag to be set if found. (Due to 1.3 bug, we need ti also test the attributes).
-		if (setIsPreferredProxy)
-			return isPreferredProxy;
-		else if (validProxy(fFeatureProxy) && !isSetPreferred())
-			try {
-				return ((IBooleanBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIsPreferredProxy().invoke(fFeatureProxy)).booleanValue();
-			} catch (ThrowableProxy e) {
-			};
-					
-		return this.isPreferredGen();
-	
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isPreferredGen() {
-		return preferred;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPreferred(boolean newPreferred) {
-		boolean oldPreferred = preferred;
-		preferred = newPreferred;
-		boolean oldPreferredESet = preferredESet;
-		preferredESet = true;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__PREFERRED, oldPreferred, preferred, !oldPreferredESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetPreferred() {
-		boolean oldPreferred = preferred;
-		boolean oldPreferredESet = preferredESet;
-		preferred = PREFERRED_EDEFAULT;
-		preferredESet = false;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.FEATURE_DECORATOR__PREFERRED, oldPreferred, PREFERRED_EDEFAULT, oldPreferredESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetPreferred() {
-		return preferredESet;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isMergeIntrospection() {
-		return mergeIntrospection;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMergeIntrospection(boolean newMergeIntrospection) {
-		boolean oldMergeIntrospection = mergeIntrospection;
-		mergeIntrospection = newMergeIntrospection;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__MERGE_INTROSPECTION, oldMergeIntrospection, mergeIntrospection));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (displayName: ");
-		if (displayNameESet) result.append(displayName); else result.append("<unset>");
-		result.append(", shortDescription: ");
-		if (shortDescriptionESet) result.append(shortDescription); else result.append("<unset>");
-		result.append(", category: ");
-		result.append(category);
-		result.append(", expert: ");
-		if (expertESet) result.append(expert); else result.append("<unset>");
-		result.append(", hidden: ");
-		if (hiddenESet) result.append(hidden); else result.append("<unset>");
-		result.append(", preferred: ");
-		if (preferredESet) result.append(preferred); else result.append("<unset>");
-		result.append(", mergeIntrospection: ");
-		result.append(mergeIntrospection);
-		result.append(", attributesExplicit: ");
-		result.append(attributesExplicit);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getDisplayNameGen() {
-		return displayName;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getShortDescriptionGen() {
-		return shortDescription;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EMap getAttributesGen() {
-		if (attributes == null) {
-			attributes = new EcoreEMap(BeaninfoPackage.eINSTANCE.getFeatureAttributeMapEntry(), FeatureAttributeMapEntryImpl.class, this, BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES);
-		}
-		return attributes;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.FEATURE_DECORATOR__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.FEATURE_DECORATOR__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.FEATURE_DECORATOR__DETAILS:
-					return ((InternalEList)getDetails()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT:
-					return eBasicSetContainer(null, BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT, msgs);
-				case BeaninfoPackage.FEATURE_DECORATOR__CONTENTS:
-					return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES:
-					return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.FEATURE_DECORATOR__EANNOTATIONS:
-				return getEAnnotations();
-			case BeaninfoPackage.FEATURE_DECORATOR__SOURCE:
-				return getSource();
-			case BeaninfoPackage.FEATURE_DECORATOR__DETAILS:
-				return getDetails();
-			case BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT:
-				return getEModelElement();
-			case BeaninfoPackage.FEATURE_DECORATOR__CONTENTS:
-				return getContents();
-			case BeaninfoPackage.FEATURE_DECORATOR__REFERENCES:
-				return getReferences();
-			case BeaninfoPackage.FEATURE_DECORATOR__DISPLAY_NAME:
-				return getDisplayName();
-			case BeaninfoPackage.FEATURE_DECORATOR__SHORT_DESCRIPTION:
-				return getShortDescription();
-			case BeaninfoPackage.FEATURE_DECORATOR__CATEGORY:
-				return getCategory();
-			case BeaninfoPackage.FEATURE_DECORATOR__EXPERT:
-				return isExpert() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.FEATURE_DECORATOR__HIDDEN:
-				return isHidden() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.FEATURE_DECORATOR__PREFERRED:
-				return isPreferred() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.FEATURE_DECORATOR__MERGE_INTROSPECTION:
-				return isMergeIntrospection() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT:
-				return isAttributesExplicit() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES:
-				return getAttributes();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.FEATURE_DECORATOR__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__SOURCE:
-				setSource((String)newValue);
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__DETAILS:
-				getDetails().clear();
-				getDetails().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT:
-				setEModelElement((EModelElement)newValue);
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__CONTENTS:
-				getContents().clear();
-				getContents().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__REFERENCES:
-				getReferences().clear();
-				getReferences().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__DISPLAY_NAME:
-				setDisplayName((String)newValue);
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__SHORT_DESCRIPTION:
-				setShortDescription((String)newValue);
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__CATEGORY:
-				setCategory((String)newValue);
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__EXPERT:
-				setExpert(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__HIDDEN:
-				setHidden(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__PREFERRED:
-				setPreferred(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__MERGE_INTROSPECTION:
-				setMergeIntrospection(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT:
-				setAttributesExplicit(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES:
-				getAttributes().clear();
-				getAttributes().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.FEATURE_DECORATOR__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__SOURCE:
-				setSource(SOURCE_EDEFAULT);
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__DETAILS:
-				getDetails().clear();
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT:
-				setEModelElement((EModelElement)null);
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__CONTENTS:
-				getContents().clear();
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__REFERENCES:
-				getReferences().clear();
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__DISPLAY_NAME:
-				unsetDisplayName();
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__SHORT_DESCRIPTION:
-				unsetShortDescription();
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__CATEGORY:
-				setCategory(CATEGORY_EDEFAULT);
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__EXPERT:
-				unsetExpert();
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__HIDDEN:
-				unsetHidden();
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__PREFERRED:
-				unsetPreferred();
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__MERGE_INTROSPECTION:
-				setMergeIntrospection(MERGE_INTROSPECTION_EDEFAULT);
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT:
-				setAttributesExplicit(ATTRIBUTES_EXPLICIT_EDEFAULT);
-				return;
-			case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES:
-				getAttributes().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.FEATURE_DECORATOR__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case BeaninfoPackage.FEATURE_DECORATOR__SOURCE:
-				return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
-			case BeaninfoPackage.FEATURE_DECORATOR__DETAILS:
-				return details != null && !details.isEmpty();
-			case BeaninfoPackage.FEATURE_DECORATOR__EMODEL_ELEMENT:
-				return getEModelElement() != null;
-			case BeaninfoPackage.FEATURE_DECORATOR__CONTENTS:
-				return contents != null && !contents.isEmpty();
-			case BeaninfoPackage.FEATURE_DECORATOR__REFERENCES:
-				return references != null && !references.isEmpty();
-			case BeaninfoPackage.FEATURE_DECORATOR__DISPLAY_NAME:
-				return isSetDisplayName();
-			case BeaninfoPackage.FEATURE_DECORATOR__SHORT_DESCRIPTION:
-				return isSetShortDescription();
-			case BeaninfoPackage.FEATURE_DECORATOR__CATEGORY:
-				return CATEGORY_EDEFAULT == null ? category != null : !CATEGORY_EDEFAULT.equals(category);
-			case BeaninfoPackage.FEATURE_DECORATOR__EXPERT:
-				return isSetExpert();
-			case BeaninfoPackage.FEATURE_DECORATOR__HIDDEN:
-				return isSetHidden();
-			case BeaninfoPackage.FEATURE_DECORATOR__PREFERRED:
-				return isSetPreferred();
-			case BeaninfoPackage.FEATURE_DECORATOR__MERGE_INTROSPECTION:
-				return mergeIntrospection != MERGE_INTROSPECTION_EDEFAULT;
-			case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT:
-				return attributesExplicit != ATTRIBUTES_EXPLICIT_EDEFAULT;
-			case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES:
-				return attributes != null && !attributes.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isAttributesExplicit() {
-		return attributesExplicit;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setAttributesExplicit(boolean newAttributesExplicit) {
-		boolean oldAttributesExplicit = attributesExplicit;
-		attributesExplicit = newAttributesExplicit;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT, oldAttributesExplicit, attributesExplicit));
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#needIntrospection()
-	 */
-	public boolean needIntrospection() {
-		return fFeatureProxy != null && !validProxy(fFeatureProxy);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/IndexedPropertyDecoratorImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/IndexedPropertyDecoratorImpl.java
deleted file mode 100644
index 9f02f3d..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/IndexedPropertyDecoratorImpl.java
+++ /dev/null
@@ -1,566 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IndexedPropertyDecoratorImpl.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:00 $ 
- */
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.IndexedPropertyDecorator;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoProxyConstants;
-import org.eclipse.jem.internal.beaninfo.adapters.Utilities;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.internal.proxy.core.IMethodProxy;
-import org.eclipse.jem.internal.proxy.core.ThrowableProxy;
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Indexed Property Decorator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.IndexedPropertyDecoratorImpl#getIndexedReadMethod <em>Indexed Read Method</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.IndexedPropertyDecoratorImpl#getIndexedWriteMethod <em>Indexed Write Method</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class IndexedPropertyDecoratorImpl extends PropertyDecoratorImpl implements IndexedPropertyDecorator{
-	/**
-	 * The cached value of the '{@link #getIndexedReadMethod() <em>Indexed Read Method</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getIndexedReadMethod()
-	 * @generated
-	 * @ordered
-	 */
-	protected Method indexedReadMethod = null;
-	/**
-	 * The cached value of the '{@link #getIndexedWriteMethod() <em>Indexed Write Method</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getIndexedWriteMethod()
-	 * @generated
-	 * @ordered
-	 */
-	protected Method indexedWriteMethod = null;
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */	
-	protected IndexedPropertyDecoratorImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return BeaninfoPackage.eINSTANCE.getIndexedPropertyDecorator();
-	}
-
-	public Method getIndexedReadMethod() {
-		if (!eIsSet(BeaninfoPackage.eINSTANCE.getIndexedPropertyDecorator_IndexedReadMethod())) {
-			if (validProxy(fFeatureProxy)) {			
-				try {
-					return (Method) Utilities.getMethod((IMethodProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIndexedReadMethodProxy().invoke(fFeatureProxy),  getEModelElement().eResource().getResourceSet());
-				} catch (ThrowableProxy e) {
-				}
-			} else
-				if (fFeatureDecoratorProxy != null)
-					return ((IndexedPropertyDecorator) fFeatureDecoratorProxy).getIndexedReadMethod();
-		}			
-					
-		return this.getIndexedReadMethodGen();
-	}
-	public Method getIndexedWriteMethod() {
-		if (!eIsSet(BeaninfoPackage.eINSTANCE.getIndexedPropertyDecorator_IndexedWriteMethod())) {
-			if (validProxy(fFeatureProxy)) {			
-				try {
-					return (Method) Utilities.getMethod((IMethodProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIndexedWriteMethodProxy().invoke(fFeatureProxy),  getEModelElement().eResource().getResourceSet());
-				} catch (ThrowableProxy e) {
-				}
-			} else
-				if (fFeatureDecoratorProxy != null)
-					return ((IndexedPropertyDecorator) fFeatureDecoratorProxy).getIndexedWriteMethod();
-		}			
-									
-		return this.getIndexedWriteMethodGen();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setIndexedReadMethod(Method newIndexedReadMethod) {
-		Method oldIndexedReadMethod = indexedReadMethod;
-		indexedReadMethod = newIndexedReadMethod;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD, oldIndexedReadMethod, indexedReadMethod));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setIndexedWriteMethod(Method newIndexedWriteMethod) {
-		Method oldIndexedWriteMethod = indexedWriteMethod;
-		indexedWriteMethod = newIndexedWriteMethod;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD, oldIndexedWriteMethod, indexedWriteMethod));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DETAILS:
-					return ((InternalEList)getDetails()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT:
-					return eBasicSetContainer(null, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT, msgs);
-				case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONTENTS:
-					return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES:
-					return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EANNOTATIONS:
-				return getEAnnotations();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SOURCE:
-				return getSource();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DETAILS:
-				return getDetails();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT:
-				return getEModelElement();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONTENTS:
-				return getContents();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__REFERENCES:
-				return getReferences();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DISPLAY_NAME:
-				return getDisplayName();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SHORT_DESCRIPTION:
-				return getShortDescription();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CATEGORY:
-				return getCategory();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EXPERT:
-				return isExpert() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__HIDDEN:
-				return isHidden() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PREFERRED:
-				return isPreferred() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__MERGE_INTROSPECTION:
-				return isMergeIntrospection() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT:
-				return isAttributesExplicit() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES:
-				return getAttributes();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__BOUND:
-				return isBound() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONSTRAINED:
-				return isConstrained() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DESIGN_TIME:
-				return isDesignTime() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
-				return isAlwaysIncompatible() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FILTER_FLAGS:
-				return getFilterFlags();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
-				if (resolve) return getPropertyEditorClass();
-				return basicGetPropertyEditorClass();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__READ_METHOD:
-				if (resolve) return getReadMethod();
-				return basicGetReadMethod();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__WRITE_METHOD:
-				if (resolve) return getWriteMethod();
-				return basicGetWriteMethod();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD:
-				if (resolve) return getIndexedReadMethod();
-				return basicGetIndexedReadMethod();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD:
-				if (resolve) return getIndexedWriteMethod();
-				return basicGetIndexedWriteMethod();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SOURCE:
-				setSource((String)newValue);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DETAILS:
-				getDetails().clear();
-				getDetails().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT:
-				setEModelElement((EModelElement)newValue);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONTENTS:
-				getContents().clear();
-				getContents().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__REFERENCES:
-				getReferences().clear();
-				getReferences().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DISPLAY_NAME:
-				setDisplayName((String)newValue);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SHORT_DESCRIPTION:
-				setShortDescription((String)newValue);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CATEGORY:
-				setCategory((String)newValue);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EXPERT:
-				setExpert(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__HIDDEN:
-				setHidden(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PREFERRED:
-				setPreferred(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__MERGE_INTROSPECTION:
-				setMergeIntrospection(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT:
-				setAttributesExplicit(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES:
-				getAttributes().clear();
-				getAttributes().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__BOUND:
-				setBound(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONSTRAINED:
-				setConstrained(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DESIGN_TIME:
-				setDesignTime(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
-				setAlwaysIncompatible(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FILTER_FLAGS:
-				getFilterFlags().clear();
-				getFilterFlags().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
-				setPropertyEditorClass((JavaClass)newValue);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__READ_METHOD:
-				setReadMethod((Method)newValue);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__WRITE_METHOD:
-				setWriteMethod((Method)newValue);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD:
-				setIndexedReadMethod((Method)newValue);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD:
-				setIndexedWriteMethod((Method)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SOURCE:
-				setSource(SOURCE_EDEFAULT);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DETAILS:
-				getDetails().clear();
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT:
-				setEModelElement((EModelElement)null);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONTENTS:
-				getContents().clear();
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__REFERENCES:
-				getReferences().clear();
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DISPLAY_NAME:
-				unsetDisplayName();
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SHORT_DESCRIPTION:
-				unsetShortDescription();
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CATEGORY:
-				setCategory(CATEGORY_EDEFAULT);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EXPERT:
-				unsetExpert();
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__HIDDEN:
-				unsetHidden();
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PREFERRED:
-				unsetPreferred();
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__MERGE_INTROSPECTION:
-				setMergeIntrospection(MERGE_INTROSPECTION_EDEFAULT);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT:
-				setAttributesExplicit(ATTRIBUTES_EXPLICIT_EDEFAULT);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES:
-				getAttributes().clear();
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__BOUND:
-				unsetBound();
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONSTRAINED:
-				unsetConstrained();
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DESIGN_TIME:
-				unsetDesignTime();
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
-				setAlwaysIncompatible(ALWAYS_INCOMPATIBLE_EDEFAULT);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FILTER_FLAGS:
-				getFilterFlags().clear();
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
-				setPropertyEditorClass((JavaClass)null);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__READ_METHOD:
-				setReadMethod((Method)null);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__WRITE_METHOD:
-				setWriteMethod((Method)null);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD:
-				setIndexedReadMethod((Method)null);
-				return;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD:
-				setIndexedWriteMethod((Method)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SOURCE:
-				return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DETAILS:
-				return details != null && !details.isEmpty();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EMODEL_ELEMENT:
-				return getEModelElement() != null;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONTENTS:
-				return contents != null && !contents.isEmpty();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__REFERENCES:
-				return references != null && !references.isEmpty();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DISPLAY_NAME:
-				return isSetDisplayName();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__SHORT_DESCRIPTION:
-				return isSetShortDescription();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CATEGORY:
-				return CATEGORY_EDEFAULT == null ? category != null : !CATEGORY_EDEFAULT.equals(category);
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__EXPERT:
-				return isSetExpert();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__HIDDEN:
-				return isSetHidden();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PREFERRED:
-				return isSetPreferred();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__MERGE_INTROSPECTION:
-				return mergeIntrospection != MERGE_INTROSPECTION_EDEFAULT;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT:
-				return attributesExplicit != ATTRIBUTES_EXPLICIT_EDEFAULT;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ATTRIBUTES:
-				return attributes != null && !attributes.isEmpty();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__BOUND:
-				return isSetBound();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__CONSTRAINED:
-				return isSetConstrained();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__DESIGN_TIME:
-				return isSetDesignTime();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
-				return alwaysIncompatible != ALWAYS_INCOMPATIBLE_EDEFAULT;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__FILTER_FLAGS:
-				return filterFlags != null && !filterFlags.isEmpty();
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
-				return propertyEditorClass != null;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__READ_METHOD:
-				return readMethod != null;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__WRITE_METHOD:
-				return writeMethod != null;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD:
-				return indexedReadMethod != null;
-			case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD:
-				return indexedWriteMethod != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Method getIndexedReadMethodGen() {
-		if (indexedReadMethod != null && indexedReadMethod.eIsProxy()) {
-			Method oldIndexedReadMethod = indexedReadMethod;
-			indexedReadMethod = (Method)eResolveProxy((InternalEObject)indexedReadMethod);
-			if (indexedReadMethod != oldIndexedReadMethod) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD, oldIndexedReadMethod, indexedReadMethod));
-			}
-		}
-		return indexedReadMethod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Method basicGetIndexedReadMethod() {
-		return indexedReadMethod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Method getIndexedWriteMethodGen() {
-		if (indexedWriteMethod != null && indexedWriteMethod.eIsProxy()) {
-			Method oldIndexedWriteMethod = indexedWriteMethod;
-			indexedWriteMethod = (Method)eResolveProxy((InternalEObject)indexedWriteMethod);
-			if (indexedWriteMethod != oldIndexedWriteMethod) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD, oldIndexedWriteMethod, indexedWriteMethod));
-			}
-		}
-		return indexedWriteMethod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Method basicGetIndexedWriteMethod() {
-		return indexedWriteMethod;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodDecoratorImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodDecoratorImpl.java
deleted file mode 100644
index eff8666..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodDecoratorImpl.java
+++ /dev/null
@@ -1,552 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: MethodDecoratorImpl.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:00 $ 
- */
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoFactory;
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.MethodDecorator;
-import org.eclipse.jem.internal.beaninfo.MethodProxy;
-import org.eclipse.jem.internal.beaninfo.ParameterDecorator;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoProxyConstants;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.internal.proxy.core.IArrayBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.core.ThrowableProxy;
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Method Decorator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.MethodDecoratorImpl#isParmsExplicit <em>Parms Explicit</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.MethodDecoratorImpl#getParameterDescriptors <em>Parameter Descriptors</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class MethodDecoratorImpl extends FeatureDecoratorImpl implements MethodDecorator{
-	/**
-	 * The default value of the '{@link #isParmsExplicit() <em>Parms Explicit</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isParmsExplicit()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean PARMS_EXPLICIT_EDEFAULT = false;
-
-	protected boolean fRetrievedParms = false;
-	protected boolean fRetrievedParmsSuccessful = false;
-	
-	/**
-	 * The cached value of the '{@link #isParmsExplicit() <em>Parms Explicit</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isParmsExplicit()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean parmsExplicit = PARMS_EXPLICIT_EDEFAULT;
-	/**
-	 * The cached value of the '{@link #getParameterDescriptors() <em>Parameter Descriptors</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getParameterDescriptors()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList parameterDescriptors = null;
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */	
-	protected MethodDecoratorImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return BeaninfoPackage.eINSTANCE.getMethodDecorator();
-	}
-
-	public EList getParameterDescriptors() {
-		if (!isParmsExplicit()) {
-			if (validProxy(fFeatureProxy) && !fRetrievedParms) {
-				fRetrievedParms = true;
-				EList parmsList = this.getParameterDescriptorsGen();
-									
-				try {
-					IArrayBeanProxy parms = (IArrayBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getParameterDescriptorsProxy().invoke(fFeatureProxy);
-					if (parms != null) {
-						List plist = getMethodParameters();
-						int plistLength = plist != null ? plist.size() : 0;
-						int parmsLength = Math.min(parms.getLength(), plistLength);
-						// Don't want to add more than there really is. This just means that the beaninfo is out of sync with the code.
-						for (int i=0; i<parmsLength; i++) {
-							IBeanProxy parm = parms.get(i);
-							ParameterDecorator pd = BeaninfoFactory.eINSTANCE.createParameterDecorator();
-							pd.setImplicitlyCreated(IMPLICIT_DECORATOR);
-							pd.setDescriptorProxy(parm);
-							parmsList.add(pd);
-							// Get the real parm and set as the decorates.
-							pd.setParameter((JavaParameter) plist.get(i));
-						}
-						fRetrievedParmsSuccessful = true;
-						return parmsList;
-					}		
-				} catch (ThrowableProxy e) {
-				};
-			}
-			
-			if (fRetrievedParmsSuccessful)
-				return this.getParameterDescriptorsGen();	// Built once from proxy, use it always.
-			else
-				return createDefaultParmsList();	// Not explicit and not sucessful retrieval, use default.
-		}
-		return this.getParameterDescriptorsGen();
-	}
-	/**
-	 * This is called if parms list not explicitly set and there is no feature proxy or
-	 * there is a feature proxy and the proxy has nothing defined.
-	 * We will generate a list based upon the parameters from the method itself.
-	 * We won't cache it because it may change and we aren't listening for changes.
-	 * It shouldn't be used that often to cause a performance problem.
-	 */
-	protected EList createDefaultParmsList() {
-		EList parmsList = this.getParameterDescriptorsGen();
-		parmsList.clear();
-		
-		List p = getMethodParameters();
-		if (p == null)
-			return parmsList;	// Couldn't get the list for some reason, so leave as is.
-		int psize = p.size();
-		for (int i=0; i<psize; i++) {
-			ParameterDecorator pd = BeaninfoFactory.eINSTANCE.createParameterDecorator();
-			JavaParameter jp = (JavaParameter) p.get(i);
-			pd.setName(jp.getName());
-			pd.setParameter(jp);
-			parmsList.add(pd);
-		}
-		return parmsList;
-	}
-	
-	/*
-	 * Initialize the ParameterDecorators to point to the JavaParameter they are describing.
-	 * This is called from ParameterDecorator when it finds that its JavaParameter has not been set.
-	 * This means that it was explicitly added and we need to setup the parms.
-	 */
-	protected void initializeParameters() {
-		if (this.parameterDescriptors == null)
-			return;
-		List mp = getMethodParameters();
-		if (mp == null || mp.isEmpty())
-			return;	// Nothing that can be described.
-		int psize = Math.min(this.parameterDescriptors.size(), mp.size());
-		for (int i=0; i < psize; i++)
-			((ParameterDecorator) this.parameterDescriptors.get(i)).setParameter((JavaParameter) mp.get(i));
-	}
-
-
-	protected List getMethodParameters() {
-		// Get the method
-		Method m = null;
-		Object d = getEModelElement();
-		if (d instanceof Method)
-			m = (Method) d;
-		else 
-			if (d instanceof MethodProxy)
-				m = ((MethodProxy) d).getMethod();
-			else
-				return null;	// Not decorating correct object.
-		if (m == null)
-			return null;	// Couldn't find the method.
-		List p = m.getParameters();
-		return p;
-	}
-			
-			
-	
-	public void setDescriptorProxy(IBeanProxy descriptorProxy) {
-		if (fRetrievedParms) {
-			this.getParameterDescriptorsGen().clear();
-			fRetrievedParms = fRetrievedParmsSuccessful = false;
-		}
-		super.setDescriptorProxy(descriptorProxy);
-	}
-
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isParmsExplicit() {
-		return parmsExplicit;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setParmsExplicit(boolean newParmsExplicit) {
-		boolean oldParmsExplicit = parmsExplicit;
-		parmsExplicit = newParmsExplicit;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.METHOD_DECORATOR__PARMS_EXPLICIT, oldParmsExplicit, parmsExplicit));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (parmsExplicit: ");
-		result.append(parmsExplicit);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getParameterDescriptorsGen() {
-		if (parameterDescriptors == null) {
-			parameterDescriptors = new EObjectContainmentEList(ParameterDecorator.class, this, BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS);
-		}
-		return parameterDescriptors;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.METHOD_DECORATOR__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.METHOD_DECORATOR__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.METHOD_DECORATOR__DETAILS:
-					return ((InternalEList)getDetails()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT:
-					return eBasicSetContainer(null, BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT, msgs);
-				case BeaninfoPackage.METHOD_DECORATOR__CONTENTS:
-					return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES:
-					return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS:
-					return ((InternalEList)getParameterDescriptors()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.METHOD_DECORATOR__EANNOTATIONS:
-				return getEAnnotations();
-			case BeaninfoPackage.METHOD_DECORATOR__SOURCE:
-				return getSource();
-			case BeaninfoPackage.METHOD_DECORATOR__DETAILS:
-				return getDetails();
-			case BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT:
-				return getEModelElement();
-			case BeaninfoPackage.METHOD_DECORATOR__CONTENTS:
-				return getContents();
-			case BeaninfoPackage.METHOD_DECORATOR__REFERENCES:
-				return getReferences();
-			case BeaninfoPackage.METHOD_DECORATOR__DISPLAY_NAME:
-				return getDisplayName();
-			case BeaninfoPackage.METHOD_DECORATOR__SHORT_DESCRIPTION:
-				return getShortDescription();
-			case BeaninfoPackage.METHOD_DECORATOR__CATEGORY:
-				return getCategory();
-			case BeaninfoPackage.METHOD_DECORATOR__EXPERT:
-				return isExpert() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.METHOD_DECORATOR__HIDDEN:
-				return isHidden() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.METHOD_DECORATOR__PREFERRED:
-				return isPreferred() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.METHOD_DECORATOR__MERGE_INTROSPECTION:
-				return isMergeIntrospection() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES_EXPLICIT:
-				return isAttributesExplicit() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES:
-				return getAttributes();
-			case BeaninfoPackage.METHOD_DECORATOR__PARMS_EXPLICIT:
-				return isParmsExplicit() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS:
-				return getParameterDescriptors();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.METHOD_DECORATOR__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__SOURCE:
-				setSource((String)newValue);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__DETAILS:
-				getDetails().clear();
-				getDetails().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT:
-				setEModelElement((EModelElement)newValue);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__CONTENTS:
-				getContents().clear();
-				getContents().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__REFERENCES:
-				getReferences().clear();
-				getReferences().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__DISPLAY_NAME:
-				setDisplayName((String)newValue);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__SHORT_DESCRIPTION:
-				setShortDescription((String)newValue);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__CATEGORY:
-				setCategory((String)newValue);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__EXPERT:
-				setExpert(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__HIDDEN:
-				setHidden(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__PREFERRED:
-				setPreferred(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__MERGE_INTROSPECTION:
-				setMergeIntrospection(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES_EXPLICIT:
-				setAttributesExplicit(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES:
-				getAttributes().clear();
-				getAttributes().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__PARMS_EXPLICIT:
-				setParmsExplicit(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS:
-				getParameterDescriptors().clear();
-				getParameterDescriptors().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.METHOD_DECORATOR__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__SOURCE:
-				setSource(SOURCE_EDEFAULT);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__DETAILS:
-				getDetails().clear();
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT:
-				setEModelElement((EModelElement)null);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__CONTENTS:
-				getContents().clear();
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__REFERENCES:
-				getReferences().clear();
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__DISPLAY_NAME:
-				unsetDisplayName();
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__SHORT_DESCRIPTION:
-				unsetShortDescription();
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__CATEGORY:
-				setCategory(CATEGORY_EDEFAULT);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__EXPERT:
-				unsetExpert();
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__HIDDEN:
-				unsetHidden();
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__PREFERRED:
-				unsetPreferred();
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__MERGE_INTROSPECTION:
-				setMergeIntrospection(MERGE_INTROSPECTION_EDEFAULT);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES_EXPLICIT:
-				setAttributesExplicit(ATTRIBUTES_EXPLICIT_EDEFAULT);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES:
-				getAttributes().clear();
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__PARMS_EXPLICIT:
-				setParmsExplicit(PARMS_EXPLICIT_EDEFAULT);
-				return;
-			case BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS:
-				getParameterDescriptors().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.METHOD_DECORATOR__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case BeaninfoPackage.METHOD_DECORATOR__SOURCE:
-				return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
-			case BeaninfoPackage.METHOD_DECORATOR__DETAILS:
-				return details != null && !details.isEmpty();
-			case BeaninfoPackage.METHOD_DECORATOR__EMODEL_ELEMENT:
-				return getEModelElement() != null;
-			case BeaninfoPackage.METHOD_DECORATOR__CONTENTS:
-				return contents != null && !contents.isEmpty();
-			case BeaninfoPackage.METHOD_DECORATOR__REFERENCES:
-				return references != null && !references.isEmpty();
-			case BeaninfoPackage.METHOD_DECORATOR__DISPLAY_NAME:
-				return isSetDisplayName();
-			case BeaninfoPackage.METHOD_DECORATOR__SHORT_DESCRIPTION:
-				return isSetShortDescription();
-			case BeaninfoPackage.METHOD_DECORATOR__CATEGORY:
-				return CATEGORY_EDEFAULT == null ? category != null : !CATEGORY_EDEFAULT.equals(category);
-			case BeaninfoPackage.METHOD_DECORATOR__EXPERT:
-				return isSetExpert();
-			case BeaninfoPackage.METHOD_DECORATOR__HIDDEN:
-				return isSetHidden();
-			case BeaninfoPackage.METHOD_DECORATOR__PREFERRED:
-				return isSetPreferred();
-			case BeaninfoPackage.METHOD_DECORATOR__MERGE_INTROSPECTION:
-				return mergeIntrospection != MERGE_INTROSPECTION_EDEFAULT;
-			case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES_EXPLICIT:
-				return attributesExplicit != ATTRIBUTES_EXPLICIT_EDEFAULT;
-			case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES:
-				return attributes != null && !attributes.isEmpty();
-			case BeaninfoPackage.METHOD_DECORATOR__PARMS_EXPLICIT:
-				return parmsExplicit != PARMS_EXPLICIT_EDEFAULT;
-			case BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS:
-				return parameterDescriptors != null && !parameterDescriptors.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodProxyImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodProxyImpl.java
deleted file mode 100644
index 6b7c933..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodProxyImpl.java
+++ /dev/null
@@ -1,342 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: MethodProxyImpl.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:00 $ 
- */
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EOperationImpl;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.MethodProxy;
-import org.eclipse.jem.java.Method;
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Method Proxy</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.MethodProxyImpl#getMethod <em>Method</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class MethodProxyImpl extends EOperationImpl implements MethodProxy {
-	/**
-	 * The cached value of the '{@link #getMethod() <em>Method</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMethod()
-	 * @generated
-	 * @ordered
-	 */
-	protected Method method = null;
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */	
-	protected MethodProxyImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return BeaninfoPackage.eINSTANCE.getMethodProxy();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Method getMethod() {
-		if (method != null && method.eIsProxy()) {
-			Method oldMethod = method;
-			method = (Method)eResolveProxy((InternalEObject)method);
-			if (method != oldMethod) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.METHOD_PROXY__METHOD, oldMethod, method));
-			}
-		}
-		return method;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Method basicGetMethod() {
-		return method;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMethod(Method newMethod) {
-		Method oldMethod = method;
-		method = newMethod;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.METHOD_PROXY__METHOD, oldMethod, method));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.METHOD_PROXY__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case BeaninfoPackage.METHOD_PROXY__ECONTAINING_CLASS:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, BeaninfoPackage.METHOD_PROXY__ECONTAINING_CLASS, msgs);
-				case BeaninfoPackage.METHOD_PROXY__EPARAMETERS:
-					return ((InternalEList)getEParameters()).basicAdd(otherEnd, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.METHOD_PROXY__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.METHOD_PROXY__ECONTAINING_CLASS:
-					return eBasicSetContainer(null, BeaninfoPackage.METHOD_PROXY__ECONTAINING_CLASS, msgs);
-				case BeaninfoPackage.METHOD_PROXY__EPARAMETERS:
-					return ((InternalEList)getEParameters()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case BeaninfoPackage.METHOD_PROXY__ECONTAINING_CLASS:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.ECLASS__EOPERATIONS, EClass.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.METHOD_PROXY__EANNOTATIONS:
-				return getEAnnotations();
-			case BeaninfoPackage.METHOD_PROXY__NAME:
-				return getName();
-			case BeaninfoPackage.METHOD_PROXY__ORDERED:
-				return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.METHOD_PROXY__UNIQUE:
-				return isUnique() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.METHOD_PROXY__LOWER_BOUND:
-				return new Integer(getLowerBound());
-			case BeaninfoPackage.METHOD_PROXY__UPPER_BOUND:
-				return new Integer(getUpperBound());
-			case BeaninfoPackage.METHOD_PROXY__MANY:
-				return isMany() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.METHOD_PROXY__REQUIRED:
-				return isRequired() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.METHOD_PROXY__ETYPE:
-				if (resolve) return getEType();
-				return basicGetEType();
-			case BeaninfoPackage.METHOD_PROXY__ECONTAINING_CLASS:
-				return getEContainingClass();
-			case BeaninfoPackage.METHOD_PROXY__EPARAMETERS:
-				return getEParameters();
-			case BeaninfoPackage.METHOD_PROXY__EEXCEPTIONS:
-				return getEExceptions();
-			case BeaninfoPackage.METHOD_PROXY__METHOD:
-				if (resolve) return getMethod();
-				return basicGetMethod();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.METHOD_PROXY__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.METHOD_PROXY__NAME:
-				setName((String)newValue);
-				return;
-			case BeaninfoPackage.METHOD_PROXY__ORDERED:
-				setOrdered(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.METHOD_PROXY__UNIQUE:
-				setUnique(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.METHOD_PROXY__LOWER_BOUND:
-				setLowerBound(((Integer)newValue).intValue());
-				return;
-			case BeaninfoPackage.METHOD_PROXY__UPPER_BOUND:
-				setUpperBound(((Integer)newValue).intValue());
-				return;
-			case BeaninfoPackage.METHOD_PROXY__ETYPE:
-				setEType((EClassifier)newValue);
-				return;
-			case BeaninfoPackage.METHOD_PROXY__EPARAMETERS:
-				getEParameters().clear();
-				getEParameters().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.METHOD_PROXY__EEXCEPTIONS:
-				getEExceptions().clear();
-				getEExceptions().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.METHOD_PROXY__METHOD:
-				setMethod((Method)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.METHOD_PROXY__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case BeaninfoPackage.METHOD_PROXY__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case BeaninfoPackage.METHOD_PROXY__ORDERED:
-				setOrdered(ORDERED_EDEFAULT);
-				return;
-			case BeaninfoPackage.METHOD_PROXY__UNIQUE:
-				setUnique(UNIQUE_EDEFAULT);
-				return;
-			case BeaninfoPackage.METHOD_PROXY__LOWER_BOUND:
-				setLowerBound(LOWER_BOUND_EDEFAULT);
-				return;
-			case BeaninfoPackage.METHOD_PROXY__UPPER_BOUND:
-				setUpperBound(UPPER_BOUND_EDEFAULT);
-				return;
-			case BeaninfoPackage.METHOD_PROXY__ETYPE:
-				setEType((EClassifier)null);
-				return;
-			case BeaninfoPackage.METHOD_PROXY__EPARAMETERS:
-				getEParameters().clear();
-				return;
-			case BeaninfoPackage.METHOD_PROXY__EEXCEPTIONS:
-				getEExceptions().clear();
-				return;
-			case BeaninfoPackage.METHOD_PROXY__METHOD:
-				setMethod((Method)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.METHOD_PROXY__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case BeaninfoPackage.METHOD_PROXY__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case BeaninfoPackage.METHOD_PROXY__ORDERED:
-				return ordered != ORDERED_EDEFAULT;
-			case BeaninfoPackage.METHOD_PROXY__UNIQUE:
-				return unique != UNIQUE_EDEFAULT;
-			case BeaninfoPackage.METHOD_PROXY__LOWER_BOUND:
-				return lowerBound != LOWER_BOUND_EDEFAULT;
-			case BeaninfoPackage.METHOD_PROXY__UPPER_BOUND:
-				return upperBound != UPPER_BOUND_EDEFAULT;
-			case BeaninfoPackage.METHOD_PROXY__MANY:
-				return isMany() != false;
-			case BeaninfoPackage.METHOD_PROXY__REQUIRED:
-				return isRequired() != false;
-			case BeaninfoPackage.METHOD_PROXY__ETYPE:
-				return eType != null;
-			case BeaninfoPackage.METHOD_PROXY__ECONTAINING_CLASS:
-				return getEContainingClass() != null;
-			case BeaninfoPackage.METHOD_PROXY__EPARAMETERS:
-				return eParameters != null && !eParameters.isEmpty();
-			case BeaninfoPackage.METHOD_PROXY__EEXCEPTIONS:
-				return eExceptions != null && !eExceptions.isEmpty();
-			case BeaninfoPackage.METHOD_PROXY__METHOD:
-				return method != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/ParameterDecoratorImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/ParameterDecoratorImpl.java
deleted file mode 100644
index 8fd0700..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/ParameterDecoratorImpl.java
+++ /dev/null
@@ -1,501 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ParameterDecoratorImpl.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:00 $ 
- */
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.ParameterDecorator;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoProxyConstants;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IStringBeanProxy;
-import org.eclipse.jem.internal.proxy.core.ThrowableProxy;
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Parameter Decorator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.ParameterDecoratorImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.ParameterDecoratorImpl#getParameter <em>Parameter</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class ParameterDecoratorImpl extends FeatureDecoratorImpl implements ParameterDecorator{
-	/**
-	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String NAME_EDEFAULT = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ParameterDecoratorImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return BeaninfoPackage.eINSTANCE.getParameterDecorator();
-	}
-
-	protected String fProxyName;
-	protected boolean triedOnce;	// Set when tried to get the java parameter and couldn't.
-	
-	/**
-	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String name = NAME_EDEFAULT;
-	/**
-	 * The cached value of the '{@link #getParameter() <em>Parameter</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getParameter()
-	 * @generated
-	 * @ordered
-	 */
-	protected JavaParameter parameter = null;
-	public void setDescriptorProxy(IBeanProxy descriptor) {
-		super.setDescriptorProxy(descriptor);
-		
-		fProxyName = null;
-		if (descriptor != null) {
-			// Cache name and because these are used over and over.
-			if (!eIsSet(BeaninfoPackage.eINSTANCE.getParameterDecorator_Name()))
-				try {
-					fProxyName = ((IStringBeanProxy) BeaninfoProxyConstants.getConstants(descriptor.getProxyFactoryRegistry()).getNameProxy().invoke(descriptor)).stringValue();
-				} catch (NullPointerException e) {
-				} catch (ThrowableProxy e) {
-				}				
-		}
-	}
-	
-	public String getName() {
-		if (!eIsSet(BeaninfoPackage.eINSTANCE.getParameterDecorator_Name()))
-			if (fProxyName != null) 
-				return fProxyName;
-			else
-				return "?";	// It must be set or come from proxy. //$NON-NLS-1$
-		return this.getNameGen();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setName(String newName) {
-		String oldName = name;
-		name = newName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PARAMETER_DECORATOR__NAME, oldName, name));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (name: ");
-		result.append(name);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getNameGen() {
-		return name;
-	}
-
-	/**
-	 * The JavaParameter that this ParameterDecorator is decorating. Can't use eDecorates in this.
-	 */
-	public JavaParameter getParameter() {
-		if (!!eIsSet(BeaninfoPackage.eINSTANCE.getParameterDecorator_Parameter()) && !triedOnce) {
-			// Need to try to fill in the parameter setting.
-			triedOnce = true;
-			EObject container = eContainer();	// See if we are in a MethodDecorator.
-			if (container instanceof MethodDecoratorImpl)
-				((MethodDecoratorImpl) container).initializeParameters();
-		}
-		
-		return getParameterGen();
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaParameter getParameterGen() {
-		if (parameter != null && parameter.eIsProxy()) {
-			JavaParameter oldParameter = parameter;
-			parameter = (JavaParameter)eResolveProxy((InternalEObject)parameter);
-			if (parameter != oldParameter) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.PARAMETER_DECORATOR__PARAMETER, oldParameter, parameter));
-			}
-		}
-		return parameter;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaParameter basicGetParameter() {
-		return parameter;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setParameter(JavaParameter newParameter) {
-		JavaParameter oldParameter = parameter;
-		parameter = newParameter;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PARAMETER_DECORATOR__PARAMETER, oldParameter, parameter));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.PARAMETER_DECORATOR__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.PARAMETER_DECORATOR__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.PARAMETER_DECORATOR__DETAILS:
-					return ((InternalEList)getDetails()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT:
-					return eBasicSetContainer(null, BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT, msgs);
-				case BeaninfoPackage.PARAMETER_DECORATOR__CONTENTS:
-					return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES:
-					return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.PARAMETER_DECORATOR__EANNOTATIONS:
-				return getEAnnotations();
-			case BeaninfoPackage.PARAMETER_DECORATOR__SOURCE:
-				return getSource();
-			case BeaninfoPackage.PARAMETER_DECORATOR__DETAILS:
-				return getDetails();
-			case BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT:
-				return getEModelElement();
-			case BeaninfoPackage.PARAMETER_DECORATOR__CONTENTS:
-				return getContents();
-			case BeaninfoPackage.PARAMETER_DECORATOR__REFERENCES:
-				return getReferences();
-			case BeaninfoPackage.PARAMETER_DECORATOR__DISPLAY_NAME:
-				return getDisplayName();
-			case BeaninfoPackage.PARAMETER_DECORATOR__SHORT_DESCRIPTION:
-				return getShortDescription();
-			case BeaninfoPackage.PARAMETER_DECORATOR__CATEGORY:
-				return getCategory();
-			case BeaninfoPackage.PARAMETER_DECORATOR__EXPERT:
-				return isExpert() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.PARAMETER_DECORATOR__HIDDEN:
-				return isHidden() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.PARAMETER_DECORATOR__PREFERRED:
-				return isPreferred() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.PARAMETER_DECORATOR__MERGE_INTROSPECTION:
-				return isMergeIntrospection() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES_EXPLICIT:
-				return isAttributesExplicit() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES:
-				return getAttributes();
-			case BeaninfoPackage.PARAMETER_DECORATOR__NAME:
-				return getName();
-			case BeaninfoPackage.PARAMETER_DECORATOR__PARAMETER:
-				if (resolve) return getParameter();
-				return basicGetParameter();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.PARAMETER_DECORATOR__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__SOURCE:
-				setSource((String)newValue);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__DETAILS:
-				getDetails().clear();
-				getDetails().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT:
-				setEModelElement((EModelElement)newValue);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__CONTENTS:
-				getContents().clear();
-				getContents().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__REFERENCES:
-				getReferences().clear();
-				getReferences().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__DISPLAY_NAME:
-				setDisplayName((String)newValue);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__SHORT_DESCRIPTION:
-				setShortDescription((String)newValue);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__CATEGORY:
-				setCategory((String)newValue);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__EXPERT:
-				setExpert(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__HIDDEN:
-				setHidden(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__PREFERRED:
-				setPreferred(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__MERGE_INTROSPECTION:
-				setMergeIntrospection(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES_EXPLICIT:
-				setAttributesExplicit(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES:
-				getAttributes().clear();
-				getAttributes().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__NAME:
-				setName((String)newValue);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__PARAMETER:
-				setParameter((JavaParameter)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.PARAMETER_DECORATOR__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__SOURCE:
-				setSource(SOURCE_EDEFAULT);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__DETAILS:
-				getDetails().clear();
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT:
-				setEModelElement((EModelElement)null);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__CONTENTS:
-				getContents().clear();
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__REFERENCES:
-				getReferences().clear();
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__DISPLAY_NAME:
-				unsetDisplayName();
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__SHORT_DESCRIPTION:
-				unsetShortDescription();
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__CATEGORY:
-				setCategory(CATEGORY_EDEFAULT);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__EXPERT:
-				unsetExpert();
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__HIDDEN:
-				unsetHidden();
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__PREFERRED:
-				unsetPreferred();
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__MERGE_INTROSPECTION:
-				setMergeIntrospection(MERGE_INTROSPECTION_EDEFAULT);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES_EXPLICIT:
-				setAttributesExplicit(ATTRIBUTES_EXPLICIT_EDEFAULT);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES:
-				getAttributes().clear();
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case BeaninfoPackage.PARAMETER_DECORATOR__PARAMETER:
-				setParameter((JavaParameter)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.PARAMETER_DECORATOR__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case BeaninfoPackage.PARAMETER_DECORATOR__SOURCE:
-				return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
-			case BeaninfoPackage.PARAMETER_DECORATOR__DETAILS:
-				return details != null && !details.isEmpty();
-			case BeaninfoPackage.PARAMETER_DECORATOR__EMODEL_ELEMENT:
-				return getEModelElement() != null;
-			case BeaninfoPackage.PARAMETER_DECORATOR__CONTENTS:
-				return contents != null && !contents.isEmpty();
-			case BeaninfoPackage.PARAMETER_DECORATOR__REFERENCES:
-				return references != null && !references.isEmpty();
-			case BeaninfoPackage.PARAMETER_DECORATOR__DISPLAY_NAME:
-				return isSetDisplayName();
-			case BeaninfoPackage.PARAMETER_DECORATOR__SHORT_DESCRIPTION:
-				return isSetShortDescription();
-			case BeaninfoPackage.PARAMETER_DECORATOR__CATEGORY:
-				return CATEGORY_EDEFAULT == null ? category != null : !CATEGORY_EDEFAULT.equals(category);
-			case BeaninfoPackage.PARAMETER_DECORATOR__EXPERT:
-				return isSetExpert();
-			case BeaninfoPackage.PARAMETER_DECORATOR__HIDDEN:
-				return isSetHidden();
-			case BeaninfoPackage.PARAMETER_DECORATOR__PREFERRED:
-				return isSetPreferred();
-			case BeaninfoPackage.PARAMETER_DECORATOR__MERGE_INTROSPECTION:
-				return mergeIntrospection != MERGE_INTROSPECTION_EDEFAULT;
-			case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES_EXPLICIT:
-				return attributesExplicit != ATTRIBUTES_EXPLICIT_EDEFAULT;
-			case BeaninfoPackage.PARAMETER_DECORATOR__ATTRIBUTES:
-				return attributes != null && !attributes.isEmpty();
-			case BeaninfoPackage.PARAMETER_DECORATOR__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case BeaninfoPackage.PARAMETER_DECORATOR__PARAMETER:
-				return parameter != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/PropertyDecoratorImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/PropertyDecoratorImpl.java
deleted file mode 100644
index 1a73de3..0000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/PropertyDecoratorImpl.java
+++ /dev/null
@@ -1,1005 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: PropertyDecoratorImpl.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:00 $ 
- */
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.PropertyDecorator;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoProxyConstants;
-import org.eclipse.jem.internal.beaninfo.adapters.Utilities;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-import org.eclipse.jem.internal.proxy.core.IBooleanBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IMethodProxy;
-import org.eclipse.jem.internal.proxy.core.ThrowableProxy;
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Property Decorator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#isBound <em>Bound</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#isConstrained <em>Constrained</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#isDesignTime <em>Design Time</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#isAlwaysIncompatible <em>Always Incompatible</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#getFilterFlags <em>Filter Flags</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#getPropertyEditorClass <em>Property Editor Class</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#getReadMethod <em>Read Method</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.beaninfo.impl.PropertyDecoratorImpl#getWriteMethod <em>Write Method</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class PropertyDecoratorImpl extends FeatureDecoratorImpl implements PropertyDecorator{
-
-	/**
-	 * The default value of the '{@link #isBound() <em>Bound</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isBound()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean BOUND_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isBound() <em>Bound</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isBound()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean bound = BOUND_EDEFAULT;
-
-	/**
-	 * This is true if the Bound attribute has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean boundESet = false;
-
-	/**
-	 * The default value of the '{@link #isConstrained() <em>Constrained</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isConstrained()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean CONSTRAINED_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isConstrained() <em>Constrained</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isConstrained()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean constrained = CONSTRAINED_EDEFAULT;
-
-	/**
-	 * This is true if the Constrained attribute has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean constrainedESet = false;
-
-	/**
-	 * The default value of the '{@link #isDesignTime() <em>Design Time</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDesignTime()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean DESIGN_TIME_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isDesignTime() <em>Design Time</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDesignTime()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean designTime = DESIGN_TIME_EDEFAULT;
-
-	/**
-	 * This is true if the Design Time attribute has been set.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean designTimeESet = false;
-
-	/**
-	 * The default value of the '{@link #isAlwaysIncompatible() <em>Always Incompatible</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isAlwaysIncompatible()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean ALWAYS_INCOMPATIBLE_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isAlwaysIncompatible() <em>Always Incompatible</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isAlwaysIncompatible()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean alwaysIncompatible = ALWAYS_INCOMPATIBLE_EDEFAULT;
-
-	// getting read/write methods are expensive, and they are called very often in parsing, so we will cache them
-	private Method cachedReadMethod, cachedWriteMethod;
-	boolean retrievedReadMethod, retrievedWriteMethod;
-		
-	/**
-	 * The cached value of the '{@link #getFilterFlags() <em>Filter Flags</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFilterFlags()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList filterFlags = null;
-	/**
-	 * The cached value of the '{@link #getPropertyEditorClass() <em>Property Editor Class</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPropertyEditorClass()
-	 * @generated
-	 * @ordered
-	 */
-	protected JavaClass propertyEditorClass = null;
-	/**
-	 * The cached value of the '{@link #getReadMethod() <em>Read Method</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getReadMethod()
-	 * @generated
-	 * @ordered
-	 */
-	protected Method readMethod = null;
-	/**
-	 * The cached value of the '{@link #getWriteMethod() <em>Write Method</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getWriteMethod()
-	 * @generated
-	 * @ordered
-	 */
-	protected Method writeMethod = null;
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */	
-	protected PropertyDecoratorImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return BeaninfoPackage.eINSTANCE.getPropertyDecorator();
-	}
-
-	public boolean isBound() {
-		if (!isSetBound()) {
-			if (validProxy(fFeatureProxy)) {
-				try {
-					return ((IBooleanBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIsBoundProxy().invoke(fFeatureProxy)).booleanValue();
-				} catch (ThrowableProxy e) {
-				}
-			} else
-				if (fFeatureDecoratorProxy != null)
-					return ((PropertyDecorator) fFeatureDecoratorProxy).isBound();
-		}
-					
-		return this.isBoundGen();
-	}
-	public boolean isConstrained() {
-		if (!isSetConstrained()) {
-			if (validProxy(fFeatureProxy)) {
-				try {
-					return ((IBooleanBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIsConstrainedProxy().invoke(fFeatureProxy)).booleanValue();
-				} catch (ThrowableProxy e) {
-				}
-			} else
-				if (fFeatureDecoratorProxy != null)
-					return ((PropertyDecorator) fFeatureDecoratorProxy).isConstrained();
-		}
-									
-		return this.isConstrainedGen();
-	}
-	public boolean isDesignTime() {
-		if (validProxy(fFeatureProxy) && !this.isSetDesignTimeGen()) {
-			getAttributes();	// This will cause the isDesignTime flag to be set if found.
-			return isDesignTimeProxy;	// Return the value
-		}
-		
-		return this.isDesignTimeGen();
-	}
-	public boolean isSetDesignTime() {
-		if (validProxy(fFeatureProxy) && !this.isSetDesignTimeGen()) {
-			getAttributes();	// This will cause the isDesignTime flag to be set if found.
-			return setIsDesignTimeProxy;	// Return whether set or not.
-		}
-		
-		return this.isSetDesignTimeGen();
-	}
-	public JavaClass getPropertyEditorClass() {
-		if (validProxy(fFeatureProxy) && !this.eIsSet(BeaninfoPackage.eINSTANCE.getPropertyDecorator_PropertyEditorClass()))
-			try {
-				return (JavaClass) Utilities.getJavaClass((IBeanTypeProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getPropertyEditorClassProxy().invoke(fFeatureProxy),  getEModelElement().eResource().getResourceSet());
-			} catch (ThrowableProxy e) {
-			};
-					
-		return this.getPropertyEditorClassGen();
-	}
-	
-	public Method getReadMethod() {
-		if (validProxy(fFeatureProxy) && !this.eIsSet(BeaninfoPackage.eINSTANCE.getPropertyDecorator_ReadMethod())) {
-			if (validProxy(fFeatureProxy)) {
-				if (!retrievedReadMethod) {
-					try {
-						cachedReadMethod = Utilities.getMethod((IMethodProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getReadMethodProxy().invoke(fFeatureProxy),  getEModelElement().eResource().getResourceSet());
-						retrievedReadMethod = true;
-					} catch (ThrowableProxy e) {
-					}
-				}
-				return cachedReadMethod;
-			} else
-				if (fFeatureDecoratorProxy != null)
-					return ((PropertyDecorator) fFeatureDecoratorProxy).getReadMethod();
-		}
-									
-		return this.getReadMethodGen();
-	}
-	public Method getWriteMethod() {
-		if (validProxy(fFeatureProxy) && !this.eIsSet(BeaninfoPackage.eINSTANCE.getPropertyDecorator_WriteMethod())) {
-			if (validProxy(fFeatureProxy)) {
-				if (!retrievedWriteMethod) {
-					try {
-						cachedWriteMethod = Utilities.getMethod((IMethodProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getWriteMethodProxy().invoke(fFeatureProxy),  getEModelElement().eResource().getResourceSet());
-						retrievedWriteMethod = true;
-					} catch (ThrowableProxy e) {
-					}
-				}
-				return cachedWriteMethod;
-			} else
-				if (fFeatureDecoratorProxy != null)
-					return	((PropertyDecorator) fFeatureDecoratorProxy).getWriteMethod();
-		}
-									
-		return this.getWriteMethodGen();
-	}
-	
-	public EClassifier getPropertyType() {
-		EStructuralFeature feature = (EStructuralFeature) getEModelElement();
-		return (feature != null) ? feature.getEType() : null;
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isBoundGen() {
-		return bound;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setBound(boolean newBound) {
-		boolean oldBound = bound;
-		bound = newBound;
-		boolean oldBoundESet = boundESet;
-		boundESet = true;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__BOUND, oldBound, bound, !oldBoundESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetBound() {
-		boolean oldBound = bound;
-		boolean oldBoundESet = boundESet;
-		bound = BOUND_EDEFAULT;
-		boundESet = false;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.PROPERTY_DECORATOR__BOUND, oldBound, BOUND_EDEFAULT, oldBoundESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetBound() {
-		return boundESet;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isConstrainedGen() {
-		return constrained;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setConstrained(boolean newConstrained) {
-		boolean oldConstrained = constrained;
-		constrained = newConstrained;
-		boolean oldConstrainedESet = constrainedESet;
-		constrainedESet = true;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__CONSTRAINED, oldConstrained, constrained, !oldConstrainedESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetConstrained() {
-		boolean oldConstrained = constrained;
-		boolean oldConstrainedESet = constrainedESet;
-		constrained = CONSTRAINED_EDEFAULT;
-		constrainedESet = false;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.PROPERTY_DECORATOR__CONSTRAINED, oldConstrained, CONSTRAINED_EDEFAULT, oldConstrainedESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetConstrained() {
-		return constrainedESet;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isDesignTimeGen() {
-		return designTime;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDesignTime(boolean newDesignTime) {
-		boolean oldDesignTime = designTime;
-		designTime = newDesignTime;
-		boolean oldDesignTimeESet = designTimeESet;
-		designTimeESet = true;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__DESIGN_TIME, oldDesignTime, designTime, !oldDesignTimeESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void unsetDesignTime() {
-		boolean oldDesignTime = designTime;
-		boolean oldDesignTimeESet = designTimeESet;
-		designTime = DESIGN_TIME_EDEFAULT;
-		designTimeESet = false;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.PROPERTY_DECORATOR__DESIGN_TIME, oldDesignTime, DESIGN_TIME_EDEFAULT, oldDesignTimeESet));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetDesignTimeGen() {
-		return designTimeESet;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isAlwaysIncompatible() {
-		return alwaysIncompatible;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setAlwaysIncompatible(boolean newAlwaysIncompatible) {
-		boolean oldAlwaysIncompatible = alwaysIncompatible;
-		alwaysIncompatible = newAlwaysIncompatible;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE, oldAlwaysIncompatible, alwaysIncompatible));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getFilterFlags() {
-		if (filterFlags == null) {
-			filterFlags = new EDataTypeUniqueEList(String.class, this, BeaninfoPackage.PROPERTY_DECORATOR__FILTER_FLAGS);
-		}
-		return filterFlags;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPropertyEditorClass(JavaClass newPropertyEditorClass) {
-		JavaClass oldPropertyEditorClass = propertyEditorClass;
-		propertyEditorClass = newPropertyEditorClass;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS, oldPropertyEditorClass, propertyEditorClass));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setReadMethod(Method newReadMethod) {
-		Method oldReadMethod = readMethod;
-		readMethod = newReadMethod;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__READ_METHOD, oldReadMethod, readMethod));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setWriteMethod(Method newWriteMethod) {
-		Method oldWriteMethod = writeMethod;
-		writeMethod = newWriteMethod;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.PROPERTY_DECORATOR__WRITE_METHOD, oldWriteMethod, writeMethod));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (bound: ");
-		if (boundESet) result.append(bound); else result.append("<unset>");
-		result.append(", constrained: ");
-		if (constrainedESet) result.append(constrained); else result.append("<unset>");
-		result.append(", designTime: ");
-		if (designTimeESet) result.append(designTime); else result.append("<unset>");
-		result.append(", alwaysIncompatible: ");
-		result.append(alwaysIncompatible);
-		result.append(", filterFlags: ");
-		result.append(filterFlags);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaClass getPropertyEditorClassGen() {
-		if (propertyEditorClass != null && propertyEditorClass.eIsProxy()) {
-			JavaClass oldPropertyEditorClass = propertyEditorClass;
-			propertyEditorClass = (JavaClass)eResolveProxy((InternalEObject)propertyEditorClass);
-			if (propertyEditorClass != oldPropertyEditorClass) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS, oldPropertyEditorClass, propertyEditorClass));
-			}
-		}
-		return propertyEditorClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaClass basicGetPropertyEditorClass() {
-		return propertyEditorClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Method getReadMethodGen() {
-		if (readMethod != null && readMethod.eIsProxy()) {
-			Method oldReadMethod = readMethod;
-			readMethod = (Method)eResolveProxy((InternalEObject)readMethod);
-			if (readMethod != oldReadMethod) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.PROPERTY_DECORATOR__READ_METHOD, oldReadMethod, readMethod));
-			}
-		}
-		return readMethod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Method basicGetReadMethod() {
-		return readMethod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Method getWriteMethodGen() {
-		if (writeMethod != null && writeMethod.eIsProxy()) {
-			Method oldWriteMethod = writeMethod;
-			writeMethod = (Method)eResolveProxy((InternalEObject)writeMethod);
-			if (writeMethod != oldWriteMethod) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BeaninfoPackage.PROPERTY_DECORATOR__WRITE_METHOD, oldWriteMethod, writeMethod));
-			}
-		}
-		return writeMethod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Method basicGetWriteMethod() {
-		return writeMethod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.PROPERTY_DECORATOR__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case BeaninfoPackage.PROPERTY_DECORATOR__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.PROPERTY_DECORATOR__DETAILS:
-					return ((InternalEList)getDetails()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT:
-					return eBasicSetContainer(null, BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT, msgs);
-				case BeaninfoPackage.PROPERTY_DECORATOR__CONTENTS:
-					return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
-				case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES:
-					return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.PROPERTY_DECORATOR__EANNOTATIONS:
-				return getEAnnotations();
-			case BeaninfoPackage.PROPERTY_DECORATOR__SOURCE:
-				return getSource();
-			case BeaninfoPackage.PROPERTY_DECORATOR__DETAILS:
-				return getDetails();
-			case BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT:
-				return getEModelElement();
-			case BeaninfoPackage.PROPERTY_DECORATOR__CONTENTS:
-				return getContents();
-			case BeaninfoPackage.PROPERTY_DECORATOR__REFERENCES:
-				return getReferences();
-			case BeaninfoPackage.PROPERTY_DECORATOR__DISPLAY_NAME:
-				return getDisplayName();
-			case BeaninfoPackage.PROPERTY_DECORATOR__SHORT_DESCRIPTION:
-				return getShortDescription();
-			case BeaninfoPackage.PROPERTY_DECORATOR__CATEGORY:
-				return getCategory();
-			case BeaninfoPackage.PROPERTY_DECORATOR__EXPERT:
-				return isExpert() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.PROPERTY_DECORATOR__HIDDEN:
-				return isHidden() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.PROPERTY_DECORATOR__PREFERRED:
-				return isPreferred() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.PROPERTY_DECORATOR__MERGE_INTROSPECTION:
-				return isMergeIntrospection() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT:
-				return isAttributesExplicit() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES:
-				return getAttributes();
-			case BeaninfoPackage.PROPERTY_DECORATOR__BOUND:
-				return isBound() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.PROPERTY_DECORATOR__CONSTRAINED:
-				return isConstrained() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.PROPERTY_DECORATOR__DESIGN_TIME:
-				return isDesignTime() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
-				return isAlwaysIncompatible() ? Boolean.TRUE : Boolean.FALSE;
-			case BeaninfoPackage.PROPERTY_DECORATOR__FILTER_FLAGS:
-				return getFilterFlags();
-			case BeaninfoPackage.PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
-				if (resolve) return getPropertyEditorClass();
-				return basicGetPropertyEditorClass();
-			case BeaninfoPackage.PROPERTY_DECORATOR__READ_METHOD:
-				if (resolve) return getReadMethod();
-				return basicGetReadMethod();
-			case BeaninfoPackage.PROPERTY_DECORATOR__WRITE_METHOD:
-				if (resolve) return getWriteMethod();
-				return basicGetWriteMethod();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.PROPERTY_DECORATOR__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__SOURCE:
-				setSource((String)newValue);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__DETAILS:
-				getDetails().clear();
-				getDetails().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT:
-				setEModelElement((EModelElement)newValue);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__CONTENTS:
-				getContents().clear();
-				getContents().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__REFERENCES:
-				getReferences().clear();
-				getReferences().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__DISPLAY_NAME:
-				setDisplayName((String)newValue);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__SHORT_DESCRIPTION:
-				setShortDescription((String)newValue);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__CATEGORY:
-				setCategory((String)newValue);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__EXPERT:
-				setExpert(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__HIDDEN:
-				setHidden(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__PREFERRED:
-				setPreferred(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__MERGE_INTROSPECTION:
-				setMergeIntrospection(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT:
-				setAttributesExplicit(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES:
-				getAttributes().clear();
-				getAttributes().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__BOUND:
-				setBound(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__CONSTRAINED:
-				setConstrained(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__DESIGN_TIME:
-				setDesignTime(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
-				setAlwaysIncompatible(((Boolean)newValue).booleanValue());
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__FILTER_FLAGS:
-				getFilterFlags().clear();
-				getFilterFlags().addAll((Collection)newValue);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
-				setPropertyEditorClass((JavaClass)newValue);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__READ_METHOD:
-				setReadMethod((Method)newValue);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__WRITE_METHOD:
-				setWriteMethod((Method)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.PROPERTY_DECORATOR__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__SOURCE:
-				setSource(SOURCE_EDEFAULT);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__DETAILS:
-				getDetails().clear();
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT:
-				setEModelElement((EModelElement)null);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__CONTENTS:
-				getContents().clear();
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__REFERENCES:
-				getReferences().clear();
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__DISPLAY_NAME:
-				unsetDisplayName();
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__SHORT_DESCRIPTION:
-				unsetShortDescription();
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__CATEGORY:
-				setCategory(CATEGORY_EDEFAULT);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__EXPERT:
-				unsetExpert();
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__HIDDEN:
-				unsetHidden();
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__PREFERRED:
-				unsetPreferred();
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__MERGE_INTROSPECTION:
-				setMergeIntrospection(MERGE_INTROSPECTION_EDEFAULT);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT:
-				setAttributesExplicit(ATTRIBUTES_EXPLICIT_EDEFAULT);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES:
-				getAttributes().clear();
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__BOUND:
-				unsetBound();
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__CONSTRAINED:
-				unsetConstrained();
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__DESIGN_TIME:
-				unsetDesignTime();
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
-				setAlwaysIncompatible(ALWAYS_INCOMPATIBLE_EDEFAULT);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__FILTER_FLAGS:
-				getFilterFlags().clear();
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
-				setPropertyEditorClass((JavaClass)null);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__READ_METHOD:
-				setReadMethod((Method)null);
-				return;
-			case BeaninfoPackage.PROPERTY_DECORATOR__WRITE_METHOD:
-				setWriteMethod((Method)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case BeaninfoPackage.PROPERTY_DECORATOR__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case BeaninfoPackage.PROPERTY_DECORATOR__SOURCE:
-				return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
-			case BeaninfoPackage.PROPERTY_DECORATOR__DETAILS:
-				return details != null && !details.isEmpty();
-			case BeaninfoPackage.PROPERTY_DECORATOR__EMODEL_ELEMENT:
-				return getEModelElement() != null;
-			case BeaninfoPackage.PROPERTY_DECORATOR__CONTENTS:
-				return contents != null && !contents.isEmpty();
-			case BeaninfoPackage.PROPERTY_DECORATOR__REFERENCES:
-				return references != null && !references.isEmpty();
-			case BeaninfoPackage.PROPERTY_DECORATOR__DISPLAY_NAME:
-				return isSetDisplayName();
-			case BeaninfoPackage.PROPERTY_DECORATOR__SHORT_DESCRIPTION:
-				return isSetShortDescription();
-			case BeaninfoPackage.PROPERTY_DECORATOR__CATEGORY:
-				return CATEGORY_EDEFAULT == null ? category != null : !CATEGORY_EDEFAULT.equals(category);
-			case BeaninfoPackage.PROPERTY_DECORATOR__EXPERT:
-				return isSetExpert();
-			case BeaninfoPackage.PROPERTY_DECORATOR__HIDDEN:
-				return isSetHidden();
-			case BeaninfoPackage.PROPERTY_DECORATOR__PREFERRED:
-				return isSetPreferred();
-			case BeaninfoPackage.PROPERTY_DECORATOR__MERGE_INTROSPECTION:
-				return mergeIntrospection != MERGE_INTROSPECTION_EDEFAULT;
-			case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT:
-				return attributesExplicit != ATTRIBUTES_EXPLICIT_EDEFAULT;
-			case BeaninfoPackage.PROPERTY_DECORATOR__ATTRIBUTES:
-				return attributes != null && !attributes.isEmpty();
-			case BeaninfoPackage.PROPERTY_DECORATOR__BOUND:
-				return isSetBound();
-			case BeaninfoPackage.PROPERTY_DECORATOR__CONSTRAINED:
-				return isSetConstrained();
-			case BeaninfoPackage.PROPERTY_DECORATOR__DESIGN_TIME:
-				return isSetDesignTime();
-			case BeaninfoPackage.PROPERTY_DECORATOR__ALWAYS_INCOMPATIBLE:
-				return alwaysIncompatible != ALWAYS_INCOMPATIBLE_EDEFAULT;
-			case BeaninfoPackage.PROPERTY_DECORATOR__FILTER_FLAGS:
-				return filterFlags != null && !filterFlags.isEmpty();
-			case BeaninfoPackage.PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS:
-				return propertyEditorClass != null;
-			case BeaninfoPackage.PROPERTY_DECORATOR__READ_METHOD:
-				return readMethod != null;
-			case BeaninfoPackage.PROPERTY_DECORATOR__WRITE_METHOD:
-				return writeMethod != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#setDescriptorProxy(IBeanProxy)
-	 */
-	public void setDescriptorProxy(IBeanProxy descriptor) {
-		super.setDescriptorProxy(descriptor);
-		clearCache();
-		
-	}
-	
-	private void clearCache() {
-		if (retrievedReadMethod) {
-			retrievedReadMethod = false;
-			cachedReadMethod = null;
-		}
-		if (retrievedWriteMethod) {
-			retrievedWriteMethod = false;
-			cachedWriteMethod = null;
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/build.properties b/plugins/org.eclipse.jem.beaninfo/build.properties
deleted file mode 100644
index f1b4ce1..0000000
--- a/plugins/org.eclipse.jem.beaninfo/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-src.excludes = **/.cvsignore
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               beaninfo.jar,\
-               vm/beaninfovm.jar,\
-               about.html,\
-               .options
-jars.compile.order = vm/beaninfovm.jar,\
-                     beaninfo.jar
-src.includes = about.html,\
-               model/,\
-               rose/,\
-               proxy.jars
-source.beaninfo.jar = beaninfo/
-source.vm/beaninfovm.jar = vm_beaninfovm/
diff --git a/plugins/org.eclipse.jem.beaninfo/model/beaninfo.ecore b/plugins/org.eclipse.jem.beaninfo/model/beaninfo.ecore
deleted file mode 100644
index d37daec..0000000
--- a/plugins/org.eclipse.jem.beaninfo/model/beaninfo.ecore
+++ /dev/null
@@ -1,187 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<ecore:EPackage xmi:version="2.0"
-  xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="beaninfo"
-    nsURI="http:///org/eclipse/jem/internal/beaninfo/beaninfo.ecore" nsPrefix="org.eclipse.jem.internal.beaninfo.beaninfo">
-  <eClassifiers xsi:type="ecore:EClass" name="FeatureDecorator" eSuperTypes="../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//EAnnotation">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Equivalent to FeatureDescriptor in java."/>
-    </eAnnotations>
-    <eOperations name="getName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
-        unsettable="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="shortDescription" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
-        unsettable="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="expert" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        unsettable="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="hidden" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        unsettable="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="preferred" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        unsettable="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mergeIntrospection" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        defaultValueLiteral="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Should the introspection results be merged into this decorator. If this is set to false, then the introspection results are ignored for this particular decorator. This is an internal feature simply to allow desired override capabilities."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="attributesExplicit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The attributes are explicitly set and not retrieved from the beaninfo."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
-        eType="#//FeatureAttributeMapEntry" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="FeatureAttributeValue">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="ecore:EClass ../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//EObject"
-        unsettable="true" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="This is the value as an EObject. This is used to return typically the IJavaInstance representing the value."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueJava" eType="ecore:EDataType ../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//EJavaObject"
-        transient="true" unsettable="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="This is where the value is just a java object. Not an EObject. Sometimes it is easier to have this instead. This attribute is transient and won't be serialized."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueProxy" eType="ecore:EDataType ../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//EJavaObject"
-        transient="true" unsettable="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="This is the proxy of the value from a BeanInfo on the remote vm. It is typed to EJavaObject because we don't want to prereq the java instanctiation stuff. It is transient."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="BeanDecorator" eSuperTypes="#//FeatureDecorator">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mergeSuperProperties" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        defaultValueLiteral="true" unsettable="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Should the properties of super types be merged when asking for eAllAttributes/eAllReferences."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mergeSuperBehaviors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        defaultValueLiteral="true" unsettable="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Should the behaviors of super types be merged when asking for eAllBehaviors."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mergeSuperEvents" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        defaultValueLiteral="true" unsettable="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Should the events of super types be merged when asking for eAllEvents."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="introspectProperties" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        defaultValueLiteral="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Should the properties from the introspection be added to the class. This allows properties to not be introspected and to use only what is defined explicitly in the JavaClass xmi file."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="introspectBehaviors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        defaultValueLiteral="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Should the behaviors from the introspection be added to the class. This allows behaviors to not be introspected and to use only what is defined explicitly in the JavaClass xmi file."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="introspectEvents" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        defaultValueLiteral="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Should the events from the introspection be added to the class. This allows events to not be introspected and to use only what is defined explicitly in the JavaClass xmi file."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="doBeaninfo" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        defaultValueLiteral="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="This means do we go and get the beaninfo from the remote vm. If false, then it will not try to get the beaninfo. This doesn't prevent introspection through reflection. That is controled by the separate introspect... attributes."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="customizerClass" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//JavaClass"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="EventSetDecorator" eSuperTypes="#//FeatureDecorator">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="inDefaultEventSet" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        unsettable="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="unicast" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        unsettable="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="listenerMethodsExplicit"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If the listenerMethods feature is explicitly set, ie. not through the event set descriptor proxy, then this flag must be set true. If it is true, then the listenerMethods will not be brought over from the descriptor proxy, nor will default ones be created if there aren't any specified."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="addListenerMethod" lowerBound="1"
-        eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//Method"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="listenerMethods" lowerBound="1"
-        upperBound="-1" eType="#//MethodProxy" containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="listenerType" lowerBound="1"
-        eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//JavaClass"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="removeListenerMethod" lowerBound="1"
-        eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//Method"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="MethodDecorator" eSuperTypes="#//FeatureDecorator">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="parmsExplicit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If the parameterDescriptors feature is explicitly set, ie. not through the method descriptor proxy, then this flag must be set true. If it is true, then the parameterDescriptors will not be brought over from the descriptor proxy, nor will default ones be created if there aren't any specified."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="parameterDescriptors" upperBound="-1"
-        eType="#//ParameterDecorator" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ParameterDecorator" eSuperTypes="#//FeatureDecorator">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The name is explicit here because unlike the other feature decorators, the name does not come from the object being decorated."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//JavaParameter"
-        transient="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The JavaParameter that this ParameterDecorator is decorating. Can't use eDecorates in this."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PropertyDecorator" eSuperTypes="#//FeatureDecorator">
-    <eOperations name="getPropertyType" eType="ecore:EClass ../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//EClassifier"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="bound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        unsettable="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="constrained" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        unsettable="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="designTime" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
-        unsettable="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If not set, then normal default processing.&#xD;&#xA;&#xD;&#xA;If set true, then this property is a design time property. This means it will show up in the property sheet, but it won't be able to be connected to at runtime. It may not even be a true bean property but instead the builder will know how to handle it.&#xD;&#xA;&#xD;&#xA;If set false, then this property will not show up on the property sheet, but will be able to be connected to for runtime."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="alwaysIncompatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If set true, then when multiple objects are selected, this property is always incompatible with each other. So in this case the property will not show up on the property sheet if more than one object has been selected."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="filterFlags" upperBound="-1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="propertyEditorClass" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//JavaClass"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="readMethod" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//Method"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="writeMethod" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//Method"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="IndexedPropertyDecorator" eSuperTypes="#//PropertyDecorator">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="indexedReadMethod" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//Method"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="indexedWriteMethod" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//Method"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="MethodProxy" eSuperTypes="../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//EOperation">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="This is just a wrapper of a java Method. It allows access to the method but doesn't duplicate the interface for it."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="method" lowerBound="1"
-        eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//Method"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="BeanEvent" eSuperTypes="../../org.eclipse.jem/model/java.ecore#//JavaEvent">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Event from Introspection/Reflection."/>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="FeatureAttributeMapEntry" instanceClassName="java.util.Map$Entry">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//FeatureAttributeValue"
-        containment="true"/>
-  </eClassifiers>
-</ecore:EPackage>
diff --git a/plugins/org.eclipse.jem.beaninfo/model/introspect.genmodel b/plugins/org.eclipse.jem.beaninfo/model/introspect.genmodel
deleted file mode 100644
index 9d22a89..0000000
--- a/plugins/org.eclipse.jem.beaninfo/model/introspect.genmodel
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<genmodel:GenModel xmi:version="2.0"
-  xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
-  xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.jem.beaninfo/beaninfo"
-    editDirectory="/org.eclipse.jem.beaninfo.edit/src" editorDirectory="/org.eclipse.jem.beaninfo.editor/src"
-    modelPluginID="" modelName="Beaninfo" editPluginClass="org.eclipse.jem.internal.beaninfo.provider.BeaninfoEditPlugin"
-    editorPluginClass="org.eclipse.jem.internal.beaninfo.presentation.BeaninfoEditorPlugin"
-    updateClasspath="false" usedGenPackages="../../org.eclipse.emf.ecore/src/model/Ecore.genmodel#//ecore ../../org.eclipse.jem/model/javaModel.genmodel#//java">
-  <foreignModel>..\rose\introspect.mdl</foreignModel>
-  <foreignModel>WorkspaceRoot</foreignModel>
-  <foreignModel>../..</foreignModel>
-  <genPackages prefix="Beaninfo" basePackage="org.eclipse.jem.internal" adapterFactory="false"
-      ecorePackage="beaninfo.ecore#/">
-    <genClasses ecoreClass="beaninfo.ecore#//FeatureDecorator">
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/displayName"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/shortDescription"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/category"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/expert"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/hidden"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/preferred"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/mergeIntrospection"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureDecorator/attributesExplicit"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference beaninfo.ecore#//FeatureDecorator/attributes"/>
-      <genOperations ecoreOperation="beaninfo.ecore#//FeatureDecorator/getName"/>
-    </genClasses>
-    <genClasses ecoreClass="beaninfo.ecore#//FeatureAttributeValue">
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference beaninfo.ecore#//FeatureAttributeValue/value"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureAttributeValue/valueJava"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureAttributeValue/valueProxy"/>
-    </genClasses>
-    <genClasses ecoreClass="beaninfo.ecore#//BeanDecorator">
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/mergeSuperProperties"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/mergeSuperBehaviors"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/mergeSuperEvents"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/introspectProperties"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/introspectBehaviors"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/introspectEvents"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//BeanDecorator/doBeaninfo"/>
-      <genFeatures ecoreFeature="ecore:EReference beaninfo.ecore#//BeanDecorator/customizerClass"/>
-    </genClasses>
-    <genClasses ecoreClass="beaninfo.ecore#//EventSetDecorator">
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//EventSetDecorator/inDefaultEventSet"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//EventSetDecorator/unicast"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//EventSetDecorator/listenerMethodsExplicit"/>
-      <genFeatures ecoreFeature="ecore:EReference beaninfo.ecore#//EventSetDecorator/addListenerMethod"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference beaninfo.ecore#//EventSetDecorator/listenerMethods"/>
-      <genFeatures ecoreFeature="ecore:EReference beaninfo.ecore#//EventSetDecorator/listenerType"/>
-      <genFeatures ecoreFeature="ecore:EReference beaninfo.ecore#//EventSetDecorator/removeListenerMethod"/>
-    </genClasses>
-    <genClasses ecoreClass="beaninfo.ecore#//MethodDecorator">
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//MethodDecorator/parmsExplicit"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference beaninfo.ecore#//MethodDecorator/parameterDescriptors"/>
-    </genClasses>
-    <genClasses ecoreClass="beaninfo.ecore#//ParameterDecorator">
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//ParameterDecorator/name"/>
-      <genFeatures ecoreFeature="ecore:EReference beaninfo.ecore#//ParameterDecorator/parameter"/>
-    </genClasses>
-    <genClasses ecoreClass="beaninfo.ecore#//PropertyDecorator">
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//PropertyDecorator/bound"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//PropertyDecorator/constrained"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//PropertyDecorator/designTime"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//PropertyDecorator/alwaysIncompatible"/>
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//PropertyDecorator/filterFlags"/>
-      <genFeatures ecoreFeature="ecore:EReference beaninfo.ecore#//PropertyDecorator/propertyEditorClass"/>
-      <genFeatures ecoreFeature="ecore:EReference beaninfo.ecore#//PropertyDecorator/readMethod"/>
-      <genFeatures ecoreFeature="ecore:EReference beaninfo.ecore#//PropertyDecorator/writeMethod"/>
-      <genOperations ecoreOperation="beaninfo.ecore#//PropertyDecorator/getPropertyType"/>
-    </genClasses>
-    <genClasses ecoreClass="beaninfo.ecore#//IndexedPropertyDecorator">
-      <genFeatures ecoreFeature="ecore:EReference beaninfo.ecore#//IndexedPropertyDecorator/indexedReadMethod"/>
-      <genFeatures ecoreFeature="ecore:EReference beaninfo.ecore#//IndexedPropertyDecorator/indexedWriteMethod"/>
-    </genClasses>
-    <genClasses ecoreClass="beaninfo.ecore#//MethodProxy">
-      <genFeatures ecoreFeature="ecore:EReference beaninfo.ecore#//MethodProxy/method"/>
-    </genClasses>
-    <genClasses ecoreClass="beaninfo.ecore#//BeanEvent"/>
-    <genClasses ecoreClass="beaninfo.ecore#//FeatureAttributeMapEntry">
-      <genFeatures ecoreFeature="ecore:EAttribute beaninfo.ecore#//FeatureAttributeMapEntry/key"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference beaninfo.ecore#//FeatureAttributeMapEntry/value"/>
-    </genClasses>
-  </genPackages>
-</genmodel:GenModel>
diff --git a/plugins/org.eclipse.jem.beaninfo/plugin.properties b/plugins/org.eclipse.jem.beaninfo/plugin.properties
deleted file mode 100644
index bbcf62c..0000000
--- a/plugins/org.eclipse.jem.beaninfo/plugin.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.beaninfo/plugin.properties,v $
-# $Revision: 1.2 $  $Date: 2004/02/14 18:36:32 $
-#
-
-
-pluginName=Java EMF Model BeanInfo (Introspection) Support
-providerName = Eclipse.org
-beaninfoNatureName=Java Model BeanInfo Nature
-
-INTROSPECT_FAILED_EXC_ = Introspection failed on class "{0}." msg="{1}."
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/plugin.xml b/plugins/org.eclipse.jem.beaninfo/plugin.xml
deleted file mode 100644
index e39d3a1..0000000
--- a/plugins/org.eclipse.jem.beaninfo/plugin.xml
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.jem.beaninfo"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.jem.internal.beaninfo.adapters.BeaninfoPlugin">
-
-   <runtime>
-      <library name="beaninfo.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.jem.internal.beaninfo"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.jem.proxy"/>
-      <import plugin="com.ibm.etools.emf.event"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.apache.xerces"/>
-      <import plugin="org.eclipse.jem.workbench"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.jdt.launching"/>
-      <import plugin="org.eclipse.emf.ecore"/>
-      <import plugin="org.eclipse.jem"/>
-      <import plugin="org.eclipse.emf.ecore.xmi"/>
-      <import plugin="com.ibm.wtp.common.util"/>
-      <import plugin="com.ibm.wtp.emf.workbench"/>
-      <import plugin="org.eclipse.osgi"/>
-      
-   </requires>
-
-
-<!-- This extension point is for registering beaninfos based on classpath variable paths.
-        Format is:
-        <extension point="org.eclipse.jem..beaninfo.registrations">
-          <variable path="avariablename" (or path="avariablename/something.jar")
-               contributor="classname of an IConfigurationContributor">
-            <beaninfos>
-              <beaninfo kind="plugin" path="/apluginid/something.jar">
-                <searchpath package="com.sun.corba.se.internal.ior"/>
-                <searchpath package="org.eclipse.jem.beaninfo.testing.infos.project"/>
-              </beaninfo>
-              <searchpath package="com.sun.corba.se.internal.ior"/>
-            </beaninfos>
-          </variable>
-        </extension>
-        
-        If it is of type "avariablename", then this info will be used for all variable classpath entries
-        that start with this variable. This allows several bean class jars that are subpaths
-        of a variable to share the same beaninfo information.
-        
-        If it is of type "avariablename/...", then this info will be used only for this particular
-        path.
-        
-        If contributor is set, then using standard IExecutableExtension protocol, the contributor will
-        instantiated and will be able to contribute to the remote vm. It needs to implement
-        org.eclipse.jem.internal.proxy.core.IConfigurationContributor and can implement org.eclipse.core.runtime.IExecutableExtension
-        if it needs parameters or to be called with the standard extension initialize information.
-        
-        There can be more than one for the same path, they will be concatenated together. Probably
-        shouldn't do this in the same plugin, but it allows multiple plugins to contribute beaninfos
-        to the same variable path. Though the final order is indeterminate since it is the order
-        the extension points are processed.
-        
-        The <beaninfo> refer to the classes location that contains the beaninfo classes themselves
-        to use with this variable path. There can be more than one. The <searchpath> within these are
-        the searchpaths to use (in the order given) for that beaninfo class location.
-        
-        The <searchpath> not under a <beaninfo> are for when the beaninfo classes are located in the 
-        jar the variable path points to. The jar in the variable path is in the actual project's
-        classpath and buildpath. So in this the beaninfo classes are there too. This allows the packages
-        to be added to the searchpath. -->
-   <extension-point id="registrations" name="Registration of pre-defined beaninfos"/>
-<!-- This extension point is registering beaninfo override xmi files. This documents will be used
-        to pre-populate the beaninfos. Then they can say that the beaninfos from the remove vm
-        are to merge into these beaninfos, or they can actually turn off introspection on the 
-        remote vm on a per-class basis. The format is:
-        
-        <extension point="org.eclipse.jem.beaninfo.overrides">
-          <override package="java" path="xyz/java"/>
-          <override package="java.awt" path="xyzq/java/awt"/>          
-        </extension>
-        
-        The package is matched on package for a class, and if it matches, it will take the
-        path and append the non-matched portion of the package and class name and attach ".xmi" and see if that file exists. If it does, then that file is
-        loaded with the overrides. It will search through all of the extensions with matching
-        packages and applies them all. The order is indeterminate so the individual ones should
-        not rely on ones from a different extension being applied first.
-        
-        A match is if the package of the class starts with a package from the overrides. For example,
-        "java.awt.Component" will match overrides "java" and "java.awt". It will not match "java.a".
-        It needs to match on a package fragment boundary (i.e. on the parts seperated by a period).
-        
-        So in the above example, if the class is java.awt.Component it will look for a file
-        named "xyz/java/awt/Component.xmi". It will also match the second one, so it will also
-        look for "yyzq/java/awt/Component.xmi".
-        
-        This allows you to have one directory for the lowest common part of your package names,
-        and they would all be found in subdirectories of this.
-        
-        There is a special package mapping, called "..ROOT..". This is used to override java.lang.Object and
-        any interface. It will use the ..ROOT...xmi file in the path, and it will apply the specified overrides
-        to the java.lang.Object or the interface. This is used to apply a common consistent set of features
-        to the root objects (Object and Interfaces are all root objects, i.e. there is no super type of these).
-        In the diff file, to reference the root object in question, use notifier="#..ROOT..". An example extension point would be:
-        
-        <extension point="org.eclipse.jem.beaninfo.overrides">
-          <override package="..ROOT.." path="platform:/plugin/myplugin/overrides"/>
-        </extension>
-        
-        So in this case it will look for the file "platform:/plugin/myplugin/overrides/..ROOT...xmi".
-        
-        Since these can be in plugin directories, the path
-        can use the "platform:/plugin/.../" format or it 
-        can use the EMF URI Mapping extension point to access files within a plugin.
-        -->
-   <extension-point id="overrides" name="Registration of beaninfo override documents"/>
-
-   <extension
-         id="BeanInfoNature"
-         name="%beaninfoNatureName"
-         point="org.eclipse.core.resources.natures">
-      <runtime>
-         <run
-               class="org.eclipse.jem.internal.beaninfo.adapters.BeaninfoNature">
-         </run>
-      </runtime>
-   </extension>
-   <extension
-         point="org.eclipse.emf.ecore.generated_package">
-      <package
-            uri="http:///org/eclipse/jem/internal/beaninfo.ecore"
-            class="org.eclipse.jem.internal.beaninfo.BeaninfoPackage">
-      </package>
-   </extension>
-   <extension
-         point="org.eclipse.team.core.fileTypes">
-      <fileTypes
-            type="text"
-            extension="beaninfoConfig">
-      </fileTypes>
-      <fileTypes
-            type="text"
-            extension="override">
-      </fileTypes>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jem.beaninfo/proxy.jars b/plugins/org.eclipse.jem.beaninfo/proxy.jars
deleted file mode 100644
index 4c1578f..0000000
--- a/plugins/org.eclipse.jem.beaninfo/proxy.jars
+++ /dev/null
@@ -1 +0,0 @@
-vm/beaninfovm.jar=/org.eclipse.jem.beaninfo/bin/
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/rose/.cvsignore b/plugins/org.eclipse.jem.beaninfo/rose/.cvsignore
deleted file mode 100644
index 1be3a37..0000000
--- a/plugins/org.eclipse.jem.beaninfo/rose/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.md~
-*.ca~
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/rose/beaninfo.cat b/plugins/org.eclipse.jem.beaninfo/rose/beaninfo.cat
deleted file mode 100644
index a08f515..0000000
--- a/plugins/org.eclipse.jem.beaninfo/rose/beaninfo.cat
+++ /dev/null
@@ -1,2798 +0,0 @@
-
-(object Petal
-    version    	47
-    _written   	"Rose 8.0.0303.1400"
-    charSet    	0)
-
-(object Class_Category "beaninfo"
-    is_unit    	TRUE
-    is_loaded  	TRUE
-    attributes 	(list Attribute_Set
-	(object Attribute
-	    tool       	"Ecore"
-	    name       	"basePackage"
-	    value      	(value Text "org.eclipse.jem.internal.beaninfo")))
-    quid       	"3A799ABB0353"
-    exportControl 	"Public"
-    logical_models 	(list unit_reference_list
-	(object Class "FeatureDecorator"
-	    quid       	"3A799B3E01E9"
-	    documentation 	"Equivalent to FeatureDescriptor in java."
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3DFA185900DC"
-		    supplier   	"Logical View::ecore::EAnnotation"
-		    quidu      	"3D98A1C701AB"))
-	    operations 	(list Operations
-		(object Operation "getName"
-		    quid       	"3B867D0D0184"
-		    result     	"String"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "displayName"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"3A79CFCC0131"
-		    type       	"String"
-		    exportControl 	"Public")
-		(object ClassAttribute "shortDescription"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"3A79CFD501E8"
-		    type       	"String"
-		    exportControl 	"Public")
-		(object ClassAttribute "category"
-		    attributes 	(list Attribute_Set)
-		    quid       	"3BA2797102DC"
-		    type       	"String"
-		    exportControl 	"Public")
-		(object ClassAttribute "expert"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"3A79CFE700FE"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "hidden"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"3A79D0050328"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "preferred"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"3A79D0240318"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "mergeIntrospection"
-		    quid       	"3A82C0A60389"
-		    documentation 	"Should the introspection results be merged into this decorator. If this is set to false, then the introspection results are ignored for this particular decorator. This is an internal feature simply to allow desired override capabilities."
-		    type       	"boolean"
-		    initv      	"true")
-		(object ClassAttribute "attributesExplicit"
-		    quid       	"3C9B49320265"
-		    documentation 	"The attributes are explicitly set and not retrieved from the beaninfo."
-		    type       	"boolean")))
-	(object Class "FeatureAttributeValue"
-	    quid       	"3A799B700295"
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "value"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"3A79CE9D038E"
-		    documentation 	"This is the value as an EObject. This is used to return typically the IJavaInstance representing the value."
-		    type       	"EObject"
-		    quidu      	"3C4F1C860123"
-		    exportControl 	"Public")
-		(object ClassAttribute "valueJava"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isTransient"
-			    value      	TRUE)
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"404CC90D031C"
-		    documentation 	"This is where the value is just a java object. Not an EObject. Sometimes it is easier to have this instead. This attribute is transient and won't be serialized."
-		    type       	"EJavaObject"
-		    quidu      	"3ACDF8200182"
-		    exportControl 	"Public")
-		(object ClassAttribute "valueProxy"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isTransient"
-			    value      	TRUE)
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"3C9A488D019C"
-		    documentation 	"This is the proxy of the value from a BeanInfo on the remote vm. It is typed to EJavaObject because we don't want to prereq the java instanctiation stuff. It is transient."
-		    type       	"EJavaObject"
-		    quidu      	"3ACDF8200182"
-		    exportControl 	"Public")))
-	(object Class "BeanDecorator"
-	    quid       	"3A79D0DF02D1"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3A79DE8E007F"
-		    supplier   	"Logical View::beaninfo::FeatureDecorator"
-		    quidu      	"3A799B3E01E9"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "mergeSuperProperties"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"3A82B73E0200"
-		    documentation 	"Should the properties of super types be merged when asking for eAllAttributes/eAllReferences."
-		    type       	"boolean"
-		    initv      	"true")
-		(object ClassAttribute "mergeSuperBehaviors"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"3A82B9940015"
-		    documentation 	"Should the behaviors of super types be merged when asking for eAllBehaviors."
-		    type       	"boolean"
-		    initv      	"true")
-		(object ClassAttribute "mergeSuperEvents"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"3A82B99F0165"
-		    documentation 	"Should the events of super types be merged when asking for eAllEvents."
-		    type       	"boolean"
-		    initv      	"true")
-		(object ClassAttribute "introspectProperties"
-		    quid       	"3A8427EC00A6"
-		    documentation 	"Should the properties from the introspection be added to the class. This allows properties to not be introspected and to use only what is defined explicitly in the JavaClass xmi file."
-		    type       	"boolean"
-		    initv      	"true")
-		(object ClassAttribute "introspectBehaviors"
-		    quid       	"3A84287501B1"
-		    documentation 	"Should the behaviors from the introspection be added to the class. This allows behaviors to not be introspected and to use only what is defined explicitly in the JavaClass xmi file."
-		    type       	"boolean"
-		    initv      	"true")
-		(object ClassAttribute "introspectEvents"
-		    quid       	"3A842877000F"
-		    documentation 	"Should the events from the introspection be added to the class. This allows events to not be introspected and to use only what is defined explicitly in the JavaClass xmi file."
-		    type       	"boolean"
-		    initv      	"true")
-		(object ClassAttribute "doBeaninfo"
-		    quid       	"3C9A46FC027C"
-		    documentation 	"This means do we go and get the beaninfo from the remote vm. If false, then it will not try to get the beaninfo. This doesn't prevent introspection through reflection. That is controled by the separate introspect... attributes."
-		    type       	"boolean"
-		    initv      	"true")))
-	(object Class "EventSetDecorator"
-	    quid       	"3A79D1D2004F"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3A79DEA200EC"
-		    supplier   	"Logical View::beaninfo::FeatureDecorator"
-		    quidu      	"3A799B3E01E9"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "inDefaultEventSet"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"3A79D94F004C"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "unicast"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"3A79D9580167"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "listenerMethodsExplicit"
-		    quid       	"3CB1AF7D0286"
-		    documentation 	"If the listenerMethods feature is explicitly set, ie. not through the event set descriptor proxy, then this flag must be set true. If it is true, then the listenerMethods will not be brought over from the descriptor proxy, nor will default ones be created if there aren't any specified."
-		    type       	"boolean")))
-	(object Class "MethodDecorator"
-	    quid       	"3A79D35E0027"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3A79DEA603E1"
-		    supplier   	"Logical View::beaninfo::FeatureDecorator"
-		    quidu      	"3A799B3E01E9"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "parmsExplicit"
-		    quid       	"3B86ABE80092"
-		    documentation 	"If the parameterDescriptors feature is explicitly set, ie. not through the method descriptor proxy, then this flag must be set true. If it is true, then the parameterDescriptors will not be brought over from the descriptor proxy, nor will default ones be created if there aren't any specified."
-		    type       	"boolean")))
-	(object Class "ParameterDecorator"
-	    quid       	"3A79D9C20304"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3A79DEBB01C4"
-		    supplier   	"Logical View::beaninfo::FeatureDecorator"
-		    quidu      	"3A799B3E01E9"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "name"
-		    quid       	"3B86A6700099"
-		    documentation 	"The name is explicit here because unlike the other feature decorators, the name does not come from the object being decorated."
-		    type       	"String"
-		    exportControl 	"Public")))
-	(object Class "PropertyDecorator"
-	    quid       	"3A79DA68010E"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3A79DE9702BD"
-		    supplier   	"Logical View::beaninfo::FeatureDecorator"
-		    quidu      	"3A799B3E01E9"))
-	    operations 	(list Operations
-		(object Operation "getPropertyType"
-		    quid       	"3B8CF526039D"
-		    result     	"EClassifier"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3ACE4FEE0371"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "bound"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"3A79DC250303"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "constrained"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"3A79DC2C00A0"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "designTime"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isUnsettable"
-			    value      	TRUE))
-		    quid       	"3BA27455019B"
-		    documentation 	
-|If not set, then normal default processing.
-|
-|If set true, then this property is a design time property. This means it will show up in the property sheet, but it won't be able to be connected to at runtime. It may not even be a true bean property but instead the builder will know how to handle it.
-|
-|If set false, then this property will not show up on the property sheet, but will be able to be connected to for runtime.
-		    
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "alwaysIncompatible"
-		    quid       	"3BA27A1700BE"
-		    documentation 	"If set true, then when multiple objects are selected, this property is always incompatible with each other. So in this case the property will not show up on the property sheet if more than one object has been selected."
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "filterFlags"
-		    quid       	"3BA3B18F0036"
-		    stereotype 	"0..*"
-		    type       	"String"
-		    exportControl 	"Public")))
-	(object Class "IndexedPropertyDecorator"
-	    quid       	"3A79DC450309"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3A79DE840388"
-		    supplier   	"Logical View::beaninfo::PropertyDecorator"
-		    quidu      	"3A79DA68010E")))
-	(object Class "MethodProxy"
-	    quid       	"3A8984C901C3"
-	    documentation 	"This is just a wrapper of a java Method. It allows access to the method but doesn't duplicate the interface for it."
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3DFA19B600DE"
-		    supplier   	"Logical View::ecore::EOperation"
-		    quidu      	"3904DAA200A0")))
-	(object Class "BeanEvent"
-	    quid       	"3CB09CA90212"
-	    documentation 	"Event from Introspection/Reflection."
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3CB09CB6038D"
-		    supplier   	"Logical View::java::JavaEvent"
-		    quidu      	"3C62FAF103C8")))
-	(object Class "FeatureAttributeMapEntry"
-	    quid       	"404CC85501F5"
-	    stereotype 	"MapEntry"
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "key"
-		    quid       	"404CC8B70304"
-		    type       	"String"
-		    exportControl 	"Public")))
-	(object Association "$UNNAMED$0"
-	    quid       	"3A79CF6C0378"
-	    roles      	(list role_list
-		(object Role "attributes"
-		    attributes 	(list Attribute_Set)
-		    quid       	"3A79CF6E00BE"
-		    label      	"attributes"
-		    supplier   	"Logical View::beaninfo::FeatureAttributeMapEntry"
-		    quidu      	"404CC85501F5"
-		    client_cardinality 	(value cardinality "0..n")
-		    Containment 	"By Value"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$1"
-		    quid       	"3A79CF6E00C8"
-		    supplier   	"Logical View::beaninfo::FeatureDecorator"
-		    quidu      	"3A799B3E01E9"
-		    is_aggregate 	TRUE)))
-	(object Association "$UNNAMED$2"
-	    quid       	"3A79D1350248"
-	    roles      	(list role_list
-		(object Role "customizerClass"
-		    attributes 	(list Attribute_Set)
-		    quid       	"3A79D13601D2"
-		    label      	"customizerClass"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "0..1")
-		    Containment 	"By Reference"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$3"
-		    quid       	"3A79D13601E6"
-		    supplier   	"Logical View::beaninfo::BeanDecorator"
-		    quidu      	"3A79D0DF02D1")))
-	(object Association "$UNNAMED$4"
-	    quid       	"3A79D3080128"
-	    roles      	(list role_list
-		(object Role "addListenerMethod"
-		    quid       	"3A79D3090346"
-		    label      	"addListenerMethod"
-		    supplier   	"Logical View::java::Method"
-		    quidu      	"3654AE910271"
-		    client_cardinality 	(value cardinality "1")
-		    Containment 	"By Reference"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$5"
-		    quid       	"3A79D309035A"
-		    supplier   	"Logical View::beaninfo::EventSetDecorator"
-		    quidu      	"3A79D1D2004F")))
-	(object Association "$UNNAMED$6"
-	    quid       	"3A79D3E10364"
-	    roles      	(list role_list
-		(object Role "listenerMethods"
-		    quid       	"3A79D3E6007D"
-		    label      	"listenerMethods"
-		    supplier   	"Logical View::beaninfo::MethodProxy"
-		    quidu      	"3A8984C901C3"
-		    client_cardinality 	(value cardinality "1..n")
-		    Containment 	"By Value"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$7"
-		    quid       	"3A79D3E60091"
-		    supplier   	"Logical View::beaninfo::EventSetDecorator"
-		    quidu      	"3A79D1D2004F"
-		    is_aggregate 	TRUE)))
-	(object Association "$UNNAMED$8"
-	    quid       	"3A79D4A80158"
-	    roles      	(list role_list
-		(object Role "listenerType"
-		    quid       	"3A79D4AA038B"
-		    label      	"listenerType"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "1")
-		    Containment 	"By Reference"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$9"
-		    quid       	"3A79D4AA03B4"
-		    supplier   	"Logical View::beaninfo::EventSetDecorator"
-		    quidu      	"3A79D1D2004F")))
-	(object Association "$UNNAMED$10"
-	    quid       	"3A79D4DF020B"
-	    roles      	(list role_list
-		(object Role "removeListenerMethod"
-		    quid       	"3A79D4E10395"
-		    label      	"removeListenerMethod"
-		    supplier   	"Logical View::java::Method"
-		    quidu      	"3654AE910271"
-		    client_cardinality 	(value cardinality "1")
-		    Containment 	"By Reference"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$11"
-		    quid       	"3A79D4E103A9"
-		    supplier   	"Logical View::beaninfo::EventSetDecorator"
-		    quidu      	"3A79D1D2004F")))
-	(object Association "$UNNAMED$12"
-	    quid       	"3A79DA1A02F7"
-	    roles      	(list role_list
-		(object Role "parameterDescriptors"
-		    quid       	"3A79DA1C0231"
-		    label      	"parameterDescriptors"
-		    supplier   	"Logical View::beaninfo::ParameterDecorator"
-		    quidu      	"3A79D9C20304"
-		    client_cardinality 	(value cardinality "0..n")
-		    Containment 	"By Value"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$13"
-		    quid       	"3A79DA1C0232"
-		    supplier   	"Logical View::beaninfo::MethodDecorator"
-		    quidu      	"3A79D35E0027"
-		    is_aggregate 	TRUE)))
-	(object Association "$UNNAMED$14"
-	    quid       	"3A79DB0B0339"
-	    roles      	(list role_list
-		(object Role "propertyEditorClass"
-		    quid       	"3A79DB0E013F"
-		    label      	"propertyEditorClass"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "0..1")
-		    Containment 	"By Reference"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$15"
-		    quid       	"3A79DB0E0171"
-		    supplier   	"Logical View::beaninfo::PropertyDecorator"
-		    quidu      	"3A79DA68010E")))
-	(object Association "$UNNAMED$16"
-	    quid       	"3A79DBBD0000"
-	    roles      	(list role_list
-		(object Role "readMethod"
-		    quid       	"3A79DBBF0071"
-		    label      	"readMethod"
-		    supplier   	"Logical View::java::Method"
-		    quidu      	"3654AE910271"
-		    client_cardinality 	(value cardinality "0..1")
-		    Containment 	"By Reference"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$17"
-		    quid       	"3A79DBBF0085"
-		    supplier   	"Logical View::beaninfo::PropertyDecorator"
-		    quidu      	"3A79DA68010E")))
-	(object Association "$UNNAMED$18"
-	    quid       	"3A79DBDF02D0"
-	    roles      	(list role_list
-		(object Role "writeMethod"
-		    quid       	"3A79DBE101F7"
-		    label      	"writeMethod"
-		    supplier   	"Logical View::java::Method"
-		    quidu      	"3654AE910271"
-		    client_cardinality 	(value cardinality "0..1")
-		    Containment 	"By Reference"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$19"
-		    quid       	"3A79DBE1020B"
-		    supplier   	"Logical View::beaninfo::PropertyDecorator"
-		    quidu      	"3A79DA68010E")))
-	(object Association "$UNNAMED$20"
-	    quid       	"3A79DE34036F"
-	    roles      	(list role_list
-		(object Role "indexedReadMethod"
-		    quid       	"3A79DE3503CA"
-		    label      	"indexedReadMethod"
-		    supplier   	"Logical View::java::Method"
-		    quidu      	"3654AE910271"
-		    client_cardinality 	(value cardinality "0..1")
-		    Containment 	"By Reference"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$21"
-		    quid       	"3A79DE3503DE"
-		    supplier   	"Logical View::beaninfo::IndexedPropertyDecorator"
-		    quidu      	"3A79DC450309")))
-	(object Association "$UNNAMED$22"
-	    quid       	"3A79DE540180"
-	    roles      	(list role_list
-		(object Role "indexedWriteMethod"
-		    quid       	"3A79DE5503D0"
-		    label      	"indexedWriteMethod"
-		    supplier   	"Logical View::java::Method"
-		    quidu      	"3654AE910271"
-		    client_cardinality 	(value cardinality "0..1")
-		    Containment 	"By Reference"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$23"
-		    quid       	"3A79DE5503E4"
-		    supplier   	"Logical View::beaninfo::IndexedPropertyDecorator"
-		    quidu      	"3A79DC450309")))
-	(object Association "$UNNAMED$24"
-	    quid       	"3A89865B01D5"
-	    roles      	(list role_list
-		(object Role "method"
-		    quid       	"3A89865C01AE"
-		    label      	"method"
-		    supplier   	"Logical View::java::Method"
-		    quidu      	"3654AE910271"
-		    client_cardinality 	(value cardinality "1")
-		    Containment 	"By Reference"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$25"
-		    quid       	"3A89865C01CC"
-		    supplier   	"Logical View::beaninfo::MethodProxy"
-		    quidu      	"3A8984C901C3")))
-	(object Association "$UNNAMED$26"
-	    quid       	"3C9A6EDD02C2"
-	    roles      	(list role_list
-		(object Role "parameter"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isTransient"
-			    value      	TRUE))
-		    quid       	"3C9A6EDE01FB"
-		    documentation 	"The JavaParameter that this ParameterDecorator is decorating. Can't use eDecorates in this."
-		    label      	"parameter"
-		    supplier   	"Logical View::java::JavaParameter"
-		    quidu      	"3654AD780280"
-		    client_cardinality 	(value cardinality "0..1")
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$27"
-		    quid       	"3C9A6EDE0205"
-		    supplier   	"Logical View::beaninfo::ParameterDecorator"
-		    quidu      	"3A79D9C20304")))
-	(object Association "$UNNAMED$28"
-	    quid       	"404CCA810280"
-	    roles      	(list role_list
-		(object Role "value"
-		    quid       	"404CCA830175"
-		    label      	"value"
-		    supplier   	"Logical View::beaninfo::FeatureAttributeValue"
-		    quidu      	"3A799B700295"
-		    client_cardinality 	(value cardinality "0..1")
-		    Containment 	"By Value"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$29"
-		    quid       	"404CCA83017F"
-		    supplier   	"Logical View::beaninfo::FeatureAttributeMapEntry"
-		    quidu      	"404CC85501F5"
-		    is_aggregate 	TRUE))))
-    logical_presentations 	(list unit_reference_list
-	(object ClassDiagram "Main"
-	    quid       	"3A799AC8038E"
-	    title      	"Main"
-	    zoom       	100
-	    max_height 	28350
-	    max_width  	21600
-	    origin_x   	4140
-	    origin_y   	0
-	    items      	(list diagram_item_list
-		(object ClassView "Class" "Logical View::beaninfo::FeatureDecorator" @1
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    ShowOperationSignature 	TRUE
-		    location   	(1072, 640)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@1
-			location   	(740, 387)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	664
-			justify    	0
-			label      	"FeatureDecorator")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3A799B3E01E9"
-		    compartment 	(object Compartment
-			Parent_View 	@1
-			location   	(740, 443)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	10
-			max_width  	660)
-		    width      	682
-		    height     	528
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object NoteView @2
-		    location   	(2208, 1648)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@2
-			location   	(2013, 1559)
-			fill_color 	13434879
-			nlines     	4
-			max_width  	355
-			label      	"ListenerMethods will be decorated with MethodDecorators.")
-		    line_color 	3342489
-		    fill_color 	13434879
-		    width      	415
-		    height     	190)
-		(object InheritTreeView "" @3
-		    location   	(1072, 998)
-		    line_color 	3342489
-		    fill_color 	13434879
-		    supplier   	@1
-		    vertices   	(list Points
-			(1072, 998)
-			(1072, 904)))
-		(object NoteView @4
-		    location   	(2912, 2352)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@4
-			location   	(2624, 2166)
-			fill_color 	13434879
-			nlines     	8
-			max_width  	540
-			label      	
-|MethodProxies will be in the eBehaviors setting for any methods that are in the JavaClass methods setting so that they are not duplicated.
-|
-|MethodProxies would also have MethodDecorators.
-			)
-		    line_color 	3342489
-		    fill_color 	13434879
-		    width      	600
-		    height     	385)
-		(object ClassView "Class" "Logical View::beaninfo::BeanDecorator" @5
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(400, 1456)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@5
-			location   	(34, 1226)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	732
-			justify    	0
-			label      	"BeanDecorator")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3A79D0DF02D1"
-		    compartment 	(object Compartment
-			Parent_View 	@5
-			location   	(34, 1282)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	8
-			max_width  	730)
-		    width      	750
-		    height     	482
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @6
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79DE8E007F"
-		    client     	@5
-		    supplier   	@1
-		    line_style 	3
-		    origin_attachment 	(375, 1214)
-		    terminal_attachment 	(375, 998)
-		    drawSupplier 	@3)
-		(object ClassView "Class" "Logical View::beaninfo::PropertyDecorator" @7
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    ShowOperationSignature 	TRUE
-		    location   	(1088, 1360)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@7
-			location   	(794, 1175)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	588
-			justify    	0
-			label      	"PropertyDecorator")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3A79DA68010E"
-		    compartment 	(object Compartment
-			Parent_View 	@7
-			location   	(794, 1231)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	7
-			max_width  	585)
-		    width      	606
-		    height     	392
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @8
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79DE9702BD"
-		    client     	@7
-		    supplier   	@1
-		    line_style 	3
-		    origin_attachment 	(1076, 1163)
-		    terminal_attachment 	(1076, 998)
-		    drawSupplier 	@3)
-		(object ClassView "Class" "Logical View::beaninfo::IndexedPropertyDecorator" @9
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(864, 2288)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@9
-			location   	(626, 2219)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	477
-			justify    	0
-			label      	"IndexedPropertyDecorator")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3A79DC450309"
-		    width      	495
-		    height     	160
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @10
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79DE840388"
-		    client     	@9
-		    supplier   	@7
-		    line_style 	0)
-		(object ClassView "Class" "Logical View::java::JavaClass" @11
-		    ShowCompartmentStereotypes 	TRUE
-		    SuppressAttribute 	TRUE
-		    location   	(304, 1936)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@11
-			location   	(193, 1867)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	222
-			justify    	0
-			label      	"JavaClass")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	16776960
-		    quidu      	"36549FCC00FA"
-		    width      	240
-		    height     	160
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AssociationViewNew "$UNNAMED$2" @12
-		    location   	(335, 1776)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79D1350248"
-		    roleview_list 	(list RoleViews
-			(object RoleView "customizerClass" @13
-			    Parent_View 	@12
-			    location   	(95, 880)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @14
-				Parent_View 	@13
-				location   	(329, 1826)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	328
-				justify    	0
-				label      	"+customizerClass"
-				pctDist    	0.631674
-				height     	4
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79D13601D2"
-			    client     	@12
-			    supplier   	@11
-			    line_style 	0
-			    label      	(object SegLabel @15
-				Parent_View 	@13
-				location   	(342, 1801)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..1"
-				pctDist    	0.284188
-				height     	12
-				orientation 	0))
-			(object RoleView "$UNNAMED$3" @16
-			    Parent_View 	@12
-			    location   	(95, 880)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79D13601E6"
-			    client     	@12
-			    supplier   	@5
-			    line_style 	0)))
-		(object AssociationViewNew "$UNNAMED$14" @17
-		    location   	(616, 1705)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79DB0B0339"
-		    roleview_list 	(list RoleViews
-			(object RoleView "propertyEditorClass" @18
-			    Parent_View 	@17
-			    location   	(-152, 809)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @19
-				Parent_View 	@18
-				location   	(597, 1751)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	372
-				justify    	0
-				label      	"+propertyEditorClass"
-				pctDist    	0.166430
-				height     	26
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79DB0E013F"
-			    client     	@17
-			    supplier   	@11
-			    line_style 	0
-			    label      	(object SegLabel @20
-				Parent_View 	@18
-				location   	(789, 1733)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..1"
-				pctDist    	-0.490182
-				height     	126
-				orientation 	0))
-			(object RoleView "$UNNAMED$15" @21
-			    Parent_View 	@17
-			    location   	(-152, 809)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79DB0E0171"
-			    client     	@17
-			    supplier   	@7
-			    line_style 	0)))
-		(object ClassView "Class" "Logical View::java::Method" @22
-		    ShowCompartmentStereotypes 	TRUE
-		    SuppressAttribute 	TRUE
-		    location   	(1664, 2096)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@22
-			location   	(1581, 2027)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	166
-			justify    	0
-			label      	"Method")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	16776960
-		    quidu      	"3654AE910271"
-		    width      	184
-		    height     	160
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AssociationViewNew "$UNNAMED$16" @23
-		    location   	(1040, 1975)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79DBBD0000"
-		    roleview_list 	(list RoleViews
-			(object RoleView "readMethod" @24
-			    Parent_View 	@23
-			    location   	(272, 1079)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @25
-				Parent_View 	@24
-				location   	(1335, 2039)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	234
-				justify    	0
-				label      	"+readMethod"
-				pctDist    	0.553714
-				height     	7
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79DBBF0071"
-			    client     	@23
-			    supplier   	@22
-			    line_style 	0
-			    label      	(object SegLabel @26
-				Parent_View 	@24
-				location   	(1490, 2135)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..1"
-				pctDist    	0.873365
-				height     	72
-				orientation 	1))
-			(object RoleView "$UNNAMED$17" @27
-			    Parent_View 	@23
-			    location   	(272, 1079)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79DBBF0085"
-			    client     	@23
-			    supplier   	@7
-			    vertices   	(list Points
-				(1040, 1975)
-				(911, 1950)
-				(1027, 1556))
-			    line_style 	0)))
-		(object AssociationViewNew "$UNNAMED$18" @28
-		    location   	(1036, 2107)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79DBDF02D0"
-		    roleview_list 	(list RoleViews
-			(object RoleView "writeMethod" @29
-			    Parent_View 	@28
-			    location   	(268, 1211)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @30
-				Parent_View 	@29
-				location   	(1336, 2090)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	234
-				justify    	0
-				label      	"+writeMethod"
-				pctDist    	0.560930
-				height     	12
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79DBE101F7"
-			    client     	@28
-			    supplier   	@22
-			    line_style 	0
-			    label      	(object SegLabel @31
-				Parent_View 	@29
-				location   	(1517, 2056)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..1"
-				pctDist    	0.901632
-				height     	43
-				orientation 	0))
-			(object RoleView "$UNNAMED$19" @32
-			    Parent_View 	@28
-			    location   	(268, 1211)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79DBE1020B"
-			    client     	@28
-			    supplier   	@7
-			    vertices   	(list Points
-				(1036, 2107)
-				(976, 2108)
-				(1058, 1556))
-			    line_style 	0)))
-		(object AssociationViewNew "$UNNAMED$20" @33
-		    location   	(1316, 2288)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79DE34036F"
-		    roleview_list 	(list RoleViews
-			(object RoleView "indexedReadMethod" @34
-			    Parent_View 	@33
-			    location   	(564, 400)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @35
-				Parent_View 	@34
-				location   	(1428, 2270)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	404
-				justify    	0
-				label      	"+indexedReadMethod"
-				pctDist    	0.385248
-				height     	14
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79DE3503CA"
-			    client     	@33
-			    supplier   	@22
-			    vertices   	(list Points
-				(1316, 2288)
-				(1376, 2288)
-				(1571, 2157))
-			    line_style 	0
-			    label      	(object SegLabel @36
-				Parent_View 	@34
-				location   	(1246, 2237)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..1"
-				pctDist    	-0.240775
-				height     	52
-				orientation 	0))
-			(object RoleView "$UNNAMED$21" @37
-			    Parent_View 	@33
-			    location   	(564, 400)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79DE3503DE"
-			    client     	@33
-			    supplier   	@9
-			    line_style 	0)))
-		(object AssociationViewNew "$UNNAMED$22" @38
-		    location   	(1474, 2363)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79DE540180"
-		    roleview_list 	(list RoleViews
-			(object RoleView "indexedWriteMethod" @39
-			    Parent_View 	@38
-			    location   	(722, 475)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @40
-				Parent_View 	@39
-				location   	(1598, 2356)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	389
-				justify    	0
-				label      	"+indexedWriteMethod"
-				pctDist    	0.501177
-				height     	37
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79DE5503D0"
-			    client     	@38
-			    supplier   	@22
-			    vertices   	(list Points
-				(1474, 2363)
-				(1631, 2383)
-				(1654, 2176))
-			    line_style 	0
-			    label      	(object SegLabel @41
-				Parent_View 	@39
-				location   	(1640, 2293)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..1"
-				pctDist    	0.681972
-				height     	2
-				orientation 	0))
-			(object RoleView "$UNNAMED$23" @42
-			    Parent_View 	@38
-			    location   	(722, 475)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79DE5503E4"
-			    client     	@38
-			    supplier   	@9
-			    line_style 	0)))
-		(object ClassView "Class" "Logical View::beaninfo::EventSetDecorator" @43
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1760, 1344)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@43
-			location   	(1449, 1204)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	622
-			justify    	0
-			label      	"EventSetDecorator")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3A79D1D2004F"
-		    compartment 	(object Compartment
-			Parent_View 	@43
-			location   	(1449, 1260)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	4
-			max_width  	619)
-		    width      	640
-		    height     	302
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AssociationViewNew "$UNNAMED$8" @44
-		    location   	(1011, 1767)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79D4A80158"
-		    roleview_list 	(list RoleViews
-			(object RoleView "listenerType" @45
-			    Parent_View 	@44
-			    location   	(147, 871)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @46
-				Parent_View 	@45
-				location   	(618, 1892)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	239
-				justify    	0
-				label      	"+listenerType"
-				pctDist    	0.682265
-				height     	31
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79D4AA038B"
-			    client     	@44
-			    supplier   	@11
-			    line_style 	0
-			    label      	(object SegLabel @47
-				Parent_View 	@45
-				location   	(583, 1938)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"1"
-				pctDist    	0.756398
-				height     	68
-				orientation 	0))
-			(object RoleView "$UNNAMED$9" @48
-			    Parent_View 	@44
-			    location   	(147, 871)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79D4AA03B4"
-			    client     	@44
-			    supplier   	@43
-			    vertices   	(list Points
-				(1011, 1767)
-				(1215, 1718)
-				(1538, 1495))
-			    line_style 	0)))
-		(object AssociationViewNew "$UNNAMED$4" @49
-		    location   	(1434, 1727)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79D3080128"
-		    roleview_list 	(list RoleViews
-			(object RoleView "addListenerMethod" @50
-			    Parent_View 	@49
-			    location   	(570, 831)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @51
-				Parent_View 	@50
-				location   	(1386, 1903)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	365
-				justify    	0
-				label      	"+addListenerMethod"
-				pctDist    	0.369700
-				height     	134
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79D3090346"
-			    client     	@49
-			    supplier   	@22
-			    line_style 	0
-			    label      	(object SegLabel @52
-				Parent_View 	@50
-				location   	(1599, 1902)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"1"
-				pctDist    	0.694068
-				height     	48
-				orientation 	0))
-			(object RoleView "$UNNAMED$5" @53
-			    Parent_View 	@49
-			    location   	(570, 831)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79D309035A"
-			    client     	@49
-			    supplier   	@43
-			    vertices   	(list Points
-				(1434, 1727)
-				(1375, 1631)
-				(1555, 1495))
-			    line_style 	0)))
-		(object AssociationViewNew "$UNNAMED$10" @54
-		    location   	(1706, 1755)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79D4DF020B"
-		    roleview_list 	(list RoleViews
-			(object RoleView "removeListenerMethod" @55
-			    Parent_View 	@54
-			    location   	(842, 859)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @56
-				Parent_View 	@55
-				location   	(1690, 1762)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	428
-				justify    	0
-				label      	"+removeListenerMethod"
-				pctDist    	0.030878
-				height     	16
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79D4E10395"
-			    client     	@54
-			    supplier   	@22
-			    line_style 	0
-			    label      	(object SegLabel @57
-				Parent_View 	@55
-				location   	(1730, 1995)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"1"
-				pctDist    	0.900000
-				height     	54
-				orientation 	0))
-			(object RoleView "$UNNAMED$11" @58
-			    Parent_View 	@54
-			    location   	(842, 859)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79D4E103A9"
-			    client     	@54
-			    supplier   	@43
-			    line_style 	0)))
-		(object InheritView "" @59
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79DEA200EC"
-		    client     	@43
-		    supplier   	@1
-		    line_style 	3
-		    origin_attachment 	(1763, 1192)
-		    terminal_attachment 	(1763, 998)
-		    drawSupplier 	@3)
-		(object ClassView "Class" "Logical View::java::Method" @60
-		    ShowCompartmentStereotypes 	TRUE
-		    SuppressAttribute 	TRUE
-		    IncludeAttribute 	TRUE
-		    location   	(2320, 2704)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@60
-			location   	(2237, 2635)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	166
-			justify    	0
-			label      	"Method")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	16776960
-		    quidu      	"3654AE910271"
-		    width      	184
-		    height     	160
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::beaninfo::MethodProxy" @61
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(2368, 2320)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@61
-			location   	(2230, 2244)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	277
-			justify    	0
-			label      	"MethodProxy")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3A8984C901C3"
-		    width      	295
-		    height     	175
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AssociationViewNew "$UNNAMED$6" @62
-		    location   	(2083, 1863)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79D3E10364"
-		    roleview_list 	(list RoleViews
-			(object RoleView "listenerMethods" @63
-			    Parent_View 	@62
-			    location   	(1219, 967)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @64
-				Parent_View 	@63
-				location   	(2172, 2189)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	304
-				justify    	0
-				label      	"+listenerMethods"
-				pctDist    	0.742077
-				height     	98
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79D3E6007D"
-			    client     	@62
-			    supplier   	@61
-			    line_style 	0
-			    label      	(object SegLabel @65
-				Parent_View 	@63
-				location   	(2254, 2134)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"1..n"
-				pctDist    	0.732313
-				height     	2
-				orientation 	0))
-			(object RoleView "$UNNAMED$7" @66
-			    Parent_View 	@62
-			    location   	(1219, 967)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79D3E60091"
-			    client     	@62
-			    supplier   	@43
-			    line_style 	0)))
-		(object AttachView "" @67
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    client     	@2
-		    supplier   	@62
-		    line_style 	0)
-		(object AttachView "" @68
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    client     	@4
-		    supplier   	@61
-		    line_style 	0)
-		(object AssociationViewNew "$UNNAMED$24" @69
-		    location   	(2342, 2515)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A89865B01D5"
-		    roleview_list 	(list RoleViews
-			(object RoleView "method" @70
-			    Parent_View 	@69
-			    location   	(38, 595)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @71
-				Parent_View 	@70
-				location   	(2297, 2552)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	162
-				justify    	0
-				label      	"+method"
-				pctDist    	0.376068
-				height     	41
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A89865C01AE"
-			    client     	@69
-			    supplier   	@60
-			    line_style 	0
-			    label      	(object SegLabel @72
-				Parent_View 	@70
-				location   	(2384, 2618)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"1"
-				pctDist    	0.900000
-				height     	54
-				orientation 	0))
-			(object RoleView "$UNNAMED$25" @73
-			    Parent_View 	@69
-			    location   	(38, 595)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A89865C01CC"
-			    client     	@69
-			    supplier   	@61
-			    line_style 	0)))
-		(object NoteView @74
-		    location   	(3152, 832)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@74
-			location   	(2277, 708)
-			fill_color 	13434879
-			nlines     	5
-			max_width  	1715
-			label      	"value will be an IJavaObjectInstance. valueProxy will be a proxy. To access it as a proxy, the proxy plugin will need to be made a pre-req of the requester so that they can query info about it. Otherwise it can be ignored. Access should first be to the valueProxy (if set) because then it came from the beaninfo, or has been explicitly set. If that is not set, then see if value is set to get the IJavaObjectInstance. valueProxy has a higher priority.")
-		    line_color 	3342489
-		    fill_color 	13434879
-		    width      	1775
-		    height     	260)
-		(object ClassView "Class" "Logical View::beaninfo::MethodDecorator" @75
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(2352, 1312)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@75
-			location   	(2125, 1217)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	454
-			justify    	0
-			label      	"MethodDecorator")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3A79D35E0027"
-		    compartment 	(object Compartment
-			Parent_View 	@75
-			location   	(2125, 1273)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	2
-			max_width  	452)
-		    width      	472
-		    height     	212
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @76
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79DEA603E1"
-		    client     	@75
-		    supplier   	@1
-		    line_style 	3
-		    origin_attachment 	(2295, 1206)
-		    terminal_attachment 	(2295, 998)
-		    drawSupplier 	@3)
-		(object ClassView "Class" "Logical View::java::JavaParameter" @77
-		    ShowCompartmentStereotypes 	TRUE
-		    location   	(3664, 1600)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@77
-			location   	(3511, 1531)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	306
-			justify    	0
-			label      	"JavaParameter")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	16777088
-		    quidu      	"3654AD780280"
-		    width      	324
-		    height     	160
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::beaninfo::ParameterDecorator" @78
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(2912, 1600)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@78
-			location   	(2774, 1505)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	276
-			justify    	0
-			label      	"ParameterDecorator")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3A79D9C20304"
-		    compartment 	(object Compartment
-			Parent_View 	@78
-			location   	(2774, 1606)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	2
-			max_width  	277)
-		    width      	294
-		    height     	212
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AssociationViewNew "$UNNAMED$12" @79
-		    location   	(2636, 1525)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79DA1A02F7"
-		    roleview_list 	(list RoleViews
-			(object RoleView "parameterDescriptors" @80
-			    Parent_View 	@79
-			    location   	(1164, 629)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @81
-				Parent_View 	@80
-				location   	(2683, 1495)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	407
-				justify    	0
-				label      	"+parameterDescriptors"
-				pctDist    	0.277778
-				height     	41
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79DA1C0231"
-			    client     	@79
-			    supplier   	@78
-			    line_style 	0
-			    label      	(object SegLabel @82
-				Parent_View 	@80
-				location   	(2631, 1573)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.043631
-				height     	48
-				orientation 	1))
-			(object RoleView "$UNNAMED$13" @83
-			    Parent_View 	@79
-			    location   	(1164, 629)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79DA1C0232"
-			    client     	@79
-			    supplier   	@75
-			    vertices   	(list Points
-				(2636, 1525)
-				(2578, 1510)
-				(2473, 1418))
-			    line_style 	0)))
-		(object InheritView "" @84
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79DEBB01C4"
-		    client     	@78
-		    supplier   	@1
-		    line_style 	3
-		    origin_attachment 	(2876, 1493)
-		    terminal_attachment 	(2876, 998)
-		    drawSupplier 	@3)
-		(object AssociationViewNew "$UNNAMED$26" @85
-		    location   	(3280, 1600)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3C9A6EDD02C2"
-		    roleview_list 	(list RoleViews
-			(object RoleView "parameter" @86
-			    Parent_View 	@85
-			    location   	(368, 0)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @87
-				Parent_View 	@86
-				location   	(3365, 1560)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	215
-				justify    	0
-				label      	"+parameter"
-				pctDist    	0.386598
-				height     	41
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3C9A6EDE01FB"
-			    client     	@85
-			    supplier   	@77
-			    line_style 	0
-			    label      	(object SegLabel @88
-				Parent_View 	@86
-				location   	(3371, 1654)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..1"
-				pctDist    	0.412371
-				height     	54
-				orientation 	1))
-			(object RoleView "$UNNAMED$27" @89
-			    Parent_View 	@85
-			    location   	(368, 0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3C9A6EDE0205"
-			    client     	@85
-			    supplier   	@78
-			    line_style 	0)))
-		(object ClassView "Class" "Logical View::java::JavaEvent" @90
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1248, 2688)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	TRUE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@90
-			location   	(1140, 2616)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	216
-			justify    	0
-			label      	"JavaEvent")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	16777088
-		    quidu      	"3C62FAF103C8"
-		    width      	234
-		    height     	168
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::beaninfo::BeanEvent" @91
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1248, 2992)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@91
-			location   	(1110, 2946)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	276
-			justify    	0
-			label      	"BeanEvent")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3CB09CA90212"
-		    width      	294
-		    height     	114
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @92
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3CB09CB6038D"
-		    client     	@91
-		    supplier   	@90
-		    line_style 	0)
-		(object NoteView @93
-		    location   	(1872, 2944)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@93
-			location   	(1577, 2815)
-			fill_color 	13434879
-			nlines     	5
-			max_width  	555
-			label      	"The BeanEvent will be under the JavaClass' events and allEvents feature. Each BeanEvent will be decorated by an EventSetDecorator.")
-		    line_color 	3342489
-		    fill_color 	13434879
-		    width      	615
-		    height     	270)
-		(object AttachView "" @94
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    client     	@93
-		    supplier   	@91
-		    line_style 	0)
-		(object AttachView "" @95
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    client     	@93
-		    supplier   	@43
-		    vertices   	(list Points
-			(1890, 2808)
-			(1983, 2176)
-			(1799, 1495))
-		    line_style 	0)
-		(object ClassView "Class" "Logical View::ecore::EAnnotation" @96
-		    ShowCompartmentStereotypes 	TRUE
-		    location   	(1056, 128)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@96
-			location   	(907, 59)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	298
-			justify    	0
-			label      	"EAnnotation")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3D98A1C701AB"
-		    width      	316
-		    height     	160
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @97
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3DFA185900DC"
-		    client     	@1
-		    supplier   	@96
-		    line_style 	0)
-		(object ClassView "Class" "Logical View::ecore::EOperation" @98
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(2448, 1968)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@98
-			location   	(2325, 1899)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	246
-			justify    	0
-			label      	"EOperation")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3904DAA200A0"
-		    width      	264
-		    height     	160
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @99
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3DFA19B600DE"
-		    client     	@61
-		    supplier   	@98
-		    line_style 	0)
-		(object ClassView "Class" "Logical View::beaninfo::FeatureAttributeMapEntry" @100
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(2224, 320)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@100
-			location   	(1937, 267)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	574
-			justify    	0
-			label      	"FeatureAttributeMapEntry")
-		    stereotype 	(object ItemLabel
-			Parent_View 	@100
-			location   	(1937, 222)
-			fill_color 	13434879
-			anchor     	10
-			nlines     	1
-			max_width  	574
-			justify    	0
-			label      	"<<MapEntry>>")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"404CC85501F5"
-		    compartment 	(object Compartment
-			Parent_View 	@100
-			location   	(1937, 323)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	2
-			max_width  	240)
-		    width      	592
-		    height     	218
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AssociationViewNew "$UNNAMED$0" @101
-		    location   	(1670, 473)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A79CF6C0378"
-		    roleview_list 	(list RoleViews
-			(object RoleView "attributes" @102
-			    Parent_View 	@101
-			    location   	(614, 9)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @103
-				Parent_View 	@102
-				location   	(1771, 381)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	187
-				justify    	0
-				label      	"+attributes"
-				pctDist    	0.457012
-				height     	62
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79CF6E00BE"
-			    client     	@101
-			    supplier   	@100
-			    line_style 	0
-			    label      	(object SegLabel @104
-				Parent_View 	@102
-				location   	(1832, 474)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.584653
-				height     	45
-				orientation 	1))
-			(object RoleView "$UNNAMED$1" @105
-			    Parent_View 	@101
-			    location   	(614, 9)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3A79CF6E00C8"
-			    client     	@101
-			    supplier   	@1
-			    line_style 	0)))
-		(object ClassView "Class" "Logical View::beaninfo::FeatureAttributeValue" @106
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(3152, 320)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@106
-			location   	(2868, 202)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	568
-			justify    	0
-			label      	"FeatureAttributeValue")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3A799B700295"
-		    compartment 	(object Compartment
-			Parent_View 	@106
-			location   	(2868, 258)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	4
-			max_width  	487)
-		    width      	586
-		    height     	258
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AttachView "" @107
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    client     	@74
-		    supplier   	@106
-		    line_style 	0)
-		(object AssociationViewNew "$UNNAMED$28" @108
-		    location   	(2689, 320)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"404CCA810280"
-		    roleview_list 	(list RoleViews
-			(object RoleView "value" @109
-			    Parent_View 	@108
-			    location   	(465, 0)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @110
-				Parent_View 	@109
-				location   	(2774, 280)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	118
-				justify    	0
-				label      	"+value"
-				pctDist    	0.508876
-				height     	41
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"404CCA830175"
-			    client     	@108
-			    supplier   	@106
-			    line_style 	0
-			    label      	(object SegLabel @111
-				Parent_View 	@109
-				location   	(2791, 374)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..1"
-				pctDist    	0.609467
-				height     	54
-				orientation 	1))
-			(object RoleView "$UNNAMED$29" @112
-			    Parent_View 	@108
-			    location   	(465, 0)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @113
-				Parent_View 	@112
-				location   	(2776, 280)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				hidden     	TRUE
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	118
-				justify    	0
-				label      	""
-				pctDist    	-0.520710
-				height     	41
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"404CCA83017F"
-			    client     	@108
-			    supplier   	@100
-			    line_style 	0)))))))
diff --git a/plugins/org.eclipse.jem.beaninfo/rose/introspect.mdl b/plugins/org.eclipse.jem.beaninfo/rose/introspect.mdl
deleted file mode 100644
index 7133915..0000000
--- a/plugins/org.eclipse.jem.beaninfo/rose/introspect.mdl
+++ /dev/null
@@ -1,5028 +0,0 @@
-
-(object Petal
-    version    	45
-    _written   	"Rose 7.6.0109.2314"
-    charSet    	0)
-
-(object Design "Logical View"
-    is_unit    	TRUE
-    is_loaded  	TRUE
-    attributes 	(list Attribute_Set
-	(object Attribute
-	    tool       	"Java"
-	    name       	"IDE"
-	    value      	"Internal Editor")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagName1"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagText1"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagApply1"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagName2"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagText2"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagApply2"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagName3"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagText3"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagApply3"
-	    value      	""))
-    quid       	"3A79EBA50331"
-    defaults   	(object defaults
-	rightMargin 	0.250000
-	leftMargin 	0.250000
-	topMargin  	0.250000
-	bottomMargin 	0.500000
-	pageOverlap 	0.250000
-	clipIconLabels 	TRUE
-	autoResize 	TRUE
-	snapToGrid 	TRUE
-	gridX      	16
-	gridY      	16
-	defaultFont 	(object Font
-	    size       	10
-	    face       	"Arial"
-	    bold       	FALSE
-	    italics    	FALSE
-	    underline  	FALSE
-	    strike     	FALSE
-	    color      	0
-	    default_color 	TRUE)
-	showMessageNum 	1
-	showClassOfObject 	TRUE
-	notation   	"Unified")
-    root_usecase_package 	(object Class_Category "Use Case View"
-	quid       	"3A7999AD0297"
-	exportControl 	"Public"
-	global     	TRUE
-	logical_models 	(list unit_reference_list)
-	logical_presentations 	(list unit_reference_list
-	    (object UseCaseDiagram "Main"
-		quid       	"3A7999B702F6"
-		title      	"Main"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list))))
-    root_category 	(object Class_Category "Logical View"
-	quid       	"3A7999AD028E"
-	exportControl 	"Public"
-	global     	TRUE
-	subsystem  	"Component View"
-	quidu      	"3A7999AD02A1"
-	logical_models 	(list unit_reference_list
-	    (object Class_Category "ecore"
-		is_unit    	TRUE
-		is_loaded  	FALSE
-		file_name  	"$WorkspaceRoot\\org.eclipse.emf.ecore\\src\\model\\org.eclipse.emf.Ecore.cat"
-		quid       	"39A5ED04004E")
-	    (object Class_Category "java"
-		is_unit    	TRUE
-		is_loaded  	FALSE
-		file_name  	"$WorkspaceRoot\\org.eclipse.jem\\rose\\edocjava2.cat"
-		quid       	"36549F2C004E")
-	    (object Class_Category "beaninfo"
-		is_unit    	TRUE
-		is_loaded  	FALSE
-		file_name  	"$WorkspaceRoot\\org.eclipse.jem.beaninfo\\rose\\beaninfo.cat"
-		quid       	"3A799ABB0353"))
-	logical_presentations 	(list unit_reference_list
-	    (object ClassDiagram "Main"
-		quid       	"3A7999B70309"
-		title      	"Main"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list
-		    (object CategoryView "Logical View::beaninfo" @1
-			location   	(272, 224)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			label      	(object ItemLabel
-			    Parent_View 	@1
-			    location   	(128, 140)
-			    fill_color 	13434879
-			    nlines     	2
-			    max_width  	288
-			    justify    	0
-			    label      	"beaninfo")
-			icon_style 	"Icon"
-			line_color 	3342489
-			fill_color 	13434879
-			quidu      	"3A799ABB0353"
-			width      	300
-			height     	180)))
-	    (object ClassDiagram "Dependencies (Don't edit)"
-		quid       	"3B869C9102E4"
-		title      	"Dependencies (Don't edit)"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list
-		    (object CategoryView "Logical View::ecore" @2
-			location   	(256, 240)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			label      	(object ItemLabel
-			    Parent_View 	@2
-			    location   	(112, 156)
-			    fill_color 	13434879
-			    nlines     	2
-			    max_width  	288
-			    justify    	0
-			    label      	"ecore")
-			icon_style 	"Icon"
-			line_color 	3342489
-			fill_color 	16776960
-			quidu      	"39A5ED04004E"
-			width      	300
-			height     	180)
-		    (object CategoryView "Logical View::java" @3
-			location   	(896, 256)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			label      	(object ItemLabel
-			    Parent_View 	@3
-			    location   	(749, 217)
-			    fill_color 	13434879
-			    nlines     	2
-			    max_width  	294
-			    justify    	0
-			    label      	"java")
-			stereotype 	(object ItemLabel
-			    Parent_View 	@3
-			    location   	(749, 172)
-			    fill_color 	13434879
-			    anchor     	10
-			    nlines     	1
-			    max_width  	294
-			    justify    	0
-			    label      	"<<metamodel>>")
-			icon_style 	"Icon"
-			line_color 	3342489
-			fill_color 	16776960
-			quidu      	"36549F2C004E"
-			width      	306
-			height     	180)
-		    (object NoteView @4
-			location   	(688, 688)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			label      	(object ItemLabel
-			    Parent_View 	@4
-			    location   	(280, 532)
-			    fill_color 	13434879
-			    nlines     	7
-			    max_width  	780
-			    label      	"These are packages (cat files) that this model depends on. They must not be edited in here. They are only be edited by the model that owns them.")
-			line_color 	3342489
-			fill_color 	16744703
-			width      	840
-			height     	325)))))
-    root_subsystem 	(object SubSystem "Component View"
-	quid       	"3A7999AD02A1"
-	physical_models 	(list unit_reference_list)
-	physical_presentations 	(list unit_reference_list
-	    (object Module_Diagram "Main"
-		quid       	"3A7999B702F5"
-		title      	"Main"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list))))
-    process_structure 	(object Processes
-	quid       	"3A7999AD02A2"
-	ProcsNDevs 	(list
-	    (object Process_Diagram "Deployment View"
-		quid       	"3A7999AD02A4"
-		title      	"Deployment View"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list))))
-    properties 	(object Properties
-	attributes 	(list Attribute_Set
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"prefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"packageName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"basePackage"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"nsPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"nsURI"
-			value      	"")))
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"classifierName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"operationName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"attributeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isTransient"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isChangeable"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isUnsettable"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isUnique"
-			value      	TRUE)))
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"referenceName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isTransient"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isChangeable"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isUnsettable"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isResolveProxies"
-			value      	TRUE)))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialValue"
-			value      	"")))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Inherit"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RevEngRootDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RootPackage"
-			value      	"C++ Reverse Engineered")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RevEngDirectoriesAsPackages"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"HeaderFileExtension"
-			value      	".h")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ImplementationFileExtension"
-			value      	".cpp")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NewHeaderFileDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NewImplementationFileDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FileCapitalization"
-			value      	("FileCapitalizationSet" 0))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeGenExtraDirectories"
-			value      	("CodeGenExtraDirectoriesSet" 0))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"StripClassPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"UseTabs"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"TabWidth"
-			value      	8)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"IndentWidth"
-			value      	4)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"AccessIndentation"
-			value      	-2)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ModelIdCommentRules"
-			value      	("ModelIdCommentRulesSet" 1))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"PageWidth"
-			value      	80)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ClassMemberOrder"
-			value      	("MemberOrderSet" 1))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"OneParameterPerLine"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NamespaceBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ClassBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FunctionBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Copyright"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialHeaderIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialBodyIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeGenExtraDirectoriesSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Namespaces"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Packages"
-				value      	2)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FileCapitalizationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Same as model"
-				value      	0)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Lower case"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Upper case"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Lower case with underscores"
-				value      	3)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"BraceStyleSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B1"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B2"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B3"
-				value      	3)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B4"
-				value      	4)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B5"
-				value      	5)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"MemberOrderSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Public First"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Private First"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Order by kind"
-				value      	3)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Unordered"
-				value      	4)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ModelIdCommentRulesSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Code generation only"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Code generation and reverse engineering"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Never generate model IDs"
-				value      	3)))))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RevEngRootDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RootPackage"
-			value      	"C++ Reverse Engineered")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RevEngDirectoriesAsPackages"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"HeaderFileExtension"
-			value      	".h")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ImplementationFileExtension"
-			value      	".cpp")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NewHeaderFileDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NewImplementationFileDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FileCapitalization"
-			value      	("FileCapitalizationSet" 0))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeGenExtraDirectories"
-			value      	("CodeGenExtraDirectoriesSet" 0))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"StripClassPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"UseTabs"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"TabWidth"
-			value      	8)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"IndentWidth"
-			value      	4)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"AccessIndentation"
-			value      	-2)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ModelIdCommentRules"
-			value      	("ModelIdCommentRulesSet" 1))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"PageWidth"
-			value      	80)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ClassMemberOrder"
-			value      	("MemberOrderSet" 1))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"OneParameterPerLine"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NamespaceBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ClassBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FunctionBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Copyright"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialHeaderIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialBodyIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeGenExtraDirectoriesSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Namespaces"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Packages"
-				value      	2)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FileCapitalizationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Same as model"
-				value      	0)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Lower case"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Upper case"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Lower case with underscores"
-				value      	3)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"BraceStyleSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B1"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B2"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B3"
-				value      	3)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B4"
-				value      	4)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B5"
-				value      	5)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"MemberOrderSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Public First"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Private First"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Order by kind"
-				value      	3)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Unordered"
-				value      	4)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ModelIdCommentRulesSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Code generation only"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Code generation and reverse engineering"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Never generate model IDs"
-				value      	3)))))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Param"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialCodeBody"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Inline"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"GenerateFunctionBody"
-			value      	("GenerateFunctionBodySet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"GenerateFunctionBodySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Default"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"True"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"False"
-				value      	0)))))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ImplementationType"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"HeaderSourceFile"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"BodySourceFile"
-			value      	"")))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"IsNamespace"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"ANSI C++ Event Watcher"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"ANSIConvert"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"propertyId"
-		value      	"838326200")
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SpecFileExtension"
-			value      	"1.ada")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SpecFileBackupExtension"
-			value      	"1.ad~")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SpecFileTemporaryExtension"
-			value      	"1.ad#")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"BodyFileExtension"
-			value      	"2.ada")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"BodyFileBackupExtension"
-			value      	"2.ad~")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"BodyFileTemporaryExtension"
-			value      	"2.ad#")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateBodies"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateAccessorOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateStandardOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DefaultCodeBody"
-			value      	"[statement]")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ImplicitParameter"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CommentWidth"
-			value      	60)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ErrorLimit"
-			value      	30)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"UseFileName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Directory"
-			value      	"$ROSEADA83_SOURCE")))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ClassName"
-			value      	"Object")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ClassAccess"
-			value      	("ImplementationSet" 43))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ImplementationType"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsSubtype"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"PolymorphicUnit"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"HandleName"
-			value      	"Handle")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"HandleAccess"
-			value      	("ImplementationSet" 45))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Discriminant"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Variant"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"EnumerationLiteralPrefix"
-			value      	"A_")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"RecordFieldPrefix"
-			value      	"The_")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateAccessorOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateStandardOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ImplicitParameter"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ClassParameterName"
-			value      	"This")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DefaultConstructorKind"
-			value      	("ConstructorKindSet" 199))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DefaultConstructorName"
-			value      	"Create")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineDefaultConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CopyConstructorKind"
-			value      	("ConstructorKindSet" 199))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CopyConstructorName"
-			value      	"Copy")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineCopyConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DestructorName"
-			value      	"Free")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineDestructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ClassEqualityOperation"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"HandleEqualityOperation"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineEquality"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsTask"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Representation"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"LimitedPrivate"
-				value      	200)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ConstructorKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"FileName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ReturnType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenericFormalParameters"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"AdditionalWiths"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"FileName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ReturnType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"AdditionalWiths"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsSubunit"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SubprogramImplementation"
-			value      	("SubprogramImplementationSet" 2))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Renames"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ClassParameterMode"
-			value      	("ParameterModeSet" 203))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Inline"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"EntryCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ExitCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InitialCodeBody"
-			value      	"${default}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Representation"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SubprogramImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Spec"
-				value      	224)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Body"
-				value      	2)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Renaming"
-				value      	222)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Separate"
-				value      	223)))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ParameterModeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"In"
-				value      	204)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Out"
-				value      	205)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"InOut"
-				value      	203)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"FunctionReturn"
-				value      	206)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Has"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"NameIfUnlabeled"
-			value      	"The_${supplier}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DataMemberName"
-			value      	"${relationship}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GetName"
-			value      	"Get_${relationship}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SetName"
-			value      	"Set_${relationship}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Variant"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerGeneric"
-			value      	"List")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerDeclarations"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SelectorName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SelectorType"
-			value      	"")))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DataMemberName"
-			value      	"${attribute}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GetName"
-			value      	"Get_${attribute}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SetName"
-			value      	"Set_${attribute}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Variant"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Representation"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Association"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"NameIfUnlabeled"
-			value      	"The_${targetClass}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GetName"
-			value      	"Get_${association}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineGet"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SetName"
-			value      	"Set_${association}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineSet"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateAssociate"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"AssociateName"
-			value      	"Associate")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineAssociate"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateDissociate"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DissociateName"
-			value      	"Dissociate")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineDissociate"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"NameIfUnlabeled"
-			value      	"The_${targetClass}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DataMemberName"
-			value      	"${target}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GetName"
-			value      	"Get_${target}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SetName"
-			value      	"Set_${target}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerGeneric"
-			value      	"List")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerDeclarations"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SelectorName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SelectorType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Subsystem"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Directory"
-			value      	"AUTO GENERATE")))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"propertyId"
-		value      	"838326200")
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SpecFileExtension"
-			value      	"1.ada")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SpecFileBackupExtension"
-			value      	"1.ad~")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SpecFileTemporaryExtension"
-			value      	"1.ad#")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"BodyFileExtension"
-			value      	"2.ada")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"BodyFileBackupExtension"
-			value      	"2.ad~")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"BodyFileTemporaryExtension"
-			value      	"2.ad#")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"UseColonNotation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateBodies"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessorOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateStandardOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"DefaultCodeBody"
-			value      	"[statement]")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ImplicitParameter"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CommentWidth"
-			value      	60)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ErrorLimit"
-			value      	30)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"UseFileName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Directory"
-			value      	"$ROSEADA95_SOURCE")))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeName"
-			value      	"Object")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeVisibility"
-			value      	("TypeVisibilitySet" 43))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeImplementation"
-			value      	("TypeImplementationSet" 208))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeControl"
-			value      	("TypeControlSet" 225))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeControlName"
-			value      	"Controlled_${type}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeDefinition"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordImplementation"
-			value      	("RecordImplementationSet" 209))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordKindPackageName"
-			value      	"${class}_Record_Kinds")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsLimited"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsSubtype"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessType"
-			value      	("GenerateAccessTypeSet" 230))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessTypeName"
-			value      	"Handle")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessTypeVisibility"
-			value      	("TypeVisibilitySet" 45))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessTypeDefinition"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessClassWide"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"MaybeAliased"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ParameterizedImplementation"
-			value      	("ParameterizedImplementationSet" 11))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ParentClassName"
-			value      	"Superclass")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"EnumerationLiteralPrefix"
-			value      	"A_")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldPrefix"
-			value      	"The_")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ArrayOfTypeName"
-			value      	"Array_Of_${type}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessArrayOfTypeName"
-			value      	"Access_Array_Of_${type}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ArrayOfAccessTypeName"
-			value      	"Array_Of_${access_type}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessArrayOfAccessTypeName"
-			value      	"Access_Array_Of_${access_type}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ArrayIndexDefinition"
-			value      	"Positive range <>")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessorOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateStandardOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ImplicitParameter"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ImplicitParameterName"
-			value      	"This")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateDefaultConstructor"
-			value      	("SubprogramKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"DefaultConstructorName"
-			value      	"Create")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineDefaultConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateCopyConstructor"
-			value      	("SubprogramKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CopyConstructorName"
-			value      	"Copy")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineCopyConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateDestructor"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"DestructorName"
-			value      	"Free")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineDestructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateTypeEquality"
-			value      	("FunctionKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeEqualityName"
-			value      	"${quote}=${quote}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineEquality"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Representation"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Tagged"
-				value      	208)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Record"
-				value      	210)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Mixin"
-				value      	211)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Task"
-				value      	212)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"SingleType"
-				value      	209)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"MultipleTypes"
-				value      	213)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ParameterizedImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Generic"
-				value      	11)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Unconstrained"
-				value      	214)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeVisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Private"
-				value      	43)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SubprogramKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeControlSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"None"
-				value      	225)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"InitializationOnly"
-				value      	226)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"AssignmentFinalizationOnly"
-				value      	227)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"All"
-				value      	228)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Always"
-				value      	229)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Auto"
-				value      	230)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FileName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ReturnType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenericFormalParameters"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AdditionalWiths"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsPrivate"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FileName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ReturnType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AdditionalWiths"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsSubunit"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SubprogramImplementation"
-			value      	("SubprogramImplementationSet" 2))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Renames"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateOverriding"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ImplicitParameterMode"
-			value      	("ParameterModeSet" 203))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ImplicitParameterClassWide"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Inline"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"EntryCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ExitCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InitialCodeBody"
-			value      	"${default}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"EntryBarrierCondition"
-			value      	"True")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Representation"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SubprogramImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Spec"
-				value      	224)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Body"
-				value      	2)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Abstract"
-				value      	221)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Renaming"
-				value      	222)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"RenamingAsBody"
-				value      	231)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Separate"
-				value      	223)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ParameterModeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"In"
-				value      	204)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Out"
-				value      	205)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"InOut"
-				value      	203)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Access"
-				value      	220)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Has"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"NameIfUnlabeled"
-			value      	"The_${supplier}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementation"
-			value      	("RecordFieldImplementationSet" 216))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldName"
-			value      	"${relationship}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateGet"
-			value      	("FunctionKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessGet"
-			value      	("FunctionKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GetName"
-			value      	"Get_${relationship}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateSet"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessSet"
-			value      	("ProcedureKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SetName"
-			value      	"Set_${relationship}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsAliased"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerImplementation"
-			value      	("ContainerImplementationSet" 217))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerGeneric"
-			value      	"List")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerDeclarations"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SelectorName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SelectorType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Component"
-				value      	216)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Discriminant"
-				value      	218)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"AccessDiscriminant"
-				value      	219)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Array"
-				value      	217)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Generic"
-				value      	11)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementation"
-			value      	("RecordFieldImplementationSet" 216))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldName"
-			value      	"${attribute}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateGet"
-			value      	("FunctionKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessGet"
-			value      	("FunctionKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GetName"
-			value      	"Get_${attribute}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateSet"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessSet"
-			value      	("ProcedureKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SetName"
-			value      	"Set_${attribute}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsAliased"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Representation"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Component"
-				value      	216)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Discriminant"
-				value      	218)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"AccessDiscriminant"
-				value      	219)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Association"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"NameIfUnlabeled"
-			value      	"The_${targetClass}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateGet"
-			value      	("FunctionKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GetName"
-			value      	"Get_${association}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineGet"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateSet"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SetName"
-			value      	"Set_${association}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineSet"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAssociate"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AssociateName"
-			value      	"Associate")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineAssociate"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateDissociate"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"DissociateName"
-			value      	"Dissociate")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineDissociate"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"NameIfUnlabeled"
-			value      	"The_${targetClass}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementation"
-			value      	("RecordFieldImplementationSet" 216))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldName"
-			value      	"${target}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateGet"
-			value      	("FunctionKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessGet"
-			value      	("FunctionKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GetName"
-			value      	"Get_${target}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateSet"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessSet"
-			value      	("ProcedureKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SetName"
-			value      	"Set_${target}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsAliased"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerImplementation"
-			value      	("ContainerImplementationSet" 217))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerGeneric"
-			value      	"List")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerDeclarations"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SelectorName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SelectorType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Component"
-				value      	216)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Discriminant"
-				value      	218)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"AccessDiscriminant"
-				value      	219)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Array"
-				value      	217)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Generic"
-				value      	11)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Subsystem"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Directory"
-			value      	"AUTO GENERATE")))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"Editor"
-			value      	("EditorType" 100))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"IncludePath"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"StopOnError"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"EditorType"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"CORBA"
-				name       	"BuiltIn"
-				value      	100)
-			    (object Attribute
-				tool       	"CORBA"
-				name       	"WindowsShell"
-				value      	101)))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"PathSeparator"
-			value      	"")))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"ArrayDimensions"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"ConstValue"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"ImplementationType"
-			value      	"")))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"AdditionalIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CmIdentification"
-			value      	(value Text "  %X% %Q% %Z% %W%"))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"InclusionProtectionSymbol"
-			value      	"AUTO GENERATE")))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"AdditionalIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CmIdentification"
-			value      	(value Text "  %X% %Q% %Z% %W%"))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"InclusionProtectionSymbol"
-			value      	"AUTO GENERATE")))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"Context"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"OperationIsOneWay"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"ArrayDimensions"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CaseSpecifier"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"IsReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"Order"
-			value      	"")))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"ArrayDimensions"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CaseSpecifier"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"GenerateForwardReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"IsReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"Order"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"BoundedRoleType"
-			value      	("AssocTypeSet" 47))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"AssocTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"CORBA"
-				name       	"Array"
-				value      	24)
-			    (object Attribute
-				tool       	"CORBA"
-				name       	"Sequence"
-				value      	47)))))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Uses"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"GenerateForwardReference"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"project"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ViewCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DomainCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SPPackageCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TriggerCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IndexCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ConstraintCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"StoreProcedureCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"PrimaryKeyCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ForeignKeyCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"JoinCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpaceCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"cONTAINERCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TablePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ViewPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DomainPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TriggerPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IndexPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ConstraintPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"StoreProcedurePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"PrimaryKeyPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ForeignKeyPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpacePrefix"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDatabase"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TargetDatabase"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Location"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsTableSpace"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpaceType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDeault"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"BufferPool"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ExtentSize"
-			value      	1)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"PrefetchSize"
-			value      	1)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"PageSize"
-			value      	4)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ManagedBy"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ContainerList"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmSchema"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmDomainPackage"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsSchema"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDomainPackage"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsRootSchema"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsRootDomainPackage"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsSchemaPackage"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DatabaseID"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DBMS"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsTable"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsView"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDomain"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsSPPackage"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Synonymns"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpaceID"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceId"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"CorrelationName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SelectClause"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsUpdateable"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"CheckOption"
-			value      	"None")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsSnapShot"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDistinct"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"PersistToServer"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsPackage"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Ordinal"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsIdentity"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsUnique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"NullsAllowed"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Length"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Scale"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ColumnType"
-			value      	"Native")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ForBitData"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValueType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceId"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"OID"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Association"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsRelationship"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceId"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"RIMethod"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ParentUpdateRule"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ParentUpdateRuleName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ParentDeleteRule"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ParentDeleteRuleName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ChildInsertRestrict"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ChildInsertRestrictName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ChildMultiplicity"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ChildMultiplicityName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ConstraintName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsConstraint"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ConstraintType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsIndex"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsTrigger"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsStoredProcedure"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsCluster"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpace"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"FillFactor"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"KeyList"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"CheckPredicate"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsUnique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DeferalMode"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"InitialCheckTime"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TriggerType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsInsertEvent"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsUpdateEvent"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDeleteEvent"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"RefOldTable"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"RefNewTable"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"RefOldRow"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"RefNewRow"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsRow"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"WhenClause"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Language"
-			value      	"SQL")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ProcType"
-			value      	"Procedure")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDeterministic"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ParameterStyle"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ReturnedNull"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ExternalName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Length"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Scale"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ForBitData"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValueType"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Parameter"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsInParameter"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsOutParameter"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Ordinal"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Length"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Scale"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ForBitData"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValueType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"OperationID"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Data Modeler Communicator"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Deploy"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"framework"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Java"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"RootDir"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"UsePrefixes"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"AutoSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"NotShowRoseIDDlg"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ShowCodegenDlg"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateRoseID"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateDefaultJ2EEJavadoc"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateDefaultReturnLine"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocDefaultAuthor"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocDefaultVersion"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocDefaultSince"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineJavaDocTags"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocNumAsterisks"
-			value      	0)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MaxNumChars"
-			value      	80)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Editor"
-			value      	("EditorType" 100))
-		    (object Attribute
-			tool       	"Java"
-			name       	"VM"
-			value      	("VMType" 200))
-		    (object Attribute
-			tool       	"Java"
-			name       	"ClassPath"
-			value      	".;D:\\Program Files\\Rational\\RUPBuilder;D:\\Program Files\\Rational\\common\\java\\swingall.jar;D:\\Program Files\\Rational\\common\\java\\javahelp\\jh.jar;d:\\program files\\sun\\jdk1.3.1_03\\src.jar;d:\\program files\\sun\\jdk1.3.1_03\\jre\\lib\\i18n.jar;d:\\program files\\sun\\jdk1.3.1_03\\jre\\lib\\jaws.jar;d:\\program files\\sun\\jdk1.3.1_03\\jre\\lib\\rt.jar;d:\\program files\\sun\\jdk1.3.1_03\\lib\\dt.jar;d:\\program files\\sun\\jdk1.3.1_03\\lib\\tools.jar;d:\\program files\\sun\\jdk1.3.1_03\\jre\\lib\\sunrsasign.jar")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ReferenceClasspath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EditorType"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"BuiltIn"
-				value      	100)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"VMType"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Sun"
-				value      	200)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"VAJavaWorkingFolder"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"InstanceVariablePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ClassVariablePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DefaultAttributeDataType"
-			value      	"int")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DefaultOperationReturnType"
-			value      	"void")
-		    (object Attribute
-			tool       	"Java"
-			name       	"NoClassCustomDlg"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GlobalImports"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Java"
-			name       	"OpenBraceClassStyle"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"OpenBraceMethodStyle"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"UseTabs"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"UseSpaces"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"SpacingItems"
-			value      	3)
-		    (object Attribute
-			tool       	"Java"
-			name       	"RoseDefaultCommentStyle"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"AsteriskCommentStyle"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavaCommentStyle"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocAuthor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocSince"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocVersion"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"BeanPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"BeanSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"RemotePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"RemoteSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"HomePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"HomeSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"LocalPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"LocalSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"LocalHomePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"LocalHomeSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"PrimaryKeyPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"PrimaryKeySuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBDTDLocation"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletDTDLocation"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DefaultEJBVersion"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DefaultServletVersion"
-			value      	"")))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Static"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateDefaultConstructor"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ConstructorIs"
-			value      	("Ctor_Set" 62))
-		    (object Attribute
-			tool       	"Java"
-			name       	"Ctor_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"public"
-				value      	62)
-			    (object Attribute
-				tool       	"Java"
-				name       	"protected"
-				value      	63)
-			    (object Attribute
-				tool       	"Java"
-				name       	"private"
-				value      	64)
-			    (object Attribute
-				tool       	"Java"
-				name       	"package"
-				value      	65)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFinalizer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateStaticInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateInstanceInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DisableAutoSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Strictfp"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Java"
-		name       	"Default_Servlet__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletName"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContextRef"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"IsSingleThread"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIsSecure"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcher"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcherPath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherInclude"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherForward"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletgetInfo"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletXMLFilePath"
-			value      	"")))
-	    (object Attribute
-		tool       	"Java"
-		name       	"Http_Servlet__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttribute"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttributesNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestAttributes"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestParameters"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeader"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeaderNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForHeaders"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIntHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletDateHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletCookie"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForCookie"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContentType"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateHTML"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Java"
-		name       	"Default_EJB__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"Generate_XML_DD"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCmpField"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBEnvironmentProperties"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCnxFactory"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReferences"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBNameInJAR"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType"
-			value      	("EJBSessionType_Set" 200))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	200)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateless"
-				value      	201)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateful"
-				value      	202)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType"
-			value      	("EJBTransactionType_Set" 211))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	211)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	212)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType"
-			value      	("EJBPersistenceType_Set" 220))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	220)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	221)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	222)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReentrant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion"
-			value      	("EJBVersion_Set" 230))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"2.0"
-				value      	230)
-			    (object Attribute
-				tool       	"Java"
-				name       	"1.x"
-				value      	231)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBXMLFilePath"
-			value      	"")))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"CmIdentification"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Java"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"CmIdentification"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Java"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"Abstract"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Static"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Native"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Synchronized"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFullyQualifiedReturn"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ReplaceExistingCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Strictfp"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Transient"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Volatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"PropertyType"
-			value      	("BeanProperty_Set" 71))
-		    (object Attribute
-			tool       	"Java"
-			name       	"BeanProperty_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Not A Property"
-				value      	71)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Simple"
-				value      	72)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bound"
-				value      	73)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Constrained"
-				value      	74)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"IndividualChangeMgt"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Read/Write"
-			value      	("Read/Write_Set" 81))
-		    (object Attribute
-			tool       	"Java"
-			name       	"Read/Write_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Read & Write"
-				value      	81)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Read Only"
-				value      	82)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Write Only"
-				value      	83)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFullyQualifiedTypes"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"ContainerClass"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Transient"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Volatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"PropertyType"
-			value      	("BeanProperty_Set" 71))
-		    (object Attribute
-			tool       	"Java"
-			name       	"BeanProperty_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Not A Property"
-				value      	71)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Simple"
-				value      	72)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bound"
-				value      	73)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Constrained"
-				value      	74)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"IndividualChangeMgt"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Read/Write"
-			value      	("Read/Write_Set" 81))
-		    (object Attribute
-			tool       	"Java"
-			name       	"Read/Write_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Read & Write"
-				value      	81)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Read Only"
-				value      	82)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Write Only"
-				value      	83)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFullyQualifiedTypes"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"IsNavigable"
-			value      	TRUE)))
-	    (object Attribute
-		tool       	"Java"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"propertyId"
-		value      	"360000002")
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"DDLScriptFilename"
-			value      	"DDL1.SQL")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"DropClause"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"PrimaryKeyColumnName"
-			value      	"_ID")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"PrimaryKeyColumnType"
-			value      	"NUMBER(5,0)")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"SchemaNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"SchemaNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TableNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TableNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TypeNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TypeNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"ViewNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"ViewNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"VarrayNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"VarrayNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"NestedTableNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"NestedTableNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"ObjectTableNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"ObjectTableNameSuffix"
-			value      	"")))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsSchema"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"OID"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"WhereClause"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CheckConstraint"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CollectionTypeLength"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CollectionTypePrecision"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CollectionTypeScale"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CollectionOfREFS"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"MethodKind"
-			value      	("MethodKindSet" 1903))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"OverloadID"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"OrderNumber"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsReadNoDataState"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsReadNoProcessState"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsWriteNoDataState"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsWriteNoProcessState"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsSelfish"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerType"
-			value      	("TriggerTypeSet" 1801))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerEvent"
-			value      	("TriggerEventSet" 1601))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerText"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerReferencingNames"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerForEach"
-			value      	("TriggerForEachSet" 1701))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerWhenClause"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"MethodKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"MapMethod"
-				value      	1901)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"OrderMethod"
-				value      	1902)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Function"
-				value      	1903)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Procedure"
-				value      	1904)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Operator"
-				value      	1905)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Constructor"
-				value      	1906)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Destructor"
-				value      	1907)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Trigger"
-				value      	1908)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Calculated"
-				value      	1909)))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"AFTER"
-				value      	1801)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"BEFORE"
-				value      	1802)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"INSTEAD OF"
-				value      	1803)))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerForEachSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"ROW"
-				value      	1701)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"STATEMENT"
-				value      	1702)))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerEventSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"INSERT"
-				value      	1601)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"UPDATE"
-				value      	1602)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"DELETE"
-				value      	1603)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"INSERT OR UPDATE"
-				value      	1604)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"INSERT OR DELETE"
-				value      	1605)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"UPDATE OR DELETE"
-				value      	1606)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"INSERT OR UPDATE OR DELETE"
-				value      	1607)))))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"OrderNumber"
-			value      	"")))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"OrderNumber"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsUnique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"NullsAllowed"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"Length"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"Precision"
-			value      	"2")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"Scale"
-			value      	"6")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsIndex"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsPrimaryKey"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CompositeUnique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CheckConstraint"
-			value      	"")))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"ComponentTest"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"RequisitePro"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Rose Model Integrator"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Rose Web Publisher"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"SoDA"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"TopLink"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"COM"
-		name       	"propertyId"
-		value      	"783606378")
-	    (object Attribute
-		tool       	"COM"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"COM"
-			name       	"TypeKinds"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"COM"
-				name       	"enum"
-				value      	100)
-			    (object Attribute
-				tool       	"COM"
-				name       	"record"
-				value      	101)
-			    (object Attribute
-				tool       	"COM"
-				name       	"module"
-				value      	102)
-			    (object Attribute
-				tool       	"COM"
-				name       	"interface"
-				value      	103)
-			    (object Attribute
-				tool       	"COM"
-				name       	"dispinterface"
-				value      	104)
-			    (object Attribute
-				tool       	"COM"
-				name       	"coclass"
-				value      	105)
-			    (object Attribute
-				tool       	"COM"
-				name       	"alias"
-				value      	106)
-			    (object Attribute
-				tool       	"COM"
-				name       	"union"
-				value      	107)
-			    (object Attribute
-				tool       	"COM"
-				name       	"max"
-				value      	108)
-			    (object Attribute
-				tool       	"COM"
-				name       	"(none)"
-				value      	109)))
-		    (object Attribute
-			tool       	"COM"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"COM"
-			name       	"kind"
-			value      	("TypeKinds" 109))
-		    (object Attribute
-			tool       	"COM"
-			name       	"uuid"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"version"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpstring"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpcontext"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"attributes"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"dllname"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"alias"
-			value      	"")))
-	    (object Attribute
-		tool       	"COM"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"COM"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"COM"
-			name       	"id"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpstring"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"attributes"
-			value      	"")))
-	    (object Attribute
-		tool       	"COM"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"COM"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"COM"
-			name       	"id"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpstring"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"attributes"
-			value      	"")))
-	    (object Attribute
-		tool       	"COM"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"COM"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"COM"
-			name       	"filename"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"library"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"uuid"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"version"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpstring"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpfile"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpcontext"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"lcid"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"attributes"
-			value      	"")))
-	    (object Attribute
-		tool       	"COM"
-		name       	"default__Param"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"COM"
-			name       	"attributes"
-			value      	"")))
-	    (object Attribute
-		tool       	"COM"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Version Control"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"propertyId"
-		value      	"783606378")
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"UpdateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"UpdateModel"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"InstancingSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"Private"
-				value      	221)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"PublicNotCreatable"
-				value      	213)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"SingleUse"
-				value      	214)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"GlobalSingleUse"
-				value      	215)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"MultiUse"
-				value      	219)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"GlobalMultiUse"
-				value      	220)))
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"BaseSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"(none)"
-				value      	222)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"0"
-				value      	223)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"1"
-				value      	224)))
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"OptionBase"
-			value      	("BaseSet" 222))
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"OptionExplicit"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"OptionCompare"
-			value      	("CompareSet" 202))
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"Instancing"
-			value      	("InstancingSet" 219))
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"CompareSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"(none)"
-				value      	202)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"Binary"
-				value      	203)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"Text"
-				value      	204)))))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"LibraryName"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"AliasName"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"IsStatic"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ProcedureID"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ReplaceExistingBody"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"DefaultBody"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"New"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"WithEvents"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ProcedureID"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"PropertyName"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"Subscript"
-			value      	"")))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"UpdateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"New"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"WithEvents"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"FullName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ProcedureID"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"PropertyName"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"Subscript"
-			value      	"")))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Inherit"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ImplementsDelegation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"FullName"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Param"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ByVal"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ByRef"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"Optional"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ParamArray"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ProjectFile"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"UpdateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"UpdateModel"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ImportReferences"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"QuickImport"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ImportBinary"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"VisualStudio"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Web Modeler"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Editor"
-			value      	("EditorType" 100))
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"StopOnError"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"EditorType"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"XML_DTD"
-				name       	"BuiltIn"
-				value      	100)
-			    (object Attribute
-				tool       	"XML_DTD"
-				name       	"WindowsShell"
-				value      	101)))))
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Entity_SystemID"
-			value      	"")
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Entity_PublicID"
-			value      	"")
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"NotationValue"
-			value      	"")
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"InternalValue"
-			value      	"")
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"ParameterEntity"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"ExternalEntity"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Notation_SystemID"
-			value      	"")
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Notation_PublicID"
-			value      	"")))
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"DefaultDeclType"
-			value      	"")))
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Assign All"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"ComponentPath"
-			value      	"")))
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"HiddenTool"
-		value      	FALSE))
-	quid       	"3A7999AD02A3"))
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/BaseBeanInfo.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/BaseBeanInfo.java
deleted file mode 100644
index 7fdc7a2..0000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/BaseBeanInfo.java
+++ /dev/null
@@ -1,439 +0,0 @@
-package org.eclipse.jem.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BaseBeanInfo.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:17:59 $ 
- */
-
-import java.beans.*;
-import java.lang.reflect.*;
-/**
- * BaseBeanInfo is used as a utility for creating
- * beaninfos and provides useful constants.
- * It can also be used as a superclass for simplicity purposes.
- */
-public abstract class BaseBeanInfo extends SimpleBeanInfo {
-	// Constants to use to create all descriptors etc.
-	public static java.util.ResourceBundle RESBUNDLE = java.util.ResourceBundle.getBundle("org.eclipse.jem.beaninfo.vm.basebeaninfonls");  //$NON-NLS-1$
-	public static final String BOUND = "bound";//$NON-NLS-1$
-	public static final String CONSTRAINED = "constrained";//$NON-NLS-1$
-	public static final String PROPERTYEDITORCLASS = "propertyEditorClass";//$NON-NLS-1$
-	public static final String READMETHOD = "readMethod";//$NON-NLS-1$
-	public static final String WRITEMETHOD = "writeMethod";//$NON-NLS-1$
-	public static final String DISPLAYNAME = "displayName";//$NON-NLS-1$
-	public static final String EXPERT = "expert";//$NON-NLS-1$
-	public static final String HIDDEN = "hidden";//$NON-NLS-1$
-	public static final String PREFERRED = "preferred";//$NON-NLS-1$
-	public static final String SHORTDESCRIPTION = "shortDescription";//$NON-NLS-1$
-	public static final String CUSTOMIZERCLASS = "customizerClass";//$NON-NLS-1$
-	
-	public static final String CATEGORY = "category"; //$NON-NLS-1$
-	
-	// Constants to use to create event set descriptors
-	public static final String INDEFAULTEVENTSET = "inDefaultEventSet";//$NON-NLS-1$
-	// Enumeration support
-	public static final String ENUMERATIONVALUES = "enumerationValues";//$NON-NLS-1$
-	// some features declared obscure to reduce cache size
-	public static final String OBSCURE = "ivjObscure";//$NON-NLS-1$
-	// control visibility on the properties sheet at design time
-	public static final String DESIGNTIMEPROPERTY = "ivjDesignTimeProperty";			//$NON-NLS-1$
-	
-	// adapter classes for eventSetDescriptors that provide default no-op implementation of the interface methods
-	// e.g. java.awt.event.WindowListener has java.awt.evennt.WindowAdapter
-	public static final String EVENTADAPTERCLASS = "eventAdapterClass"; //$NON-NLS-1$
-	
-	// The keys for icon file names, NOT THE java.awt.icon key.
-	public static final String ICONCOLOR16X16URL = "ICON_COLOR_16x16";	//$NON-NLS-1$
-	public static final String ICONCOLOR32X32URL = "ICON_COLOR_32x32";	//$NON-NLS-1$
-	public static final String ICONMONO16X16URL = "ICON_MONO_16x16";	//$NON-NLS-1$
-	public static final String ICONMONO32X32URL = "ICON_MONO_32x32";	//$NON-NLS-1$
-	
-	public static final boolean JVM_1_3 = System.getProperty("java.version","").startsWith("1.3");	 //$NON-NLS-1$ //$NON-NLS-2$  //$NON-NLS-3$
-
-// Modified methods from java.beans.Introspector
-private static String capitalize(String s) 
-{
-	if (s.length() == 0) {
-		return s;
-	}
-	char chars[] = s.toCharArray();
-	chars[0] = Character.toUpperCase(chars[0]);
-	return new String(chars);
-}
-/**
-  * Create a BeanDescriptor object given an array of keyword/value 
-  * arguments.
-  */
-public BeanDescriptor createBeanDescriptor(Class cls, Object[] args) 
-{
-	Class customizerClass = null;
-	
-	/* Find the specified customizerClass */
-	for(int i = 0; i < args.length; i += 2) {
-	   if (CUSTOMIZERCLASS.equals((String)args[i])) {
-			customizerClass = (Class)args[i + 1];
-			break;
-	   }
-	}
-
-	BeanDescriptor bd = new BeanDescriptor(cls, customizerClass);
-
-	for(int i = 0; i < args.length; i += 2) {
-		String key = (String)args[i];
-		Object value = args[i + 1];
-		setFeatureDescriptorValue(bd, key, value);
-	}
-	
-	return bd;
-}
-/**
-  * Create a beans EventSetDescriptor given the following:
-  * @param cls - The bean class
-  * @param name - Name of event set
-  * @param args - array of attribute keys and values
-  * @param lmds - array of MethodDescriptors defining the
-  *               listener methods
-  * @param listenerType - type of listener
-  * @param addListenerName - add listener method name
-  * @param removeListenerName- remove listener method name
-  * required information
-  */
-public EventSetDescriptor createEventSetDescriptor(Class cls, String name, Object[] args,
-		MethodDescriptor[] lmds, Class listenerType,
-		String addListenerName, String removeListenerName) 
-{
-	EventSetDescriptor esd = null;
-	Class[] paramTypes = { listenerType };
-	try {
-		java.lang.reflect.Method addMethod = null;
-		java.lang.reflect.Method removeMethod = null;
-		try {
-			/* get addListenerMethod with parameter types. */
-			addMethod = cls.getMethod(addListenerName, paramTypes);
-		} catch (Exception ie) {
-			throwError(ie,
-				java.text.MessageFormat.format(
-					RESBUNDLE.getString("Cannot_get_the_meth1_EXC_"), //$NON-NLS-1$
-					new Object[] {addListenerName} ));
-		};
-		try {
-			/* get removeListenerMethod with parameter types. */
-			removeMethod = cls.getMethod(removeListenerName, paramTypes);
-		} catch (Exception ie) {
-			throwError(ie,
-				java.text.MessageFormat.format(
-					RESBUNDLE.getString("Cannot_get_the_meth1_EXC_"), //$NON-NLS-1$
-					new Object[] {removeListenerName} ));
-		};
-
-		esd = new EventSetDescriptor(name, listenerType,
-			lmds, addMethod, removeMethod);
-	} catch (Exception ie) {
-		throwError(ie,
-			java.text.MessageFormat.format(
-					RESBUNDLE.getString("Cannot_create_the_E1_EXC_"), //$NON-NLS-1$
-					new Object[] {name} ));
-	};
-	// set the event set descriptor properties
-	for(int i = 0; i < args.length; i += 2) {
-	   String key = (String)args[i];
-	   Object value = args[i+ 1];
-	   if (INDEFAULTEVENTSET.equals(key)) {
-			esd.setInDefaultEventSet(((Boolean)value).booleanValue());
-	   }
-	   else
-			setFeatureDescriptorValue(esd, key, value);
-	}
-
-	return esd;
-}
-/**
-  * Create a beans MethodDescriptor
-  */
-public MethodDescriptor createMethodDescriptor(Class cls, String name, Object[] args,
-		ParameterDescriptor[] params, Class[] paramTypes) 
-{
-	MethodDescriptor md = null;
-	try {
-		java.lang.reflect.Method aMethod = null;
-		try {
-			/* getMethod with parameter types. */
-			aMethod = cls.getMethod(name, paramTypes);
-		} catch (Exception ie) {
-			throwError(ie, 
-				java.text.MessageFormat.format(
-					RESBUNDLE.getString("Cannot_get_the_meth1_EXC_"), //$NON-NLS-1$
-					new Object[] {name} ));
-		};
-	if(paramTypes.length > 0)
-			md = new MethodDescriptor(aMethod, params);
-		else
-			md = new MethodDescriptor(aMethod);
-	} catch (Exception ie) {
-		throwError(ie, 
-			java.text.MessageFormat.format(
-				RESBUNDLE.getString("Cannot_create_Method_EXC_"), //$NON-NLS-1$
-				new Object[] {name} ));
-	};
-   // set the method properties
-	for(int i = 0; i < args.length; i += 2) {
-	   String key = (String)args[i];
-	   Object value = args[i + 1];	    
-		setFeatureDescriptorValue(md, key, value);
-	}
-	return md;
-}
-private PropertyDescriptor createOtherPropertyDescriptor(		
-		String name, Class cls) throws IntrospectionException 
-{
-	Method readMethod = null;
-	Method writeMethod = null;
-	String base = capitalize(name);
-	Class[] parameters = new Class[0];
-
-	// First we try boolean accessor pattern
-	try {
-		readMethod = cls.getMethod("is" + base, parameters);//$NON-NLS-1$
-	} catch (Exception ex1) {}
-	if (readMethod == null) {
-		try {
-			// Else we try the get accessor pattern.
-			readMethod = cls.getMethod("get" + base, parameters);//$NON-NLS-1$
-		} catch (Exception ex2) {
-			// Find by matching methods of the class
-			readMethod = findMethod(cls, "get" + base, 0);//$NON-NLS-1$
-		}
-	}
-	
-	if(readMethod == null){
-		// For write-only properties, find the write method	
-		writeMethod = findMethod(cls, "set" + base, 1);//$NON-NLS-1$
-	}
-	else {
-		// In Sun's code, reflection fails if there are two
-		// setters with the same name and the first setter located
-		// does not have the same return type of the getter.
-		// This fixes that.
-		parameters = new Class[1]; 
-		parameters[0] = readMethod.getReturnType();
-		try {
-			writeMethod = cls.getMethod("set" + base, parameters);//$NON-NLS-1$
-		} catch (Exception ex3) {}
-	}
-	// create the property descriptor	
-	if((readMethod != null) || (writeMethod != null)) {
-		return new PropertyDescriptor(name, readMethod, writeMethod);
-	}
-	else {
-		throw new IntrospectionException(
-			java.text.MessageFormat.format(
-					RESBUNDLE.getString("Cannot_find_the_acc1_EXC_"), //$NON-NLS-1$
-					new Object[] {name} ));
-	}
-}
-	/**
-	 * Create a beans ParameterDescriptor given array of keyword/value 
-	 * arguments.
-	 */
-public ParameterDescriptor createParameterDescriptor(String name, Object[] args) 
-{
-	ParameterDescriptor pd = null;
-	try {
-			pd = new ParameterDescriptor();
-	} catch (Exception ie) {
-		throwError(ie,
-			java.text.MessageFormat.format(
-				RESBUNDLE.getString("Cannot_create_Param1_EXC_"), //$NON-NLS-1$
-				new Object[] {name} ));
-	};
-	// set the name
-	pd.setName(name);
-   // set the method properties
-	for(int i = 0; i < args.length; i += 2) {
-	   String key = (String)args[i];
-	   Object value = args[i + 1];	    
-		setFeatureDescriptorValue(pd, key, value);
-	}
-
-	return pd;
-}
-/**
-  * Create a beans PropertyDescriptor given an array of keyword/values 
-  */
-public PropertyDescriptor createPropertyDescriptor(Class cls, String name, Object[] args) 
-{
-	PropertyDescriptor pd = null;
-	try {		
-		// Create assuming that the getter/setter follows reflection patterns
-		pd = new PropertyDescriptor(name, cls);
-	} catch (IntrospectionException e) {
-		// Try creating a property descriptor for read-only, write-only
-		// or if Sun's reflection fails
-		try {
-			pd = createOtherPropertyDescriptor(name, cls);
-		} catch (IntrospectionException ie) {
-			throwError(ie,
-				java.text.MessageFormat.format(
-					RESBUNDLE.getString("Cannot_create_the_P1_EXC_"), //$NON-NLS-1$
-					new Object[] {name} ));
-		}
-	}
-		
-	// set the display name same as the name	
-	setFeatureDescriptorValue(pd, DISPLAYNAME, name);
-		
-	for(int i = 0; i < args.length; i += 2) {
-	   String key = (String)args[i];
-	   Object value = args[i + 1];
-	    
-	   if (BOUND.equals(key)) {
-			pd.setBound(((Boolean)value).booleanValue());
-		} 
-		else if (CONSTRAINED.equals(key)) {
-			pd.setConstrained(((Boolean)value).booleanValue());
-		}
-		else if (PROPERTYEDITORCLASS.equals(key)) {
-			pd.setPropertyEditorClass((Class)value);
-		}
-		else if (READMETHOD.equals(key)) {
-			String methodName = (String)value;
-			Method method;
-			try {
-					method = cls.getMethod(methodName, new Class[0]);
-					pd.setReadMethod(method);
-			}
-			catch(Exception e) {
-				throwError(e, 
-					java.text.MessageFormat.format(
-						RESBUNDLE.getString("{0}_no_read_method_EXC_"), //$NON-NLS-1$
-						new Object[] {cls, methodName} ));
-			}
-		}
-		else if (WRITEMETHOD.equals(key)) {
-			String methodName = (String)value;
-			try {
-				if(methodName == null){
-					pd.setWriteMethod(null);
-				} else {
-					Method method;
-						Class type = pd.getPropertyType();
-						method = cls.getMethod(methodName, new Class[]{type});
-						pd.setWriteMethod(method);
-				} 
-			} catch(Exception e) {
-					throwError(e,
-				java.text.MessageFormat.format(
-					RESBUNDLE.getString("{0}_no_write_method_EXC_"), //$NON-NLS-1$
-					new Object[] {cls, methodName} ));
-			}
-		}
-		else {
-		// arbitrary value
-			setFeatureDescriptorValue(pd, key, value);
-		}
-	}
-
-	return pd;
-}
-/**
- * Find the method by comparing (name & parameter size) against the methods in the class.
- * @return java.lang.reflect.Method
- * @param aClass java.lang.Class
- * @param methodName java.lang.String
- * @param parameterCount int
- */
-public static java.lang.reflect.Method findMethod(java.lang.Class aClass, 
-	java.lang.String methodName, int parameterCount) {
-	try {
-		/* Since this method attempts to find a method by getting all methods 
-		 * from the class, this method should only be called if getMethod cannot 
-		 * find the method. */
-		java.lang.reflect.Method methods[] = aClass.getMethods();
-		for (int index = 0; index < methods.length; index++){
-			java.lang.reflect.Method method = methods[index];
-			if ((method.getParameterTypes().length == parameterCount) 
-				&& (method.getName().equals(methodName))) {
-				return method;
-			};
-		};
-	} catch (java.lang.Throwable exception) {
-		return null;
-	};
-	return null;
-}
-	/**
-	 * The default index is always 0 i.e. show the first event
-	 */
-	public int getDefaultEventIndex() {
-	return -1;
-	}
-	/**
-	 * The default index is always 0 i.e. show the first property
-	 */
-	public int getDefaultPropertyIndex() {
-	return -1;
-	}
-
-public BeanInfo[] getAdditionalBeanInfo(){
-	try {
-		return new BeanInfo[] {
-			Introspector.getBeanInfo(getBeanClass().getSuperclass())
-		};
-	} catch (IntrospectionException e) {
-		return new BeanInfo[0];
-	}
-}
-public abstract Class getBeanClass();
-/**
- * Called whenever the bean information class throws an exception.
- * @param exception java.lang.Throwable
- */
-public void handleException(Throwable exception) {
-	System.err.println(RESBUNDLE.getString("UNCAUGHT_EXC_")); //$NON-NLS-1$
-	exception.printStackTrace();
-}
-private void setFeatureDescriptorValue(FeatureDescriptor fd, String key, Object value)
-{
-	if (DISPLAYNAME.equals(key)) {
-		fd.setDisplayName((String)value);
-	}
-	else if (EXPERT.equals(key)) {
-		fd.setExpert(((Boolean)value).booleanValue());
-	}
-	else if (HIDDEN.equals(key)) {
-		fd.setHidden(((Boolean)value).booleanValue());
-	}
-	else if (PREFERRED.equals(key)) {
-		fd.setPreferred(((Boolean) value).booleanValue());
-		if (JVM_1_3) {
-			// Bug in 1.3 doesn't preserve the preferred flag, so we will put it into the attributes too.
-			fd.setValue(PREFERRED, value);
-		}
-	}
-	else if (SHORTDESCRIPTION.equals(key)) {
-		fd.setShortDescription((String)value);
-	}
-	// Otherwise assume an arbitrary-named value
-	// Assume that the FeatureDescriptor private hashTable\
-	// contains only arbitrary-named attributes
-	else {
-		fd.setValue(key, value);
-	}
-}    
-/**
-  * Fatal errors are handled by calling this method.
-  */
-protected void throwError(Exception e, String s) 
-{
-	throw new Error(e.toString() + " " + s);//$NON-NLS-1$
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/basebeaninfonls.properties b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/basebeaninfonls.properties
deleted file mode 100644
index 7f96830..0000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/basebeaninfonls.properties
+++ /dev/null
@@ -1,32 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/Attic/basebeaninfonls.properties,v $
-# $Revision: 1.1 $  $Date: 2003/10/27 17:18:00 $
-#
-
-
-#
-# Properties for the IvjBeanInfo
-#
-
-#
-# IvjBeanInfo Strings
-#
-Cannot_get_the_meth1_EXC_ = IWAV0011E Cannot get the method {0}.
-Cannot_create_the_E1_EXC_ = IWAV0012E Cannot create the EventSetDescriptor for {0}.
-Cannot_create_Method_EXC_ = IWAV0013E Cannot create the MethodDescriptor for {0}.
-Cannot_find_the_acc1_EXC_ = IWAV0014E Cannot find at least the write or read accessor for property {0}.
-Cannot_create_Param1_EXC_ = IWAV0015E Cannot create the ParameterDescriptor for {0}.
-Cannot_create_the_P1      = Cannot create the PropertyDescriptor for {0}.
-{0}_no_read_method_EXC_   = IWAV0016E Class {0} doesn't have the requested read accessor {1}.
-{0}_no_write_method_EXC_  = IWAV0017E Class {0} doesn't have the requested write accessor {1}.
-UNCAUGHT_EXC_WARN_        = IWAV0018E --------- UNCAUGHT EXCEPTION ---------
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/BeanDescriptorEquality.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/BeanDescriptorEquality.java
deleted file mode 100644
index ba1cdb5..0000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/BeanDescriptorEquality.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeanDescriptorEquality.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/31 20:16:34 $ 
- */
-
-import java.beans.*;
-/**
- * Equality tester for BeanDescriptors
- */
-public class BeanDescriptorEquality extends FeatureDescriptorEquality {
-	static void INIT() {
-		try {
-			MAP_EQUALITY.put(BeanDescriptor.class, (BeanDescriptorEquality.class).getConstructor(new Class[] {BeanDescriptor.class}));
-		} catch (NoSuchMethodException e) {
-		}
-	}
-	
-	/**
-	 * Constructor for BeanDescriptorEquality.
-	 */
-	public BeanDescriptorEquality() {
-		super();
-	}
-
-
-	public BeanDescriptorEquality(BeanDescriptor descr) {
-		super(descr);
-	}
-	
-	/**
-	 * Calculate the hashcode for the current feature, add this
-	 * to the hashcode received from super.calculateHashCode
-	 * and return the new value.
-	 *
-	 * NOTE: for subclasses, it is MANDITORY that the first line be:
-	 *         int hashcode = super.calculateHashCode();
-	 *       and the last line be:
-	 *         return hashcode*31 + (your calculated hashcode for just this subclass);
-	 */
-	protected int calculateHashCode() {
-		int hashcode = super.calculateHashCode();
-		BeanDescriptor bd = (BeanDescriptor) fFeature;
-		int hc = bd.getBeanClass().hashCode();
-		if (bd.getCustomizerClass() != null)
-			hc += bd.getCustomizerClass().hashCode();
-			
-		return hashcode*31 + hc;
-	}
-	 
-	public boolean equals(Object obj) {
-		if (identityTest(obj))
-			return true;
-		if (!super.equals(obj))
-			return false;
- 	
-		BeanDescriptor ob = (BeanDescriptor) ((FeatureDescriptorEquality) obj).fFeature;
-		BeanDescriptor fb = (BeanDescriptor) fFeature;
- 		
-		if (ob.getBeanClass() != fb.getBeanClass())
-			return false;
-		if (ob.getCustomizerClass() != fb.getCustomizerClass())
-			return false;
- 			
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/EventSetDescriptorEquality.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/EventSetDescriptorEquality.java
deleted file mode 100644
index 80cfa67..0000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/EventSetDescriptorEquality.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: EventSetDescriptorEquality.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/31 20:16:34 $ 
- */
-
-import java.beans.*;
-import java.util.*;
-import java.lang.reflect.Method;
-/**
- * Equality tester for EventSetDescriptors
- */
-public class EventSetDescriptorEquality extends FeatureDescriptorEquality {
-	
-	static void INIT() {
-		try {
-			MAP_EQUALITY.put(EventSetDescriptor.class, (EventSetDescriptorEquality.class).getConstructor(new Class[] {EventSetDescriptor.class}));
-		} catch (NoSuchMethodException e) {
-		}
-	}
-	
-	private ArrayList fListenerMethodDescriptors;	// Array of MethodDescriptorEquality's.
-	
-	/**
-	 * Constructor for EventSetDescriptorEquality.
-	 */
-	public EventSetDescriptorEquality() {
-		super();
-	}
-
-
-	public EventSetDescriptorEquality(EventSetDescriptor descr) {
-		super(descr);
-	}
-	
-	/**
-	 * A new feature is being set into this object,
-	 * clear any cache members so that they can be reconstructed.
-	 *
-	 * NOTE: Subclasses - remember to call super.clearFeature();
-	 */
-	protected void clearFeature() {
-		super.clearFeature();
-		fListenerMethodDescriptors = null;
-	}
-		
-	protected ArrayList listenerMethodDescriptors() {
-		if (fListenerMethodDescriptors == null) {
-			MethodDescriptor[] mds = ((EventSetDescriptor) fFeature).getListenerMethodDescriptors();
-			fListenerMethodDescriptors = new ArrayList(mds.length);
-			for (int i=0; i<mds.length; i++)
-				fListenerMethodDescriptors.add(new MethodDescriptorEquality(mds[i]));
-		}
-		return fListenerMethodDescriptors;
-	}	
-	
-	/**
-	 * Calculate the hashcode for the current feature, add this
-	 * to the hashcode received from super.calculateHashCode
-	 * and return the new value.
-	 *
-	 * NOTE: for subclasses, it is MANDITORY that the first line be:
-	 *         int hashcode = super.calculateHashCode();
-	 *       and the last line be:
-	 *         return hashcode*31 + (your calculated hashcode for just this subclass);
-	 */
-	protected int calculateHashCode() {
-		int hashcode = super.calculateHashCode();
-		EventSetDescriptor bd = (EventSetDescriptor) fFeature;
-		int hc = bd.getAddListenerMethod().hashCode();
-		Method[] methods = bd.getListenerMethods();
-		int mhc = 0;
-		for (int i=0; i<methods.length; i++)
-			mhc = mhc*31 + methods[i].hashCode();
-		hc += mhc;
-		hc += listenerMethodDescriptors().hashCode();
-		hc += bd.getListenerType().hashCode();
-		hc += bd.getRemoveListenerMethod().hashCode();
-		hc += (bd.isInDefaultEventSet() ? Boolean.TRUE : Boolean.FALSE).hashCode();
-		hc += (bd.isUnicast() ? Boolean.TRUE : Boolean.FALSE).hashCode();		
-
-		return hashcode*31 + hc;
-	}
-
-	 
-	public boolean equals(Object obj) {
-		if (identityTest(obj))
-			return true;
-			
-		if (!super.equals(obj))
- 			return false;
- 	
-		EventSetDescriptor oe = (EventSetDescriptor) ((FeatureDescriptorEquality) obj).fFeature;
-		EventSetDescriptor fe = (EventSetDescriptor) fFeature;
-		
-		EventSetDescriptorEquality oee = (EventSetDescriptorEquality) obj;
- 		
-		if (!oe.getAddListenerMethod().equals(fe.getAddListenerMethod()))
-			return false;
-		if (!java.util.Arrays.equals(oe.getListenerMethods(), fe.getListenerMethods()))
-			return false;	
-		if (oe.getListenerType() != fe.getListenerType())
-			return false;
-		if (oe.getRemoveListenerMethod() != fe.getRemoveListenerMethod())
-			return false;
-		if (oe.isInDefaultEventSet() != fe.isInDefaultEventSet())
-			return false;
-		if (oe.isUnicast() != oe.isUnicast())
-			return false;
-		
-		if (fListenerMethodDescriptors != null || oee.fListenerMethodDescriptors != null) {
-			// We are in a Map lookup situation, so one side has listener method equalities, so we will compare that way.
-			if (!oee.listenerMethodDescriptors().equals(listenerMethodDescriptors()))			
-				return false;
-		} else {
-			// We are in the building the list phases, don't waste space building entire list.
-			MethodDescriptor[] ours = fe.getListenerMethodDescriptors();
-			MethodDescriptor[] theirs = oe.getListenerMethodDescriptors();
-			if (ours.length != theirs.length)
-				return false;
-			if (ours.length > 0) {
-				MethodDescriptorEquality workingOurs = new MethodDescriptorEquality();
-				MethodDescriptorEquality workingThiers = new MethodDescriptorEquality();
-				for (int i = 0; i < ours.length; i++) {
-					workingOurs.setFeature(ours[i]);
-					workingThiers.setFeature(theirs[i]);
-					if (!workingOurs.equals(workingThiers))
-						return false;
-				}
-			}			
-		}
-			
-		return true;			
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/FeatureDescriptorEquality.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/FeatureDescriptorEquality.java
deleted file mode 100644
index 18cc311..0000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/FeatureDescriptorEquality.java
+++ /dev/null
@@ -1,202 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: FeatureDescriptorEquality.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/31 20:16:34 $ 
- */
-
-import java.beans.*;
-import java.util.*;
-import java.lang.reflect.*;
-/**
- * This object is used to test for semantic equality (equals())
- * between feature objects. It is needed because Feature's don't
- * provide a semantic equality, only an identity equality. Need
- * semantic equality so that keys in map can be found equal
- * semantically.
- */
-
-public class FeatureDescriptorEquality {
-	protected FeatureDescriptor fFeature;
-	
-	private HashMap fValues;	// The key/values for this feature. We grab them out
-								// so that we don't have to keep re-getting them for equality
-								// compares. This is done the first time needed in the equals
-								// statement.
-								
-	private int fHashCode = 0;	// Hashcode of this equality object. The hashcode for the feature is expensive
-					// so we will calculate it once (the assumption is that
-					// features once created aren't changed, which for our
-					// purposes here in beaninfo land is good).
-		
-	protected static HashMap MAP_EQUALITY = new HashMap(10);	// Map from descriptor to equality type.
-	static {
-		try {
-			MAP_EQUALITY.put(FeatureDescriptor.class, (FeatureDescriptorEquality.class).getConstructor(new Class[] {FeatureDescriptor.class}));
-		} catch (NoSuchMethodException e) {
-		}
-		// Need to set up the others.
-		BeanDescriptorEquality.INIT();
-		EventSetDescriptorEquality.INIT();		
-		IndexedPropertyDescriptorEquality.INIT();
-		MethodDescriptorEquality.INIT();		
-		ParameterDescriptorEquality.INIT();
-		PropertyDescriptorEquality.INIT();
-	}
-			
-	/**
-	 * Create the appropriate descriptor equality for this object.
-	 */
-	public static FeatureDescriptorEquality createEquality(FeatureDescriptor descr) {
-		try {
-			return (FeatureDescriptorEquality) ((Constructor) MAP_EQUALITY.get(descr.getClass())).newInstance(new Object[] {descr});
-		} catch (IllegalAccessException e) {
-		} catch (InstantiationException e) {
-		} catch (InvocationTargetException e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-		
-	public FeatureDescriptorEquality() {
-	}
-	
-	/**
-	 * NOTE: Every subclass needs to implement an override for the methods:
-	 *       calculateHashCode
-	 *       equals
-	 *       clearFeature - if it has any cache values
-	 */
-					
-	public FeatureDescriptorEquality(FeatureDescriptor feature) {
-		setFeature(feature);
-	}
-	
-	public final void setFeature(FeatureDescriptor feature) {
-		clearFeature();
-		fFeature = feature;
-	}
-	
-	/**
-	 * A new feature is being set into this object,
-	 * clear any cache members so that they can be reconstructed.
-	 *
-	 * NOTE: Subclasses - remember to call super.clearFeature();
-	 */
-	protected void clearFeature() {
-		fValues = null;
-		fHashCode = 0;
-	}
-	
-	public final int hashCode() {
-		if (fHashCode == 0)
-			fHashCode = calculateHashCode();
-		return fHashCode;
-	}
-
-	protected final HashMap values() {
-		if (fValues == null) {
-			fValues = new HashMap(5);
-			
-			Enumeration keys = fFeature.attributeNames();
-			while (keys.hasMoreElements()) {
-				String key = (String) keys.nextElement();
-				fValues.put(key, fFeature.getValue(key));
-			}
-		}
-		return fValues;
-	}
-	
-	/**
-	 * Calculate the hashcode for the current feature, add this
-	 * to the hashcode received from super.calculateHashCode
-	 * and return the new value.
-	 *
-	 * NOTE: for subclasses, it is MANDITORY that the first line be:
-	 *         int hashcode = super.calculateHashCode();
-	 *       and the last line be:
-	 *         return hashcode*31 + (your calculated hashcode for just this subclass);
-	 */
-	protected int calculateHashCode() {
-		int hashcode = 0;
-		if (fFeature.getName() != null)
-			hashcode += fFeature.getName().hashCode();
-			
-		if (fFeature.getDisplayName() != fFeature.getName())
-			hashcode += fFeature.getDisplayName().hashCode();
-		if (fFeature.getShortDescription() != fFeature.getDisplayName())
-			hashcode += fFeature.getShortDescription().hashCode();			
-			
-		hashcode += (fFeature.isExpert() ? Boolean.TRUE : Boolean.FALSE).hashCode();
-		hashcode += (fFeature.isHidden() ? Boolean.TRUE : Boolean.FALSE).hashCode();		
-		hashcode += (fFeature.isPreferred() ? Boolean.TRUE : Boolean.FALSE).hashCode();
-		
-		hashcode += values().hashCode();
-		return hashcode;
-	}
-	
-	/**
-	 * equals: See if this is equal semantically.
-	 *
-	 * NOTE: Every subclass needs to implement this and
-	 *       the first few lines should be:
-	 *         if (identityTest())
-	 *           return true;
-	 *         if (!super.equals(obj))
-	 *           return false;
-	 */
-	 
-	 public boolean equals(Object obj) {
-		if (identityTest(obj))
-			return true;
-		if (!(obj instanceof FeatureDescriptorEquality))
-			return false;
-			
-		FeatureDescriptorEquality ofe = (FeatureDescriptorEquality) obj;	 		
-	 	FeatureDescriptor of = ofe.fFeature;
-	 		
-	 	if (fFeature.getClass() != of.getClass())
-	 		return false;
-	 		
-	 	if (!fFeature.getName().equals(of.getName()))
-	 		return false;
-	 	if (!fFeature.getDisplayName().equals(of.getDisplayName()))
-	 		return false;
-	 	if (!fFeature.getShortDescription().equals(of.getShortDescription()))
-	 		return false;	 
-	 	if (fFeature.isExpert() != of.isExpert() ||
-		 		fFeature.isHidden() != of.isHidden() ||
-		 		fFeature.isPreferred() != of.isPreferred())
-	 		return false;
-	 	
-		if (!values().equals(ofe.values()))
-			return false;
-		return true;
-	 }
-	 
-	 /*
-	  * Identity test: Tests for quick identity of
-	  * descriptors. If this returns true, then 
-	  * no other tests required.
-	  */
-	 protected boolean identityTest(Object obj) {
-	 	if (!(obj instanceof FeatureDescriptorEquality))
-	 		return false;
-	 	if (this == obj)
-	 		return true;
-
-	 	if (((FeatureDescriptorEquality) obj).fFeature == fFeature)
-	 		return true;
-	 		
-	 	return false;	 	
-	 }	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/IndexedPropertyDescriptorEquality.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/IndexedPropertyDescriptorEquality.java
deleted file mode 100644
index fef78e2..0000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/IndexedPropertyDescriptorEquality.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IndexedPropertyDescriptorEquality.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/31 20:16:34 $ 
- */
-
-import java.beans.*;
-/**
- * IndexedPropertyDescriptor equality tester
- */
-public class IndexedPropertyDescriptorEquality extends PropertyDescriptorEquality {
-
-	static void INIT() {
-		try {
-			MAP_EQUALITY.put(IndexedPropertyDescriptor.class, (IndexedPropertyDescriptorEquality.class).getConstructor(new Class[] {IndexedPropertyDescriptor.class}));
-		} catch (NoSuchMethodException e) {
-		}
-	}	
-	
-	public IndexedPropertyDescriptorEquality() {
-	}
-	
-	public IndexedPropertyDescriptorEquality(IndexedPropertyDescriptor descr) {
-		super(descr);
-	}	
-	/**
-	 * Calculate the hashcode for the current feature, add this
-	 * to the hashcode received from super.calculateHashCode
-	 * and return the new value.
-	 *
-	 * NOTE: for subclasses, it is MANDITORY that the first line be:
-	 *         int hashcode = super.calculateHashCode();
-	 *       and the last line be:
-	 *         return hashcode*31 + (your calculated hashcode for just this subclass);
-	 */
-	protected int calculateHashCode() {
-		int hashcode = super.calculateHashCode();
-		IndexedPropertyDescriptor pd = (IndexedPropertyDescriptor) fFeature;
-		
-		int hc = pd.getIndexedPropertyType().hashCode();
-
-		if (pd.getIndexedReadMethod() != null)
-			hc += pd.getIndexedReadMethod().hashCode();
-		if (pd.getIndexedWriteMethod() != null)
-			hc += pd.getIndexedWriteMethod().hashCode();		
-						
-		return hashcode*31 + hc;
-	}
-
-	public boolean equals(Object obj) {
-		if (identityTest(obj))
-			return true;
-		if (!super.equals(obj))
-			return false;
- 	
-		IndexedPropertyDescriptor op = (IndexedPropertyDescriptor) ((FeatureDescriptorEquality) obj).fFeature;
-		IndexedPropertyDescriptor fp = (IndexedPropertyDescriptor) fFeature;
- 		
-		if (op.getIndexedPropertyType() != fp.getIndexedPropertyType())
-			return false;
-		if (op.getIndexedReadMethod() != fp.getIndexedReadMethod())
-			return false;
-		if (op.getIndexedWriteMethod() != fp.getIndexedWriteMethod())
-			return false;													
-			
-		return true;
-	}
-
-
-	
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/MethodDescriptorEquality.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/MethodDescriptorEquality.java
deleted file mode 100644
index 9c92f39..0000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/MethodDescriptorEquality.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: MethodDescriptorEquality.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/31 20:16:34 $ 
- */
-
-import java.beans.*;
-import java.util.*;
-/**
- * Equality tester for MethodDescriptors
- */
-public class MethodDescriptorEquality extends FeatureDescriptorEquality {
-	
-	static void INIT() {
-		try {
-			MAP_EQUALITY.put(MethodDescriptor.class, (MethodDescriptorEquality.class).getConstructor(new Class[] {MethodDescriptor.class}));
-		} catch (NoSuchMethodException e) {
-		}
-	}	
-	
-	private ArrayList fParameterDescriptors;	// Array of ParameterDescriptorEquality's.
-	
-	public MethodDescriptorEquality() {
-	}
-	
-	public MethodDescriptorEquality(MethodDescriptor descr) {
-		super(descr);
-	}
-	
-	/**
-	 * A new feature is being set into this object,
-	 * clear any cache members so that they can be reconstructed.
-	 *
-	 * NOTE: Subclasses - remember to call super.clearFeature();
-	 */
-	protected void clearFeature() {
-		super.clearFeature();
-		fParameterDescriptors = null;
-	}	
-	
-	protected ArrayList parameterDescriptors() {
-		if (fParameterDescriptors == null) {
-			ParameterDescriptor[] pds = ((MethodDescriptor) fFeature).getParameterDescriptors();
-			if (pds != null) {			
-				fParameterDescriptors = new ArrayList(pds.length);
-				for (int i=0; i<pds.length; i++)
-					fParameterDescriptors.add(new ParameterDescriptorEquality(pds[i]));
-			}
-		}
-		return fParameterDescriptors;
-	}
-	/**
-	 * Calculate the hashcode for the current feature, add this
-	 * to the hashcode received from super.calculateHashCode
-	 * and return the new value.
-	 *
-	 * NOTE: for subclasses, it is MANDITORY that the first line be:
-	 *         int hashcode = super.calculateHashCode();
-	 *       and the last line be:
-	 *         return hashcode*31 + (your calculated hashcode for just this subclass);
-	 */
-	protected int calculateHashCode() {
-		int hashcode = super.calculateHashCode();
-		MethodDescriptor bd = (MethodDescriptor) fFeature;
-		int hc = bd.getMethod().hashCode();
-		if (parameterDescriptors() != null)
-			hc += parameterDescriptors().hashCode(); 
-
-		return hashcode*31 + hc;
-	}
-
-	public boolean equals(Object obj) {
-		if (identityTest(obj))
-			return true;
-			
-		if (!super.equals(obj))
-			return false;
-
-		MethodDescriptorEquality oem = (MethodDescriptorEquality) obj;
-		MethodDescriptor om = (MethodDescriptor) oem.fFeature;
-		MethodDescriptor fm = (MethodDescriptor) fFeature;
- 		
-		if (fm.getMethod() != om.getMethod())
-			return false;
-				
-		if (fParameterDescriptors != null || oem.fParameterDescriptors != null) {
-			// We are in a Map lookup situation, so one side has listener method equalities, so we will compare that way.
-			if (parameterDescriptors() == null)
-				if (((MethodDescriptorEquality) obj).parameterDescriptors() != null)
-					return false;
-				else ;
-			else
-				if (!parameterDescriptors().equals(((MethodDescriptorEquality) obj).parameterDescriptors()))
-					return false;
-		} else {
-			// We are in the building the list phases, don't waste space building entire list.
-			ParameterDescriptor[] ours = fm.getParameterDescriptors();
-			ParameterDescriptor[] theirs = om.getParameterDescriptors();
-			if (ours == theirs)
-				return true;
-			else if (ours == null)
-				if (theirs != null)
-					return false;
-				else
-					;
-			else if (theirs == null)
-				return false;
-			else if (ours.length != theirs.length)
-				return false;
-			else if (ours.length > 0) {
-				ParameterDescriptorEquality workingOurs = new ParameterDescriptorEquality();
-				ParameterDescriptorEquality workingThiers = new ParameterDescriptorEquality();
-				for (int i = 0; i < ours.length; i++) {
-					workingOurs.setFeature(ours[i]);
-					workingThiers.setFeature(theirs[i]);
-					if (!workingOurs.equals(workingThiers))
-						return false;
-				}
-			}			
-		}
-				
- 			
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo.java
deleted file mode 100644
index b8c5db6..0000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo.java
+++ /dev/null
@@ -1,531 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ModelingBeanInfo.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:17:59 $ 
- */
-
-import java.beans.*;
-import java.lang.reflect.Method;
-import java.util.*;
-/**
- * This class is the beaninfo class that is created when
- * beaninfo modeling introspects a bean. Its purpose is
- * to gather together and analyze the beaninfo. For example,
- * it checks with the supertype beaninfo to see if all of
- * the supertype's descriptors are included in this list.
- * If they are, then it knows that it does a straight
- * inheritance of the supertype's descriptors, and those
- * descriptors can be removed from the list. This makes
- * it easier on the model side so that there isn't a
- * great proliferation of descriptors all describing the
- * same properties. In that case they can be merged from 
- * the supertype model. If some are not found, then that
- * means this beaninfo is trying to hide some of them,
- * and in that case this is the definitive list and 
- * inheritance shouldn't be used on the model side. However, 
- * for those features which are essentially the inherited 
- * feature (i.e. the BeanInfo simply filtered out some inherited
- * but not all), they will be returnable (by name). The IDE side
- * will take these that are "inherited" and will return the
- * actual structured feature from the inherited class.
- *
- * The test for seeing if the super feature is included
- * in the beaninfo is first to see if the the feature
- * is in the beaninfo by name, if it is then it is
- * marked as included. Then a check is made on equality,
- * if they are equal, then the feature is removed from the
- * beaninfo list, but the merge flag is still left on, and 
- * removed inherited feature is added to the list of inherited
- * features. If all inherited features are found, this list
- * is cleared and flag is set which simply says merge all inherited.
- * This allows merging to occur but it also allows 
- * overrides to occur.
- * 
- * Note:
- *   Test for identity is different between JDK 1.4 and above
- * and below. 1.4 and above, we can use actual equals() because
- * the same descriptor is returned from inherited features. In
- * 1.3, clones were always returned and equals() would answer false,
- * so we need to create a special equality descriptor which turns
- * the equals() into one that can test clones for semantic equality.
- */
-
-public abstract class ModelingBeanInfo {
-	
-	private static boolean PRE14;
-	static {
-		String version = System.getProperty("java.version",""); //$NON-NLS-1$ //$NON-NLS-2$
-		PRE14 = version.startsWith("1."); //$NON-NLS-1$
-		if (PRE14) {
-			// Continue to check, get the revision.
-			int revision = 0;
-			if (version.length() > 2) {
-				int revEnd = version.indexOf('.', 2);
-				revision = version.length() > 2 ? Integer.parseInt(revEnd != -1 ? version.substring(2, revEnd) : version.substring(2)) : 0;
-				PRE14 = revision < 4;
-			}
-		}		
-	}
-	
-	static class FeatureEqualitySet extends HashSet {
-		private FeatureDescriptorEquality workingKey;
-		
-		public FeatureEqualitySet(List features) {
-			super(features.size());
-			// Get first feature to fiqure out type of working key. This will not be reentrant.
-			workingKey = FeatureDescriptorEquality.createEquality((FeatureDescriptor) features.get(0));
-			this.addAll(features);
-		}
-		
-		/**
-		 * @see java.util.Collection#add(Object)
-		 */
-		public boolean add(Object o) {
-			return super.add(FeatureDescriptorEquality.createEquality((FeatureDescriptor) o));
-		}
-
-		/**
-		 * @see java.util.Collection#contains(Object)
-		 */
-		public boolean contains(Object o) {
-			workingKey.setFeature((FeatureDescriptor) o);
-			return super.contains(workingKey);
-		}
-
-	}
-	
-	
-	// The following fields indicate if the super info should be merged
-	// in on the model side. no merge means there were no inherited methods at all. So the
-	// beaninfo presented is definitive. If merge, then get...Descriptors will return just
-	// the ones for this level, and getSuper...Descriptors will return the inherited ones.
-	// Though in this case, if the returned super list is null, then that means use ALL of
-	// the inherited ones.
-	// The super list returns simply the names, don't need to have the full descriptors in that case.
-	protected boolean
-		fMergeInheritedEvents = false,
-		fMergeInheritedMethods = false,
-		fMergeInheritedProperties = false;
-		
-	protected final BeanInfo fTargetBeanInfo;	// The beaninfo being modeled.
-
-	// Local descriptors	
-	protected EventSetDescriptor[] fEventSets;
-	protected MethodDescriptor[] fMethods;	
-	protected PropertyDescriptor[] fProperties;
-	
-	// Inherited descriptor names, will be null if no merge or if merge all.
-	
-	// Methods are special. You can have duplicates, so name is not sufficient. 
-	// So for methods,
-	// will use an array of Strings where:
-	//   For each one the full signature
-	//   will be in the list, e.g. "name:methodName(argtype,..." where argtype is the fullyqualified
-	//   classname (using "." notation for inner classes), and using format "java.lang.String[]" for
-	//   arrays.
-	//
-	// This is because even if there are no duplicates, it will take less time/space to simply create the entries
-	// then it would to create a set to see if there are duplicates and then create the final array.
-	protected String[] fInheritedEventSets;
-	protected String[] fInheritedMethods;	
-	protected String[] fInheritedProperties;
-	
-
-	/**
-	 * Method used to do introspection and create the appropriate ModelingBeanInfo
-	 *
-	 * This will always introspect.
-	 */
-	public static ModelingBeanInfo introspect(Class introspectClass) throws IntrospectionException {
-		return introspect(introspectClass, true);
-	}
-	
-	/**
-	 * Method used to do introspection and create the appropriate ModelingBeanInfo
-	 *
-	 * introspectIfNoBeanInfo: If this is true, then if no explicit beaninfo was found for this
-	 *   class, then introspection will be done anyway. The Introspector will use
-	 *   reflection for local methods/events/properties of this class and then add
-	 *   in the results of the superclass introspection. If this parameter is false,
-	 *   then if the explicit beaninfo is not found, then no introspection will be
-	 *   done and null will be returned.
-	 */
-	public static ModelingBeanInfo introspect(Class introspectClass, boolean introspectIfNoBeanInfo) throws IntrospectionException {
-		if (!introspectIfNoBeanInfo) {
-			// Need to check if the beaninfo is explicitly supplied.
-			// If not, then we return null.
-			// The checks will be the same that Introspector will use.
-			
-			boolean found = false;
-			// 1. Is there a BeanInfo class in the same package
-			if (!classExists(introspectClass.getName()+"BeanInfo", introspectClass)) { //$NON-NLS-1$
-				// 2. Is this class a BeanInfo class for itself.
-				if (!(BeanInfo.class).isAssignableFrom(introspectClass)) {
-					// 3. Can this class be found in the Beaninfo searchpath.
-					String[] searchPath = Introspector.getBeanInfoSearchPath();
-					int startClassname = introspectClass.getName().lastIndexOf(".")+1; //$NON-NLS-1$
-					String biName = "."+introspectClass.getName().substring(startClassname)+"BeanInfo"; //$NON-NLS-1$ //$NON-NLS-2$
-					for (int i=0; i<searchPath.length; i++) {
-						if (classExists(searchPath[i]+biName, introspectClass)) {
-							found = true;
-							break;
-						}
-					}
-				} else
-					found = true;
-			} else
-				found = true;
-			
-			if (!found)
-				return null;
-		}
-		
-		BeanInfo bInfo = Introspector.getBeanInfo(introspectClass);
-		Class superClass = introspectClass.getSuperclass();
-		
-		if (superClass == null)
-			return PRE14 ? (ModelingBeanInfo) new ModelingBeanInfoPre14(bInfo) : new ModelingBeanInfo14(bInfo);
-		else
-			return PRE14 ? (ModelingBeanInfo) new ModelingBeanInfoPre14(bInfo, Introspector.getBeanInfo(superClass)) : new ModelingBeanInfo14(bInfo, Introspector.getBeanInfo(superClass));
-	}
-	
-	/**
-	 * See if this class exists, first in the class loader of the sent class,
-	 * then in the system loader, then the bootstrap loader, and finally the
-	 * current thread context class loader.
-	 */
-	protected static boolean classExists(String className, Class fromClass) {
-		if (fromClass.getClassLoader() != null)
-			try {
-				fromClass.getClassLoader().loadClass(className);
-				return true;
-			} catch (ClassNotFoundException e) {
-			}
-		if (ClassLoader.getSystemClassLoader() != null)
-			try {
-				ClassLoader.getSystemClassLoader().loadClass(className);
-				return true;
-			} catch (ClassNotFoundException e) {
-			}
-		try {
-			Class.forName(className);
-			return true;
-		} catch (ClassNotFoundException e) {
-		}
-		
-		try {
-	        // Use the classloader from the current Thread.
-			ClassLoader cl = Thread.currentThread().getContextClassLoader();
-			cl.loadClass(className);
-			return true;
-		} catch (ClassNotFoundException e) {
-		}
-		
-		return false;
-		
-	}
-	
-	/**
-	 * Used only for Object since that is the only bean that doesn't
-	 * have a superclass. Superclass beaninfo required for all other
-	 * classes. If this is constructed then this means no merge
-	 * and the list is definitive.
-	 */
-	protected ModelingBeanInfo(BeanInfo beanInfo) {
-		fTargetBeanInfo = beanInfo;
-	}	
-	
-	protected ModelingBeanInfo(BeanInfo beanInfo, BeanInfo superBeanInfo) {
-		this(beanInfo);
-		
-		// Now go through the beaninfo to determine the merge state.
-		// The default is no merge.
-		
-		List full = addAll(beanInfo.getEventSetDescriptors());
-		List inherited = addAll(superBeanInfo.getEventSetDescriptors());
-		
-		fMergeInheritedEvents = stripList(full, inherited);
-		if (fMergeInheritedEvents) {
-			if (!full.isEmpty())
-				fEventSets = (EventSetDescriptor[]) full.toArray(new EventSetDescriptor[full.size()]);
-			if (!inherited.isEmpty())
-				createEventArray(inherited);
-		}
-
-		full = addAll(beanInfo.getMethodDescriptors());
-		inherited = addAll(superBeanInfo.getMethodDescriptors());
-
-		fMergeInheritedMethods = stripList(full, inherited);
-		if (fMergeInheritedMethods) {
-			if (!full.isEmpty())			
-				fMethods = (MethodDescriptor[]) full.toArray(new MethodDescriptor[full.size()]);
-			if (!inherited.isEmpty())
-				createMethodEntries(inherited);
-		}
-
-		full = addAll(beanInfo.getPropertyDescriptors());
-		inherited = addAll(superBeanInfo.getPropertyDescriptors());
-
-		fMergeInheritedProperties = stripList(full, inherited);
-		if (fMergeInheritedProperties) {
-			if (!full.isEmpty())			
-				fProperties = (PropertyDescriptor[]) full.toArray(new PropertyDescriptor[full.size()]);
-			if (!inherited.isEmpty())
-				createPropertyArray(inherited);
-		}
-		
-	}
-	
-	protected void createEventArray(List features) {
-		fInheritedEventSets = createDescriptorNames(features);
-	}
-	
-	protected void createMethodEntries(List features) {
-		int s = features.size();
-		fInheritedMethods = new String[s];
-		for (int i = 0; i < s; i++) {
-			fInheritedMethods[i] = longName((MethodDescriptor) features.get(i));
-		}
-	}
-
-	protected String longName(MethodDescriptor md) {
-		String n = md.getName();
-		StringBuffer sb = new StringBuffer(n.length() + 20);
-		sb.append(n);
-		sb.append(':');
-		Method m = md.getMethod();
-		sb.append(m.getName());
-		sb.append('(');
-		Class[] parms = m.getParameterTypes();
-		for (int j = 0; j < parms.length; j++) {
-			if (j>0)
-				sb.append(',');
-			if (!parms[j].isArray())
-				sb.append(parms[j].getName().replace('$', '.'));
-			else {
-				Class finalType = parms[j].getComponentType();
-				int insrt = sb.length();
-				while (finalType.isArray()) {
-					sb.append("[]"); //$NON-NLS-1$
-					finalType = finalType.getComponentType();
-				}
-				sb.insert(insrt, finalType.getName().replace('$', '.'));
-			}
-		}
-		return sb.toString();
-	}
-		
-	protected void createPropertyArray(List features) {
-		fInheritedProperties = createDescriptorNames(features);
-	}		
-	
-	protected String[] createDescriptorNames(List features) {
-		String[] result = new String[features.size()];
-		for (int i = 0; i < result.length; i++) {
-			result[i] = ((FeatureDescriptor) features.get(i)).getName();
-		}
-		return result;
-	}		
-	
-	protected List addAll(Object[] set) {
-		if (set != null) {
-			ArrayList l = new ArrayList(set.length);
-			for (int i = 0; i < set.length; i++) {
-				l.add(set[i]);
-			}
-			return l;
-		} else
-			return Collections.EMPTY_LIST;
-	}
-	
-	
-		/**
-	 * If this returns true, then all of the super class's
-	 * events should be merged in. If it returns false,
-	 * then the events returned are it, there are no
-	 * others.
-	 */
-	public boolean isMergeInheritedEvents() {
-		return fMergeInheritedEvents;
-	}
-	
-	/**
-	 * If this returns true, then all of the super class's
-	 * methods should be merged in. If it returns false,
-	 * then the methods returned are it, there are no
-	 * others.
-	 */	
-	public boolean isMergeInheritedMethods() {
-		return fMergeInheritedMethods;
-	}
-	
-	
-	/**
-	 * If this returns true, then all of the super class's
-	 * properties should be merged in. If it returns false,
-	 * then the properties returned are it, there are no
-	 * others.
-	 */	
-	public boolean isMergeInheritedProperties() {
-		return fMergeInheritedProperties;
-	}
-	
-    public BeanInfo[] getAdditionalBeanInfo() {
-    	return fTargetBeanInfo.getAdditionalBeanInfo();
-    }
-    
-    public BeanDescriptor getBeanDescriptor() {
-    	return fTargetBeanInfo.getBeanDescriptor();
-    }
-    
-    public EventSetDescriptor[] getEventSetDescriptors() {
-    	return fMergeInheritedEvents ?
-    		fEventSets : fTargetBeanInfo.getEventSetDescriptors();
-    }
-    
-    public java.awt.Image getIcon(int iconKind) {
-    	return fTargetBeanInfo.getIcon(iconKind);
-    }
-    
-    public MethodDescriptor[] getMethodDescriptors() {
-    	return fMergeInheritedMethods ?
-    		fMethods : fTargetBeanInfo.getMethodDescriptors();
-    }
-    
-    public PropertyDescriptor[] getPropertyDescriptors() {
-    	return fMergeInheritedProperties ?
-    		fProperties : fTargetBeanInfo.getPropertyDescriptors();
-    }
-    
-    public String[] getInheritedEventSetDescriptors() {
-    	return fInheritedEventSets;
-    }
-
-    public String[] getInheritedMethodDescriptors() {
-    	return fInheritedMethods;
-    }
-    
-    
-    public String[] getInheritedPropertyDescriptors() {
-    	return fInheritedProperties;
-    }
-
-	protected String computeKey(FeatureDescriptor feature) {
-		return feature instanceof MethodDescriptor ? longName((MethodDescriptor) feature) : feature.getName();
-	}
-	
-	/*
-	 * Strip the list down using the Equality objects. 
-	 */
-	protected boolean stripList(List fullList, List inheritedList) {
-		// The process is to create a boolean list mirroring the inheritedList.
-		// This boolean list indicates if the corresponding (by index)
-		// entry from the inheritedList is to be retained in the final computed
-		// list.
-		//
-		// A Hashmap is created where the key is the computedKey from the inheritedList
-		// and the value is the index into the inheritedList. This is so that we can quickly determine if the
-		// entry is matching.
-		//
-		// Then the fullList will be stepped through and see if there is
-		// an entry in the Hashmap for it. If there is an entry, then
-		// the entry is checked to see if it is semantically equal.
-		// If it is, then the boolean list entry is marked so that
-		// the inheritedList entry will be retained, the fullList entry removed and the counter
-		// of the number of entries in the inheritedList copy is incremented.
-		// If they aren't semantically equal, then we know that this is
-		// an override. In that case, the fullList entry is kept, the inheritedList
-		// entry is not retained, but we don't prevent merge later.
-		//
-		// If the fullList entry is not found in the HashMap, then we know it is not
-		// from the inheritedList, so it will be retained in the fullList. 
-		//
-		// If we get all of the way through, then we know that what is left
-		// in fullList is just this level.
-		//
-		// All of this is based upon the assumption that the list can
-		// get quite large (which it does for javax.swing) and that
-		// a simple n-squared order search would be too slow.
-
-		if (fullList.isEmpty()) {
-			return false;	// There are none in the full list, so there should be none, and don't merge.
-		} else if (inheritedList.isEmpty())
-			return false;	// There are no inheritedList features, so treat as no merge.
-			
-		// We have some features and some inheritedList features, so we need to go through the lists.
-
-		// Create a working copy of the FeatureDescriptorEquality for fullList and stripList and just reuse them
-		FeatureDescriptorEquality workingStrip = FeatureDescriptorEquality.createEquality((FeatureDescriptor) inheritedList.get(0));
-		FeatureDescriptorEquality workingFull = FeatureDescriptorEquality.createEquality((FeatureDescriptor) fullList.get(0));
-
-		int inheritedSize = inheritedList.size();
-		boolean[] copy = new boolean[inheritedSize];
-		
-		HashMap inheritedMap = new HashMap(inheritedSize);
-		for (int i = 0; i < inheritedSize; i++) {
-			FeatureDescriptor f = (FeatureDescriptor) inheritedList.get(i);
-			String key = computeKey(f);
-			Object value = inheritedMap.get(key);
-			if (value == null)
-				inheritedMap.put(key, new Integer(i));
-			else {
-				// Shouldn't occur.
-			}
-
-		}
-
-		// When we are done with this processing, inheritedList will contain the super that should be used, and full list will contain only the locals (those defined at this class level).;
-		int inheritedRetained = 0;		
-		Iterator fullItr = fullList.iterator();
-		// Continue while we've retained less than the full super amount. If we've retained all of the inheritedList, there is no
-		// need to continue processing the fullList because there can't possibly be any inheritedList entries left to find.
-		while(inheritedRetained < inheritedSize && fullItr.hasNext()) {
-			FeatureDescriptor f = (FeatureDescriptor) fullItr.next();
-			boolean foundFull = false;
-			Object index = inheritedMap.get(computeKey(f));
-			if (index != null) {
-				workingFull.setFeature(f);
-				int ndx = ((Integer) index).intValue();
-				workingStrip.setFeature((FeatureDescriptor) inheritedList.get(ndx));
-				if (workingFull.equals(workingStrip)) {
-					// They are semantically identical, so retain in the inheritedList.				
-					copy[ndx] = true;
-					foundFull = true;
-					inheritedRetained++;
-				}
-			}
-			
-			if (foundFull) {
-				// We found the inheritedList entry semantically equal in the full list somewhere, so we need to remove the full entry.
-				fullItr.remove();
-			}
-		}
-
-		if (inheritedRetained == inheritedSize) {
-			inheritedList.clear();	// All were found in inheritedList, so just clear the inheritedList and return just what was left in the found. Those in full found in super had been removed from full during the processing.
-			return true;	// We merge, but no locals.
-		}
-
-		if (inheritedRetained != 0) {
-			// Some were retained, take out of the list the rest.
-			// Go from end because the index would immediately become invalid if went from the beginning.
-			for (int i = copy.length-1; i >=0 ; i--)
-				if (!copy[i])
-					inheritedList.remove(i);
-		} else
-			inheritedList.clear();	// None were retained, so clear the list.
-
-		return !inheritedList.isEmpty();	// We merge if the inheritedList is not empty.
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo14.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo14.java
deleted file mode 100644
index 12173a3..0000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo14.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ModelingBeanInfo14.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:17:59 $ 
- */
-
-import java.beans.BeanInfo;
-
-/**
- * @author richkulp
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class ModelingBeanInfo14 extends ModelingBeanInfo {
-
-	/**
-	 * Constructor for ModelingBeanInfo14.
-	 * @param beanInfo
-	 */
-	public ModelingBeanInfo14(BeanInfo beanInfo) {
-		super(beanInfo);
-	}
-
-	/**
-	 * Constructor for ModelingBeanInfo14.
-	 * @param beanInfo
-	 * @param superBeanInfo
-	 */
-	public ModelingBeanInfo14(BeanInfo beanInfo, BeanInfo superBeanInfo) {
-		super(beanInfo, superBeanInfo);
-	}
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfoPre14.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfoPre14.java
deleted file mode 100644
index b2fa50c..0000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfoPre14.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ModelingBeanInfoPre14.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:17:59 $ 
- */
-
-import java.beans.BeanInfo;
-
-/**
- * This is the modeling BeanInfo for Pre-JDK 1.4.
- */
-public class ModelingBeanInfoPre14 extends ModelingBeanInfo {
-
-	public ModelingBeanInfoPre14(BeanInfo beanInfo) {
-		super(beanInfo);
-	}
-
-	public ModelingBeanInfoPre14(BeanInfo beanInfo, BeanInfo superBeanInfo) {
-		super(beanInfo, superBeanInfo);
-	}
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ParameterDescriptorEquality.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ParameterDescriptorEquality.java
deleted file mode 100644
index a5222c1..0000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ParameterDescriptorEquality.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ParameterDescriptorEquality.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/31 20:16:34 $ 
- */
-
-import java.beans.*;
-/**
- * ParameterDescriptor equality tester
- */
-public class ParameterDescriptorEquality extends FeatureDescriptorEquality {
-	
-	static void INIT() {
-		try {
-			MAP_EQUALITY.put(ParameterDescriptor.class, (ParameterDescriptorEquality.class).getConstructor(new Class[] {ParameterDescriptor.class}));
-		} catch (NoSuchMethodException e) {
-		}
-	}	
-	
-	public ParameterDescriptorEquality() {
-	}
-	
-	public ParameterDescriptorEquality(ParameterDescriptor descr) {
-		super(descr);
-	}	
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/PropertyDescriptorEquality.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/PropertyDescriptorEquality.java
deleted file mode 100644
index 6f11d37..0000000
--- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/PropertyDescriptorEquality.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.vm;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: PropertyDescriptorEquality.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/31 20:16:34 $ 
- */
-
-import java.beans.*;
-/**
- * PropertyDescriptor equality tester
- */
-public class PropertyDescriptorEquality extends FeatureDescriptorEquality {
-	
-	static void INIT() {
-		try {
-			MAP_EQUALITY.put(PropertyDescriptor.class, (PropertyDescriptorEquality.class).getConstructor(new Class[] {PropertyDescriptor.class}));
-		} catch (NoSuchMethodException e) {
-		}
-	}	
-	
-	public PropertyDescriptorEquality() {
-	}
-	
-	public PropertyDescriptorEquality(PropertyDescriptor descr) {
-		super(descr);
-	}	
-	/**
-	 * Calculate the hashcode for the current feature, add this
-	 * to the hashcode received from super.calculateHashCode
-	 * and return the new value.
-	 *
-	 * NOTE: for subclasses, it is MANDITORY that the first line be:
-	 *         int hashcode = super.calculateHashCode();
-	 *       and the last line be:
-	 *         return hashcode*31 + (your calculated hashcode for just this subclass);
-	 */
-	protected int calculateHashCode() {
-		int hashcode = super.calculateHashCode();
-		PropertyDescriptor pd = (PropertyDescriptor) fFeature;
-		int hc = 0;
-		if (pd.getPropertyEditorClass() != null)
-			hc += pd.getPropertyEditorClass().hashCode();
-		if (pd.getPropertyType() != null)
-			hc += pd.getPropertyType().hashCode();
-		if (pd.getReadMethod() != null)
-			hc += pd.getReadMethod().hashCode();
-		if (pd.getWriteMethod() != null)
-			hc += pd.getWriteMethod().hashCode();
-			
-		hc += (pd.isBound() ? Boolean.TRUE : Boolean.FALSE).hashCode();
-		hc += (pd.isConstrained() ? Boolean.TRUE : Boolean.FALSE).hashCode();		
-						
-		return hashcode*31 + hc;
-	}
-
-	public boolean equals(Object obj) {
-		if (identityTest(obj))
-			return true;
-			
-		if (!super.equals(obj))
-			return false;
- 	
-		PropertyDescriptor op = (PropertyDescriptor) ((FeatureDescriptorEquality) obj).fFeature;
-		PropertyDescriptor fp = (PropertyDescriptor) fFeature;
- 		
-		if (op.getPropertyEditorClass() != fp.getPropertyEditorClass())
-			return false;
-		if (op.getReadMethod() != fp.getReadMethod())
-			return false;
-		if (op.getWriteMethod() != fp.getWriteMethod())
-			return false;
-		if (op.isBound() != fp.isBound())
-			return false;				
-		if (op.isConstrained() != fp.isConstrained())
-			return false;														
-			
-		return true;
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/.classpath b/plugins/org.eclipse.jem.proxy/.classpath
deleted file mode 100644
index 88179c6..0000000
--- a/plugins/org.eclipse.jem.proxy/.classpath
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="proxy/"/>
-    <classpathentry kind="src" path="proxyCommon/"/>
-    <classpathentry kind="src" path="initParser/"/>
-    <classpathentry kind="src" path="proxyRemote/"/>
-    <classpathentry kind="src" path="remoteCommon/"/>
-    <classpathentry kind="src" path="proxyide/"/>
-    <classpathentry kind="src" path="vm_remotevm"/>
-    <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jem.proxy/.cvsignore b/plugins/org.eclipse.jem.proxy/.cvsignore
deleted file mode 100644
index 60463af..0000000
--- a/plugins/org.eclipse.jem.proxy/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-build.xml
diff --git a/plugins/org.eclipse.jem.proxy/.options b/plugins/org.eclipse.jem.proxy/.options
deleted file mode 100644
index fa0202a..0000000
--- a/plugins/org.eclipse.jem.proxy/.options
+++ /dev/null
@@ -1,6 +0,0 @@
-org.eclipse.jem.proxy/remote/debug/debugvm=false
-org.eclipse.jem.proxy/remote/debug/ioconsole=false
-org.eclipse.jem.proxy/remote/debug/vmtraceout=false
-org.eclipse.jem.proxy/debug/logtrace=default
-org.eclipse.jem.proxy/debug/logtracefile=default
-org.eclipse.jem.proxy/debug/loglevel=default
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/.project b/plugins/org.eclipse.jem.proxy/.project
deleted file mode 100644
index 9baa5f0..0000000
--- a/plugins/org.eclipse.jem.proxy/.project
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jem.proxy</name>
-	<comment></comment>
-	<projects>
-		<project>com.ibm.wtp.common.util</project>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.debug.core</project>
-		<project>org.eclipse.jdt.core</project>
-		<project>org.eclipse.jdt.launching</project>
-		<project>org.eclipse.pde.core</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jem.proxy/about.html b/plugins/org.eclipse.jem.proxy/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/plugins/org.eclipse.jem.proxy/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/build.properties b/plugins/org.eclipse.jem.proxy/build.properties
deleted file mode 100644
index ea55d27..0000000
--- a/plugins/org.eclipse.jem.proxy/build.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-source.proxyide.jar = proxyide/
-source.proxycommon.jar = proxyCommon/
-source.proxy.jar = proxy/
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               proxycommon.jar,\
-               proxy.jar,\
-               remotecommon.jar,\
-               proxyremote.jar,\
-               initparser.jar,\
-               vm/remotevm.jar,\
-               .options,\
-               about.html,\
-               proxyide.jar
-src.includes = about.html,\
-               schema/,\
-               proxy.jars
-source.proxyremote.jar = proxyRemote/
-source.initparser.jar = initParser/
-source.remotecommon.jar = remoteCommon/
-jars.compile.order = initparser.jar,\
-                     proxycommon.jar,\
-                     remotecommon.jar,\
-                     vm/remotevm.jar,\
-                     proxy.jar,\
-                     proxyremote.jar,\
-                     proxyide.jar
-source.vm/remotevm.jar = vm_remotevm/
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/ArrayArguments.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/ArrayArguments.java
deleted file mode 100644
index af211a8..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/ArrayArguments.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ArrayArguments.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import java.io.StringWriter;
-import java.lang.reflect.Array;
-import java.util.*;
-/**
- * This represents the arguments in a multi dimensional array with construction parameters, e.g.
- * new int[][] { { 2 ,3 } , { 4 ,5 }}
- * the arguments of the constructor will be instance of ArrayArguments 
- */
-public class ArrayArguments extends Expression {
-	
-	Static fType;
-	List arguments = new ArrayList(2);
-	boolean argsClosed;
-	boolean insideArgsOpenedParen;
-	boolean insideArgsClosedParen;
-	
-public Expression push(char[] token, char tokenDelimiter) {
-	
-	// If the args are opened and a token was supplied then it must be an argument
-	//if ( argsOpened && ( tokenDelimiter == DelimiterCloseParen || tokenDelimiter == DelimiterComma || 
-	//tokenDelimiter == DelimiterSpace || tokenDelimiter == DelimiterQuote || tokenDelimiter == DelimiterPeriod)) {
-	if (!argsClosed){	
-		if ( arguments.size() > 0 ){
-			Expression openArgument = (Expression)arguments.get(arguments.size()-1);
-			if ( !openArgument.isComplete() ) {
-				openArgument.push(token,tokenDelimiter);
-				// If the argument is complete and we received a ) then the message is complete
-				if ( openArgument.isComplete() && tokenDelimiter == DelimiterCloseElipse){
-					argsClosed = true;
-				}
-				return this;
-			}
-		}	
-		
-		// We must have a new argument - process accordingly	
-		Expression newArgument = null;
-		if (!insideArgsOpenedParen && tokenDelimiter == DelimiterOpenParen){
-			insideArgsOpenedParen = true;
-			newArgument = new Statement(fClassLoader).push(token,tokenDelimiter);
-			newArgument = new MessageArgument(newArgument);
-			arguments.add(newArgument);
-
-		}
-		if ( token.length > 0 || tokenDelimiter == DelimiterQuote || tokenDelimiter == DelimiterSingleQuote || tokenDelimiter == OperMinus ) {
-			newArgument = new Statement(fClassLoader).push(token,tokenDelimiter);
-			newArgument = new MessageArgument(newArgument);
-			arguments.add(newArgument);
-		}
-		// If the token after the argument is a ) then the message is being closed
-		if ( !insideArgsOpenedParen  && tokenDelimiter == DelimiterCloseElipse ) {
-			argsClosed = true;
-			return this;
-		}
-		if ( insideArgsOpenedParen  && tokenDelimiter == DelimiterCloseElipse ) {
-			insideArgsClosedParen  = true;
-			argsClosed = true;
-			return this;
-		}
-	}
-	return this;
-}
-/**
- * In the case of the expression new int[][] { {2,3} , {4,5} } then we are the 2,3 or the 4,5
- * to evaluate we must return an array of ints based on our size.  The type we return is determined by the initial 
- * constructor who will have given this to us as our fType
- */	
-public Object evaluate() throws Exception {
-
-	Object result = Array.newInstance(fType.getPrimitiveTypeClass(),arguments.size());
-	for (int i = 0; i < arguments.size(); i++) {
-		Object argumentValue = ((Expression)arguments.get(i)).evaluate();
-		Array.set(result,i,argumentValue);
-	}
-	return result;
-}
-
-public Class getTypeClass() throws Exception {
-	return null;
-}
-
-public boolean isComplete() {
-	return argsClosed;
-}
-
-public boolean isPrimitive() throws Exception {
-	return false;
-}
-public void setType(Static type) {
-	fType = type;
-}
-public void contributeArgumentNumber(List argumentNumberList){
-	
-	// Add the number of arguments we have to the list
-	argumentNumberList.add(new Integer(arguments.size()));
-	// If our arguments are themselves array arguments ( which will occur in an array of 3 or more dimensions )
-	// then we should cascade this message to our argument so that the total array depth is known
-	if ( arguments.size() > 0 ) {
-		Object firstArgument = arguments.get(0);
-		if ( firstArgument instanceof ArrayArguments ) {
-//			((ArrayArguments)firstArgument)contributeArgumentNumber(argumentNumberList);
-		}
-	}
-	
-}
-public String toString(){
-	StringWriter writer = new StringWriter();
-	writer.write("Args("); //$NON-NLS-1$
-	writer.write(new Integer(arguments.size()).toString());
-	writer.write(")-"); //$NON-NLS-1$
-	writer.write(arguments.toString());
-	return writer.toString();
-}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.initParser.Expression#getTypeClassName()
-	 */
-	protected String getTypeClassName() {
-		return "";	// Not applicable //$NON-NLS-1$
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Block.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Block.java
deleted file mode 100644
index f379547..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Block.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Block.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-/**
- */
-public class Block extends Expression {
-	
-	protected boolean fIsClosed = false;
-	protected boolean fIsComplete = false;
-	protected boolean fMessageOrField = false;
-	
-	public Block(Expression anExpression){
-		currentExpression = anExpression;
-	}
-
-	public Block(ClassLoader fClassLoader){
-		currentExpression = new Statement(fClassLoader);
-	}
-
-	public Object evaluate() throws Exception {
-		return currentExpression.evaluate();
-	}
-
-	public boolean isComplete() {
-		return fIsComplete;
-	}
-
-	public Class getTypeClass() throws Exception {
-		return currentExpression.getTypeClass();
-	}
-
-
-	public Expression push(char[] token, char tokenDelimiter) {
-			
-		// If we are closed (i.e. completed with a )) and we get a ) or , then we are all finished up
-		// We should not forward this token to the expression, as it isComplete
-		if ((fIsClosed || currentExpression.isComplete()) && (tokenDelimiter == DelimiterCloseParen || tokenDelimiter == DelimiterComma)){
-			fIsComplete = true;
-			return this;
-		}
-		
-		// If we are a message of field and we get a ( we are message or a field otherwise
-		if (fMessageOrField){
-			fMessageOrField = false;
-			// The problem now is that we are a block of an expression and we need to create a message
-			// where we are the receiver.  However we are on the stack and going to be popped when the message finishes
-			// so we must alter ourself to be a block whose current expression is message whose argument
-			// is a copy of us
-			if ( tokenDelimiter == DelimiterOpenParen){
-				Message message = new Message(currentExpression,token,fClassLoader);
-				currentExpression = message;
-				return message;
-			} else {
-				Field field = new Field(currentExpression,token,fClassLoader);
-				currentExpression = field;
-				return field;
-			}
-		}
-		
-		// If we are closed and we get a . then we must begin a message or field expression
-		if (currentExpression.isComplete() && tokenDelimiter == DelimiterPeriod ){
-			fMessageOrField = true;
-			return this;
-		}
-		
-		Expression result = currentExpression.push(token,tokenDelimiter);
-		// If the result if a push then push the stack
-		if ( result != currentExpression ) {
-			pushExpressionStack(result);	
-		}
-		// If our current expression is complete and we are receiving a close parent then we are closed
-		if (currentExpression.isComplete() && tokenDelimiter == DelimiterCloseParen){
-			fIsClosed = true;
-
-		}
-		// If we are here the current expression is still processing tokens so we should return it
-		return currentExpression;
-	}
-
-	public boolean isPrimitive() throws Exception {
-		return false;
-	}
-	public String toString(){
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Block("); //$NON-NLS-1$
-		if ( currentExpression != null ) {
-			buffer.append(currentExpression.toString());
-		}
-		buffer.append(')');
-		return buffer.toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.initParser.Expression#getTypeClassName()
-	 */
-	protected String getTypeClassName() {
-		return currentExpression.getTypeClassName();
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/BooleanLiteral.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/BooleanLiteral.java
deleted file mode 100644
index c2e3dfd..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/BooleanLiteral.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BooleanLiteral.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-public class BooleanLiteral extends Expression {
-	public boolean value;
-public BooleanLiteral(boolean aValue){
-
-	value = aValue;
-
-}
-
-public boolean isComplete(){
-	return true;
-}
-/**
- * evaluate method comment.
- */
-public Object evaluate() {
-	return new Boolean(value);
-}
-/**
- * evaluate method comment.
- */
-public Class getTypeClass(){
-	return Boolean.TYPE;
-}
-/**
- * true or false cannot consume any kind of expression so we must return null
- */
-public Expression push(char[] token , char delimiter){
-
-	return null;	
-
-}
-
-/**
- * This is primitive
- */
-public boolean isPrimitive() {
-	return true;
-}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.initParser.Expression#getTypeClassName()
-	 */
-	protected String getTypeClassName() {
-		return Boolean.TYPE.getName();
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CannotProcessArrayTypesException.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CannotProcessArrayTypesException.java
deleted file mode 100644
index 323988a..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CannotProcessArrayTypesException.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: CannotProcessArrayTypesException.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-/**
- * Exception to indicate that the initStringParser can't deal with arrays right now
- */
-public class CannotProcessArrayTypesException extends RuntimeException {
-	
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CannotProcessInnerClassesException.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CannotProcessInnerClassesException.java
deleted file mode 100644
index b1bea69..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CannotProcessInnerClassesException.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: CannotProcessInnerClassesException.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-/**
- * This exception is thrown to indicate that inner classes cannot be processed
- */
-public class CannotProcessInnerClassesException extends RuntimeException {
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Cast.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Cast.java
deleted file mode 100644
index 9b5dbc0..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Cast.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Cast.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import java.util.HashMap;
-
-public class Cast extends Expression {
-	protected static final int BYTE_TYPE = 0;
-	protected static final int SHORT_TYPE = 1;
-	protected static final int INT_TYPE = 2;
-	protected static final int LONG_TYPE = 3;
-	protected static final int FLOAT_TYPE = 4;
-	protected static final int DOUBLE_TYPE = 5;
-	
-	protected static final HashMap sTypeLookup;
-	static {
-		sTypeLookup = new HashMap(6);
-		sTypeLookup.put(Byte.TYPE, new Integer(BYTE_TYPE));
-		sTypeLookup.put(Short.TYPE, new Integer(SHORT_TYPE));
-		sTypeLookup.put(Integer.TYPE, new Integer(INT_TYPE));
-		sTypeLookup.put(Long.TYPE, new Integer(LONG_TYPE));
-		sTypeLookup.put(Float.TYPE, new Integer(FLOAT_TYPE));
-		sTypeLookup.put(Double.TYPE, new Integer(DOUBLE_TYPE));
-	}
-		
-	protected Static fCastType;
-	protected boolean fIsClosed = false;
-	
-	public Cast(Static castType, ClassLoader aClassLoader) {
-		fCastType = castType;
-		fClassLoader = aClassLoader;
-	}
-	
-	public boolean isPrimitive() throws Exception {
-		return getTypeClass().isPrimitive();
-	}
-	
-	/**
-	 * The type of a Cast expression is the type of the cast type.
-	 */
-	public Class getTypeClass() throws Exception {
-		return fCastType.getTypeClass();
-	}
-	
-	
-	public boolean isComplete() {
-		return currentExpression != null && currentExpression.isComplete();
-	}
-	
-	/**
-	 * If the type is primitive, then we need to
-	 * convert the value, otherwise just pass
-	 * the value on.
-	 *
-	 * This is important for primitives because if your
-	 * entire initialization string was simply "(short) 3"
-	 * then a Short value must be returned so that the
-	 * correct kind of primitive proxy is created.
-	 */
-	public Object evaluate() throws Exception {
-		if (getTypeClass() == currentExpression.getTypeClass())
-			return currentExpression.evaluate();	// They're the same, so just return it.
-		if (getTypeClass().isPrimitive()) {
-			// Can only cast a primitive to a primitive, except null can't be cast to a primitive.
-			if (!currentExpression.getTypeClass().isPrimitive() || currentExpression.getTypeClass() == Void.TYPE)
-				throw new EvaluationException(new ClassCastException(currentExpression.getTypeClass().getName()));			
-			// boolean only allows boolean cast.
-			if (fCastType.getTypeClass() == Boolean.TYPE || currentExpression.getTypeClass() == Boolean.TYPE)
-				throw new EvaluationException(new ClassCastException(currentExpression.getTypeClass().getName()));
-			if (fCastType.getTypeClass() == Character.TYPE) {
-				// So we have either a Character or a number as the value. Cast that.				
-				return new Character((char) ((Number) currentExpression.evaluate()).intValue());
-			} else {
-				Number value = null;
-				// See if the value is character or a number.
-				if (currentExpression.getTypeClass() == Character.TYPE)
-					value = new Integer(((Character) currentExpression.evaluate()).charValue());
-				else
-					value = (Number) currentExpression.evaluate();
-				switch (((Integer) sTypeLookup.get(fCastType.getTypeClass())).intValue()) {
-					case BYTE_TYPE:
-						return new Byte(value.byteValue());
-					case SHORT_TYPE:
-						return new Short(value.shortValue());
-					case INT_TYPE:
-						return new Integer(value.intValue());
-					case LONG_TYPE:
-						return new Long(value.longValue());
-					case FLOAT_TYPE:
-						return new Float(value.floatValue());
-					case DOUBLE_TYPE:
-						return new Double(value.doubleValue());
-					default:
-						return null;	// Shouldn't occur. Just satisifies compiler.
-				}
-			}
-			
-		} else
-			return currentExpression.evaluate();
-	}
-	/**
-	 * A cast expression always pushes onto the cast value
-	 */
-	public Expression push(char[] token , char tokenDelimiter) {
-		// If we don't have a class yet then we are within the statement to try and deterine the type being cast to
-		if(fCastType.getPrimitiveTypeClass() == null && !fIsClosed){
-			fCastType.push(token,tokenDelimiter);
-			// If the type was completed and we have a ) then close us
-			if(fCastType.getPrimitiveTypeClass() != null && tokenDelimiter == DelimiterCloseParen){
-				fIsClosed = true;
-			}
-			return this;			
-		}
-		
-		if (!fIsClosed) {
-			// The cast is not closed, but we have a static class.  This class must therefore keep processing the tokens as it could be a method or message send
-			Expression result =  fCastType.push(token,tokenDelimiter);
-			result.parenthesisLevel++;
-			return result; 
-		}
-		
-		// If we have no expression push onto the cast value		
-		if(currentExpression == null){
-			currentExpression = new Statement(fClassLoader);
-			currentExpression = currentExpression.push(token,tokenDelimiter);
-			return this;
-		} 
-		Expression result = currentExpression.push(token, tokenDelimiter);
-		// If the result if a push then push the stack
-		if ( result.isComplete() ) {
-			popExpressionStack();
-		} else if ( result != currentExpression ) {
-			pushExpressionStack(result);
-		}		
-		return this;
-	}
-	public String toString(){
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Cast("); //$NON-NLS-1$
-		if (fCastType != null){
-			buffer.append(fCastType.toString());
-		} else {
-			buffer.append("???"); //$NON-NLS-1$
-		}
-		buffer.append(") "); //$NON-NLS-1$
-		if ( currentExpression != null){
-			buffer.append(currentExpression.toString());
-		} else {
-			buffer.append("???");			 //$NON-NLS-1$
-		}
-		return buffer.toString();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.initParser.Expression#getTypeClassName()
-	 */
-	protected String getTypeClassName() {
-		return fCastType.getTypeClassName();
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CharLiteral.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CharLiteral.java
deleted file mode 100644
index fbf6052..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CharLiteral.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: CharLiteral.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import java.text.MessageFormat;
-
-
-
-public class CharLiteral extends Expression {
-	protected boolean isComplete;
-	public char value;
-	public StringBuffer valueBuffer = new StringBuffer();
-	protected boolean isEscaped = false;
-
-/**
- * constructor
- */
-public CharLiteral(){
-}
-	
-/**
- * evaluate method comment.
- */
-public Object evaluate() throws Exception {
-	if (valueBuffer.length() == 1)
-		return new Character(valueBuffer.charAt(0));
-	else
-		throw new EvaluationException(
-			new IllegalArgumentException(MessageFormat.format(ProxyInitParserMessages.getString("CharTooComplicated_EXC_"), //$NON-NLS-1$
-				new Object[] {valueBuffer.toString()})));
-}
-
-public boolean isComplete(){
-	return isComplete;
-}
-/**
- * We must evaluate ourself and return the type of the result
- */
- 
-public Class getTypeClass() {
-	return Character.TYPE;
-}
-
-protected String getTypeClassName() {
-	return Character.TYPE.getName();
-}
-/**
- *This string might be broken into a few tokens
- *so we need a StringBuffer 
- */
-public Expression push(char[] token , char delimiter){
-	
-	if (isEscaped) {
-		isEscaped = false;
-		if (token.length != 0) {
-			// Had an escape followed by stuff, so not a true esc for our current definition
-			valueBuffer.append(DelimiterEscape);
-		} else {
-			if (delimiter == DelimiterSingleQuote || delimiter == DelimiterEscape)
-				valueBuffer.append(delimiter);	// It was a true escape.
-			else {
-				valueBuffer.append(DelimiterEscape);	// If wasn't a true escape
-				valueBuffer.append(delimiter);
-			}
-			return this;
-		}
-	}
-	
-	valueBuffer.append(token);
-	
-	if (delimiter == DelimiterSingleQuote){		
-		isComplete =true;
-		return this;
-	}
-	
-	// If the delimiter is an escape character remember it so we can escape
-	// the next token, otherwise treat it as a literal
-	if (delimiter == DelimiterEscape ){
-		isEscaped = true;
-	} else {
-		valueBuffer.append(delimiter);
-	}
-	return this;
-}
-
-/**
- * chars are primitives.
- */
-public boolean isPrimitive() {
-	return true;
-}
-public String toString(){
-	StringBuffer buffer = new StringBuffer();
-	buffer.append("Char('"); //$NON-NLS-1$
-	if ( valueBuffer != null ) {
-		buffer.append(valueBuffer.toString());
-	}
-	buffer.append(')');
-	return buffer.toString();
-}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Constructor.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Constructor.java
deleted file mode 100644
index 99d0139..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Constructor.java
+++ /dev/null
@@ -1,328 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Constructor.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import java.util.*;
-/**
- * Insert the type's description here.
- * Creation date: (11/01/00 8:52:36 PM)
- * @author: Administrator
- */
-public class Constructor extends Expression {
-	public boolean argsOpened = false;
-	public boolean argsClosed = false;
-	public boolean trailingPeriod = false;
-	public ArrayList arguments = new ArrayList(2);
-	public Static type;
-	protected boolean fIsComplete;
-	public boolean insideArgsOpenedParen = false;
-	public boolean insideArgsClosedParen = false;
-	public boolean isString = false;
-	public java.lang.reflect.Constructor ctor;
-/**
- * Constructor constructor comment.
- */
-public Constructor(ClassLoader aClassLoader) {
-	super();
-	fClassLoader = aClassLoader;
-}
-
-public boolean isComplete(){
-	return fIsComplete;
-}
-
-/**
- * Invoke the construtor
- */
-public Object evaluate() throws Exception {
-
-	if ( type.isArray() ) {
-		// For arrays we get the array that is actually held inside the static
-		// To instantiate the array it is possible that the static knows the array size, e.g. new int[2]
-		// or else it must be given this from the number of arguments we have, e.g. new int[] { 2 , 3 }
-		if ( arguments.size() > 0 ) {
-			type.setArrayArguments(arguments);
-		}
-		Object result = type.evaluate();
-		// Deal with array initialization arguments
-		return result;
-	} else {
-		// For non arrays we find the method and invoke it on the type
-		cacheCtor();
-		// Get the array of arguments
-		Object[] args = new Object[arguments.size()];
-		Iterator itr = arguments.iterator();
-		for (int i = 0; i < arguments.size() ; i++){
-			Expression anExpression = (Expression)itr.next();
-			args[i] = anExpression.evaluate();
-		}
-	
-		try {
-			return ctor.newInstance(args);	
-		} catch (Exception e) {
-			// If we got this far, then we have a valid parse, so anything is an evaluation exception.
-			throw new EvaluationException(e);
-		}
-	}
-}
-/** A constructor can only return the class of its type
- */
-public Class getTypeClass() throws Exception {
-	if ( type.isArray() ) {
-		// For arrays we get the array that is actually held inside the static
-		// To instantiate the array it is possible that the static knows the array size, e.g. new int[2]
-		// or else it must be given this from the number of arguments we have, e.g. new int[] { 2 , 3 }
-		if ( arguments.size() > 0 ) {
-			type.setArrayArguments(arguments);
-		}
-	}
-	return type.getTypeClass();
-}
-
-protected String getTypeClassName() {
-	return type.getTypeClassName();
-}
-
-private void cacheCtor() throws Exception {
-	
-	if (ctor == null) {
-		Class[] argTypes = new Class[arguments.size()];
-		Iterator itr = arguments.iterator();
-		for (int i=0; i<argTypes.length; i++)
-			argTypes[i] = getEvaluationTypeClass((Expression) itr.next());
-			
-		ctor = MethodHelper.findCompatibleConstructor(getEvaluationTypeClass(this), argTypes);
-	}
-}
-protected boolean isDelimiterOpened(char token){
-	return type.isArray() ? token == DelimiterOpenElipse : token == DelimiterOpenParen;	
-}
-protected boolean isDelimiterClosed(char token){
-	return type.isArray() ? token == DelimiterCloseElipse : token == DelimiterCloseParen;
-}
-/**
- * push method comment.
- */
-public Expression push(char[] token, char tokenDelimiter) {
-
-	// If we are closed and we receive a . with no token then remember this
-	if ( argsClosed && !trailingPeriod && tokenDelimiter == DelimiterPeriod && token.length == 0 ) {
-		trailingPeriod = true;
-		return this;
-	}
-	// If we have been closed with a . and we receive a . then we are a field
-	if ( trailingPeriod && tokenDelimiter == DelimiterPeriod ) {
-		return new Field(this,token,fClassLoader);
-	}
-	// If we have been closed with a . and we receive a ( we are a message
-	if ( trailingPeriod && tokenDelimiter == DelimiterOpenParen ) {
-		return new Message(this,token,fClassLoader);
-	}
-	
-	// Lazy initialize the type if required
-	if ( type == null ) {
-		switch ( tokenDelimiter ) {
-			case DelimiterPeriod: {
-				type = new Static(token,tokenDelimiter,fClassLoader);
-				type.setClassLoader(fClassLoader);
-				return this;
-			}
-			case DelimiterOpenParen: {
-				type = new Static(token,tokenDelimiter,fClassLoader);
-				type.setClassLoader(fClassLoader);
-				argsOpened = true;
-				return this;
-			} 
-			case DelimiterOpenSquareBrace: { 
-//				throw new CannotProcessArrayTypesException();
-				// Array dimenions are created as staements in the arrayDimensions
-				// This is for expressions like new String[] or new String[3], where the Statement represents the 3, i.e.
-				// the code that declares the size of the array
-				type = new Static(token,tokenDelimiter,fClassLoader,true);
-				return this;
-			}
-			// If we get a { and our static is an array then this is the array initialization parameters
-			case DelimiterOpenElipse: { 
-				if ( type != null && type.isArray() ) {
-					argsOpened = true;
-				}
-			}
-			default: {
-				return null;
-			}
-		}
-	}
-	
-	// If we have a static that is an array then it consumes token until it is complete
-	if ( type != null && type.isArray() ) {
-		// The type consumes token as long as it is still in the array declaration section
-		if ( type.isProcessingArrayDimension || tokenDelimiter == DelimiterOpenSquareBrace ) {
-			type.push(token,tokenDelimiter);
-			return this;
-		}
-	}
-		
-	// If the type is incomplete and the token is a . ( for another class ) or a [ for an array then push it onto the type
-	if (!type.isArray() && type.getTypeClass() == null && (tokenDelimiter == DelimiterPeriod || tokenDelimiter == DelimiterOpenSquareBrace)) {
-		type.push(token , tokenDelimiter);
-		return this;
-	}
-	// If the type is incomplete and the token is a ( then push it onto the type and open the parens
-	if (!type.isArray()){
-		if (type.getTypeClass() == null && !argsOpened && isDelimiterOpened(tokenDelimiter)) {
-			argsOpened = true;
-			insideArgsOpenedParen = true;
-			type.push(token , DelimiterSpace );
-			return this;
-		}
-	} else { 
-		if ( !argsOpened && isDelimiterOpened(tokenDelimiter)) {
-			argsOpened = true;
-			insideArgsOpenedParen = true;
-			return this;			
-		}
-	}
-	
-	// If the args are already closed and we get another close expression, then just return ourselves
-	// This occurs in the case of nested array arguments within constructors
-	if ( argsClosed && (tokenDelimiter == DelimiterCloseParen)){
-		fIsComplete = true;
-		return this;
-	}
-	
-	// If the arguments are closed and we receive a { then this is an inner class declaration, e.g.
-	// new javax.swing.table.DefaultTableModel(){}
-	// This can't be processed by us so we need to throw an exception
-	if (argsClosed && tokenDelimiter == DelimiterOpenElipse ) {
-		throw new CannotProcessInnerClassesException();
-	}
-
-	// If the args are opened and a token was supplied then it must be an argument
-	if (argsOpened){
-		// If we already have an incomplete argument then this may be a constructor, a static reference, etc...
-		// and we should forward the request to the argument
-		Expression openArgument = null;
-		if ( arguments.size() > 0 ){
-			openArgument = (Expression)arguments.get(arguments.size()-1);
-			if ( !openArgument.isComplete() ) {
-				openArgument.push(token,tokenDelimiter);
-				// If the argument is complete and we received a ) then the constructor is complete
-				// or if we receive a } and are an array we are complete
-				if ( openArgument.isComplete() && isDelimiterClosed(tokenDelimiter) ){
-					argsClosed = true;
-				}
-				return this;
-			} 
-		}
-			
-		Expression newArgument = null;
-		// If we are not already inside the open arg and we get another open paren this is probably a cast
-		// or some kind of statement, and OperMinus is probably the start of a number
-		// If the args are not already open we must be opened with either a { or a ( depending on whether we are an array or not
-		// however if the args are opened already and we receive a ( then this is the start of a new statement
-//		if ((!insideArgsOpenedParen && isDelimiterOpened(tokenDelimiter)) || tokenDelimiter == DelimiterOpenParen){
-		if (tokenDelimiter == DelimiterOpenElipse || tokenDelimiter == DelimiterOpenParen){
-			insideArgsOpenedParen = true;
-			newArgument = new Statement(fClassLoader).push(token,tokenDelimiter);
-			if ( newArgument instanceof ArrayArguments ) {
-				((ArrayArguments)newArgument).setType(type);
-			}
-			newArgument = new MessageArgument(newArgument);
-			arguments.add(newArgument);
-
-		}
-		
-		// Start of a possible string or number or character
-		if ( ( token.length > 0 || tokenDelimiter == DelimiterQuote || tokenDelimiter == DelimiterSingleQuote) || tokenDelimiter == OperMinus ){
-			newArgument = new Statement(fClassLoader).push(token,tokenDelimiter);
-			newArgument = new MessageArgument(newArgument);
-			arguments.add(newArgument);
-		}
-		// If the token after the argument is a ) then the message is being closed
-		if ( !insideArgsOpenedParen || argumentsAreComplete() && isDelimiterClosed(tokenDelimiter) ) {
-			argsClosed = true;
-			return this;
-		}
-		if ( insideArgsOpenedParen && isDelimiterClosed(tokenDelimiter) ) {
-			insideArgsClosedParen  = true;
-			return this;
-		}
-
-		// If the token after the argument is a , or a ' ' then the argument is being closed
-		if ( tokenDelimiter == DelimiterComma || tokenDelimiter == DelimiterSpace ) {
-			// If our arguments are closed then we must be complete.  We need to signal the fact we are closed
-			// otherwise we will not be processed correctly if we are part of a stack 
-			if ( argsClosed ) {
-				fIsComplete = true;
-			}			
-			return this;
-		}
-		
-		// If we receive a close bracket then we are closed as long as the last argument is closed
-		if(argsOpened &&  isDelimiterClosed(tokenDelimiter)){
-			// No parms - we are a closed constructor
-			if(arguments.size() == 0){
-				argsClosed = true;
-				return this;
-			} 
-		}
-		
-		// If our last argument is closed and receive a ) and we have no new argument then we are closed
-		if (tokenDelimiter == DelimiterCloseParen && newArgument == null){
-			Expression lastArgument = (Expression)arguments.get(arguments.size()-1);
-			if ( lastArgument.isComplete() ) {
-				argsClosed = true;
-				return this;
-			}
-		}			
-				
-		// Otherwise the new argument is stil processing.  Return it
-		return newArgument;
-	}
-
-	return this;
-}
-protected boolean argumentsAreComplete(){
-	if ( arguments.size() == 0) return true;
-	return ((Expression)arguments.get(arguments.size()-1)).isComplete();
-}
-public String toString(){
-
-	java.io.StringWriter writer = new java.io.StringWriter();
-	writer.write("Constructor \""); //$NON-NLS-1$
-	if ( type != null ) {
-		writer.write(type.typeWriter.toString());
-	} else {
-		writer.write("UNTYPED"); //$NON-NLS-1$
-	}
-	for (int i = 0; i < arguments.size() ; i++){
-		writer.write(" Arg("); //$NON-NLS-1$
-		writer.write("" + (i+1)); //$NON-NLS-1$
-		writer.write(") = "); //$NON-NLS-1$
-		writer.write(arguments.get(i).toString());
-	}
-	
-	return writer.toString();
-
-}
-
-/**
- * This is never primitive
- */
-public boolean isPrimitive() {
-	return false;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/EvaluationException.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/EvaluationException.java
deleted file mode 100644
index e27548e..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/EvaluationException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: EvaluationException.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import java.lang.reflect.InvocationTargetException;
-
-/**
- * This is an InitializationStringEvaluationException, but
- * in addition, the exception that it wrappers is what should be
- * returned. This means it was a valid exception, parsing had
- * gone fine, but it was an evaluation that occured. This is
- * distinguished from the straight InitializationStringEvaluationException,
- * which means some error during parsing and evaluation.
- * 
- * Note: InvocationTargetExceptions will be unwrappered to the true exception.
- */
-public class EvaluationException extends InitializationStringEvaluationException {
-
-	/**
-	 * Constructor for ReturnableException.
-	 * @param exc
-	 */
-	public EvaluationException(Throwable exc) {
-		super(exc instanceof InvocationTargetException ? ((InvocationTargetException) exc).getTargetException() : exc);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Expression.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Expression.java
deleted file mode 100644
index e0b0419..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Expression.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Expression.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import java.util.*;
-/**
- * Insert the type's description here.
- * Creation date: (11/01/00 8:46:44 PM)
- * @author: Administrator
- */
-public abstract class Expression implements IParserConstants {
-	protected Expression currentExpression;
-	protected List fExpressionStack;
-	protected ClassLoader fClassLoader;
-	public int parenthesisLevel = 0;
-/** Compare the two char arrays
- */
-public static boolean compare(char[] from , char[] to){
-
-	return Arrays.equals(from, to);
-}
-/**
- * Expression constructor comment.
- * Note: If any exceptions that are due to evaluation, and not due to some
- * invalid state, then the exception should be wrappered in an EvaluationException,
- * and the EvaluationException thrown instead. This way we can distinquish between
- * valid exceptions that result evaluations (such as null pointer exceptions) from
- * parser errors due to string is too complicated.
- */
-public abstract Object evaluate() throws Exception;
-
-public abstract boolean isComplete();
-/**
- * Return a class type that the expression syntactically would produce.
- * For example, if a field is of type XYZ, return XYZ, even though
- * the value of the field may be SubXYZ where SubXYZ is a subclass of XYZ.
- */
-public abstract Class getTypeClass() throws Exception;
-/**
- * In evaluation phase, get the type class from the expression.
- * If typeclass not found, then a ClassCastException is thrown.
- * @param exp To getTypeClass from
- * @return type class.
- * @throws Exception ClassNotFoundException if type not found.
- */
-public Class getEvaluationTypeClass(Expression exp) throws Exception {
-	Class cls = exp.getTypeClass();
-	if (cls == null)
-		throw new EvaluationException(new ClassNotFoundException(exp.getTypeClassName()));
-	return cls;
-}
-
-/**
- * @return Type name that should be returned from this expression.
- */
-protected abstract String getTypeClassName();
-
-public boolean isNumber(char[] token){
-
-	if ( token.length == 0) return false;
-	// See whether the token is a number
-	int parsePosition = 0;
-	// Take into account it may start with a - sign, e.g. -1
-	if ( token[0] == '-' ) parsePosition = 1;
-	for (int i = parsePosition; i < token.length ; i++){
-		// If the next token is a digit return true
-		// Other things like decimals or primitive types, e.g. 2.2 or 2.2f are 
-		// handled by NumberLiteral
-		return Character.isDigit(token[i]);
-	}
-	return true;
-}
-public boolean isPop(){
-	return false;
-}
-protected void popExpressionStack(){
-
-	if ( fExpressionStack != null && fExpressionStack.size() > 0 ) {
-		currentExpression = (Expression) fExpressionStack.remove(fExpressionStack.size()-1);
-	}	
-}
-protected void pushExpressionStack(Expression anExpression){
-
-	if ( fExpressionStack == null ) fExpressionStack = new ArrayList(2);
-	// The current expression should go onto the stack
-	fExpressionStack.add(currentExpression);
-	// The current expression is replaced with the argument
-	currentExpression = anExpression;
-	
-}	
-
-void setClassLoader(ClassLoader aClassLoader){
-}
-
-/**
- * Push an expression onto us
- * Return the new expression onto which subsequent token should be pushed
- */
-public abstract Expression push(char[] token , char tokenDelimiter);
-
-/**
- * Answer if this expression results in a primitive.
- */
-public abstract boolean isPrimitive() throws Exception;
-
-public String toString(int depth, boolean aBreak){
-	StringBuffer buffer = new StringBuffer();
-	if ( aBreak ) {
-		buffer.append(System.getProperty("System.lineSeparator")); //$NON-NLS-1$
-	}
-	for(int i=0;i<depth;i++){
-		buffer.append(" "); //$NON-NLS-1$
-	}
-	buffer.append(toString());
-	return buffer.toString();
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Field.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Field.java
deleted file mode 100644
index b4189da..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Field.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Field.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * Insert the type's description here.
- * Creation date: (11/05/00 10:39:28 PM)
- * @author: Administrator
- */
-public class Field extends Expression {
-	public boolean isComplete;
-	protected java.lang.reflect.Field fField;
-	public Expression receiver;
-	public String fieldName;
-	protected Class fResultType;
-	
-public Field(Expression aReceiver , char[] token , ClassLoader aClassLoader){
-
-	receiver = aReceiver;
-	if ( token.length > 0 ){
-		fieldName = new String(token);
-	}
-
-}
-public boolean isComplete(){
-	return isComplete;
-}
-
-/**
- * Send the message to the receiver
- */
-public Object evaluate() throws Exception {
-	Object receiverValue = receiver.evaluate();	// So if it fails, we get an evaluation exception going on up.
-	try {
-		cacheField();		
-		return fField.get(receiverValue);
-	} catch (Exception e) {
-		throw new EvaluationException(e);	// Any exception at this point is an evaluation exception.
-	}
-}
-
-/**
- * Get the field from reflection.
- */
-protected void cacheField() throws Exception {
-	if (fField == null) {
-		Class aReceiverClass = getEvaluationTypeClass(receiver);
-		fField = aReceiverClass.getField(fieldName);
-		fResultType = fField.getType();		
-	}
-}
-
-/**
- * The result type is the type of the field.
- */
-public Class getTypeClass() throws Exception {
-	if ( fResultType == null ) {
-		cacheField();
-	}
-	return fResultType;
-}
-
-protected String getTypeClassName() {
-	return "";	// If we got this far, we don't know what it is. //$NON-NLS-1$
-}
-/**
- * push method comment.
- */
-public Expression push(char[] token, char tokenDelimiter) {
-
-	// If the delimiter is a ( then this is the start of a message
-	if ( tokenDelimiter == DelimiterOpenParen ) {
-		return new Message(this , token , fClassLoader);
-	}
-
-	// If the delimiter is a . then this is a field
-	if (token.length > 0  && ( tokenDelimiter == DelimiterPeriod || tokenDelimiter == DelimiterSpace
-	|| tokenDelimiter == DelimiterComma)) {
-		isComplete = true;
-		return new Field(this , token , fClassLoader);
-		
-	}
-	
-	if(fieldName != null && tokenDelimiter == DelimiterComma){
-		isComplete = true;
-		return this;
-	}
-	
-	// If we have no delimiter or a close paren then we have just received the field name
-	if (!isComplete && fieldName == null) {
-		fieldName = new String(token);
-		return this;
-	}
-	
-	if(tokenDelimiter == BitOR || tokenDelimiter == BitAND){
-		isComplete = true;
-		PrimitiveOperation result = new PrimitiveOperation(this,tokenDelimiter);
-		return result;
-	}
-	
-	// Ignore spaces as this maybe padding between the field and the next valid token
-	if(token.length == 0 && tokenDelimiter == ' ') return this;
-
-	throw new RuntimeException(java.text.MessageFormat.format(ProxyInitParserMessages.getString(ProxyInitParserMessages.UNEXPECTED_TOKEN), new Object[] {new StringBuffer(token.length+1).append(token).append(tokenDelimiter).toString()}));
-	
-}
-public String toString(){
-
-	java.io.StringWriter writer = new java.io.StringWriter();
-	writer.write("Field Name=\""); //$NON-NLS-1$
-	if ( fieldName != null ) {
-		writer.write(fieldName);
-	} else {
-		writer.write("UNNAMED"); //$NON-NLS-1$
-	}
-	writer.write("\" Receiver="); //$NON-NLS-1$
-	if ( receiver != null ){
-		writer.write(receiver.toString());
-	} else {
-		writer.write("NONE"); //$NON-NLS-1$
-	}
-	return writer.toString();
-
-}
-
-/**
- * Test the field type to determine if primitive or not.
- */
-public boolean isPrimitive() throws Exception {
-	cacheField();
-	return getTypeClass().isPrimitive();
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/IParserConstants.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/IParserConstants.java
deleted file mode 100644
index 795e534..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/IParserConstants.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IParserConstants.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * Constants for the parser.
- * Creation date: (11/05/00 9:37:45 PM)
- * @author: Administrator
- */
-public interface IParserConstants {
-	// Define the delimiters
-	public static final char DelimiterSpace = ' ';
-	public static final char DelimiterPeriod = '.';
-	public static final char DelimiterOpenParen = '(';
-	public static final char DelimiterCloseParen = ')';
-	public static final char DelimiterComma = ',';
-	public static final char DelimiterQuote = '"';
-	public static final char DelimiterEscape = '\\';
-	public static final char DelimiterSingleQuote = '\'';
-	public static final char DelimiterOpenElipse = '{';
-	public static final char DelimiterCloseElipse = '}';	
-	public static final char DelimiterOpenSquareBrace = '[';
-	public static final char DelimiterCloseSquareBrace = ']';
-	// Define the math functions
-	public static final char OperPlus = '+';
-	public static final char OperMinus = '-';
-	public static final char OperMultiply = '*';
-	public static final char OperDivide = '/';
-	// Define the primitive functions
-	public static final char BitOR = '|';
-	public static final char BitAND = '&';
-	
-	// Define constants
-	public static final char[] ConstantNew = new char[] { 'n' , 'e' , 'w' };
-	public static final char[] ConstantTrue = new char[] { 't' , 'r' , 'u' , 'e' };
-	public static final char[] ConstantFalse = new char[] { 'f' , 'a' , 'l' , 's' , 'e' };
-	public static final char[] ConstantNull = new char[] { 'n' , 'u' , 'l' , 'l' };
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/InitializationStringEvaluationException.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/InitializationStringEvaluationException.java
deleted file mode 100644
index 442aa61..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/InitializationStringEvaluationException.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: InitializationStringEvaluationException.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-
-public class InitializationStringEvaluationException extends Exception {
-	
-	protected Throwable originalException;
-	
-public InitializationStringEvaluationException(Throwable exc){
-	originalException = exc;
-}
-public Throwable getOriginalException(){
-	return originalException;
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/InitializationStringParser.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/InitializationStringParser.java
deleted file mode 100644
index f28f06f..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/InitializationStringParser.java
+++ /dev/null
@@ -1,300 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: InitializationStringParser.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-
-import java.util.ArrayList;
-/**
- * Insert the type's description here.
- * Creation date: (11/01/00 8:53:45 PM)
- * @author: Administrator
- */
-public class InitializationStringParser implements IParserConstants {
-	protected ClassLoader fClassLoader;
-	protected boolean isComplete = false;
-	protected String fInitString;
-	protected int fSourceLength;
-	protected char[] fSource;
-	protected int fSourcePosition = -1;
-	private char[] fCurrentToken;
-	private char fCurrentTokenDelimiter = 0;
-	protected ArrayList fExpressionStack = new ArrayList(4);
-	protected Expression fExpression;
-/**
- * InitializationStringParser constructor comment.
- */
-public InitializationStringParser(String initString){
-
-	fInitString = initString;
-	fSource = initString.toCharArray();
-	fSourceLength = fSource.length;
-
-}
-/** Look for a known token
- */
-protected void createNextToken(){
-
-	fCurrentTokenDelimiter = 0;
-	if ( fSourcePosition >= fSourceLength - 1 ) {
-		isComplete = true;
-		return;
-	}
-
-	fSourcePosition++;
-	// If we are not in a token then look for " " or else for a period
-	char[] fCurrentTokenSource = new char[fSourceLength];
-	int i = 0;
-	scanner : for ( ; fSourcePosition < fSourceLength ; fSourcePosition++ , i++ ){
-		// Advance the source position so when finding the next token we skip over the '.' or ' '
-		// Record the delimiter that was found
-		switch ( fSource[fSourcePosition] ) {
-			case DelimiterPeriod: {
-				fCurrentTokenDelimiter = DelimiterPeriod;
-				break scanner;
-			}
-			case DelimiterOpenParen: {
-				fCurrentTokenDelimiter = DelimiterOpenParen;
-				break scanner;
-			}
-			case DelimiterCloseParen: {
-				fCurrentTokenDelimiter = DelimiterCloseParen;
-				break scanner;
-			}
-			case DelimiterComma: {
-				fCurrentTokenDelimiter = DelimiterComma;
-				break scanner;
-			}
-			case DelimiterSpace: {
-				fCurrentTokenDelimiter = DelimiterSpace;
-				break scanner;
-			}
-			case DelimiterQuote: {
-				fCurrentTokenDelimiter = DelimiterQuote;
-				break scanner;
-			}
-			case DelimiterSingleQuote: {
-				fCurrentTokenDelimiter = DelimiterSingleQuote;
-				break scanner;
-			}			
-			case DelimiterEscape: {
-				fCurrentTokenDelimiter = DelimiterEscape;
-				break scanner;
-			}
-			case DelimiterOpenElipse:{
-				fCurrentTokenDelimiter = DelimiterOpenElipse;
-				break scanner;
-			}
-			case DelimiterOpenSquareBrace:{
-				fCurrentTokenDelimiter = DelimiterOpenSquareBrace;
-				break scanner;
-			}
-			case DelimiterCloseSquareBrace:{
-				fCurrentTokenDelimiter = DelimiterCloseSquareBrace;
-				break scanner;
-			}			
-			case DelimiterCloseElipse:{
-				fCurrentTokenDelimiter = DelimiterCloseElipse;
-				break scanner;
-			}				
-			// Do the math functions
-			case OperPlus: {
-				fCurrentTokenDelimiter = OperPlus;
-				break scanner;
-			}
-			case OperMinus: {
-				fCurrentTokenDelimiter = OperMinus;
-				break scanner;
-			}
-			case OperMultiply: {
-				fCurrentTokenDelimiter = OperMultiply;
-				break scanner;
-			}
-			case OperDivide: {
-				fCurrentTokenDelimiter = OperDivide;
-				break scanner;
-			}
-			// Do the primitive BitWise operations
-			case BitOR: {
-				fCurrentTokenDelimiter = BitOR;
-				break scanner;
-			}
-			case BitAND: {
-				fCurrentTokenDelimiter = BitAND;
-				break scanner;
-			}			
-			default: {
-				fCurrentTokenSource[i] = fSource[fSourcePosition];
-			}
-		}
-	}
-
-	// Push the token onto the stack for later decoding
-	if ( i >= 1 ) {
-		fCurrentToken = new char[i];
-		System.arraycopy( fCurrentTokenSource , 0 , fCurrentToken , 0 , i );
-	} else {
-		fCurrentToken = new char[0];
-	}
-
-}
-/** Answer the result of evaluating the expression
- */
-public Object evaluate() throws InitializationStringEvaluationException {
-
-	try {
-		return fExpression.evaluate();
-	} catch (java.lang.reflect.InvocationTargetException e) {
-		throw new EvaluationException(e);
-	} catch (EvaluationException e) {
-		throw e;	// Don't loose these
-	} catch (Throwable e) {
-		throw new InitializationStringEvaluationException(e);
-	}
-
-}
-public static Object evaluate(String initString) throws InitializationStringEvaluationException {
-
-	return evaluate(initString,null);
-
-}
-public static Object evaluate(String initString,ClassLoader aClassLoader) throws InitializationStringEvaluationException {
-
-	InitializationStringParser parser = null;;
-	try {
-		parser = new InitializationStringParser(initString);
-		parser.setClassLoader(aClassLoader);
-		parser.parse();
-	} catch ( Throwable exc ) {
-		throw new InitializationStringEvaluationException(exc);
-	}		
-	return parser.evaluate();
-}
-
-/**
- * Return a parser already parsed. Use the default classloader (i.e. classloader that loaded InitializationStringParser).
- * 
- * @param initString
- * @return The parser, already parsed.
- * @throws InitializationStringEvaluationException
- */
-
-public static InitializationStringParser createParser(String initString) throws InitializationStringEvaluationException {
-	return createParser(initString, null);
-}
- 
-/**
- * Return a parser already parsed. Use the given classloader.
- * 
- * @param initString
- * @param classLoader
- * @return The parser, already parsed.
- * @throws InitializationStringEvaluationException
- */
-public static InitializationStringParser createParser(String initString, ClassLoader classLoader) throws InitializationStringEvaluationException {
-
-	try {
-		InitializationStringParser parser = new InitializationStringParser(initString);
-		parser.setClassLoader(classLoader);
-		parser.parse();
-		return parser;
-	} catch ( Throwable exc ) {
-		throw new InitializationStringEvaluationException(exc);
-	}
-
-}
-
-/** Analyze the string
- */
-public void parse(){
-	
-	createFirstExpression();
-	int i =1;
-	while ( true ){
-		createNextToken();
-		if ( isComplete ) {
-			// If the current expression is incomplete it must be completed 
-			// by the end, which is basically the equiavlent of a;
-			return;
-		} else  {
-			i++;
-			Expression result = fExpression.push( fCurrentToken , fCurrentTokenDelimiter );
-			// If the result if a push then push the stack
-			if ( result.isComplete() ) {
-				popExpressionStack();
-			} else if ( result != fExpression ) {
-				pushExpressionStack(result);
-			}
-		}
-	}
-}
-
-/**
- * Answer if the string results in a primitive.
- */
-public boolean isPrimitive() throws InitializationStringEvaluationException {
-	try {
-		return fExpression.isPrimitive();
-	} catch (Exception e) {
-		throw new InitializationStringEvaluationException(e);
-	}
-}
-
-public Class getExpectedType() throws InitializationStringEvaluationException {
-	try {
-		return fExpression.getTypeClass();
-	} catch (Exception e) {
-		throw new InitializationStringEvaluationException(e);
-	}
-}
-
-/* Pop the top expression off the stack
- */
-protected void popExpressionStack(){
-
-	if ( fExpressionStack.size() > 0 ) {
-		fExpression = (Expression) fExpressionStack.remove(fExpressionStack.size()-1);
-	}	
-}
-/* Push the expression onto the stack
- */
-protected void pushExpressionStack(Expression anExpression){
-
-	// The current expression should go onto the stack
-	fExpressionStack.add(fExpression);
-	// The current expression is replaced with the argument
-	fExpression = anExpression;
-	
-}
-protected void createFirstExpression(){
-	if ( fExpression == null ) {
-		fExpression = new Statement(fClassLoader);
-	};
-}
-public void setClassLoader(ClassLoader aClassLoader){
-	fClassLoader = aClassLoader;	
-}
-public String toString(){
-	StringBuffer writer = new StringBuffer();
-	writer.append("Parser. token=\""); //$NON-NLS-1$
-	if ( fCurrentToken != null ) {
-		writer.append(fCurrentToken);
-	} 
-	writer.append("\", delim=\""); //$NON-NLS-1$
-	writer.append(fCurrentTokenDelimiter);
-	writer.append("\", initString=\""); //$NON-NLS-1$
-	writer.append(fInitString);
-	return writer.toString();	
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Message.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Message.java
deleted file mode 100644
index bed8a2f..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Message.java
+++ /dev/null
@@ -1,215 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Message.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-public class Message extends Expression {
-	protected boolean trailingPeriod = false;
-	protected Method fMethod;
-	public Expression receiver;
-	public String message;
-	public boolean argsClosed = false;
-	public boolean insideArgsOpenedParen = false;
-	public boolean insideArgsClosedParen = false;
-	protected boolean isComplete = false;
-	public ArrayList arguments = new ArrayList(2);
-	
-public Message(Expression aReceiver , char[] token , ClassLoader aClassLoader){
-	receiver = aReceiver;
-	message = new String(token);
-	fClassLoader = aClassLoader;
-}
-public boolean isComplete(){
-	return isComplete;
-}
-
-/**
- * Send the message to the receiver
- */
-public Object evaluate() throws Exception {
-	cacheMethod();
-	
-	// Get the array of arguments
-	Object[] args = new Object[arguments.size()];
-	Iterator itr = arguments.iterator();
-	for (int i = 0; i < arguments.size() ; i++){
-		Expression anExpression = (Expression)itr.next();
-		args[i] = anExpression.evaluate();
-	}
-	
-	Object receiverValue = receiver.evaluate();	// So if evaluation exception thrown, we don't wrapper again.
-	
-	try {
-		return fMethod.invoke(receiverValue, args);
-	} catch (Exception e) {
-		throw new EvaluationException(e);
-	}
-}
-
-/**
- * Cache the message
- */
-protected void cacheMethod() throws Exception {
-	if (fMethod == null) {
-		Class[] argTypes = new Class[arguments.size()];
-		Iterator itr = arguments.iterator();
-		for (int i=0; i<argTypes.length; i++)
-			argTypes[i] = getEvaluationTypeClass((Expression) itr.next());
-			
-		fMethod = MethodHelper.findCompatibleMethod(getEvaluationTypeClass(receiver), message, argTypes);
-	}
-}
-
-
-/**
- * getTypeClass method comment.
- */
-public Class getTypeClass() throws Exception {
-	cacheMethod();
-	return fMethod.getReturnType();
-}
-
-protected String getTypeClassName() {
-	return "";	// If we got this far, we don't know what it is. //$NON-NLS-1$
-}
-/**
- * push method comment.
- */
-public Expression push(char[] token, char tokenDelimiter) {
-	
-	// If we are closed and we receive a . with no token then remember this
-	if ( argsClosed && !trailingPeriod && tokenDelimiter == DelimiterPeriod && token.length == 0 ) {
-		trailingPeriod = true;
-		return this;
-	}
-	// If we have been closed with a . and we receive a . then we are a field
-	if ( trailingPeriod && tokenDelimiter == DelimiterPeriod ) {
-		return new Field(this,token,fClassLoader);
-	}
-	// If we have been closed with a . and we receive a ( we are a message
-	if ( trailingPeriod && tokenDelimiter == DelimiterOpenParen ) {
-		return new Message(this,token,fClassLoader);
-	}
-	
-	// If we have been closed and we receive a , or a ) we are complete - this is a structural token intended for someone else,
-	// probably a message argument lower down the stack
-	if (argsClosed && (tokenDelimiter == DelimiterComma || tokenDelimiter == DelimiterCloseParen)){
-		isComplete = true;
-		return this;
-	}
-	
-
-	// If the args are opened and a token was supplied then it must be an argument
-	//if ( argsOpened && ( tokenDelimiter == DelimiterCloseParen || tokenDelimiter == DelimiterComma || 
-	//tokenDelimiter == DelimiterSpace || tokenDelimiter == DelimiterQuote || tokenDelimiter == DelimiterPeriod)) {
-	if (!argsClosed){	
-		if ( arguments.size() > 0 ){
-			Expression openArgument = (Expression)arguments.get(arguments.size()-1);
-			if ( !openArgument.isComplete() ) {
-				openArgument.push(token,tokenDelimiter);
-				// If the argument is complete and we received a ) then the message is complete
-				if ( openArgument.isComplete() && tokenDelimiter == DelimiterCloseParen){
-					argsClosed = true;
-				}
-				return this;
-			}
-		}	
-		
-		// We must have a new argument - process accordingly	
-		Expression newArgument = null;
-		if (!insideArgsOpenedParen && tokenDelimiter == DelimiterOpenParen){
-			insideArgsOpenedParen = true;
-			newArgument = new Statement(fClassLoader).push(token,tokenDelimiter);
-			newArgument = new MessageArgument(newArgument);
-			arguments.add(newArgument);
-
-		}
-		if ( newArgument == null && (token.length > 0 || tokenDelimiter == DelimiterQuote || tokenDelimiter == DelimiterSingleQuote || tokenDelimiter == DelimiterOpenParen )) {
-			newArgument = new Statement(fClassLoader).push(token,tokenDelimiter);
-			newArgument = new MessageArgument(newArgument);
-			arguments.add(newArgument);
-		}
-		// If the token after the argument is a ) then the message is being closed
-		if ( !insideArgsOpenedParen  && tokenDelimiter == DelimiterCloseParen ) {
-			argsClosed = true;
-			return this;
-		}
-		if ( insideArgsOpenedParen  && tokenDelimiter == DelimiterCloseParen ) {
-			insideArgsClosedParen  = true;
-			return this;
-		}
-
-		// If the token after the argument is a , or a ' ' then the argument is being closed
-		if ( tokenDelimiter == DelimiterComma || tokenDelimiter == DelimiterSpace ) {
-			return this;
-		}
-		
-		// Otherwise the new argument is stil processing.  Return it
-//		return newArgument;
-	}
-	
-	// If we don't have a message yet, then consume this one
-	if ( message.length() == 0 ) {
-		message = new String(token);
-		return this;
-	}	
-
-	return this;	
-}
-public String toString(){
-
-	java.io.StringWriter writer = new java.io.StringWriter();
-	writer.write("Msg Name=\""); //$NON-NLS-1$
-	if ( message != null ) {
-		writer.write(message);
-	} else {
-		writer.write("UNNAMED"); //$NON-NLS-1$
-	}
-	writer.write("\" Rcv=("); //$NON-NLS-1$
-	if ( receiver != null ){
-		writer.write(receiver.toString());
-	} else {
-		writer.write("NONE"); //$NON-NLS-1$
-	}
-	writer.write(')');
-	if ( arguments != null ) {
-		writer.write("Args(");		 //$NON-NLS-1$
-		Iterator iter = arguments.iterator();
-		int i=1;
-		while(iter.hasNext()){
-			writer.write(new Integer(i).toString());
-			writer.write('(');
-			writer.write(iter.next().toString());
-			writer.write("),");			 //$NON-NLS-1$
-		}
-		writer.write(')');				
-	}
-	
-	return writer.toString();
-
-}
-
-/**
- * Is the message result a primitive.
- */
-public boolean isPrimitive() throws Exception {
-	cacheMethod();
-	return fMethod.getReturnType().isPrimitive();
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/MessageArgument.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/MessageArgument.java
deleted file mode 100644
index c8e77b9..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/MessageArgument.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: MessageArgument.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import java.io.StringWriter;
-import java.util.*;
-
-public class MessageArgument extends Expression {
-
-	protected boolean isComplete = false;
-	Expression fExpression;
-	ArrayList fExpressionStack = new ArrayList();
-
-public MessageArgument(Expression anExpression){
-	fExpression = anExpression;
-}
-	
-public Object evaluate() throws Exception {
-	
-	return fExpression.evaluate();
-	
-}	
-
-public Class getTypeClass() throws Exception {
-	
-	return fExpression.getTypeClass();
-	
-}
-
-protected String getTypeClassName() {
-	return fExpression.getTypeClassName();
-}
-public boolean isComplete(){
-	return isComplete || fExpression.isComplete();
-}
-	
-public Expression push(char[] token , char delimiter){
-
-	// Even if our expression is complete and we receive anything other than a , then the expression must process it as this may be a field or message
-	// that is being sent to the expression to make up a complex argument	
-	Expression result = fExpression.push(token,delimiter);
-	// If the result if a push then push the stack
-	if ( result != fExpression ) {
-		pushExpressionStack(result);
-	} else if (result.isComplete()){
-		// If our expression is complete, we are completed with a ) pop the stack so the previous expression can process us
-		if (delimiter == DelimiterCloseParen ) {
-			isComplete = true;
-			popExpressionStack();
-		} else if (delimiter == DelimiterComma || delimiter == DelimiterQuote ) {
-			// If we receive a comma we pop the stack so the previous expression can process us but we don't flag us as complete
-			popExpressionStack();
-			// unless our expression is some array argument AND it is complete AND we have a close elipse }
-		} else if ( delimiter == DelimiterCloseElipse ) {
-			popExpressionStack();
-			if ( fExpression instanceof ArrayArguments ) {
-				isComplete = true;
-			}
-		}
-	}
-	return this;
-}	
-	
-/* Pop the top expression off the stack
- */
-protected void popExpressionStack(){
-
-	if ( fExpressionStack.size() > 0 ) {
-		Expression lastExpression = (Expression)fExpressionStack.get(fExpressionStack.size() - 1);
-		if ( !lastExpression.isComplete() ) {
-			fExpression = (Expression) fExpressionStack.remove(fExpressionStack.size() - 1);
-		} else { 
-			isComplete = true;
-		} 
-	} else {
-		isComplete = true;
-	}
-}
-
-/* Push the expression onto the stack
- */
-protected void pushExpressionStack(Expression anExpression){
-
-	// The current expression should go onto the stack
-	fExpressionStack.add(fExpression);
-	// The current expression is replaced with the argument
-	fExpression = anExpression;
-	
-}
-
-public boolean isPrimitive(){
-	return false;
-}
-public String toString(){
-	StringWriter writer = new StringWriter();
-	writer.write("Arg("); //$NON-NLS-1$
-	if ( fExpression != null ) {
-		writer.write(fExpression.toString());
-	}
-	writer.write(")"); //$NON-NLS-1$
-	return writer.toString();
-}
-public void contributeArgumentNumber(List argumentNumberList){
-
-	if ( fExpression instanceof ArrayArguments ) {
-		((ArrayArguments)fExpression).contributeArgumentNumber(argumentNumberList);
-	}	
-	
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/MethodHelper.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/MethodHelper.java
deleted file mode 100644
index 71ee7cf..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/MethodHelper.java
+++ /dev/null
@@ -1,266 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: MethodHelper.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.lang.reflect.*;
-
-/**
- * This is a class to do message/constructor work. 
- * Specifically to find the most appropriate method.
- */
-public class MethodHelper {
-	
-	/*
-	 * The class that is used to represent Null class type.
-	 * 
-	 * @since 1.0.0
-	 */
-	private static class NULL_CLASS {
-	}
-	
-	public static final Class NULL_TYPE = NULL_CLASS.class;
-	
-	static final ArrayList sPrimitivesOrder;
-	static final int sCharPos;
-	
-	static {
-		sPrimitivesOrder = new ArrayList(6);
-		sPrimitivesOrder.add(Byte.TYPE);
-		sPrimitivesOrder.add(Short.TYPE);
-		sPrimitivesOrder.add(Integer.TYPE);
-		sPrimitivesOrder.add(Long.TYPE);
-		sPrimitivesOrder.add(Float.TYPE);
-		sPrimitivesOrder.add(Double.TYPE);
-
-		// char can be treated like a short for purposes of ordering.
-		sCharPos = sPrimitivesOrder.indexOf(Short.TYPE);
-	}
-	
-	/**
-	 * Return whether the type2 can be assigned to type1 in
-	 * method argument conversion.
-	 */
-	public static boolean isAssignableFrom(Class type1, Class type2) {
-		if (type1 == type2)
-			return true;	// They're the same, so assignable.
-		if (type1.isPrimitive()) {
-			if (type2.isPrimitive()) {
-				if (type1 == Boolean.TYPE || type2 == Boolean.TYPE)
-					return false;	// Since not equal and one is boolean and the other isn't, not assignable
-				int type1Pos = (type1 != Character.TYPE) ? sPrimitivesOrder.indexOf(type1) : sCharPos;
-				int type2Pos = (type2 != Character.TYPE) ? sPrimitivesOrder.indexOf(type2) : sCharPos;
-				return type1Pos > type2Pos;	// It can be widened if type1 is higher in the order
-			}
-			return false;	// primitive to non-primitive, not assignable.
-		} else
-			if (type2 == NULL_TYPE)
-				return true;	// NULL_TYPE represents null for us, and null can be assigned to any object
-			else		
-				return type1.isAssignableFrom(type2);	// Can type2 be assigned to type1
-	}
-	
-	
-	/**
-	 * Every entry in Array2 can be assigned to the corresponding entry in Array1.
-	 */
-	public static boolean isAssignableFrom(Class[] types1, Class[] types2) {
-		if (types1.length != types2.length)
-			return false;	// Not the same size, so not compatible.
-		for (int i=0; i<types1.length; i++) {
-			if (!isAssignableFrom(types1[i], types2[i]))
-				return false;
-		}
-		return true;	// All are assignable
-	}
-	
-	/**
-	 * Ambiguous Method Exception. I.E. There is more than one that could be used.
-	 */
-	public static class AmbiguousMethodException extends Exception {
-		public AmbiguousMethodException() {
-		}
-		public AmbiguousMethodException(String msg) {
-			super(msg);
-		}
-	}
-		
-	/**
-	 * Return the index of the most compatible method/constructor from the lists passed in.
-	 * MethodsList: List of methods (if null then this is for constructors)
-	 * ParmsList: List of parms for each method (each entry will be Class[]).
-	 */
-	private static int findMostCompatible(List methods, List parms) throws AmbiguousMethodException {
-		// The algorithm used is from the Java Language Specification 15.12.2.2
-		// First find the maximally specific ones
-		int maxSpecific = -1;	// Index of the most specific one
-		Class[][] parmsCopy = (Class[][]) parms.toArray(new Class[parms.size()][]);
-		int size = parmsCopy.length;
-		// For each entry see if it is maximally specific
-nextMethod:	for (int i=0; i<size; i++) {
-			Class dclClassi = methods != null ? ((Method) methods.get(i)).getDeclaringClass() : null;
-			Class[] parmsi = parmsCopy[i];
-			for (int j=i+1; j<size; j++) {
-				if (parmsCopy[j] == null)
-					continue;	// This one was thrown out
-				// Methodi is maximally specific if
-				//   a) Methodi declaring class is assignable to Methodj declaring class
-				//   b) Methodi parms are assignable to Methodj parms
-				//
-				// First see if Methodi is more specific, if it is
-				// then throw out Methodj and continue
-				// If Methodi is not compatible to Methodj, then test reverse comparison
-				boolean moreSpecificClass = true;	// Default is more specific class
-				Class dclClassj = null;
-				if (dclClassi != null) {
-					// Step a
-					moreSpecificClass = isAssignableFrom(dclClassj = ((Method) methods.get(j)).getDeclaringClass(), dclClassi);
-				}
-				
-				// Step b
-				Class[] parmsj = parmsCopy[j];
-				if (moreSpecificClass && isAssignableFrom(parmsj, parmsi)) {
-					// Methodi is more specific than Methodj, throw j out, continue to next j
-					parmsCopy[j] = null;
-					continue;
-				}
-				
-				// Now see if Methodj is more specific than Methodi
-				moreSpecificClass = true;
-				if (dclClassi != null)
-					moreSpecificClass = isAssignableFrom(dclClassi, dclClassj);
-				if (moreSpecificClass && isAssignableFrom(parmsi, parmsj)) {
-					// Methodj is more specific than Methodi, go to the next i.
-					continue nextMethod;
-				}
-				
-				// Neither method is more specific
-			}
-			
-			// None more specific than Methodi, so add i to the maximally specific list.
-			if (maxSpecific != -1) {
-				// A quick test, if there is already a maximally specific one and the
-				// arglist differs, then it is immediately ambiguous. There can be
-				// more than one with the same parm list because interface methods will also
-				// show up in the methods list.
-				if (!Arrays.equals(parmsCopy[maxSpecific], parmsi))
-					throw new AmbiguousMethodException();
-					
-				// A quick test, if i is not abstract, then save this one as the most specific
-				// because there will never be more than one non-abstract one of identical parm types.
-				// So the one already in the maxSpecific must be an abstract.
-				// If i is abstract, then don't replace the current most specific.
-				// If this is constructors, we shouldn't be here because you can't have more
-				// than one identical constructor
-				if (!Modifier.isAbstract(((Method) methods.get(i)).getModifiers()))
-					maxSpecific = i;	// Replace the max specific with this one
-			} else
-				maxSpecific = i;	// The first one
-		}
-		
-		// maxSpecific has the choosen one, either the first of all the abstract ones, or the only
-		// non-abstract one.
-		return maxSpecific;		
-	}
-	
-	/**
-	 * Find the most compatible method for the given arguments.
-	 */
-	public static Method findCompatibleMethod(Class receiver, String methodName, Class[] arguments) throws EvaluationException {
-		try {
-			Method mthd = receiver.getMethod(methodName, arguments);
-			return mthd;	// Found exact match
-		} catch (NoSuchMethodException exc) {
-			// Need to find most compatible one.
-			Method mthds[] = receiver.getMethods();
-			ArrayList parmsList = new ArrayList(mthds.length);	// The parm list from each compatible method.
-			ArrayList mthdsList = new ArrayList(mthds.length);	// The list of compatible methods, same order as the parms above.
-			for (int i = 0; i<mthds.length; i++) {
-				Method mthd = mthds[i];
-				if (!mthd.getName().equals(methodName))
-					continue;	// Not compatible, not same name
-				Class[] parms = mthd.getParameterTypes();
-				if (!isAssignableFrom(parms, arguments))
-					continue;	// Not compatible, parms
-				// It is compatible with the requested method
-				parmsList.add(parms);
-				mthdsList.add(mthd);
-			}
-			
-			// Now have list of compatible methods.
-			if (parmsList.size() == 0)
-				throw new EvaluationException(exc);	// None found, so rethrow the exception
-			if (parmsList.size() == 1)
-				return (Method) mthdsList.get(0);	// Only one, so return it
-				
-			// Now find the most compatible method
-			try {
-				int mostCompatible = findMostCompatible(mthdsList, parmsList);
-				return (Method) mthdsList.get(mostCompatible);
-			} catch (AmbiguousMethodException e) {
-				throw new EvaluationException(new AmbiguousMethodException(methodName));	// Put the method name into the message
-			}
-		}
-	}
-	
-	/**
-	 * Find the most compatible constructor for the given arguments.
-	 */
-	public static java.lang.reflect.Constructor findCompatibleConstructor(Class receiver, Class[] arguments) throws EvaluationException {
-		try {
-			java.lang.reflect.Constructor ctor = receiver.getDeclaredConstructor(arguments);
-			ctor.setAccessible(true);	// We allow all access, let ide and compiler handle security.
-			return ctor;	// Found exact match
-		} catch (NoSuchMethodException exc) {
-			// Need to find most compatible one.
-			java.lang.reflect.Constructor ctors[] = receiver.getDeclaredConstructors();
-			ArrayList parmsList = new ArrayList(ctors.length);	// The parm list from each compatible method.
-			ArrayList ctorsList = new ArrayList(ctors.length);	// The list of compatible methods, same order as the parms above.
-			for (int i = 0; i<ctors.length; i++) {
-				java.lang.reflect.Constructor ctor = ctors[i];
-				Class[] parms = ctor.getParameterTypes();
-				if (!isAssignableFrom(parms, arguments))
-					continue;	// Not compatible, parms
-				// It is compatible with the requested method
-				parmsList.add(parms);
-				ctorsList.add(ctor);
-			}
-			
-			// Now have list of compatible methods.
-			if (parmsList.size() == 0)
-				throw new EvaluationException(exc);	// None found, so rethrow the exception
-			if (parmsList.size() == 1) {
-				java.lang.reflect.Constructor ctor = (java.lang.reflect.Constructor) ctorsList.get(0);	// Only one, so return it
-				ctor.setAccessible(true);	// We allow all access, let ide and compilor handle security.
-				return ctor;
-			}
-				
-			// Now find the most compatible ctor
-			try {
-				int mostCompatible = findMostCompatible(null, parmsList);
-				java.lang.reflect.Constructor ctor = (java.lang.reflect.Constructor) ctorsList.get(mostCompatible);
-				ctor.setAccessible(true);	// We allow all access, let ide and compilor handle security.
-				return ctor;
-			} catch (AmbiguousMethodException e) {
-				throw new EvaluationException(new AmbiguousMethodException(receiver.getName()));	// Put the class name into the message
-			}
-		}
-	}	
-				
-		
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/NullLiteral.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/NullLiteral.java
deleted file mode 100644
index cf58f3f..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/NullLiteral.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: NullLiteral.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-
-public class NullLiteral extends Expression {
-public NullLiteral(){
-}
-/**
- * evaluate method comment.
- */
-public Object evaluate() {
-	return null;
-}
-/**
- * evaluate method comment.
- */
-public Class getTypeClass(){
-	return MethodHelper.NULL_TYPE;
-}
-
-protected String getTypeClassName() {
-	return MethodHelper.NULL_TYPE.getName();
-}
-/**
- * true or false cannot consume any kind of expression so we must return null
- */
-public Expression push(char[] token , char delimiter){
-	return null;
-}
-
-public boolean isComplete(){
-	return true;
-}
-
-/**
- * Null is not primitive
- */
-public boolean isPrimitive() {
-	return false;
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/NumberLiteral.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/NumberLiteral.java
deleted file mode 100644
index 2fb8be9..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/NumberLiteral.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: NumberLiteral.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-public class NumberLiteral extends Expression {
-	protected String numberString = ""; //$NON-NLS-1$
-	protected boolean isComplete = false;
-	protected Class numberClass = Integer.TYPE;
-	protected int exponentFlag = NO_EXPONENT;
-	
-	protected static final int
-		NO_EXPONENT = 0,
-		HAS_EXPONENT = 1,
-		HAS_EXPONENT_MINUS = 2;
-/**
- * evaluate method comment.
- */
-public NumberLiteral(){
-}
-/**
- * evaluate method comment.
- */
-public Object evaluate() throws Exception {
-	try {
-		// Return a number of the correct instance
-		if (numberClass == Float.TYPE){
-			return new Float(Float.parseFloat(numberString));
-		} else if (numberClass == Long.TYPE ) {
-			return Long.decode(numberString);
-		} else if (numberClass == Double.TYPE ){
-			return new Double(Double.parseDouble(numberString));
-		} else
-			return Integer.decode(numberString);
-	} catch (Exception e) {
-		throw new EvaluationException(e);
-	}
-	
-}
-public boolean isComplete(){
-	return isComplete;
-}
-
-/**
- * Return the type of number that we are.
- */
-public Class getTypeClass(){
-	return numberClass;
-}
-
-protected String getTypeClassName() {
-	return numberClass != null ? numberClass.getName() : ""; //$NON-NLS-1$
-}
-/**
- * If the delimiter is an operation such as a +,-,/,* then we can consume it
- * If the delimiter is period and we don't already have one then it is the decimal portion of us
- */
-public Expression push(char[] token , char delimiter){
-		
-	// Close brackets complete use		
-	if(delimiter == DelimiterCloseParen || delimiter == DelimiterComma || delimiter == DelimiterCloseElipse){
-		isComplete = true;
-	}
-	
-	if (delimiter == OperMinus && numberString.length() == 0)
-		numberString+=OperMinus;	// No digits yet, but we have a minus sign, so add to accumulating number.
-		
-	numberString += processNumberToken(token);	
-	
-	// If we have part of a number and are asked to do some arithmetic throw an 
-	// error that this has not been coded yet, except minus could be part of an exponent.
-	if(numberString.length() > 0 && token.length > 1) {
-		switch(delimiter){
-			case OperMinus:
-				if (exponentFlag == HAS_EXPONENT) {
-					exponentFlag = HAS_EXPONENT_MINUS;
-					numberString += OperMinus;
-					break;
-				}
-			case OperPlus:			
-			case OperMultiply:
-			case OperDivide:
-			{
-				throw new RuntimeException("Can't do arithmetic yet"); //$NON-NLS-1$
-			}
-		}
-	}
-	
-	if (delimiter == DelimiterPeriod){
-		numberClass = Double.TYPE;	// A decimal makes it double.
-		numberString += DelimiterPeriod;
-	}	
-
-	if(delimiter == BitOR || delimiter == BitAND){
-			Expression result = new PrimitiveOperation(this,delimiter);
-			isComplete = true;
-			return result;
-	}
-
-	return this;
-	
-}
-protected String processNumberToken(char[] token){
-	
-	for (int i=0; i<token.length; i++)
-		if (token[i] == 'E' || token[i] == 'e') {
-			numberClass = Double.TYPE;	// Definitely a floating because of this.
-			exponentFlag = HAS_EXPONENT;
-			break;
-		}
-			
-	// The token could be a number, e.g. 10 or 5 or could be qualified with a primitive
-	// suffix, e.g. 10l or 5f
-	char[] numberToken = token;
-	if ( token.length > 0 ) {
-		switch(token[token.length - 1]){
-			case 'F': 			
-			case 'f':
-				numberClass = Float.TYPE;
-				numberToken = new char[token.length - 1];
-				System.arraycopy(token,0,numberToken,0,numberToken.length);
-				isComplete = true;
-				break;
-			case 'L':			
-			case 'l':
-				numberClass = Long.TYPE;
-				numberToken = new char[token.length - 1];
-				System.arraycopy(token,0,numberToken,0,numberToken.length);				
-				isComplete = true;
-				break;
-			case 'D':			
-			case 'd':
-				numberClass = Double.TYPE;
-				numberToken = new char[token.length - 1];
-				System.arraycopy(token,0,numberToken,0,numberToken.length);				
-				isComplete = true;
-				break;
-		}
-	}
-			
-	return new String(numberToken);
-}
-public String toString(){
-
-	java.io.StringWriter writer = new java.io.StringWriter();
-	writer.write("Number \""); //$NON-NLS-1$
-	writer.write(numberString);
-	writer.write("\""); //$NON-NLS-1$
-	return writer.toString();
-
-}
-
-/**
- * Number literals are primitive
- */
-public boolean isPrimitive() {
-	return true;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/PrimitiveOperation.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/PrimitiveOperation.java
deleted file mode 100644
index 63cf141..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/PrimitiveOperation.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * This is for primitive expressions that are optimized out the compiler such as bit or, bit and, etc..
-   */
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: PrimitiveOperation.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-public class PrimitiveOperation extends Expression {
-	
-	protected int operation;				// This can be BitOR or BitAND
-	protected Expression receiver;	// The left hand side of the expression
-	protected boolean isComplete = false;
-	
-	public PrimitiveOperation(Expression aReceiver, int anOperation){
-		receiver = aReceiver;
-		operation = anOperation;
-	}
-
-	public Object evaluate() throws Exception {
-		Object leftHandSide = receiver.evaluate();
-		Object rightHandSide = currentExpression.evaluate();
-		if (leftHandSide instanceof Integer && rightHandSide instanceof Integer) {
-			if(operation == BitOR) {
-				return new Integer(((Integer)leftHandSide).intValue() | ((Integer)rightHandSide).intValue());				
-			} else if(operation == BitAND) {
-				return new Integer(((Integer)leftHandSide).intValue() & ((Integer)rightHandSide).intValue());				
-			}
-		}
-		throw new RuntimeException("Invalid operator " + getOperDescription() + " between " + leftHandSide + " and " + rightHandSide);		
-	}
-	protected String getOperDescription(){
-		if(operation == BitOR) return "|";
-		if (operation == BitAND) return "&";			
-		return "???";
-	}
-
-	public boolean isComplete() {
-		return isComplete;
-	}
-
-	public Class getTypeClass() throws Exception {
-		return Integer.TYPE;
-	}
-
-	protected String getTypeClassName() {
-		return Integer.TYPE.getName();
-	}
-
-	public Expression push(char[] token, char tokenDelimiter) {
-	
-		// Create a new statement if the argument is null ( we are always created with a receiver )
-		if(currentExpression == null && token.length > 0){
-			currentExpression = new Statement(fClassLoader).push(token,tokenDelimiter);
-			pushExpressionStack(currentExpression);
-			return this;
-		} 
-		
-		// Ignore whitespace
-		if(token.length == 0 && tokenDelimiter == ' ') return this;
-		
-		// If we have an argument we just keep pushing the expression onto this
-		if(currentExpression != null){
-			Expression result = currentExpression.push(token,tokenDelimiter);
-			if(result != currentExpression){
-				pushExpressionStack(result);
-			}
-		}
-		
-		if(currentExpression != null && currentExpression.isComplete()){
-			if(tokenDelimiter == DelimiterComma){
-				isComplete = true;
-				return this;
-			} else if (tokenDelimiter == DelimiterCloseParen){
-				if(receiver.parenthesisLevel > 0){
-					receiver.parenthesisLevel--;
-				} else {
-					isComplete = true;			
-					return this;		
-				}
-			}
-		}				
-	
-		return this;
-	}
-
-	public boolean isPrimitive() throws Exception {
-		return true;
-	}
-	
-	public String toString(){
-		StringBuffer buffer = new StringBuffer();
-		if (receiver != null) buffer.append(receiver.toString());
-		buffer.append(getOperDescription());
-		if (currentExpression != null) buffer.append(currentExpression.toString()); 
-		return buffer.toString();
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/ProxyInitParserMessages.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/ProxyInitParserMessages.java
deleted file mode 100644
index a706849..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/ProxyInitParserMessages.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ProxyInitParserMessages.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-/**
- * General Proxy NLS Constants
- * Creation date: (4/13/00 10:46:58 AM)
- * @author: Administrator
- */
-public class ProxyInitParserMessages {
-	// Resource Bundle to use for basic Proxy NLS resources.
-	static private final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle("org.eclipse.jem.internal.proxy.initParser.messages"); //$NON-NLS-1$
-
-	// Keys for messages/strings within the resource bundle.
-	static public final String
-		UNEXPECTED_TOKEN = "UnexpectedToken_EXC_", //$NON-NLS-1$
-		STATEMENT_UNEXPECTED_EXECUTION = "Statement.UnexpectedExecution_EXC_", //$NON-NLS-1$
-		STATEMENT_UNEXPECTED_EVALUATION = "Statement.UnexpectedEvaluation_EXC_"		; //$NON-NLS-1$
-		
-	private ProxyInitParserMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}		
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Statement.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Statement.java
deleted file mode 100644
index af1fad5..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Statement.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Statement.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-
-public class Statement extends Expression {
-	public boolean isStringObject = false;
-	public boolean isCast = false;
-	protected boolean messageOrFieldStarted;
-	
-/**
- * Statement constructor comment.
- */
-public Statement(ClassLoader aClassLoader) {
-	super();
-	fClassLoader = aClassLoader;
-}
-
-public boolean isComplete(){
-	return currentExpression != null && currentExpression.isComplete();
-}
-
-/** Defer this to the expression
- */
-public Object evaluate() throws Exception {
-	if ( currentExpression != null ) {
-		return currentExpression.evaluate();
-	} else {
-		throw new RuntimeException(ProxyInitParserMessages.getString(ProxyInitParserMessages.STATEMENT_UNEXPECTED_EXECUTION));	// This is not an evaluation error, it shouldn't of occured, so it is a parser error.
-	}
-}
-/**
- */
-public Class getTypeClass() throws Exception {
-	return currentExpression.getTypeClass();
-	//throw new RuntimeException(ProxyBaseVMNLS.RESBUNDLE.getString(ProxyBaseVMNLS.STATEMENT_UNEXPECTED_EVALUATION));
-}
-
-protected String getTypeClassName() {
-	return currentExpression.getTypeClassName();
-}
-/** There are several types of token that can begin a statement.
- *  new , ' '						-	Create a constructor
- *	1-10, true, false, etc...		-	Create a literal
- *  Foo,  '.'						-	Create a Type
- */
-public Expression push(char[] token , char delimiter){
-	
-	// If messageOrFieldStart is true then our expression is complete and either a message or field is being created
-	// See which it is and create the correct expression
-	if (messageOrFieldStarted){
-		messageOrFieldStarted = false;
-		if ( delimiter == DelimiterOpenParen){
-			Message message = new Message(currentExpression,token,fClassLoader);
-			currentExpression = message;
-			return message;
-		} else { 
-			Field field = new Field(currentExpression,token,fClassLoader);
-			currentExpression = field;
-			return field;
-		}
-	}	
-	
-	// Look for "new " for a constructor"
-	if ( delimiter == DelimiterSpace && compare( token , ConstantNew ) ) {
-		// If we thought we were a possible cast and we now aren't then we must be a block expression
-		if ( isCast ) {
-			currentExpression = new Block(new Constructor(fClassLoader));
-		} else {
-			currentExpression = new Constructor(fClassLoader);
-		}
-		isCast = false;	// Can't be a cast now		
-		return currentExpression;
-	}
-	
-	// Look for "null" 
-	if ( compare( token , ConstantNull ) ) {
-		currentExpression = new NullLiteral();
-		isCast = false;	// Can't be a cast now		
-		// Null cannot process anything so we return the statement
-		return this;
-	}
-
-	// Look for a number
-	if ( isNumber( token ) || delimiter == OperMinus ) {
-		currentExpression = new NumberLiteral();
-		currentExpression = currentExpression.push(token,delimiter);
-		isCast = false;	// Can't be a cast now		
-		return currentExpression;
-	}
-
-	if ( compare( token , ConstantTrue ) ) {
-		currentExpression  = new BooleanLiteral(true);
-		// true cannot process anything so we return the statement
-		isCast = false;	// Can't be a cast now		
-		return currentExpression;
-//		return this;
-	}
-
-	if ( compare( token , ConstantFalse ) ) {
-		// false cannot process anything so we return the statement
-		currentExpression = new BooleanLiteral(false);
-		isCast = false;	// Can't be a cast now		
-		return this;
-	}
-	
-	if ( delimiter == DelimiterQuote ) {
-		currentExpression = new StringLiteral();
-		isCast = false;	// Can't be a cast now		
-		return currentExpression;		
-	}
-	
-	if ( delimiter == DelimiterSingleQuote ) {
-		currentExpression = new CharLiteral();
-		isCast = false;	// Can't be a cast now		
-		return currentExpression;		
-	}	
-	
-	if (delimiter == DelimiterPeriod && token.length == 0 && currentExpression != null){
-		if (currentExpression instanceof StringLiteral){
-			//String s = "\"" + (String)(currentExpression.evaluate()) + "\"" ;
-			//return new Constructor(s);
-			isStringObject = true;
-			return this;
-		}
-	}
-	
-	if (isStringObject && (token.length > 0) && (delimiter == DelimiterOpenParen)){
-		return new Message(currentExpression, token,fClassLoader);
-	}
-	
-	//handle type casting
-	if ((token.length == 0) && (delimiter == DelimiterOpenParen)){
-		// If we are a already a cast then we must be a block.
-		if ( isCast ) {
-			currentExpression = new Block(fClassLoader);
-		} else {
-			isCast = true;	// Possibly a cast
-		}
-		return this;
-	}	
-	if (isCast && (delimiter == DelimiterCloseParen || token.length != 0)){
-		Static aStatic = new Static(fClassLoader);
-		Cast aCast = new Cast(aStatic,fClassLoader);
-		currentExpression = aCast.push(token,delimiter);
-		return currentExpression;
-	}
-	
-	if ( token.length != 0 ) {
-		currentExpression = new Static(fClassLoader).push(token,delimiter);
-		return currentExpression;
-	}
-	
-	// If we get a { then we are part of an array argument
-	if (delimiter == DelimiterOpenElipse){
-		currentExpression = new ArrayArguments();
-		return currentExpression;
-	}
-	
-	// If our expression is closed and we receive a . we are either a message or a field.  We won't know this until
-	// the next token we receive, which will be either be delimited by a ( in which case it is a message, else it is a field
-	if (currentExpression != null && currentExpression.isComplete() && delimiter == DelimiterPeriod){
-		messageOrFieldStarted = true;
-	}
-		
-	return this;
-}
-
-public String toString(){
-	StringBuffer buffer = new StringBuffer();
-	buffer.append("Statement{"); //$NON-NLS-1$
-	if ( currentExpression != null ) {
-		buffer.append(currentExpression.toString());
-	}
-	buffer.append('}');
-	return buffer.toString();
-}
-/**
- * Is this statement a primitive.
- */
-public boolean isPrimitive() throws Exception {
-	if ( currentExpression != null ) {
-		return currentExpression.isPrimitive();
-	} else {
-		throw new RuntimeException(ProxyInitParserMessages.getString(ProxyInitParserMessages.STATEMENT_UNEXPECTED_EXECUTION));
-	}
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Static.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Static.java
deleted file mode 100644
index 03bd12d..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/Static.java
+++ /dev/null
@@ -1,305 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Static.java,v $
- *  $Revision: 1.2 $  $Date: 2003/11/11 16:27:43 $ 
- */
-
-
-import java.io.*;
-import java.lang.reflect.Array;
-import java.util.*;
-
-public class Static extends Expression {
-	protected static final HashMap sPrimitiveTypes;
-	
-	static {
-		sPrimitiveTypes = new HashMap(10);
-		sPrimitiveTypes.put("byte", Byte.TYPE); //$NON-NLS-1$
-		sPrimitiveTypes.put("char", Character.TYPE); //$NON-NLS-1$
-		sPrimitiveTypes.put("short", Short.TYPE); //$NON-NLS-1$
-		sPrimitiveTypes.put("int", Integer.TYPE); //$NON-NLS-1$
-		sPrimitiveTypes.put("long", Long.TYPE); //$NON-NLS-1$
-		sPrimitiveTypes.put("float", Float.TYPE);		 //$NON-NLS-1$
-		sPrimitiveTypes.put("double", Double.TYPE); //$NON-NLS-1$
-	}
-
-	protected ArrayList arrayDimensions;
-	protected List fArrayArguments;
-	protected StringWriter typeWriter = new StringWriter();
-	protected boolean completedWithPeriod = false;
-	protected char[] completionToken;
-	public Class type;
-	protected boolean isComplete;
-
-	public boolean isProcessingArrayDimension;
-/**
- * Create an unknown expression
- */
-public Static(ClassLoader aClassLoader){
-	fClassLoader = aClassLoader;
-}
-public Static(char[] aToken,char delimiter,ClassLoader aClassLoader){
-	
-	fClassLoader = aClassLoader;
-	try { 
-		typeWriter.write(aToken);
-	} catch ( IOException exc ) {};
-	checkForValidType();
-	if ( type == null && delimiter == DelimiterPeriod ){
-		typeWriter.write(DelimiterPeriod);
-	}
-		
-}
-public Static(char[] aToken,char delimiter,ClassLoader aClassLoader,boolean isArray){
-	this(aToken,delimiter,aClassLoader);
-	isProcessingArrayDimension = true;
-	arrayDimensions = new ArrayList(1);
-	arrayDimensions.add(new Statement(aClassLoader));
-}
-
-public boolean isComplete(){
-	return isComplete;
-}
-public boolean isArray(){
-	return arrayDimensions != null;
-}
-/**
- * See whether or not we have a valid type
- * This uses the class loader given to us if one specified.  The reason for this
- * is that Eclipse uses a special plugin class loader and when we are running
- * in a VM inside eclipse ( e.g. for IDEVM proxy stuff ) we must have
- * reference to the plugin that is using us otherwise we can't load its classes
- */
-protected void checkForValidType(){
-
-	type = (Class) sPrimitiveTypes.get(typeWriter.toString());
-	if (type == null)
-		try {
-			if ( fClassLoader == null ) {
-				type = Class.forName(typeWriter.toString());
-			} else {
-				type = fClassLoader.loadClass(typeWriter.toString());
-			}
-		} catch ( ClassNotFoundException exc ) {
-			try {
-				type = Class.forName("java.lang." + typeWriter.toString()); //$NON-NLS-1$
-				StringWriter writer = new StringWriter();
-				writer.write(type.getName());
-				typeWriter = writer;
-			} catch ( ClassNotFoundException exc1 ) {}
-		} catch ( NoClassDefFoundError exc ) {
-			// A mismatch in some way. Found a class, probably different case. One possibility
-			// is found a class, but this was really a package. So class and package with same name
-			// but different case caused this to occur. [46376].
-		}
-	
-}
-/**
- * If we have any static methods return the result of evaluating them against the type
- */
-public Object evaluate() {
-
-	// If we are an array but haven't created it do so
-	if ( isArray() ) {
-		if ( array == null ) {
-			evaluateArray();
-		}
-		return array;
-	} else {
-		if ( type != null ) { 
-			return type;
-		} else { 
-			// If we have no type then we are some kind incomplete expression that cannot be evaluted
-			throw new RuntimeException();
-		}
-	}
-}
-/**
- * The type of us is either simply the class, or if we are an array then we must create the java.lang.reflect.Array
- * using the reflective APIs
- */
-protected Object array;
-public Class getTypeClass() {
-
-	if ( isArray() ) {
-		if ( array == null ) {
-			// Do not evaluate the array and return its class.  Instead just work out the class by our type
-			// and number of dimensions
-			Object result = Array.newInstance(type,getNumberOfDimensions());
-			return result.getClass();
-		} else { 
-			return array.getClass();
-		}
-	} else { 
-		return type;
-	}
-}
-
-protected String getTypeClassName() {
-	return typeWriter.toString();
-}
-public Class getPrimitiveTypeClass(){
-	return type;
-}
-protected int[] getNumberOfDimensions(){
-	List dimensions = new ArrayList(1);
-	dimensions.add(new Integer(fArrayArguments.size()));
-	((MessageArgument)fArrayArguments.get(0)).contributeArgumentNumber(dimensions);
-	// The total number of arguments is a set of Integer objects in the dimensions list
-	// convert this to an int[]
-	int[] intDimensions = new int[dimensions.size()];
-	for (int i = 0; i < dimensions.size(); i++) {
-		intDimensions[i] = ((Integer)dimensions.get(i)).intValue();
-	}
-	return intDimensions;
-}
-/**
- * Evaluate the array
- */
-protected void evaluateArray(){
-	if ( fArrayArguments != null ) { 
-		// If the array isn't declared with a size but this is supplied with argument these will be in the fArrayArguments
-		// new int[] { 2 ,3 } will have the constructor arguments supplied as two message arguments with 
-		if ( array == null ) {
-			// The size of the array arguments is our array size, however for a multi arg array we need
-			// to find the size of any nested arrays within arguments themselves, e.g. 
-			// new int[][] { {2,3} , {3,4} } then we have two array arguments, each of which is a MessageArgument
-			// whose statement is an ArrayArguments that has two arguments, etc...
-			// To find the number of arguments we create a list that we add our number of arguments to, and then
-			// pass this all the way up the arguments chain using contributeArgumentNumber(List) so that each element
-			// can add to the list the number of arguments ( if any ) that they have.  
-			array = Array.newInstance(type,getNumberOfDimensions());
-			// Set the elements in the array to be the result of evaluating the constructor arguments
-			for (int i = 0; i < fArrayArguments.size(); i++) {
-				Expression expression = (Expression)fArrayArguments.get(i);
-				try {	
-					Object element = expression.evaluate();
-					Array.set(array,i,element);
-				} catch ( Exception exc ) {
-					// Any evaluation exceptions should be thrown back
-					throw new RuntimeException();
-				}
-			}
-		}
-	} else if ( arrayDimensions != null ) {
-		// To get the class of a reflective array we must actually first create it and then ask it for its class
-		// The array Dimensions are present if the array was explicitly declared with a size, e.g. new int[2][3]
-		// will have to arrayDimensions that represent the expressions 2 and 3 ( as NumberLiteral instances )
-		if ( array == null ) {
-			// Evaluate all of the arrayDimensions.  These should be integers
-			int[] dimensionSizes = new int[arrayDimensions.size()];
-			for (int i = 0; i < dimensionSizes.length; i++) {
-				try { 
-					Integer dimensionSize = (Integer) ((Expression)arrayDimensions.get(i)).evaluate();
-					dimensionSizes[i] = dimensionSize.intValue();
-				} catch ( Exception exc ) {
-					throw new RuntimeException();
-				}
-			}
-			// For a multi arg array we need to create using the static method on array that takes an int[] that represents
-			// the number of dimensions, e.g. for new String[2][3] we do Array.newInstance(String.class,new int[] { 2 , 3 };
-			array = Array.newInstance(type,dimensionSizes);
-		}
-	}
-}
-/**
- * If the token is a period then it could either be part of the type or else a static method call
- */
-public Expression push(char[] token , char delimiter ) {
-
-	// If we don't yet have a valid type then see if we now do
-	if (type == null){
-		try { 
-			typeWriter.write(token);
-		} catch ( IOException exc ) {};
-		checkForValidType();
-		// If we got a valid type and a period then remember it
-		if ( delimiter == DelimiterPeriod ) {
-			if (type != null) {
-				completedWithPeriod = true;
-				return this;
-			}
-		}		
-	}
-	
-	if ( arrayDimensions != null && isProcessingArrayDimension ) {
-		Expression lastArrayDimension = (Expression)arrayDimensions.get(arrayDimensions.size()-1);
-		lastArrayDimension.push(token,delimiter);
-		if ( delimiter == DelimiterCloseSquareBrace && isProcessingArrayDimension ) {
-			isProcessingArrayDimension = false;
-		}
-		return this;
-	}
-	
-	if ( delimiter == DelimiterOpenSquareBrace && !isProcessingArrayDimension ) {
-		if ( arrayDimensions == null ) arrayDimensions = new ArrayList(1);
-		Statement statement = new Statement(fClassLoader);
-		arrayDimensions.add(statement);
-		isProcessingArrayDimension = true;
-		return this;		
-	}
-	
-	// If we have a type and the delimiter is a ( then it must be a message beginning
-	if ( type != null ) {
-		if (delimiter == DelimiterOpenParen) {
-			isComplete = true;
-			return new Message( this , token , fClassLoader );
-		} else if (completedWithPeriod){
-			isComplete = true;
-			Field field = new Field(this,token,fClassLoader);
-			// If our token is a ), ' ' or , then the field is completed,
-			// otherwise leave it open so it will process the remaining tokens
-//			if (delimiter == DelimiterCloseParen || delimiter == DelimiterSpace || delimiter == DelimiterComma) {
-			if (delimiter == DelimiterCloseParen || delimiter == DelimiterComma) {
-				field.isComplete = true;
-			}
-			return field;
-		}
-	}
-			
-	// We are still looking for a type so append a .
-	if ( type == null ) {
-		typeWriter.write('.');
-	}
-	return this;
-}
-public String toString(){
-
-	StringWriter writer = new StringWriter();
-	writer.write("Static "); //$NON-NLS-1$
-	if ( type == null ) { 
-		writer.write("(Incomplete) {"); //$NON-NLS-1$
-	} else {
-		writer.write("(Complete) {"); //$NON-NLS-1$
-	}
-	writer.write(typeWriter.toString());
-	writer.write("}"); //$NON-NLS-1$
-	if ( arrayDimensions != null ) {
-		writer.write(" array dimensions="); //$NON-NLS-1$
-		writer.write(new Integer(arrayDimensions.size()).toString());
-	}
-	if ( fArrayArguments != null ) {	
-		writer.write(" array dimensions="); //$NON-NLS-1$
-		writer.write(new Integer(fArrayArguments.size()).toString());
-	}
-	return writer.toString();
-
-}
-
-public boolean isPrimitive() {
-	return getTypeClass().isPrimitive();
-}
-public void setArrayArguments(List arguments) {
-	fArrayArguments = arguments;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/StringLiteral.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/StringLiteral.java
deleted file mode 100644
index 99818c5..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/StringLiteral.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.eclipse.jem.internal.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: StringLiteral.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-
-public class StringLiteral extends Expression {
-	protected boolean isComplete;
-	public String value;
-	public StringBuffer valueBuffer = new StringBuffer();
-	protected boolean isEscaped = false;
-
-/**
- * constructor
- */
-public StringLiteral(){
-}
-	
-/**
- * evaluate method comment.
- */
-public Object evaluate() {
-	return valueBuffer.toString();
-}
-
-public boolean isComplete(){
-	return isComplete;
-}
-/**
- * We must evaluate ourself and return the type of the result
- */
- 
-public Class getTypeClass() {
-	return String.class;
-}
-
-protected String getTypeClassName() {
-	return String.class.getName();
-}
-
-/**
- *This string might be broken into a few tokens
- *so we need a StringBuffer.
- * 
- * For now can only handle \" and \\ as escapes. 
- * Any other escapes will be left untouched. (i.e.
- * "\r" will be a backslash followed by "r", not a
- * return char.
- */
-public Expression push(char[] token , char delimiter){
-	
-	if (isEscaped) {
-		isEscaped = false;
-		if (token.length != 0) {
-			// Had an escape followed by stuff, so not a true esc for our current definition
-			valueBuffer.append(DelimiterEscape);
-		} else {
-			if (delimiter == DelimiterQuote || delimiter == DelimiterEscape)
-				valueBuffer.append(delimiter);	// It was a true escape.
-			else {
-				valueBuffer.append(DelimiterEscape);	// If wasn't a true escape
-				valueBuffer.append(delimiter);
-			}
-			return this;
-		}
-	}
-	
-	valueBuffer.append(token);
-	
-	if (delimiter == DelimiterQuote){		
-		isComplete =true;
-		return this;
-	}
-	
-	// If the delimiter is an escape character remember it so we can escape
-	// the next token, otherwise treat it as a literal
-	if (delimiter == DelimiterEscape ){
-		isEscaped = true;
-	} else {
-		valueBuffer.append(delimiter);
-	}
-	return this;
-}
-
-/**
- * Strings are not primitives.
- */
-public boolean isPrimitive() {
-	return false;
-}
-public String toString(){
-	StringBuffer buffer = new StringBuffer();
-	buffer.append("String(\""); //$NON-NLS-1$
-	if ( valueBuffer != null ) {
-		buffer.append(valueBuffer.toString());
-	}
-	buffer.append("\""); //$NON-NLS-1$
-	return buffer.toString();
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/messages.properties b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/messages.properties
deleted file mode 100644
index 3b6d4bd..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/messages.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/messages.properties,v $
-# $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $
-#
-
-
-#
-# Properties for the Proxy Base VM Support
-#
-UnexpectedToken_EXC_                = IWAV0127E Unexpected Token "{0}".
-Statement.UnexpectedExecution_EXC_  = IWAV0128E Statement was executed unexpectedly.
-Statement.UnexpectedEvaluation_EXC_ = IWAV0129E Statements should not be evaluated.
-CharTooComplicated_EXC_             = IWAV0130E Input text not a char that can be evaluated. Too complicated. \"{0}"
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/ExpressionProcesser.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/ExpressionProcesser.java
deleted file mode 100644
index 46fac1e..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/ExpressionProcesser.java
+++ /dev/null
@@ -1,1581 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: ExpressionProcesser.java,v $
- *  $Revision: 1.1 $  $Date: 2004/02/03 23:18:36 $ 
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
-
-import java.lang.reflect.*;
-import java.lang.reflect.Array;
-import java.lang.reflect.Constructor;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-
-import org.eclipse.jem.internal.proxy.initParser.EvaluationException;
-import org.eclipse.jem.internal.proxy.initParser.MethodHelper;
-import org.eclipse.jem.internal.proxy.initParser.tree.IExpressionConstants.NoExpressionValueException;
- 
-/**
- * Expression processing. This does the actual expression processing with the live objects.
- * It is meant to be subclassed only to provide additional expression types. All of the
- * current expressions cannot be overridden. This is because the stack is very sensitive to 
- * call order.
- * 
- * @since 1.0.0
- */
-public class ExpressionProcesser {
-
-	/**
-	 * The expression result stack and the expression result type stack.
-	 * The type stack is used to be expected type of the corresponding
-	 * expression result. This is needed for converting to primitives
-	 * and for finding correct method call from the argument types. In
-	 * this case, it is not the true value, but the value expected, e.g.
-	 * <code>Object getObject()</code> returns something of type Object.
-	 * This needs to be maintained so that if it goes into another method
-	 * we don't accidently return a more specific method instead of the
-	 * one that takes Object as an argument. 
-	 * 
-	 * expressionStack has result of the expression.
-	 * expressionTypeStack has the computed type of the expression i.e.
-	 * the type that the expression returns, not the type of the value.
-	 * These can be different because the expression (e.g. method) may
-	 * return an Object, but the expression value will be some specific
-	 * subclass. So the expressionTypeStack would have a <code>java.lang.Object.class</code>
-	 * on it in that case.
-	 * Note: if the expressionStack has a <code>null</code> on it, then the type stack
-	 * may either have a specific type in it, or it may be <code>MethodHelper.NULL_TYPE</code>. It
-	 * would be this if it was explicitly pushed in and not as the
-	 * result of a computation. If the result of a computation, it would have the
-	 * true value.
-	 * Note: if the expressionStack has a <code>Void.type</code> on it, then that
-	 * means the previous expression had no result. This is an error if trying to
-	 * use the expression in another expression.
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.initParser.MethodHelper#NULL_TYPE
-	 */
-	private ArrayList expressionStack = new ArrayList(10);
-	private ArrayList expressionTypeStack = new ArrayList(10);
-	
-	/**
-	 * Push the expression value and its expected type.
-	 * @param o
-	 * @param type
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final void pushExpressionValue(Object o, Class type) {
-		expressionStack.add(o);
-		expressionTypeStack.add(type);
-	}
-	
-	/**
-	 * Pop just the expression value. It is imperitive that the expression type
-	 * is popped immediately following. Separated the methods so that we
-	 * don't need to create an array to return two values.
-	 * 
-	 * @return The value.
-	 * @throws ThrowableProxy
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final Object popExpression() throws NoExpressionValueException {
-		try {
-			return expressionStack.remove(expressionStack.size()-1);
-		} catch (IndexOutOfBoundsException e) {
-			throw new NoExpressionValueException();
-		}
-	}
-
-	/**
-	 * Get the expression at <code>fromTop</code> down from the top. This is
-	 * need for when multi-operators happen and they are stored in reverse of 
-	 * what is needed. They would normally be stored left to right, with the
-	 * rightmost one on top. But they need to be processed left to right, so
-	 * to get the left most one requires digging down in the stack.
-	 * <p>
-	 * When done, <code>popExpressions(int count)</code> must be called to
-	 * clean them out since they were processed.
-	 *  
-	 * @param fromTop <code>1</code> is the top one, <code>2</code> is the next one down.
-	 * @return The entry from the top that was requested.
-	 * @throws NoExpressionValueException
-	 * 
-	 * @see IDEExpression#popExpressions(int)
-	 * @since 1.0.0
-	 */
-	protected final Object getExpression(int fromTop) throws NoExpressionValueException {
-		try {
-			return expressionStack.get(expressionStack.size()-fromTop);
-		} catch (IndexOutOfBoundsException e) {
-			throw new NoExpressionValueException();
-		}
-	}
-	
-	/**
-	 * Remove the top <code>count</code> items.
-	 * 
-	 * @param count
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final void popExpressions(int count) throws NoExpressionValueException {
-		try {
-			int remove = expressionStack.size()-1;
-			while (count-- > 0)
-				expressionStack.remove(remove--);
-		} catch (IndexOutOfBoundsException e) {
-			throw new NoExpressionValueException();
-		}
-	}
-	
-	/**
-	 * Pop just the expression type. It is imperitive that the expression type
-	 * is popped immediately following popExpression. Separated the methods so that we
-	 * don't need to create an array to return two values.
-	 * <p>
-	 * If the allowVoid is false and type is void, then a NoExpressionValueException will be thrown.
-	 * This is for the case where the expression was trying to be used in a different
-	 * expression. This will be set to void only on expressions that return no value (only
-	 * method's do this for now).
-	 * 
-	 * @param allowVoid Allow void types if <code>true</code>
-	 * @return The type.
-	 * @throws ThrowableProxy
-	 * @throws NoExpressionValueException
-	 * @since 1.0.0
-	 */
-	protected final Class popExpressionType(boolean allowVoid) throws NoExpressionValueException {
-		try {
-			Class result = (Class) expressionTypeStack.remove(expressionTypeStack.size()-1);
-			if (!allowVoid && result == Void.TYPE)
-				throw new NoExpressionValueException();
-			return result;
-				
-		} catch (IndexOutOfBoundsException e) {
-			throw new NoExpressionValueException();
-		}
-	}
-
-	/**
-	 * Get the expression type at <code>fromTop</code> down from the top. This is
-	 * need for when multi-operators happen and they are stored in reverse of 
-	 * what is needed. They would normally be stored left to right, with the
-	 * rightmost one on top. But they need to be processed left to right, so
-	 * to get the left most one requires digging down in the stack.
-	 * <p>
-	 * When done, <code>popExpressionTypes(int count)</code> must be called to
-	 * clean them out since they were processed.
-
-	 * @param fromTop <code>1</code> is the top one, <code>2</code> is the next one down.
-	 * @param allowVoid Allow void types if <code>true</code>
-	 * @return The type from the top that was requested.
-	 * @throws ThrowableProxy
-	 * @throws NoExpressionValueException
-	 * 
-	 * @see IDEExpression#popExpressionTypes(int)
-	 * @since 1.0.0
-	 */
-	protected final Class getExpressionType(int fromTop, boolean allowVoid) throws NoExpressionValueException {
-		try {
-			Class result = (Class) expressionTypeStack.get(expressionTypeStack.size()-fromTop);
-			if (!allowVoid && result == Void.TYPE)
-				throw new NoExpressionValueException();
-			return result;
-		} catch (IndexOutOfBoundsException e) {
-			throw new NoExpressionValueException();
-		}
-	}
-	
-	/**
-	 * Remove the top <code>count</code> items.
-	 * 
-	 * @param count
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final void popExpressionTypes(int count) throws NoExpressionValueException {
-		try {
-			int remove = expressionTypeStack.size()-1;
-			while (count-- > 0)
-				expressionTypeStack.remove(remove--);
-		} catch (IndexOutOfBoundsException e) {
-			throw new NoExpressionValueException();
-		}
-	}
-	
-	/**
-	 * Flag indicating expression should be ignored and not processed.
-	 * This happens because of few cases, like conditional and, that
-	 * if one returns false, the rest of the expressions in that conditional and
-	 * expression should be ignored and not processed.
-	 * <p>
-	 * It is an int so that those expressions that can initiate an ignore can 
-	 * know if it is thiers or not. Only when it decrements to zero will ignore
-	 * be over. Those expressions that can start an ignore must increment the
-	 * ignore counter if the ignore counter is on, but ignore the expression,
-	 * and decrement it when they are complete.
-	 * <p>
-	 * All of the pushTo...Proxy methods must test this for this to work correctly.
-	 */
-	protected int ignoreExpression = 0;	
-	
-	/**
-	 * Create the IDEExpression
-	 * @param registry
-	 * 
-	 * @since 1.0.0
-	 */
-	public ExpressionProcesser() {
-	}
-	
-	/**
-	 * Close the exception processing
-	 * 
-	 * @since 1.0.0
-	 */
-	public final void close() {
-		expressionStack.clear();
-		expressionTypeStack.clear();
-	}
-
-	/**
-	 * Pull the value. The value will be placed into the array passed in.
-	 * It will be stored as value[0] = value value[1] = valuetype(Class).
-	 * 
-	 * @param value The value array to store the value and type into.
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public final void pullValue(Object[] value) throws NoExpressionValueException {
-		value[0] = popExpression();
-		value[1] = popExpressionType(false);
-		close();
-	}
-	
-	/**
-	 * Push the expression (just a value) onto the stack.
-	 * 
-	 * @param o
-	 * @param t
-	 * 
-	 * @since 1.0.0
-	 */
-	public final void pushExpression(Object o, Class t) {
-		if (ignoreExpression>0)
-			return;
-		pushExpressionValue(o, t);
-	}
-	
-	/**
-	 * Push a cast onto stack. The type passed in is either a String (with classname to cast to) or the
-	 * type to cast to.
-	 * @param type To cast to. If <code>String</code> then convert to type (using something like <code>Class.forName()</code>) or it is a Class
-	 * @throws NoExpressionValueException
-	 * @throws ClassCastException
-	 * 
-	 * @since 1.0.0
-	 */
-	public final void pushCast(Class type) throws NoExpressionValueException, ClassCastException {
-		if (ignoreExpression>0)
-			return;
-		
-		Object exp = popExpression();
-		Class exptype = popExpressionType(false);
-		
-		pushExpressionValue(castBean(type, exp, exptype), type);
-	}
-	
-	/**
-	 * Cast a bean into the return type. If the return type is not primitive, then
-	 * the bean is left alone, however it is checked to be an instance of
-	 * the return type. If the return type is primitive, then the
-	 * correct primitive wrapper is created from the bean (bean must be a number or character or boolean primitve so
-	 * that cast will work).
-	 * <p>
-	 * However if can't be cast for primitive or if not an instance of the
-	 * returntype for objects, a ClassCastException will be raised.
-	 * 
-	 * @param returnType
-	 * @param bean
-	 * @param beanType The type that bean is supposed to be (e.g. even though it is a Number, it actually represents a primitive).
-	 * @return The cast bean (either to the appropriate primitive wrapper type or bean)
-	 * 
-	 * @throws ClassCastException
-	 * @since 1.0.0
-	 */
-	protected final Object castBean(Class returnType, Object bean, Class beanType) throws ClassCastException {
-		// Cast uses true value and true class of bean, not expected type (i.e. not beanType).
-		if (bean == null)
-			if (!returnType.isPrimitive())
-				return bean;	// bean is null, and return type is not primitive, so this is a valid cast.
-			else 
-				throwClassCast(returnType, bean);
-		else if (returnType.equals(bean.getClass()))
-			return bean;	// They are already the same.
-		else if (!returnType.isPrimitive()) {
-			if (!beanType.isPrimitive() && returnType.isInstance(bean))
-				return bean;
-			else
-				throwClassCast(returnType, bean);	// Either bean type was wrappering primitive or not instanceof returntype.
-		} else {
-			if (!beanType.isPrimitive())
-				throwClassCast(returnType, bean);	// bean type was not wrappering a primitive. Can't cast to primitive.
-			// It is return type of primitive. Now convert to correct primitive.
-			if (returnType == Boolean.TYPE)
-				if (bean instanceof Boolean)
-					return bean;
-				else
-					throwClassCast(returnType, bean);
-			else {
-				if (bean instanceof Number) {
-					if (returnType == Integer.TYPE)
-						if (bean instanceof Integer)
-							return bean;
-						else
-							return new Integer(((Number) bean).intValue());
-					else if (returnType == Byte.TYPE)
-						if (bean instanceof Byte)
-							return bean;
-						else
-							return new Byte(((Number) bean).byteValue());
-					else if (returnType == Character.TYPE)
-						if (bean instanceof Character)
-							return bean;
-						else
-							return new Character((char) ((Number) bean).intValue());
-					else if (returnType == Double.TYPE)
-						if (bean instanceof Double)
-							return bean;
-						else
-							return new Double(((Number) bean).doubleValue());
-					else if (returnType == Float.TYPE)
-						if (bean instanceof Float)
-							return bean;
-						else
-							return new Float(((Number) bean).floatValue());
-					else if (returnType == Long.TYPE)
-						if (bean instanceof Long)
-							return bean;
-						else
-							return new Long(((Number) bean).longValue());
-					else if (returnType == Short.TYPE)
-						if (bean instanceof Short)
-							return bean;
-						else
-							return new Short(((Number) bean).shortValue());	
-					else
-						throwClassCast(returnType, bean);
-				} else if (bean instanceof Character) {
-					if (returnType == Character.TYPE)
-						return bean;
-					else if (returnType == Integer.TYPE)
-						return new Integer(((Character) bean).charValue());
-					else if (returnType == Byte.TYPE)
-						return new Byte((byte) ((Character) bean).charValue());
-					else if (returnType == Double.TYPE)
-						return new Double((double) ((Character) bean).charValue());
-					else if (returnType == Float.TYPE)
-						return new Float((float) ((Character) bean).charValue());
-					else if (returnType == Long.TYPE)
-						return new Long((long) ((Character) bean).charValue());
-					else if (returnType == Short.TYPE)
-						return new Short((short) ((Character) bean).charValue());	
-					else
-						throwClassCast(returnType, bean);
-				} else
-					throwClassCast(returnType, bean);
-			}
-			
-		}
-		return null;	// It should never get here;
-	}
-	
-	private void throwClassCast(Class returnType, Object bean) throws ClassCastException {
-		throw new ClassCastException(MessageFormat.format("Cannot cast \"{0}\" to be \"{1}\".", new Object[] {bean != null ? bean.getClass().getName() : null, returnType.getName()}));
-	}
-
-	/**
-	 * Return the primitive type that the wrapper bean represents (i.e. Boolean instance returns Boolean.TYPE) 
-	 * @param bean
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final Class getPrimitiveType(Object bean) {
-		if (bean instanceof Boolean)
-			return Boolean.TYPE;
-		else if (bean instanceof Integer)
-			return Integer.TYPE;
-		else if (bean instanceof Byte)
-			return Byte.TYPE;
-		else if (bean instanceof Character)
-			return Character.TYPE;
-		else if (bean instanceof Double)
-			return Double.TYPE;
-		else if (bean instanceof Float)
-			return Float.TYPE;
-		else if (bean instanceof Long)
-			return Long.TYPE;
-		else if (bean instanceof Short)
-			return Short.TYPE;
-		else
-			throw new IllegalArgumentException();
-	}
-	
-
-	/**
-	 * Push the instanceof expression.  The type passed in is either a String (with classname to test against) or the
-	 * type to test against.
-	 * @param type To test against.
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public final void pushInstanceof(Class type) throws NoExpressionValueException {
-		if (ignoreExpression>0)
-			return;
-		
-		Object exp = popExpression();
-		Class exptype = popExpressionType(false);
-		pushExpressionValue(isInstance(type, exp, exptype) ? Boolean.TRUE : Boolean.FALSE, Boolean.TYPE);
-	}
-	
-	/**
-	 * Test if instance of. It will make sure that primitive to non-primitive is not permitted.
-	 * This is a true instance of, which means null IS NOT AN instance of any type. This is
-	 * different then assignable from, in that case null can be assigned to any class type.
-	 * 
-	 * @param type
-	 * @param bean
-	 * @param beanType
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final boolean isInstance(Class type, Object bean, Class beanType) {
-		if (type.isPrimitive())
-			return beanType.isPrimitive() && type == beanType;	// Can't use isInstance because for a primitive type isInstance returns false.
-		else 
-			return type.isInstance(bean);
-	}
-
-	private static final String[] PRE_OPER_TO_STRING;
-	static {
-		PRE_OPER_TO_STRING = new String[IExpressionConstants.PRE_MAX+1];
-		PRE_OPER_TO_STRING[IExpressionConstants.PRE_PLUS] = "+";
-		PRE_OPER_TO_STRING[IExpressionConstants.PRE_MINUS] = "-";
-		PRE_OPER_TO_STRING[IExpressionConstants.PRE_COMPLEMENT] = "~";
-		PRE_OPER_TO_STRING[IExpressionConstants.PRE_NOT] = "!";
-	}
-	
-	/**
-	 * Push prefix expression.
-	 * @param operator The operator from IExpressionConstants
-	 * @throws NoExpressionValueException
-	 * 
-	 * @see IExpressionConstants#PRE_MINUS
-	 * @since 1.0.0
-	 */
-	public final void pushPrefix(int operator) throws NoExpressionValueException {
-		if (ignoreExpression>0)
-			return;
-		
-		if (operator == IExpressionConstants.PRE_PLUS)
-			return;	// Do nothing. "+" doesn't affect the result of the current top expression.
-		
-		Object exp = popExpression();
-		Class exptype = popExpressionType(false);
-		if (!exptype.isPrimitive())
-			throwInvalidPrefix(operator, exp);
-		
-		int primTypeEnum = getEnumForPrimitive(exptype);
-		switch (operator) {
-			case IExpressionConstants.PRE_MINUS:
-				switch (primTypeEnum) {
-					case BOOLEAN:
-						throwInvalidPrefix(operator, exp);						
-					case BYTE:
-						exp = new Integer(-((Number) exp).byteValue());
-						break;
-					case CHAR:
-						exp = new Integer(-((Character) exp).charValue());
-						break;
-					case DOUBLE:
-						exp = new Double(-((Number) exp).doubleValue());
-						break;
-					case FLOAT:
-						exp = new Float(-((Number) exp).floatValue());
-						break;
-					case INT:
-						exp = new Integer(-((Number) exp).intValue());
-						break;
-					case LONG:
-						exp = new Long(-((Number) exp).longValue());
-						break;
-					case SHORT:
-						exp = new Integer(-((Number) exp).shortValue());
-						break;
-				}
-				exptype = getPrimitiveType(exp);	// It can actually change the type.				
-				break;
-				
-			case IExpressionConstants.PRE_COMPLEMENT:
-				switch (primTypeEnum) {
-					case BOOLEAN:
-					case DOUBLE:
-					case FLOAT:
-						throwInvalidPrefix(operator, exp);						
-					case BYTE:
-						exp = new Integer(~((Number) exp).byteValue());
-						break;
-					case CHAR:
-						exp = new Integer(~((Character) exp).charValue());
-						break;
-					case INT:
-						exp = new Integer(~((Number) exp).intValue());
-						break;
-					case LONG:
-						exp = new Long(~((Number) exp).longValue());
-						break;
-					case SHORT:
-						exp = new Integer(~((Number) exp).shortValue());
-						break;
-				}
-				exptype = getPrimitiveType(exp);	// It can actually change the type.
-				break;
-			case IExpressionConstants.PRE_NOT:
-				switch (primTypeEnum) {
-					case BOOLEAN:
-						exp = !((Boolean) exp).booleanValue() ? Boolean.TRUE : Boolean.FALSE;
-						break;
-					case BYTE:
-					case CHAR:
-					case DOUBLE:
-					case FLOAT:
-					case INT:
-					case LONG:
-					case SHORT:
-						throwInvalidPrefix(operator, exp);						
-				}				
-				break;
-			}
-		
-		pushExpressionValue(exp, exptype);	// Push the result back on the stack.
-	}
-
-	/**
-	 * The primitive enums. 
-	 * NOTE: Their order must not changed. They are in order of permitted widening.
-	 * 
-	 */
-	protected static final int
-		BOOLEAN = 0,
-		BYTE = 1,
-		SHORT = 2,	
-		CHAR = 3,
-		INT = 4,
-		LONG = 5,
-		FLOAT = 6,
-		DOUBLE = 7;
-		
-		
-	
-	/**
-	 * Get the enum constant for the type of primitive passed in.
-	 * @param primitiveType
-	 * @return
-	 * 
-	 * @see ExpressionProcesser#BOOLEAN
-	 * @since 1.0.0
-	 */
-	protected final int getEnumForPrimitive(Class primitiveType) {
-		if (primitiveType == Boolean.TYPE)
-			return BOOLEAN;
-		else if (primitiveType == Integer.TYPE)
-			return INT;
-		else if (primitiveType == Byte.TYPE)
-			return BYTE;
-		else if (primitiveType == Character.TYPE)
-			return CHAR;
-		else if (primitiveType == Double.TYPE)
-			return DOUBLE;
-		else if (primitiveType == Float.TYPE)
-			return FLOAT;
-		else if (primitiveType == Long.TYPE)
-			return LONG;
-		else if (primitiveType == Short.TYPE)
-			return SHORT;
-		else
-			throw new IllegalArgumentException();
-	}
-	
-	private void throwInvalidPrefix(int operator, Object exp) throws IllegalArgumentException {
-		throw new IllegalArgumentException(MessageFormat.format("{0} not valid as the operand of prefix operator \"{1}\".", new Object[] {exp != null ? exp.toString() : null, PRE_OPER_TO_STRING[operator]}));
-	}
-
-	private static final String[] IN_OPER_TO_STRING;
-	static {
-		IN_OPER_TO_STRING = new String[IExpressionConstants.IN_MAX+1];
-		IN_OPER_TO_STRING[IExpressionConstants.IN_AND] = "&";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_CONDITIONAL_AND] = "&&";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_CONDITIONAL_OR] = "||";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_DIVIDE] = "/";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_EQUALS] = "==";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_GREATER] = ">";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_GREATER_EQUALS] = ">=";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_LEFT_SHIFT] = "<<";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_LESS] = "<";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_LESS_EQUALS] = "<=";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_MINUS] = "-";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_NOT_EQUALS] = "!=";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_OR] = "|";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_PLUS] = "+";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_REMAINDER] = "%";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_RIGHT_SHIFT_SIGNED] = ">>";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_RIGHT_SHIFT_UNSIGNED] = ">>>";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_TIMES] = "*";
-		IN_OPER_TO_STRING[IExpressionConstants.IN_XOR] = "^";
-	}
-		
-	
-	/**
-	 * Push the infix expression onto the stack.
-	 * @param operator
-	 * @param operandType The operator type from IExpressionConstants.IN_*
-	 * @throws NoExpressionValueException
-	 * 
-	 * @see IExpressionConstants#IN_AND
-	 * @since 1.0.0
-	 */
-	public final void pushInfix(int operator, int operandType) throws NoExpressionValueException {
-		boolean wasIgnoring = ignoreExpression>0;
-		if (wasIgnoring)
-			if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-				ignoreExpression++;	// Increment it so that entire expression is ignored because we already are in an ignore.
-			else if (operandType == IInternalExpressionConstants.INFIX_LAST_OPERAND)
-				ignoreExpression--;	// Decrement it because we have reached the end.
-		if (ignoreExpression>0)
-			return;	// We are still ignoring.
-		
-		if (wasIgnoring && operandType == IInternalExpressionConstants.INFIX_LAST_OPERAND)
-			return;	// We've received the last operand but we were ignoring, but the value of the entire expression is still the top stack value.
-		
-		Object right = null;
-		Class rightType = null;
-		if (operandType != IInternalExpressionConstants.INFIX_LEFT_OPERAND) {
-			// We are not the left operand, so the stack has the right on the top, followed by the left.
-			right = popExpression();
-			rightType = popExpressionType(false);
-		} 
-		
-		Object value = popExpression();
-		Class valueType = popExpressionType(false);
-
-		switch (operator) {
-			case IExpressionConstants.IN_AND:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				
-				testValidBitType(valueType, IExpressionConstants.IN_AND);
-				testValidBitType(rightType, IExpressionConstants.IN_AND);
-				if (valueType == Long.TYPE || rightType == Long.TYPE) {
-					// If either side is long, the result will be long.
-					value = new Long(getLong(value) & getLong(right));
-					valueType = Long.TYPE;
-				} else {
-					// Else it is int. (even two shorts together produce an int).
-					value = new Integer(getInt(value) & getInt(right));
-					valueType = Integer.TYPE;
-				}
-				break;
-			case IExpressionConstants.IN_CONDITIONAL_AND:
-				// This is tricky.
-				// First if this is left type, then just continue.
-				// Else if this other or last, then need to make it the new value.
-				if (operandType != IInternalExpressionConstants.INFIX_LEFT_OPERAND) {
-					value = right;
-					valueType = rightType;
-				}
-					
-				//If the value is now false, we need to ignore the rest.
-				if (valueType != Boolean.TYPE)
-					throwInvalidInfix(operator, value);
-				if (!((Boolean) value).booleanValue() && operandType != IInternalExpressionConstants.INFIX_LAST_OPERAND)
-					++ignoreExpression;	// Start ignoring since current value is now false.
-				break;
-			case IExpressionConstants.IN_CONDITIONAL_OR:
-				// This is tricky.
-				// First if this is left type, then just continue.
-				// Else if this other or last, then need to make it the new value.
-				if (operandType != IInternalExpressionConstants.INFIX_LEFT_OPERAND) {
-					value = right;
-					valueType = rightType;
-				}
-				
-				//If the value is now true, we need to ignore the rest.
-				if (valueType != Boolean.TYPE)
-					throwInvalidInfix(operator, value);
-				if (((Boolean) value).booleanValue() && operandType != IInternalExpressionConstants.INFIX_LAST_OPERAND)
-					++ignoreExpression;	// Start ignoring since current value is now true.
-				break;
-			case IExpressionConstants.IN_DIVIDE:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				
-				testValidArithmeticType(valueType, IExpressionConstants.IN_DIVIDE);
-				testValidArithmeticType(rightType, IExpressionConstants.IN_DIVIDE);
-				if (valueType == Double.TYPE || rightType == Double.TYPE) {
-					// If either side is double, the result will be double.
-					value = new Double(getDouble(value) / getDouble(right));
-					valueType = Double.TYPE;
-				} else if (valueType == Float.TYPE || rightType == Float.TYPE) {
-					// If either side is float, the result will be float.
-					value = new Float(getFloat(value) / getFloat(right));
-					valueType = Float.TYPE;
-				} else if (valueType == Long.TYPE || rightType == Long.TYPE) {
-					// If either side is long, the result will be long.
-					value = new Long(getLong(value) / getLong(right));
-					valueType = Long.TYPE;
-				} else {
-					// Else it will result in an int, even if both sides are short.
-					value = new Integer(getInt(value) / getInt(right));
-					valueType = Integer.TYPE;
-				}
-				break;
-			case IExpressionConstants.IN_EQUALS:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				// We should never get extended operator for this, but we'll ignore the possibility.
-				if (valueType.isPrimitive() && rightType.isPrimitive()) {
-					// Primitives require more testing than just ==. boolean primitives 
-					if (valueType == Boolean.TYPE || rightType == Boolean.TYPE) {
-						// If either side is a boolean, then the other side needs to be boolean for it to even try to be true.
-						if (valueType != Boolean.TYPE || valueType != Boolean.TYPE)
-							value = Boolean.FALSE;
-						else
-							value = (((Boolean) value).booleanValue() == ((Boolean) right).booleanValue()) ? Boolean.TRUE : Boolean.FALSE;
-					} else {
-						// Now do number tests since not boolean primitive, only numbers are left
-						if (valueType == Double.TYPE || rightType == Double.TYPE) {
-							// If either side is double, compare as double.
-							value = (getDouble(value) == getDouble(right)) ? Boolean.TRUE : Boolean.FALSE;
-						} else if (valueType == Float.TYPE || rightType == Float.TYPE) {
-							// If either side is float, compare as float.
-							value = (getFloat(value) == getFloat(right)) ? Boolean.TRUE : Boolean.FALSE;
-						} else if (valueType == Long.TYPE || rightType == Long.TYPE) {
-							// If either side is long, the compare as long.
-							value = (getLong(value) == getLong(right)) ? Boolean.TRUE : Boolean.FALSE;
-						} else {
-							// Else it will compare as int, even if both sides are short.
-							value = (getInt(value) == getInt(right)) ? Boolean.TRUE : Boolean.FALSE;
-						}
-					}
-				} else if (valueType.isPrimitive() || rightType.isPrimitive())
-					value = Boolean.FALSE;	// Can't be true if one side prim and the other isn't
-				else {
-					// Just do object ==
-					value = (value == right) ? Boolean.TRUE : Boolean.FALSE;
-				}
-				valueType = Boolean.TYPE;	// We know result will be a boolean.
-				break;
-			case IExpressionConstants.IN_GREATER:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				
-				testValidArithmeticType(valueType, IExpressionConstants.IN_GREATER);
-				testValidArithmeticType(rightType, IExpressionConstants.IN_GREATER);
-				if (valueType == Double.TYPE || rightType == Double.TYPE) {
-					// If either side is double, compare will be double.
-					value = (getDouble(value) > getDouble(right)) ? Boolean.TRUE : Boolean.FALSE;
-				} else if (valueType == Float.TYPE || rightType == Float.TYPE) {
-					// If either side is float, compare will be float.
-					value = (getFloat(value) > getFloat(right)) ? Boolean.TRUE : Boolean.FALSE;
-				} else if (valueType == Long.TYPE || rightType == Long.TYPE) {
-					// If either side is long, compare will be long.
-					value = (getLong(value) > getLong(right)) ? Boolean.TRUE : Boolean.FALSE;
-				} else {
-					// Else compare will be int, even if both sides are short.
-					value = (getInt(value) > getInt(right)) ? Boolean.TRUE : Boolean.FALSE;
-				}
-				valueType = Boolean.TYPE;	// We know result will be a boolean.
-				break;
-			case IExpressionConstants.IN_GREATER_EQUALS:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				
-				testValidArithmeticType(valueType, IExpressionConstants.IN_GREATER_EQUALS);
-				testValidArithmeticType(rightType, IExpressionConstants.IN_GREATER_EQUALS);
-				if (valueType == Double.TYPE || rightType == Double.TYPE) {
-					// If either side is double, compare will be double.
-					value = (getDouble(value) >= getDouble(right)) ? Boolean.TRUE : Boolean.FALSE;
-				} else if (valueType == Float.TYPE || rightType == Float.TYPE) {
-					// If either side is float, compare will be float.
-					value = (getFloat(value) >= getFloat(right)) ? Boolean.TRUE : Boolean.FALSE;
-				} else if (valueType == Long.TYPE || rightType == Long.TYPE) {
-					// If either side is long, compare will be long.
-					value = (getLong(value) >= getLong(right)) ? Boolean.TRUE : Boolean.FALSE;
-				} else {
-					// Else compare will be int, even if both sides are short.
-					value = (getInt(value) >= getInt(right)) ? Boolean.TRUE : Boolean.FALSE;
-				}
-				valueType = Boolean.TYPE;	// We know result will be a boolean.
-				break;
-			case IExpressionConstants.IN_LEFT_SHIFT:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				
-				testValidBitType(valueType, IExpressionConstants.IN_LEFT_SHIFT);
-				testValidBitType(rightType, IExpressionConstants.IN_LEFT_SHIFT);
-				if (valueType == Long.TYPE || rightType == Long.TYPE) {
-					// If either side is long, the result will be long.
-					value = new Long(getLong(value) << getLong(right));
-					valueType = Long.TYPE;
-				} else {
-					// Else it is int. (even two shorts together produce an int).
-					value = new Integer(getInt(value) << getInt(right));
-					valueType = Integer.TYPE;
-				}
-				break;
-			case IExpressionConstants.IN_LESS:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				
-				testValidArithmeticType(valueType, IExpressionConstants.IN_LESS);
-				testValidArithmeticType(rightType, IExpressionConstants.IN_LESS);
-				if (valueType == Double.TYPE || rightType == Double.TYPE) {
-					// If either side is double, compare will be double.
-					value = (getDouble(value) < getDouble(right)) ? Boolean.TRUE : Boolean.FALSE;
-				} else if (valueType == Float.TYPE || rightType == Float.TYPE) {
-					// If either side is float, compare will be float.
-					value = (getFloat(value) < getFloat(right)) ? Boolean.TRUE : Boolean.FALSE;
-				} else if (valueType == Long.TYPE || rightType == Long.TYPE) {
-					// If either side is long, compare will be long.
-					value = (getLong(value) < getLong(right)) ? Boolean.TRUE : Boolean.FALSE;
-				} else {
-					// Else compare will be int, even if both sides are short.
-					value = (getInt(value) < getInt(right)) ? Boolean.TRUE : Boolean.FALSE;
-				}
-				valueType = Boolean.TYPE;	// We know result will be a boolean.
-				break;
-			case IExpressionConstants.IN_LESS_EQUALS:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				
-				testValidArithmeticType(valueType, IExpressionConstants.IN_LESS_EQUALS);
-				testValidArithmeticType(rightType, IExpressionConstants.IN_LESS_EQUALS);
-				if (valueType == Double.TYPE || rightType == Double.TYPE) {
-					// If either side is double, compare will be double.
-					value = (getDouble(value) <= getDouble(right)) ? Boolean.TRUE : Boolean.FALSE;
-				} else if (valueType == Float.TYPE || rightType == Float.TYPE) {
-					// If either side is float, compare will be float.
-					value = (getFloat(value) <= getFloat(right)) ? Boolean.TRUE : Boolean.FALSE;
-				} else if (valueType == Long.TYPE || rightType == Long.TYPE) {
-					// If either side is long, compare will be long.
-					value = (getLong(value) <= getLong(right)) ? Boolean.TRUE : Boolean.FALSE;
-				} else {
-					// Else compare will be int, even if both sides are short.
-					value = (getInt(value) <= getInt(right)) ? Boolean.TRUE : Boolean.FALSE;
-				}
-				valueType = Boolean.TYPE;	// We know result will be a boolean.
-				break;
-			case IExpressionConstants.IN_MINUS:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				
-				testValidArithmeticType(valueType, IExpressionConstants.IN_MINUS);
-				testValidArithmeticType(rightType, IExpressionConstants.IN_MINUS);
-				if (valueType == Double.TYPE || rightType == Double.TYPE) {
-					// If either side is double, the result will be double.
-					value = new Double(getDouble(value) - getDouble(right));
-					valueType = Double.TYPE;
-				} else if (valueType == Float.TYPE || rightType == Float.TYPE) {
-					// If either side is float, the result will be float.
-					value = new Float(getFloat(value) - getFloat(right));
-					valueType = Float.TYPE;
-				} else if (valueType == Long.TYPE || rightType == Long.TYPE) {
-					// If either side is long, the result will be long.
-					value = new Long(getLong(value) - getLong(right));
-					valueType = Long.TYPE;
-				} else {
-					// Else it will result in an int, even if both sides are short.
-					value = new Integer(getInt(value) - getInt(right));
-					valueType = Integer.TYPE;
-				}
-				break;
-			case IExpressionConstants.IN_NOT_EQUALS:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				// We should never get extended operator for this, but we'll ignore the possibility.
-				if (valueType.isPrimitive() && rightType.isPrimitive()) {
-					// Primitives require more testing than just ==. boolean primitives 
-					if (valueType == Boolean.TYPE || rightType == Boolean.TYPE) {
-						// If either side is a boolean, then the other side needs to be boolean for it to even try to be true.
-						if (valueType != Boolean.TYPE || valueType != Boolean.TYPE)
-							value = Boolean.TRUE;
-						else
-							value = (((Boolean) value).booleanValue() != ((Boolean) right).booleanValue()) ? Boolean.TRUE : Boolean.FALSE;
-					} else {
-						// Now do number tests since not boolean primitive, only numbers are left
-						if (valueType == Double.TYPE || rightType == Double.TYPE) {
-							// If either side is double, compare as double.
-							value = (getDouble(value) != getDouble(right)) ? Boolean.TRUE : Boolean.FALSE;
-						} else if (valueType == Float.TYPE || rightType == Float.TYPE) {
-							// If either side is float, compare as float.
-							value = (getFloat(value) != getFloat(right)) ? Boolean.TRUE : Boolean.FALSE;
-						} else if (valueType == Long.TYPE || rightType == Long.TYPE) {
-							// If either side is long, the compare as long.
-							value = (getLong(value) != getLong(right)) ? Boolean.TRUE : Boolean.FALSE;
-						} else {
-							// Else it will compare as int, even if both sides are short.
-							value = (getInt(value) != getInt(right)) ? Boolean.TRUE : Boolean.FALSE;
-						}
-					}
-				} else if (valueType.isPrimitive() || rightType.isPrimitive())
-					value = Boolean.TRUE;	// Must be true if one side prim and the other isn't
-				else {
-					// Just do object !=
-					value = (value != right) ? Boolean.TRUE : Boolean.FALSE;
-				}
-				valueType = Boolean.TYPE;	// We know result will be a boolean.
-				break;
-			case IExpressionConstants.IN_OR:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				
-				testValidBitType(valueType, IExpressionConstants.IN_OR);
-				testValidBitType(rightType, IExpressionConstants.IN_OR);
-				if (valueType == Long.TYPE || rightType == Long.TYPE) {
-					// If either side is long, the result will be long.
-					value = new Long(getLong(value) | getLong(right));
-					valueType = Long.TYPE;
-				} else {
-					// Else it is int. (even two shorts together produce an int).
-					value = new Integer(getInt(value) | getInt(right));
-					valueType = Integer.TYPE;
-				}
-				break;
-			case IExpressionConstants.IN_PLUS:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND) {
-					if (valueType == String.class) {
-						// Special. left argument is a string, so we want to store a string buffer instead
-						// since we know we will be appending to it. 
-						value = new StringBuffer((String) value);
-					}	
-					break;	// Do nothing with first operand
-				}
-				
-				testValidPlusType(valueType, rightType);
-				if (valueType == String.class || rightType == String.class) {
-					// Special we have a string on one side. Need to do it as strings instead.
-					// We are going to be tricky in that we will store a StringBuffer on the stack (if not last operand)
-					// but call it a string.
-					StringBuffer sb = null;
-					if (valueType == String.class) {
-						sb = (StringBuffer) value;	// We know that if the value (left) is string type, we've already converted it to buffer.
-					} else {
-						// The right is the one that introduces the string, so we change the value over to a string buffer.
-						sb = new StringBuffer(((String) right).length()+16);	// We can't put the value in yet, need to get left into it.
-						appendToBuffer(sb, value, valueType);	// Put the left value in now
-						value = sb;
-						valueType = String.class;	// Make it a string class
-					}
-					appendToBuffer(sb, right, rightType);
-					// Now if we are the last operand, we should get rid of the buffer and put a true string back in.
-					if (operandType == IInternalExpressionConstants.INFIX_LAST_OPERAND)
-						value = sb.toString();
-				} else if (valueType == Double.TYPE || rightType == Double.TYPE) {
-					// If either side is double, the result will be double.
-					value = new Double(getDouble(value) + getDouble(right));
-					valueType = Double.TYPE;
-				} else if (valueType == Float.TYPE || rightType == Float.TYPE) {
-					// If either side is float, the result will be float.
-					value = new Float(getFloat(value) + getFloat(right));
-					valueType = Float.TYPE;
-				} else if (valueType == Long.TYPE || rightType == Long.TYPE) {
-					// If either side is long, the result will be long.
-					value = new Long(getLong(value) + getLong(right));
-					valueType = Long.TYPE;
-				} else {
-					// Else it will result in an int, even if both sides are short.
-					value = new Integer(getInt(value) + getInt(right));
-					valueType = Integer.TYPE;
-				}
-				break;
-			case IExpressionConstants.IN_REMAINDER:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				
-				testValidArithmeticType(valueType, IExpressionConstants.IN_REMAINDER);
-				testValidArithmeticType(rightType, IExpressionConstants.IN_REMAINDER);
-				if (valueType == Double.TYPE || rightType == Double.TYPE) {
-					// If either side is double, the result will be double.
-					value = new Double(getDouble(value) % getDouble(right));
-					valueType = Double.TYPE;
-				} else if (valueType == Float.TYPE || rightType == Float.TYPE) {
-					// If either side is float, the result will be float.
-					value = new Float(getFloat(value) % getFloat(right));
-					valueType = Float.TYPE;
-				} else if (valueType == Long.TYPE || rightType == Long.TYPE) {
-					// If either side is long, the result will be long.
-					value = new Long(getLong(value) % getLong(right));
-					valueType = Long.TYPE;
-				} else {
-					// Else it will result in an int, even if both sides are short.
-					value = new Integer(getInt(value) % getInt(right));
-					valueType = Integer.TYPE;
-				}
-				break;
-			case IExpressionConstants.IN_RIGHT_SHIFT_SIGNED:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				
-				testValidBitType(valueType, IExpressionConstants.IN_RIGHT_SHIFT_SIGNED);
-				testValidBitType(rightType, IExpressionConstants.IN_RIGHT_SHIFT_SIGNED);
-				if (valueType == Long.TYPE || rightType == Long.TYPE) {
-					// If either side is long, the result will be long.
-					value = new Long(getLong(value) >> getLong(right));
-					valueType = Long.TYPE;
-				} else {
-					// Else it is int. (even two shorts together produce an int).
-					value = new Integer(getInt(value) >> getInt(right));
-					valueType = Integer.TYPE;
-				}
-				break;
-			case IExpressionConstants.IN_RIGHT_SHIFT_UNSIGNED:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				
-				testValidBitType(valueType, IExpressionConstants.IN_RIGHT_SHIFT_UNSIGNED);
-				testValidBitType(rightType, IExpressionConstants.IN_RIGHT_SHIFT_UNSIGNED);
-				if (valueType == Long.TYPE || rightType == Long.TYPE) {
-					// If either side is long, the result will be long.
-					value = new Long(getLong(value) >>> getLong(right));
-					valueType = Long.TYPE;
-				} else {
-					// Else it is int. (even two shorts together produce an int).
-					value = new Integer(getInt(value) >>> getInt(right));
-					valueType = Integer.TYPE;
-				}
-				break;
-			case IExpressionConstants.IN_TIMES:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				
-				testValidArithmeticType(valueType, IExpressionConstants.IN_TIMES);
-				testValidArithmeticType(rightType, IExpressionConstants.IN_TIMES);
-				if (valueType == Double.TYPE || rightType == Double.TYPE) {
-					// If either side is double, the result will be double.
-					value = new Double(getDouble(value) * getDouble(right));
-					valueType = Double.TYPE;
-				} else if (valueType == Float.TYPE || rightType == Float.TYPE) {
-					// If either side is float, the result will be float.
-					value = new Float(getFloat(value) * getFloat(right));
-					valueType = Float.TYPE;
-				} else if (valueType == Long.TYPE || rightType == Long.TYPE) {
-					// If either side is long, the result will be long.
-					value = new Long(getLong(value) * getLong(right));
-					valueType = Long.TYPE;
-				} else {
-					// Else it will result in an int, even if both sides are short.
-					value = new Integer(getInt(value) * getInt(right));
-					valueType = Integer.TYPE;
-				}
-				break;
-			case IExpressionConstants.IN_XOR:
-				if (operandType == IInternalExpressionConstants.INFIX_LEFT_OPERAND)
-					break;	// Do nothing with first operand
-				
-				testValidBitType(valueType, IExpressionConstants.IN_XOR);
-				testValidBitType(rightType, IExpressionConstants.IN_XOR);
-				if (valueType == Long.TYPE || rightType == Long.TYPE) {
-					// If either side is long, the result will be long.
-					value = new Long(getLong(value) ^ getLong(right));
-					valueType = Long.TYPE;
-				} else {
-					// Else it is int. (even two shorts together produce an int).
-					value = new Integer(getInt(value) ^ getInt(right));
-					valueType = Integer.TYPE;
-				}
-				break;
-			} 
-		
-		pushExpressionValue(value, valueType);	// Push the result back on the stack.
-	}
-
-	/**
-	 * Get int value of the primitive wrapper bean passed in (must be either a <code>Number/code> or <code>Character</code>.
-	 * Anything else will cause a class cast error.
-	 * 
-	 * @param bean
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final int getInt(Object bean) {
-		return (bean instanceof Number) ? ((Number) bean).intValue() : ((Character) bean).charValue();
-	}
-	
-	/**
-	 * Get float value of the primitive wrapper bean passed in (must be either a <code>Number/code> or <code>Character</code>.
-	 * Anything else will cause a class cast error.
-	 * 
-	 * @param bean
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final float getFloat(Object bean) {
-		return (bean instanceof Number) ? ((Number) bean).floatValue() : ((Character) bean).charValue();
-	}
-
-	/**
-	 * Get double value of the primitive wrapper bean passed in (must be either a <code>Number/code> or <code>Character</code>.
-	 * Anything else will cause a class cast error.
-	 * 
-	 * @param bean
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final double getDouble(Object bean) {
-		return (bean instanceof Number) ? ((Number) bean).doubleValue() : ((Character) bean).charValue();
-	}
-	
-	/**
-	 * Get long value of the primitive wrapper bean passed in (must be either a <code>Number/code> or <code>Character</code>.
-	 * Anything else will cause a class cast error.
-	 * 
-	 * @param bean
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final long getLong(Object bean) {
-		return (bean instanceof Number) ? ((Number) bean).longValue() : ((Character) bean).charValue();
-	}
-	
-	private void throwInvalidInfix(int operator, Object value) throws IllegalArgumentException {
-		throw new IllegalArgumentException(MessageFormat.format("{0} not valid as the operand of operator \"{1}\".", new Object[] {value != null ? value.toString() : null, IN_OPER_TO_STRING[operator]}));
-	}
-	
-	private void testValidBitType(Class type, int operator) {
-		if (!type.isPrimitive() || type == Boolean.TYPE || type == Double.TYPE|| type == Float.TYPE)
-			throwInvalidInfix(operator, type);
-	}
-	
-	private void testValidArithmeticType(Class type, int operator) {
-		if (!type.isPrimitive() || type == Boolean.TYPE)
-			throwInvalidInfix(operator, type);
-	}
-
-	private void testValidPlusType(Class left, Class right) {
-		// Plus is special in that string objects are also valid.
-		if (left == String.class || right == String.class)
-			return;	// As long as one side is string. Anything is valid.
-		// If neither is string, then standard arithmetic test.
-		testValidArithmeticType(left, IExpressionConstants.IN_PLUS);
-		testValidArithmeticType(right, IExpressionConstants.IN_PLUS);
-	}
-	
-	private void appendToBuffer(StringBuffer sb, Object value, Class valueType) {
-		if (value == null)
-			sb.append((Object)null);
-		else if (valueType == String.class)
-			sb.append((String) value);
-		else if (valueType.isPrimitive()) {
-			switch (getEnumForPrimitive(valueType)) {
-				case BOOLEAN:
-					sb.append(((Boolean) value).booleanValue());
-					break;
-				case BYTE:
-					sb.append(((Number) value).byteValue());
-					break;
-				case CHAR:
-					sb.append(((Character) value).charValue());
-					break;
-				case DOUBLE:
-					sb.append(((Number) value).doubleValue());
-					break;
-				case FLOAT:
-					sb.append(((Number) value).floatValue());
-					break;
-				case INT:
-					sb.append(((Number) value).intValue());
-					break;
-				case LONG:
-					sb.append(((Number) value).longValue());
-					break;
-				case SHORT:
-					sb.append(((Number) value).shortValue());
-					break;		
-			}
-		} else {
-			// Just an object.
-			sb.append(value);
-		}
-	}
-	
-	/**
-	 * Push the array access expression.
-	 * 
-	 * @param indexCount Number of dimensions being accessed
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public final void pushArrayAccess(int indexCount) throws NoExpressionValueException {
-		if (ignoreExpression>0)
-			return;
-		
-		// We need to pop off the args. The topmost will be the rightmost index, and the bottom most will be the array itself.
-		int[] arguments = new int[indexCount];
-		// Fill the arg array in reverse order.
-		for(int i=indexCount-1; i >= 0; i--) {
-			Object index = popExpression();
-			Class indexType = popExpressionType(false);
-			if (indexType.isPrimitive() && (indexType == Integer.TYPE || indexType == Short.TYPE || indexType == Character.TYPE || indexType == Byte.TYPE)) {
-				arguments[i] = getInt(index);
-			} else
-				throwClassCast(Integer.TYPE, index);
-		}
-		
-		Object array = popExpression();
-		Class arrayType = popExpressionType(false);
-		if (arrayType.isArray()) {
-			// First figure out how many dimensions are available. Stop when we hit indexcount because we won't be going further.
-			int dimcount = 0;
-			Class[] componentTypes = new Class[indexCount];	// 
-			Class componentType = arrayType;
-			while (dimcount < indexCount && componentType.isArray()) {
-				componentTypes[dimcount++] = componentType = componentType.getComponentType();
-			}
-			
-			if (dimcount < indexCount)
-				throw new IllegalArgumentException(MessageFormat.format("{0} is greater then number of dimensions ({1}) in the array", new Object[] {new Integer(indexCount), new Integer(dimcount)}));
-			
-			// Now start accessing one index at a time.
-			Object value = array;	// Final value, start with full array. 
-			for(int i=0; i<indexCount; i++) {
-				value = Array.get(value, arguments[i]);
-			}
-			pushExpressionValue(value, componentTypes[indexCount-1]);
-		}  else
-			throw new IllegalArgumentException(MessageFormat.format("\"{0}\" is not an array.", new Object[] {arrayType}));
-	}
-	
-	/**
-	 * Push the array creation request.
-	 * 
-	 * @param arrayType The type of the array
-	 * @param dimensionCount The number of dimensions being initialized. Zero if using an initializer.
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public final void pushArrayCreation(Class arrayType, int dimensionCount) throws NoExpressionValueException {
-		if (ignoreExpression>0)
-			return;
-		
-		if (dimensionCount == 0) {
-			// The top value is the array itself, from the array initializer.
-			// So we do nothing.
-		} else {
-			// Strip off dimensionCounts from the array type, e.g.
-			// ArrayType is int[][][]
-			// Dimensioncount is 2
-			// Then we need to strip two componenttypes off of the array type
-			// wind up with int[]
-			// This is necessary because Array.new will add those dimensions back
-			// on through the dimension count.
-			Class componentType = arrayType;
-			for(int i=0; i < dimensionCount && componentType != null; i++)
-				componentType = componentType.getComponentType();
-			if (componentType == null)
-				throw new IllegalArgumentException(MessageFormat.format("Arraytype \"{0}\" has fewer dimensions than creation requested ({1}).", new Object[] {arrayType, new Integer(dimensionCount)}));
-			
-			// We need to pull in the dimension initializers. They are stacked in reverse order.
-			int[] dimInit = new int[dimensionCount];
-			for(int i=dimensionCount-1; i >= 0; i--) {
-				Object index = popExpression();
-				Class dimType = popExpressionType(false);
-				if (dimType.isPrimitive() && (dimType == Integer.TYPE || dimType == Short.TYPE || dimType == Character.TYPE || dimType == Byte.TYPE)) {
-					dimInit[i] = getInt(index);
-				} else
-					throwClassCast(Integer.TYPE, index);
-			}
-			
-			// Finally create the array.
-			Object array = Array.newInstance(componentType, dimInit);
-			pushExpressionValue(array, arrayType);
-		}
-	}
-
-	/**
-	 * Push the array initializer request.
-	 * 
-	 * @param arrayType The type of the array to create, minus one dimension.
-	 * @param expressionCount
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public final void pushArrayInitializer(Class arrayType, int expressionCount) throws NoExpressionValueException {
-		if (ignoreExpression>0)
-			return;
-
-		Object[] dimValues = null;
-		if (expressionCount > 0) {
-			// We need to pull in the initializers. They are stacked in reverse order.
-			dimValues = new Object[expressionCount];
-			for (int i = expressionCount - 1; i >= 0; i--) {
-				Object dimValue = dimValues[i] = popExpression();
-				Class dimType = popExpressionType(false);
-				if (arrayType.isPrimitive()) {
-					if (dimValue == null || !dimType.isPrimitive())
-						throwClassCast(arrayType, dimType);
-					// A little trickier. Can assign short to an int, but can't assign long to an int. Widening is permitted.
-					if (arrayType != dimType) {
-						int compEnum = getEnumForPrimitive(arrayType);
-						int dimEnum = getEnumForPrimitive(dimType);
-						if (compEnum == BOOLEAN || dimEnum == BOOLEAN)
-							throwClassCast(arrayType, dimType);
-						int dimValueAsInt = getInt(dimValue);
-						switch (compEnum) {
-							case BYTE :
-								// Can accept byte, short, char, or int as long as value is <= byte max. Can't accept long, double, float at all.
-								// Note: This isn't actually true. The max/min test is only valid if the value is a literal, not an expression,
-								// however, at this point in time we no longer know this. So we will simply allow it.
-								if (dimEnum > INT || dimValueAsInt > Byte.MAX_VALUE || dimValueAsInt < Byte.MIN_VALUE)
-									throwClassCast(arrayType, dimType);
-								// But need to be changed to appropriate type for the array.set to work.									
-								dimValues[i] = new Byte((byte)dimValueAsInt);
-								break;
-							case SHORT :								
-								// Can accept byte, short, char, or int as long as value is <= byte max. Can't accept long, double, float at all.
-								// Note: This isn't actually true. The max/min test is only valid if the value is a literal, not an expression,
-								// however, at this point in time we no longer know this. So we will simply allow it.
-								if (dimEnum > INT || dimValueAsInt > Short.MAX_VALUE || dimValueAsInt < Short.MIN_VALUE)
-									throwClassCast(arrayType, dimType);
-								// But need to be changed to appropriate type for the array.set to work.									
-								dimValues[i] = new Short((short)dimValueAsInt);
-								break;
-							case CHAR :
-								// Can accept byte, short, char, or int as long as value is <= byte max. Can't accept long, double, float at all.
-								// Note: This isn't actually true. The max/min test is only valid if the value is a literal, not an expression,
-								// however, at this point in time we no longer know this. So we will simply allow it.
-								if (dimEnum > INT || dimValueAsInt > Character.MAX_VALUE || dimValueAsInt < Character.MIN_VALUE)
-									throwClassCast(arrayType, dimType);
-								// But need to be changed to appropriate type for the array.set to work.									
-								dimValues[i] = new Character((char)dimValueAsInt);
-								break;
-							case INT :
-								// Can accept byte, short, char, or int. Can't accept long, double, float at all.
-								if (dimEnum > INT)
-									throwClassCast(arrayType, dimType);
-								// But need to be changed to appropriate type for the array.set to work.									
-								dimValues[i] = new Integer(dimValueAsInt);
-								break;
-							case LONG :
-								// Can accept byte, short, char, int, or long. Can't accept double, float at all.
-								if (dimEnum > LONG)
-									throwClassCast(arrayType, dimType);
-								// But need to be changed to appropriate type for the array.set to work.									
-								dimValues[i] = new Long(getLong(dimValue));
-								break;
-							case FLOAT :
-								// Can accept byte, short, char, int, long, or float. Can't accept double at all.
-								if (dimEnum > FLOAT)
-									throwClassCast(arrayType, dimType);
-								// But need to be changed to appropriate type for the array.set to work.									
-								dimValues[i] = new Float(getFloat(dimValue));
-								break;
-							case DOUBLE :
-								// But need to be changed to appropriate type for the array.set to work.									
-								dimValues[i] = new Double(getDouble(dimValue));
-								break;
-
-						}
-					}
-					// Compatible, so ok.
-				} else if (dimType != MethodHelper.NULL_TYPE && !arrayType.isAssignableFrom(dimType)) {
-					// If it is NULL_TYPE, then this is a pushed null. This is always assignable to a non-primitive.
-					// So we don't enter here in that case. However, a null that was returned from some expression
-					// won't have a NULL_TYPE, it will instead have the expected return type. That must be used
-					// in the assignment instead. That is because in java it uses the expected type to determine
-					// compatibility, not the actual type.
-					throwClassCast(arrayType, dimType);
-				}
-			}
-			
-		}
-		
-		// Now we finally create the array.
-		Object array = Array.newInstance(arrayType, new int[] {expressionCount});
-		for (int i = 0; i < expressionCount; i++) {
-			Array.set(array, i, dimValues[i]);
-		}
-		
-		pushExpressionValue(array, array.getClass());	// Adjust to true array type, not the incoming type (which is one dimension too small).
-	}
-
-	/**
-	 * Push the class instance creation request.
-	 * 
-	 * @param type The type to create an instance of
-	 * @param argumentCount The number of arguments (which are stored on the stack).	 * @throws NoExpressionValueException
-	 * @throws EvaluationException
-	 * @throws IllegalArgumentException
-	 * @throws InstantiationException
-	 * @throws IllegalAccessException
-	 * @throws InvocationTargetException
-	 * 
-	 * @since 1.0.0
-	 */
-	public final void pushClassInstanceCreation(Class type, int argumentCount) throws NoExpressionValueException, EvaluationException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException {
-		if (ignoreExpression>0)
-			return;
-					
-		// We need to pull in the arguments. They are stacked in reverse order.
-		Object value = null;	// The new instance.
-		if (argumentCount > 0) {
-			Object[]  args = new Object[argumentCount];
-			Class[] argTypes = new Class[argumentCount];
-			for (int i = argumentCount - 1; i >= 0; i--) {
-				args[i] = popExpression();
-				argTypes[i] = popExpressionType(false);
-			}
-			
-			// Now we need to find the appropriate constructor.
-			Constructor ctor = MethodHelper.findCompatibleConstructor(type, argTypes);
-			value = ctor.newInstance(args);
-		} else {
-			// No args, just do default ctor.
-			value = type.newInstance();
-		}
-		
-		pushExpressionValue(value, type);
-	}
-
-	/**
-	 * Push the field access expression.
-	 * @param fieldName
-	 * @param hasReceiver
-	 * @throws NoExpressionValueException
-	 * @throws SecurityException
-	 * @throws NoSuchFieldException
-	 * @throws IllegalArgumentException
-	 * @throws IllegalAccessException
-	 * 
-	 * @since 1.0.0
-	 */
-	public final void pushFieldAccess(String fieldName, boolean hasReceiver) throws NoExpressionValueException, SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
-		if (ignoreExpression>0)
-			return;
-	
-		// Get the receiver off of the stack.
-		Object receiver = popExpression();
-		Class receiverType = popExpressionType(false);
-		
-		// Find the field.
-		Field field = receiverType.getField(fieldName);
-		// Access the field.
-		Object value = field.get(receiver);
-		Class valueType = field.getType();
-		pushExpressionValue(value, valueType);
-	}
-
-	/**
-	 * Push the method invocation expression.
-	 * @param methodName
-	 * @param hasReceiver
-	 * @param argCount
-	 * @throws NoExpressionValueException
-	 * @throws EvaluationException
-	 * @throws IllegalArgumentException
-	 * @throws IllegalAccessException
-	 * @throws InvocationTargetException
-	 * 
-	 * @since 1.0.0
-	 */
-	public final void pushMethodInvocation(String methodName, boolean hasReceiver, int argCount) throws NoExpressionValueException, EvaluationException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
-		if (ignoreExpression>0)
-			return;
-		
-		// We need to pull in the arguments. They are stacked in reverse order.
-		Object[]  args = new Object[argCount];
-		Class[] argTypes = new Class[argCount];
-		for (int i = argCount - 1; i >= 0; i--) {
-			args[i] = popExpression();
-			argTypes[i] = popExpressionType(false);
-		}
-		
-		// Now get receiver
-		Object receiver = popExpression();
-		Class receiverType = popExpressionType(false);
-		
-		// Now we need to find the appropriate method.
-		Method method = MethodHelper.findCompatibleMethod(receiverType, methodName, argTypes);
-		Object value = method.invoke(receiver, args);
-		
-		pushExpressionValue(value, method.getReturnType());
-	}
-
-	/**
-	 * @param expressionType
-	 * 
-	 * @since 1.0.0
-	 */
-	public final void pushConditional(int expressionType) throws NoExpressionValueException {
-		boolean wasIgnoring = ignoreExpression>0;
-		if (wasIgnoring) {
-			if (expressionType == IExpressionConstants.CONDITIONAL_CONDITION)
-				ignoreExpression+=2;	// Increment it twice so that entire expression is ignored because we already are in an ignore.
-			else
-				ignoreExpression--;	// Decrement it because we have ignored one of the expressions.
-			if (ignoreExpression>0)
-				return;	// We are still ignoring.
-		}
-		
-		switch (expressionType) {
-			case IExpressionConstants.CONDITIONAL_CONDITION:
-				Object condition = popExpression();
-				Class type = popExpressionType(false);
-				if (type != Boolean.TYPE)
-					throwClassCast(Boolean.TYPE, condition);
-				if (((Boolean) condition).booleanValue()) {
-					// Condition was true.
-					// Do nothing. Let true condition be processed.
-				} else {
-					// Condition was false.
-					++ignoreExpression;	// Tell the true condition it should be ignored.
-				}
-				// We don't put anything back on the stack because the condition test is not ever returned.
-				// The appropriate true or false condition will be left on the stack.
-				break;
-			case IExpressionConstants.CONDITIONAL_TRUE:
-				if (!wasIgnoring) {
-					// true was processed, so now tell false to not process.
-					// The true condition and type will be left on top of the stack.
-					++ignoreExpression;	
-				}
-				break;
-			case IExpressionConstants.CONDITIONAL_FALSE:
-				// There's nothing to do, if it was ignored due to true, then true is on the stack.
-				// If it wasn't ignored, then false expression is on the stack, which is what it should be.
-				break;
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/IExpressionConstants.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/IExpressionConstants.java
deleted file mode 100644
index 74efcd2..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/IExpressionConstants.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: IExpressionConstants.java,v $
- *  $Revision: 1.1 $  $Date: 2004/02/03 23:18:36 $ 
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
- 
-/**
- * These are constants needed by IExpression that will be common between
- * the vm and the IDE. They are also available to users of the IExpression
- * interface.
- * 
- * @since 1.0.0
- */
-public interface IExpressionConstants {
-
-	/**
-	 * The expression (or some nested expression) did not return a value. I.e. it was <code>void</code>.
-	 * This would occur only if the value of expression was being retrieved through getExpressionValue,
-	 * or if a nested expression was used, since in that case the value would of been used as an
-	 * argument or receiver to another expression.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static class NoExpressionValueException extends Exception {
-		
-		/**
-		 * Construct with no arguments.
-		 * 
-		 * @since 1.0.0
-		 */
-		public NoExpressionValueException() {
-			super();
-		}
-	
-		/**
-		 * Construct with a message.
-		 * 
-		 * @param message
-		 * 
-		 * @since 1.0.0
-		 */
-		public NoExpressionValueException(String message) {
-			super(message);
-		}
-	}
-
-	/**
-	 * Infix times "*"
-	 */
-	int IN_TIMES = 0;
-	
-	/**
-	 * Infix divide "/"
-	 */
-	int IN_DIVIDE = 1;
-	
-	/**
-	 * Infix remainder "%"
-	 */
-	int IN_REMAINDER = 2;
-	
-	/**
-	 * Infix plus "+"
-	 */
-	int IN_PLUS = 3;
-	
-	/**
-	 * Infix minus "-"
-	 */
-	int IN_MINUS = 4;
-	
-	/**
-	 * Infix left shift "<<"
-	 */
-	int IN_LEFT_SHIFT = 5;
-	
-	/**
-	 * Infix right shift signed ">>"
-	 */
-	int IN_RIGHT_SHIFT_SIGNED = 6;
-	
-	/**
-	 * Infix right shift unsigned ">>>"
-	 */
-	int IN_RIGHT_SHIFT_UNSIGNED = 7;
-	
-	/**
-	 * Infix less "<"
-	 */
-	int IN_LESS = 8;
-	
-	/**
-	 * Infix greater ">"
-	 */
-	int IN_GREATER = 9;
-	
-	/**
-	 * Infix less than or equals "<="
-	 */
-	int IN_LESS_EQUALS = 10;
-	
-	/**
-	 * Infix Greater than or equlas ">="
-	 */
-	int IN_GREATER_EQUALS = 11;
-	
-	/**
-	 * Infix equals "=="
-	 */
-	int IN_EQUALS = 12;
-	
-	/**
-	 * Infix not equals "!="
-	 */
-	int IN_NOT_EQUALS = 13;
-	
-	/**
-	 * Infix exclusive or "^"
-	 */
-	int IN_XOR = 14;
-	
-	/**
-	 * Infix bitwise and "&"
-	 */
-	int IN_AND = 15;
-	
-	/**
-	 * Infix bitwise or "|"
-	 */
-	int IN_OR = 16;
-	
-	/**
-	 * Infix Conditional logical and "&&"
-	 */
-	int IN_CONDITIONAL_AND = 17;
-	
-	/**
-	 * Infix Conditional logical or "||"
-	 */
-	int IN_CONDITIONAL_OR = 18;
-	
-	/**
-	 * Max value of Infix operators.
-	 */
-	int IN_MAX = 18;
-	
-	/**
-	 * Prefix plus "+"
-	 */
-	int PRE_PLUS = 0;
-	
-	/**
-	 * Prefix minus "-"
-	 */
-	int PRE_MINUS = 1;
-	
-	/**
-	 * Prefix bitwise complement "~"
-	 */
-	int PRE_COMPLEMENT = 2;
-	
-	/**
-	 * Prefix logical not "!"
-	 */
-	int PRE_NOT = 3;
-	
-	/**
-	 * Max value of the Prefix operators.
-	 */
-	int PRE_MAX = 3;
-
-	/**
-	 * forExpression: Creating a root expression
-	 */
-	int ROOTEXPRESSION = 0;
-
-	/**
-	 * forExpression: Creating the array expression for an array access (i.e. the array to access)
-	 */
-	int ARRAYACCESS_ARRAY = 1;
-
-	/**
-	 * forExpression: Creating an index expression for an array access (i.e. one of the expressions within the <code>[]</code>).
-	 */
-	int ARRAYACCESS_INDEX = 2;
-
-	/**
-	 * forExpression: Creating an dimension expression for an array creation (i.e. one of the expressions within the <code>[]</code>).
-	 */
-	int ARRAYCREATION_DIMENSION = 3;
-
-	/**
-	 * forExpression: Creating an expression for an array initializer (i.e. one of the expressions with the <code>{}</code>).
-	 * Special case is that array initializers are valid as an expression within an array initializer and it doesn't use
-	 * a for expression.
-	 */
-	int ARRAYINITIALIZER_EXPRESSION = 4;
-
-	/**
-	 * forExpression: Creating the expression for the cast (i.e. the expresion after the <code>(type)</code>).
-	 */
-	int CAST_EXPRESSION = 5;
-
-	/**
-	 * forExpression: Creating the argument expression for the new instance.
-	 */
-	int CLASSINSTANCECREATION_ARGUMENT = 6;
-
-	/**
-	 * forExpression: Creating the condition for a conditional expression.
-	 */
-	int CONDITIONAL_CONDITION = 7;
-
-	/**
-	 * forExpression: Creating the true (then) expression for a conditional expression.
-	 */
-	int CONDITIONAL_TRUE = 8;
-
-	/**
-	 * forExpression: Creating the false (else) condition for a conditional expression.
-	 */
-	int CONDITIONAL_FALSE = 9;
-
-	/**
-	 * forExpression: Creating the receiver for a field access (i.e. the expression before the ".")
-	 */
-	int FIELD_RECEIVER = 10;
-
-	/**
-	 * forExpression: Creating the left operand of an infix expression.
-	 */
-	int INFIX_LEFT = 11;
-
-	/**
-	 * forExpression: Creating the right operand of an infix expression.
-	 */
-	int INFIX_RIGHT = 12;
-
-	/**
-	 * forExpression: Creating an extended operand of an infix expression.
-	 */
-	int INFIX_EXTENDED = 13;
-
-	/**
-	 * forExpression: Creating the value expression of an instanceof.
-	 */
-	int INSTANCEOF_VALUE = 14;
-
-	/**
-	 * forExpression: Creating a receiver expression for a method invocation.
-	 */
-	int METHOD_RECEIVER = 15;
-
-	/**
-	 * forExpression: Creating an argument for a method invocation.
-	 */
-	int METHOD_ARGUMENT = 16;
-	
-	/**
-	 * forExpression: Creating the operand expression for a prefix operator.
-	 */
-	int PREFIX_OPERAND = 17;
-	
-}
diff --git a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/IInternalExpressionConstants.java b/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/IInternalExpressionConstants.java
deleted file mode 100644
index b31a87b..0000000
--- a/plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/IInternalExpressionConstants.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: IInternalExpressionConstants.java,v $
- *  $Revision: 1.1 $  $Date: 2004/02/03 23:18:36 $ 
- */
-package org.eclipse.jem.internal.proxy.initParser.tree;
- 
-/**
- * These constants are for communicating between the IDE and the proxy side
- * for expression evaluation.
- * 
- * @since 1.0.0
- */
-public interface IInternalExpressionConstants {
-	
-	/**
-	 * ARRAY ACCESS Expression
-	 */
-	int ARRAY_ACCESS_EXPRESSION = 1;
-	
-	/**
-	 * ARRAY CREATION Expression
-	 */
-	int ARRAY_CREATION_EXPRESSION = 2;
-	
-	/**
-	 * ARRAY INITIALIZER expression
-	 */
-	int ARRAY_INITIALIZER_EXPRESSION = 3;
-	
-	/**
-	 * CAST Expression.
-	 */
-	int CAST_EXPRESSION = 4;
-	
-	/**
-	 * CONDITIONAL expression
-	 */
-	int CONDITIONAL_EXPRESSION = 5;
-	
-	/**
-	 * CLASS INSTANCE CREATION expression
-	 */
-	int CLASS_INSTANCE_CREATION_EXPRESSION = 6;
-	
-	/**
-	 * FIELD ACCESS expression.
-	 */
-	int FIELD_ACCESS_EXPRESSION = 7;
-	
-	/**
-	 * INSTANCEOF Expression.
-	 */
-	int INSTANCEOF_EXPRESSION = 8;
-
-	/**
-	 * Infix expression
-	 */
-	int INFIX_EXPRESSION = 9;
-	
-	/**
-	 * Method expression.
-	 */
-	int METHOD_EXPRESSION = 10;
-	
-	/**
-	 * Prefix expression
-	 */
-	int PREFIX_EXPRESSION = 11;
-	
-	/**
-	 * Push to proxy expression.
-	 */
-	int PUSH_TO_PROXY_EXPRESSION = 12;
-	
-	/**
-	 * Type literal Expression.
-	 */
-	int TYPELITERAL_EXPRESSION = 13;
-	
-	/**
-	 * Type receiver expression.
-	 */
-	int TYPERECEIVER_EXPRESSION = 14;
-
-	
-	/**
-	 * Used in Infix processing. Left operand on expression stack
-	 */
-	int INFIX_LEFT_OPERAND = 0;
-	
-	/**
-	 * Used in Infix processing. Other operand (but not last) on expression stack 
-	 */
-	int INFIX_OTHER_OPERAND = 1;
-	
-	/**
-	 * Used in Infix processing. Rightmost (last) operand on expression stack
-	 */
-	int INFIX_LAST_OPERAND = 2;
-}
diff --git a/plugins/org.eclipse.jem.proxy/plugin.properties b/plugins/org.eclipse.jem.proxy/plugin.properties
deleted file mode 100644
index 5411f87..0000000
--- a/plugins/org.eclipse.jem.proxy/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.proxy/plugin.properties,v $
-# $Revision: 1.2 $  $Date: 2004/03/04 16:14:04 $
-#
-
-
-pluginName=Java EMF Model Proxy Support
-providerName = Eclipse.org
-Launch.localProxy=Local Proxy Application
diff --git a/plugins/org.eclipse.jem.proxy/plugin.xml b/plugins/org.eclipse.jem.proxy/plugin.xml
deleted file mode 100644
index d29a1c2..0000000
--- a/plugins/org.eclipse.jem.proxy/plugin.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.jem.proxy"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.jem.internal.proxy.core.ProxyPlugin">
-
-   <runtime>
-      <library name="proxy.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.jem.internal.proxy.core,org.eclipse.jem.internal.proxy.awt"/>
-      </library>
-      <library name="proxycommon.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.jem.internal.proxy.common"/>
-      </library>
-      <library name="initparser.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.jem.internal.proxy.initParser"/>
-      </library>
-      <library name="proxyremote.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.jem.internal.proxy.remote"/>
-      </library>
-      <library name="remotecommon.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.jem.internal.proxy.common.remote"/>
-      </library>
-      <library name="proxyide.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.jem.internal.proxy.ide"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.jdt.launching"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.debug.core" export="true"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="com.ibm.wtp.common.util"/>
-      <import plugin="org.eclipse.pde.core"/>
-   </requires>
-
-
-   <extension-point id="contributor" name="Proxy Configuration Contributor" schema="schema/contributor.exsd"/>
-
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationTypes">
-      <launchConfigurationType
-            name="%Launch.localProxy"
-            delegate="org.eclipse.jem.internal.proxy.remote.LocalProxyLaunchDelegate"
-            category="org.eclipse.jem.proxy"
-            modes="run"
-            id="org.eclipse.jem.proxy.LocalProxyLaunchConfigurationType">
-      </launchConfigurationType>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jem.proxy/proxy.jars b/plugins/org.eclipse.jem.proxy/proxy.jars
deleted file mode 100644
index 4d0bed9..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy.jars
+++ /dev/null
@@ -1,4 +0,0 @@
-proxycommon.jar=/org.eclipse.jem.proxy/bin/
-initparser.jar=/org.eclipse.jem.proxy/bin/
-remotecommon.jar=/org.eclipse.jem.proxy/bin/
-vm/remotevm.jar=/org.eclipse.jem.proxy/bin/
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IDimensionBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IDimensionBeanProxy.java
deleted file mode 100644
index 69e426b..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IDimensionBeanProxy.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jem.internal.proxy.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDimensionBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-/**
- * Interface to a Dimension bean proxy.
- * Creation date: (4/7/00 3:46:39 PM)
- * @author: Administrator
- */
-public interface IDimensionBeanProxy extends IBeanProxy {
-	public int getHeight();
-	public int getWidth();
-	public void setHeight(int height);
-	public void setWidth(int width);
-	public void setSize(int width, int height);
-	public void setSize(IDimensionBeanProxy dim);
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IPointBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IPointBeanProxy.java
deleted file mode 100644
index d3d808a..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IPointBeanProxy.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.jem.internal.proxy.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IPointBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-/**
- * Interface to a Point bean proxy.
- * Creation date: (4/7/00 3:46:39 PM)
- * @author: Administrator
- */
-public interface IPointBeanProxy extends IBeanProxy {
-	public int getX();
-	public int getY();
-	public void setX(int x);
-	public void setY(int y);
-	public void setLocation(int x, int y);
-	public void setLocation(IPointBeanProxy point);
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IRectangleBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IRectangleBeanProxy.java
deleted file mode 100644
index f46d847..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IRectangleBeanProxy.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.jem.internal.proxy.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IRectangleBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-/**
- * Interface to a Rectangle bean proxy.
- * Creation date: (4/7/00 3:46:39 PM)
- * @author: Administrator
- */
-public interface IRectangleBeanProxy extends IBeanProxy {
-	public int getX();
-	public int getY();
-	public void setX(int x);
-	public void setY(int y);
-	public void setLocation(int x, int y);
-	public void setLocation(IPointBeanProxy point);
-	
-	public int getHeight();
-	public int getWidth();
-	public void setHeight(int height);
-	public void setWidth(int width);
-	public void setSize(int width, int height);
-	public void setSize(IDimensionBeanProxy dim);
-	
-	public void setBounds(int x, int y, int width, int height);
-	public void setBounds(IRectangleBeanProxy rect);	
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IStandardAwtBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IStandardAwtBeanProxyFactory.java
deleted file mode 100644
index b8aee3f..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IStandardAwtBeanProxyFactory.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.jem.internal.proxy.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IStandardAwtBeanProxyFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.IBeanProxyFactory;
-/**
- * The Standard awt bean proxy factory.
- * This is the Interface that the desktop will talk
- * to.
- * Creation date: (12/3/99 11:52:09 AM)
- * @author: Joe Winchester
- */
-public interface IStandardAwtBeanProxyFactory extends IBeanProxyFactory {
-	public static final String REGISTRY_KEY = "standard-java.awt"; //$NON-NLS-1$
-
-/**
- * Return a new bean proxy for the dimension argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IDimensionBeanProxy createDimensionBeanProxyWith(int width, int height);
-/**
- * Return a new bean proxy for the point argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IPointBeanProxy createPointBeanProxyWith(int x, int y);
-/**
- * Return a new bean proxy for the rectangle argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IRectangleBeanProxy createBeanProxyWith(int x, int y, int width, int height);
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/JavaStandardAwtBeanConstants.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/JavaStandardAwtBeanConstants.java
deleted file mode 100644
index ee19e4f..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/JavaStandardAwtBeanConstants.java
+++ /dev/null
@@ -1,254 +0,0 @@
-package org.eclipse.jem.internal.proxy.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaStandardAwtBeanConstants.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Standard AWT Constants
- *
- * Use the static accessor method (getConstants()) to get the appropriate 
- * constants instance for the registry. This is done so that until the
- * the constants are needed, they aren't registered.
- *
- * NOTE: Since everything in here just proxies, there is
- *       no need to have them separated by VM. That is why
- *       this in the Proxy package.
- *
- * This is final because this can't be extended. This specific one
- * will be registered with the factory for this key. Any extensions
- * must be done in their own constants and registry key.
- *
- * Creation date: (4/7/00 4:47:48 PM)
- * @author: Administrator
- */
-public final class JavaStandardAwtBeanConstants {
-		
-	public static final String REGISTRY_KEY = "STANDARDPROXYAWTCONSTANTS:"; //$NON-NLS-1$
-			
-	final boolean AWTLoaded;	// AWT may not be available. So non-ui JVM's don't have AWT.
-	final boolean AWTRegistered;	// AWT was registered to be used in this VM. It may be registered, but still not available.
-		
-	final IFieldProxy dimensionHeightProxy;
-	final IFieldProxy dimensionWidthProxy;
-	final IMethodProxy setDimensionSizeHWProxy;
-	final IMethodProxy setDimensionSizeDProxy;
-	
-	final IFieldProxy pointXProxy;
-	final IFieldProxy pointYProxy;
-	final IMethodProxy setPointLocationXYProxy;
-	final IMethodProxy setPointLocationPProxy;
-	
-	final IFieldProxy rectangleHeightProxy;
-	final IFieldProxy rectangleWidthProxy;
-	final IFieldProxy rectangleXProxy;
-	final IFieldProxy rectangleYProxy;
-	final IMethodProxy setRectangleSizeHWProxy;
-	final IMethodProxy setRectangleSizeDProxy;
-	final IMethodProxy setRectangleLocationXYProxy;
-	final IMethodProxy setRectangleLocationPProxy;
-	final IMethodProxy setRectangleBoundsXYHWProxy;
-	final IMethodProxy setRectangleBoundsRProxy;
-	
-/**
- * Get the constants instance for the specified registry.
- */
-public static JavaStandardAwtBeanConstants getConstants(ProxyFactoryRegistry registry) {
-	JavaStandardAwtBeanConstants constants = (JavaStandardAwtBeanConstants) registry.getConstants(REGISTRY_KEY);
-	if (constants == null)
-		registry.registerConstants(REGISTRY_KEY, constants = new JavaStandardAwtBeanConstants(registry, registry.getBeanProxyFactoryExtension(IStandardAwtBeanProxyFactory.REGISTRY_KEY) != null));
-	return constants;
-}
-		
-
-public JavaStandardAwtBeanConstants(ProxyFactoryRegistry registry, boolean isRegistered) {
-	super();
-	
-	AWTRegistered = isRegistered;
-	if (!AWTRegistered) {
-		AWTLoaded = false;
-		dimensionHeightProxy = dimensionWidthProxy = pointXProxy = pointYProxy = rectangleHeightProxy = rectangleWidthProxy = rectangleXProxy = rectangleYProxy = null;
-		setDimensionSizeHWProxy = setDimensionSizeDProxy = setPointLocationXYProxy = setPointLocationPProxy = setRectangleSizeHWProxy = setRectangleSizeDProxy = setRectangleLocationXYProxy = setRectangleLocationPProxy = setRectangleBoundsXYHWProxy = setRectangleBoundsRProxy = null;		
-		return;
-	}
-	
-	IStandardBeanTypeProxyFactory typeFactory = registry.getBeanTypeProxyFactory();
-	
-	IBeanTypeProxy dimensionTypeProxy = typeFactory.getBeanTypeProxy("java.awt.Dimension");//$NON-NLS-1$
-	if (dimensionTypeProxy != null) {
-		// AWT is available.
-		AWTLoaded = true;
-		IBeanTypeProxy intTypeProxy = typeFactory.getBeanTypeProxy("int"); //$NON-NLS-1$
-		
-		dimensionHeightProxy = dimensionTypeProxy.getFieldProxy("height");//$NON-NLS-1$
-		dimensionWidthProxy = dimensionTypeProxy.getFieldProxy("width");//$NON-NLS-1$
-		setDimensionSizeHWProxy = dimensionTypeProxy.getMethodProxy("setSize", new IBeanTypeProxy[] {intTypeProxy, intTypeProxy}); //$NON-NLS-1$
-		setDimensionSizeDProxy = dimensionTypeProxy.getMethodProxy("setSize", new IBeanTypeProxy[] {dimensionTypeProxy}); //$NON-NLS-1$
-	
-		IBeanTypeProxy pointTypeProxy = typeFactory.getBeanTypeProxy("java.awt.Point");//$NON-NLS-1$
-		pointXProxy = pointTypeProxy.getFieldProxy("x");//$NON-NLS-1$
-		pointYProxy = pointTypeProxy.getFieldProxy("y");	//$NON-NLS-1$
-		setPointLocationXYProxy = pointTypeProxy.getMethodProxy("setLocation", new IBeanTypeProxy[] {intTypeProxy, intTypeProxy}); //$NON-NLS-1$
-		setPointLocationPProxy = pointTypeProxy.getMethodProxy("setLocation", new IBeanTypeProxy[] {pointTypeProxy}); //$NON-NLS-1$
-		
-		
-		IBeanTypeProxy rectangleTypeProxy = typeFactory.getBeanTypeProxy("java.awt.Rectangle");//$NON-NLS-1$
-		rectangleHeightProxy = rectangleTypeProxy.getFieldProxy("height");//$NON-NLS-1$
-		rectangleWidthProxy = rectangleTypeProxy.getFieldProxy("width");//$NON-NLS-1$
-		rectangleXProxy = rectangleTypeProxy.getFieldProxy("x");//$NON-NLS-1$
-		rectangleYProxy = rectangleTypeProxy.getFieldProxy("y");//$NON-NLS-1$
-		setRectangleSizeHWProxy = rectangleTypeProxy.getMethodProxy("setSize", new IBeanTypeProxy[] {intTypeProxy, intTypeProxy}); //$NON-NLS-1$
-		setRectangleSizeDProxy = rectangleTypeProxy.getMethodProxy("setSize", new IBeanTypeProxy[] {dimensionTypeProxy}); //$NON-NLS-1$
-		setRectangleLocationXYProxy = rectangleTypeProxy.getMethodProxy("setLocation", new IBeanTypeProxy[] {intTypeProxy, intTypeProxy}); //$NON-NLS-1$
-		setRectangleLocationPProxy = rectangleTypeProxy.getMethodProxy("setLocation", new IBeanTypeProxy[] {pointTypeProxy});		 //$NON-NLS-1$
-		setRectangleBoundsXYHWProxy = rectangleTypeProxy.getMethodProxy("setBounds", new IBeanTypeProxy[] {intTypeProxy, intTypeProxy, intTypeProxy, intTypeProxy}); //$NON-NLS-1$
-		setRectangleBoundsRProxy = rectangleTypeProxy.getMethodProxy("setBounds", new IBeanTypeProxy[] {rectangleTypeProxy}); //$NON-NLS-1$
-	} else {
-		AWTLoaded = false;
-		dimensionHeightProxy = dimensionWidthProxy = pointXProxy = pointYProxy = rectangleHeightProxy = rectangleWidthProxy = rectangleXProxy = rectangleYProxy = null;
-		setDimensionSizeHWProxy = setDimensionSizeDProxy = setPointLocationXYProxy = setPointLocationPProxy = setRectangleSizeHWProxy = setRectangleSizeDProxy = setRectangleLocationXYProxy = setRectangleLocationPProxy = setRectangleBoundsXYHWProxy = setRectangleBoundsRProxy = null;
-	}
-}
-
-/**
- * Answer if AWT is available.
- */
-public boolean isAWTAvailable() {
-	return AWTLoaded;
-}
-
-/**
- * Answer if AWT was registered to be available.
- */
-public boolean isAWTRegistered() {
-	return AWTRegistered;
-}
-
-
-
-/**
- * getDimensionHeightFieldProxy method comment.
- */
-public IFieldProxy getDimensionHeightFieldProxy() {
-	return dimensionHeightProxy;
-}
-/**
- * getDimensionWidthProxy method comment.
- */
-public IFieldProxy getDimensionWidthFieldProxy() {
-	return dimensionWidthProxy;
-}
-/**
- * getDimensionSetSizeWHProxy method comment.
- */
-public IMethodProxy getDimensionSetSizeHWProxy() {
-	return setDimensionSizeHWProxy;
-}
-/**
- * getDimensionSetSizeDProxy method comment.
- */
-public IMethodProxy getDimensionSetSizeDProxy() {
-	return setDimensionSizeDProxy;
-}
-
-/**
- * getPointXFieldProxy method comment.
- */
-public IFieldProxy getPointXFieldProxy() {
-	return pointXProxy;
-}
-/**
- * getPointYFieldProxy method comment.
- */
-public IFieldProxy getPointYFieldProxy() {
-	return pointYProxy;
-}
-/**
- * getPointSetLocationXYProxy method comment.
- */
-public IMethodProxy getPointSetLocationXYProxy() {
-	return setPointLocationXYProxy;
-}
-/**
- * getPointSetLocationPProxy method comment.
- */
-public IMethodProxy getPointSetLocationPProxy() {
-	return setPointLocationPProxy;
-}
-/**
- * getRectangleHeightFieldProxy method comment.
- */
-public IFieldProxy getRectangleHeightFieldProxy() {
-	return rectangleHeightProxy;
-}
-/**
- * getRectangleWidthFieldProxy method comment.
- */
-public IFieldProxy getRectangleWidthFieldProxy() {
-	return rectangleWidthProxy;
-}
-/**
- * getRectangleXFieldProxy method comment.
- */
-public IFieldProxy getRectangleXFieldProxy() {
-	return rectangleXProxy;
-}
-/**
- * getRectangleYFieldProxy method comment.
- */
-public IFieldProxy getRectangleYFieldProxy() {
-	return rectangleYProxy;
-}
-/**
- * getRectangleSetSizeWHProxy method comment.
- */
-public IMethodProxy getRectangleSetSizeHWProxy() {
-	return setRectangleSizeHWProxy;
-}
-/**
- * getRectangleSetSizeDProxy method comment.
- */
-public IMethodProxy getRectangleSetSizeDProxy() {
-	return setRectangleSizeDProxy;
-}
-/**
- * getRectangleSetLocationXYProxy method comment.
- */
-public IMethodProxy getRectangleSetLocationXYProxy() {
-	return setRectangleLocationXYProxy;
-}
-/**
- * getRectangleSetLocationPProxy method comment.
- */
-public IMethodProxy getRectangleSetLocationPProxy() {
-	return setRectangleLocationPProxy;
-}
-
-/**
- * getRectangleSetBoundsXYHWProxy method comment.
- */
-public IMethodProxy getRectangleSetBoundsXYHWProxy() {
-	return setRectangleBoundsXYHWProxy;
-}
-/**
- * getRectangleSetBoundsRProxy method comment.
- */
-public IMethodProxy getRectangleSetBoundsRProxy() {
-	return setRectangleBoundsRProxy;
-}
-
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/CollectionBeanProxyWrapper.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/CollectionBeanProxyWrapper.java
deleted file mode 100644
index d0f9280..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/CollectionBeanProxyWrapper.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: CollectionBeanProxyWrapper.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-import org.eclipse.core.runtime.*;
-/**
- * This is a wrapper for an java.util.Collection proxy.
- * It provides the collection methods to interface to
- * the proxy.
- */
-
-public class CollectionBeanProxyWrapper {
-	protected final IBeanProxy fCollection;
-	protected final JavaStandardBeanProxyConstants fConstants;
-	
-	/**
-	 * Construct with the collection.
-	 */
-	public CollectionBeanProxyWrapper(IBeanProxy aCollectionProxy) {
-		if (!aCollectionProxy.getTypeProxy().isKindOf(aCollectionProxy.getProxyFactoryRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.util.Collection"))) //$NON-NLS-1$
-			throw new ClassCastException(java.text.MessageFormat.format(ProxyMessages.getString(ProxyMessages.CLASSCAST_INCORRECTTYPE), new Object[] {aCollectionProxy.getTypeProxy().getTypeName(), "java.util.Collection"})); //$NON-NLS-1$
-		else
-			fCollection = aCollectionProxy;
-			
-		fConstants = JavaStandardBeanProxyConstants.getConstants(aCollectionProxy.getProxyFactoryRegistry());
-	}
-	
-	/**
-	 * Answer the collection proxy that this is wrappering.
-	 */
-	public IBeanProxy getBeanProxy() {
-		return fCollection;
-	}
-
-	/**
-	 * equals - Pass it on to the proxy to handle this.
-	 */
-	public boolean equals(Object object) {
-		return fCollection.equals(object);
-	}
-	
-	/**
-	 * hashCode - Pass it on to the proxy to handle this.
-	 */
-	public int hashCode() {
-		return fCollection.hashCode();
-	}
-	
-	/**
-	 * Collection accessors
-	 */
-	public boolean add(IBeanProxy object) throws ThrowableProxy {
-		return ((IBooleanBeanProxy) fConstants.getCollectionAdd().invoke(fCollection, object)).booleanValue();
-	}
-	public boolean addAll(IBeanProxy collection) throws ThrowableProxy {
-		return ((IBooleanBeanProxy) fConstants.getCollectionAddAll().invoke(fCollection, collection)).booleanValue();
-	}
-	public void clear() throws ThrowableProxy {
-		fConstants.getCollectionClear().invoke(fCollection);
-	}
-	public boolean contains(IBeanProxy object) {
-		try {
-			return ((IBooleanBeanProxy) fConstants.getCollectionContains().invoke(fCollection, object)).booleanValue();
-		} catch (ThrowableProxy e) {
-			// This shouldn't occur, so just log it.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, ProxyMessages.getString(ProxyMessages.UNEXPECTED_EXCEPTION), e));
-			return false;
-		}
-	}
-	public boolean containsAll(IBeanProxy collection) {
-		try {
-			return ((IBooleanBeanProxy) fConstants.getCollectionContainsAll().invoke(fCollection, collection)).booleanValue();
-		} catch (ThrowableProxy e) {
-			// This shouldn't occur, so just log it.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, ProxyMessages.getString(ProxyMessages.UNEXPECTED_EXCEPTION), e));
-			return false;
-		}			
-	}		
-	public boolean isEmpty() {
-		try {
-			return ((IBooleanBeanProxy) fConstants.getCollectionIsEmpty().invoke(fCollection)).booleanValue();
-		} catch (ThrowableProxy e) {
-			// This shouldn't occur, so just log it.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, ProxyMessages.getString(ProxyMessages.UNEXPECTED_EXCEPTION), e));
-			return true;
-		}			
-	}		
-	public IteratorBeanProxyWrapper iterator() {
-		try {
-			IBeanProxy itr = fConstants.getCollectionIterator().invoke(fCollection);
-			if (itr != null)
-				return new IteratorBeanProxyWrapper(itr);
-			else
-				return null;
-		} catch (ThrowableProxy e) {
-			// This shouldn't occur, so just log it.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, ProxyMessages.getString(ProxyMessages.UNEXPECTED_EXCEPTION), e));
-			return null;
-		}			
-	}
-	public boolean remove(IBeanProxy object) throws ThrowableProxy {
-		return ((IBooleanBeanProxy) fConstants.getCollectionRemove().invoke(fCollection, object)).booleanValue();
-	}
-	public boolean removeAll(IBeanProxy collection) throws ThrowableProxy {
-		return ((IBooleanBeanProxy) fConstants.getCollectionRemoveAll().invoke(fCollection, collection)).booleanValue();
-	}		
-	public boolean retainAll(IBeanProxy collection) throws ThrowableProxy {
-		return ((IBooleanBeanProxy) fConstants.getCollectionRetainAll().invoke(fCollection, collection)).booleanValue();
-	}
-	public int size() {
-		try {
-			return ((IIntegerBeanProxy) fConstants.getCollectionSize().invoke(fCollection)).intValue();
-		} catch (ThrowableProxy e) {
-			// This shouldn't occur, so just log it.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, ProxyMessages.getString(ProxyMessages.UNEXPECTED_EXCEPTION), e));
-			return 0;
-		}			
-	}	
-	public IArrayBeanProxy toArray() throws ThrowableProxy {
-		return (IArrayBeanProxy) fConstants.getCollectionToArray().invoke(fCollection);
-	}
-	public IArrayBeanProxy toArray(IArrayBeanProxy array) throws ThrowableProxy {
-		return (IArrayBeanProxy) fConstants.getCollectionToArrayWithArray().invoke(fCollection, array);
-	}	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/EnumerationBeanProxyWrapper.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/EnumerationBeanProxyWrapper.java
deleted file mode 100644
index e9f53b8..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/EnumerationBeanProxyWrapper.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: EnumerationBeanProxyWrapper.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-
-import java.text.MessageFormat;
-import org.eclipse.core.runtime.*;
-/**
- * This is a wrapper for an java.util.Enumeration proxy.
- * It provides the Enumeration methods to interface to
- * the proxy.
- */
-
-public class EnumerationBeanProxyWrapper {
-	protected final IBeanProxy fEnumeration;
-	protected final JavaStandardBeanProxyConstants fConstants;
-	
-	/**
-	 * Construct with the collection.
-	 */
-	public EnumerationBeanProxyWrapper(IBeanProxy anEnumerationProxy) {
-		if (!anEnumerationProxy.getTypeProxy().isKindOf(anEnumerationProxy.getProxyFactoryRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.util.Enumeration"))) //$NON-NLS-1$
-			throw new ClassCastException(MessageFormat.format(ProxyMessages.getString(ProxyMessages.CLASSCAST_INCORRECTTYPE), new Object[] {anEnumerationProxy.getTypeProxy().getTypeName(), "java.util.Enumeration"})); //$NON-NLS-1$
-		else
-			fEnumeration = anEnumerationProxy;
-			
-		fConstants = JavaStandardBeanProxyConstants.getConstants(anEnumerationProxy.getProxyFactoryRegistry());
-	}
-	
-	/**
-	 * Answer the iterator proxy that this is wrappering.
-	 */
-	public IBeanProxy getBeanProxy() {
-		return fEnumeration;
-	}
-
-	/**
-	 * equals - Pass it on to the proxy to handle this.
-	 */
-	public boolean equals(Object object) {
-		return fEnumeration.equals(object);
-	}
-	
-	/**
-	 * hashCode - Pass it on to the proxy to handle this.
-	 */
-	public int hashCode() {
-		return fEnumeration.hashCode();
-	}
-	
-	/**
-	 * Enumeration accessors
-	 */
-	public boolean hasMoreElements() {
-		try {
-			return ((IBooleanBeanProxy) fConstants.getEnumerationHasMoreElements().invoke(fEnumeration)).booleanValue();
-		} catch (ThrowableProxy e) {
-			// This shouldn't occur, so just log it.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, ProxyMessages.getString(ProxyMessages.UNEXPECTED_EXCEPTION), e));
-			return false;
-		}			
-	}
-	public IBeanProxy nextElement() throws ThrowableProxy {
-		return fConstants.getEnumerationNextElement().invoke(fEnumeration);
-	}	
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/Expression.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/Expression.java
deleted file mode 100644
index c41e389..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/Expression.java
+++ /dev/null
@@ -1,1496 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: Expression.java,v $
- *  $Revision: 1.1 $  $Date: 2004/02/03 23:18:36 $ 
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-
-import org.eclipse.jem.internal.proxy.initParser.tree.*;
- 
-/**
- * This is an internal implementation of Expression. It encapsulates much of the processing required
- * into a common form that will be turned into simple push/pop/evaluate type of interaction with the
- * actual other side. 
- * <p>
- * It will maintain a stack of the expressions. As the expressions come in they will be stacked if not
- * able to be executed immediately. The expressions come to this class in an  outside to inside order,
- * but they need to be processed in an inside-out order instead. 
- * <p>
- * Subclasses will be used for the different types of proxy interfaces. The abstract methods will
- * then be the simple interface. 
- * <p>
- * It is not meant to override the actual create expression methods because the processing the stack
- * is very sensitive and must execute in the proper sequence. So the create methods are final for this.
- * <p>
- * This class is not thread-safe.
- * 
- * @since 1.0.0
- */
-public abstract class Expression implements IExpression {
-
-	/*
-	 * We have stack here, but rather than create a class that does the
-	 * stack protocol, will simply have some private methods to do
-	 * the same thing for the stack. (Note: Can't use java.util.Stack
-	 * because that is a synchronized class, and don't want the overhead). 
-	 * 
-	 * The purpose of the stack is to stack up expressions that have not yet
-	 * been evaluated. 
-	 * 
-	 * Each expression type will control the content of what it pushes and pops.
-	 * The expression type will be the last thing it pushes so that on popping
-	 * we know what kind of expression is now completed and ready for evaluation.
-	 */
-	private ArrayList controlStack = new ArrayList(30);
-	
-	protected final ProxyFactoryRegistry registry;
-	protected final IStandardBeanProxyFactory beanProxyFactory;
-	
-	/**
-	 * Push an object onto the control stack.
-	 * 
-	 * @param o
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final void push(Object o) {
-		controlStack.add(o);
-	}
-	
-	/**
-	 * Pop an object off of the control stack
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final Object pop() {
-		return controlStack.remove(controlStack.size()-1);
-	}
-	
-	/**
-	 * Peek at an object from the control stack. <code>fromTop</code> is how far from the top of the stack to look.
-	 * If it one, then it is the top entry, two is the next one down. Zero is an invalid value for the parameter.
-	 * @param fromTop How far from the top to peek. <code>1</code> is the top, not zero.
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final Object peek(int fromTop) {
-		// 1 means the top, 2 is the next one down.
-		return controlStack.get(controlStack.size()-fromTop);
-	}
-	
-	/*
-	 * Expression type constants.
-	 */
-	
-	/*
-	 * ARRAY ACCESS expression.
-	 * The expression stack will have:
-	 * 	IExpression.ARRAYACCESS_ARRAY
-	 * 	IExpression.ARRAYACCESS_INDEX (for 1 to n times depending on index count)
-	 * 	PROCESS_EXPRESSION
-	 * 
-	 * The value stack will have
-	 * 	ARRAYACCESS
-	 * 	Integer(index count) 
-	 */
-	private static final Integer ARRAYACCESS = new Integer(IInternalExpressionConstants.ARRAY_ACCESS_EXPRESSION);
-	private static final Integer ARRAYACCESS_INDEX_1 = new Integer(1);	// Use in normal case of one index count. Saves object creation.
-	
-	/*
-	 * ARRAY CREATION expression.
-	 * The expression stack will have:
-	 * 	ARRAYCREATION_INITIALIZER - if hasInitializer
-	 *  IExpression.ARRAYCREATION_DIMENSION (for 0 to n times depending on dimension count)
-	 *  PROCESS_EXPRESSION
-	 * 
-	 * The value stack will have
-	 *  ARRAYCREATION
-	 *  type (either a string representing the type, or an IBeanProxyType representing the type).
-	 *  Integer(dimension count) (if zero then there is an initializer) 
-	 * 
-	 * 
-	 * Note: Array Initializer works with this in that it will peek into the value stack two entries down
-	 * to find the type of array it should be creating.
-	 */
-	private static final Integer ARRAYCREATION = new Integer(IInternalExpressionConstants.ARRAY_CREATION_EXPRESSION);
-	private static final Integer ARRAY_CREATION_DIMENSION_1 = new Integer(1);	// Use in normal case of one dimension. Save object creation.
-	private static final Integer ARRAY_CREATION_DIMENSION_0 = new Integer(0);	// Use in normal case of initializer. Save object creation.
-	private static final int ARRAY_INITIALIZER = -1;	// Local because only needed her for expression.
-	
-	/*
-	 * ARRAY INITIALIZER expression
-	 * The expression stack will have:
-	 * 	IExpression.ARRAYINITIALIZER_EXPRESSION (for n times depending on number of expressions count)
-	 * 	PROCESS_EXPRESSION
-	 * 
-	 * The value stack will have
-	 * 	ARRAYINITIALIZER
-	 *  type (either a string representing the type, or an IBeanProxyType representing the type).
-	 * 		I.e. if array being created is int[][], the value pushed here will be int[]. This is because when created
-	 * 		the array will wind up with int[expressioncount][] in the end.
-	 * 	Integer (expression count)
-	 * 
-	 * Note: Imbedded Array Initializers works with this in that it will peek into the value stack two entries down
-	 * to find the type of array it should be creating.
-	 */
-	private static final Integer ARRAYINITIALIZER = new Integer(IInternalExpressionConstants.ARRAY_INITIALIZER_EXPRESSION);
-	private static final Integer ARRAYINITIALIZER_COUNT_0 = new Integer(0);	// Use in normal case of empty array. Save object creation.
-	private static final Integer ARRAYINITIALIZER_COUNT_1 = new Integer(1);	// Use in normal case of one element array. Save object creation.
-	private static final Integer ARRAYINITIALIZER_COUNT_2 = new Integer(2);	// Use in normal case of two element array. Save object creation.	
-	
-	/*
-	 * CAST expression.
-	 * The expression stack will have:
-	 * 	IExpression.CAST_EXPRESSION
-	 * 	PROCESS_EXPRESSION
-	 * 
-	 * The value stack will have:
-	 * 	CAST
-	 * 	type (either a string representing the type, or an IBeanProxyType representing the type).
-	 */
-	private static final Integer CAST = new Integer(IInternalExpressionConstants.CAST_EXPRESSION);
-
-	/*
-	 * CLASS INSTANCE CREATION expression.
-	 * The expression stack will have:
-	 *  IExpression.CLASSINSTANCECREATION_ARGUMENT (for 0 to n times depending on argument count)
-	 *  PROCESS_EXPRESSION
-	 * 
-	 * The value stack will have
-	 *  CLASSINSTANCECREATION
-	 *  type (either a string representing the type, or an IBeanProxyType representing the type).
-	 *  Integer(argument count) 
-	 * 
-	 * 
-	 * Note: Array Initializer works with this in that it will peek into the value stack two entries down
-	 * to find the type of array it should be creating.
-	 */
-	private static final Integer CLASSINSTANCECREATION = new Integer(IInternalExpressionConstants.CLASS_INSTANCE_CREATION_EXPRESSION);
-	private static final Integer CLASS_INSTANCE_CREATION_ARGUMENTS_1 = new Integer(1);	// Use in normal case of one argument. Save object creation.
-	private static final Integer CLASS_INSTANCE_CREATION_ARGUMENTS_0 = new Integer(0);	// Use in normal case of no arguments (default ctor). Save object creation.
-
-	/*
-	 * CONDITIONAL expression.
-	 * Since this can cause skipping of expressions (e.g. if condition is false, then the true condition should not be evaluated),
-	 * we need to have a process expression and process call to the other side for each expression so that it can
-	 * determine if it should be ignored or not.
-	 * 
-	 * The expression stack will have:
-	 * 	IExpression.CONDITIONAL_CONDITION
-	 * 	PROCESS_EXPRESSION
-	 * 	IExpression.CONDITIONAL_TRUE
-	 * 	PROCESS_EXPRESSION
-	 * 	IExpression.CONDITIONAL_FALSE
-	 * 	PROCESS_EXPRESSION
-	 * 
-	 * The value stack will have:
-	 * 	CONDITIONAL
-	 * 	CONDITIONAL_CONDITION
-	 * 	CONDITIONAL
-	 * 	CONDITIONAL_TRUE
-	 * 	CONDITIONAL
-	 * 	CONDITIONAL_FALSE
-	 * 
-	 */
-	private static final Integer CONDITIONAL = new Integer(IInternalExpressionConstants.CONDITIONAL_EXPRESSION);
-	private static final Integer CONDITIONAL_TEST = new Integer(IExpressionConstants.CONDITIONAL_CONDITION);
-	private static final Integer CONDITIONAL_TRUEEXP = new Integer(IExpressionConstants.CONDITIONAL_TRUE);
-	private static final Integer CONDITIONAL_FALSEXP = new Integer(IExpressionConstants.CONDITIONAL_FALSE);
-	
-	/*
-	 * PREFIX expression.
-	 * The expression stack will have:
-	 * 	IExpression.PREFIX_OPERAND
-	 * 	PROCESS_EXPRESSION
-	 * 
-	 * The value stack will have:
-	 * 	PREFIX
-	 * 	operator (using Integer prefix operator constants defined here) 
-	 */
-	private static final Integer PREFIX = new Integer(IInternalExpressionConstants.PREFIX_EXPRESSION);
-	private static final Integer[] PREFIX_OPERATORS;
-	static {
-		PREFIX_OPERATORS = new Integer[IExpressionConstants.PRE_MAX+1];
-		PREFIX_OPERATORS[IExpressionConstants.PRE_PLUS] = new Integer(IExpressionConstants.PRE_PLUS);
-		PREFIX_OPERATORS[IExpressionConstants.PRE_MINUS] = new Integer(IExpressionConstants.PRE_MINUS);
-		PREFIX_OPERATORS[IExpressionConstants.PRE_COMPLEMENT] = new Integer(IExpressionConstants.PRE_COMPLEMENT);
-		PREFIX_OPERATORS[IExpressionConstants.PRE_NOT] = new Integer(IExpressionConstants.PRE_NOT);
-	}
-	
-	/*
-	 * INFIX expression.
-	 * Since two types of infix operators (conditional and AND or) can cause skipping of expressions (e.g. once
-	 * conditional and sees a false expression, the rest of the expressions are skipped and should not be evaluated),
-	 * we need to have a process expression and process call to the other side for each expression so that it can
-	 * determine if it should be ignored or not.
-	 * 
-	 * The expression stack will have:
-	 * 	IExpression.INFIX_LEFT
-	 * 	PROCESS_EXPRESSION
-	 * 	IExpression.INFIX_RIGHT
-	 *  PROCESS_EXPRESSION
-	 * 		(for 0 to n times depending upon extended count)
-	 * 		IExpression.INFIX_EXTENDED 
-	 * 		PROCESS_EXPRESSION
-	 * 
-	 * The value stack will have:
-	 * 	INFIX
-	 * 	operator (using Integer infix operator constants defined here)
-	 *  IN_LEFT
-	 * 		(for (extendedCount) times) This will cover the right one and all but last extended
-	 * 		INFIX
-	 * 		operator (using Integer infix operator constants defined here)
-	 *  	IN_OTHER
-	 * INFIX
-	 * 	operator (using Integer infix operator constants defined here)
-	 *  IN_LAST (this is covers either the right one if no extended, or the last extended)
-	 */
-	private static final Integer INFIX = new Integer(IInternalExpressionConstants.INFIX_EXPRESSION);
-	private static final Integer IN_LEFT = new Integer(IInternalExpressionConstants.INFIX_LEFT_OPERAND);
-	private static final Integer IN_OTHER= new Integer(IInternalExpressionConstants.INFIX_OTHER_OPERAND);
-	private static final Integer IN_LAST = new Integer(IInternalExpressionConstants.INFIX_LAST_OPERAND);
-	private static final Integer[] INFIX_OPERATORS;
-	static {
-		INFIX_OPERATORS = new Integer[IExpressionConstants.IN_MAX+1];
-		INFIX_OPERATORS[IExpressionConstants.IN_AND] = new Integer(IExpressionConstants.IN_AND);
-		INFIX_OPERATORS[IExpressionConstants.IN_CONDITIONAL_AND] = new Integer(IExpressionConstants.IN_CONDITIONAL_AND);
-		INFIX_OPERATORS[IExpressionConstants.IN_CONDITIONAL_OR] = new Integer(IExpressionConstants.IN_CONDITIONAL_OR);
-		INFIX_OPERATORS[IExpressionConstants.IN_DIVIDE] = new Integer(IExpressionConstants.IN_DIVIDE);
-		INFIX_OPERATORS[IExpressionConstants.IN_EQUALS] = new Integer(IExpressionConstants.IN_EQUALS);
-		INFIX_OPERATORS[IExpressionConstants.IN_GREATER] = new Integer(IExpressionConstants.IN_GREATER);
-		INFIX_OPERATORS[IExpressionConstants.IN_GREATER_EQUALS] = new Integer(IExpressionConstants.IN_GREATER_EQUALS);
-		INFIX_OPERATORS[IExpressionConstants.IN_LEFT_SHIFT] = new Integer(IExpressionConstants.IN_LEFT_SHIFT);
-		INFIX_OPERATORS[IExpressionConstants.IN_LESS] = new Integer(IExpressionConstants.IN_LESS);
-		INFIX_OPERATORS[IExpressionConstants.IN_LESS_EQUALS] = new Integer(IExpressionConstants.IN_LESS_EQUALS);
-		INFIX_OPERATORS[IExpressionConstants.IN_MINUS] = new Integer(IExpressionConstants.IN_MINUS);
-		INFIX_OPERATORS[IExpressionConstants.IN_NOT_EQUALS] = new Integer(IExpressionConstants.IN_NOT_EQUALS);
-		INFIX_OPERATORS[IExpressionConstants.IN_OR] = new Integer(IExpressionConstants.IN_OR);
-		INFIX_OPERATORS[IExpressionConstants.IN_PLUS] = new Integer(IExpressionConstants.IN_PLUS);
-		INFIX_OPERATORS[IExpressionConstants.IN_REMAINDER] = new Integer(IExpressionConstants.IN_REMAINDER);
-		INFIX_OPERATORS[IExpressionConstants.IN_RIGHT_SHIFT_SIGNED] = new Integer(IExpressionConstants.IN_RIGHT_SHIFT_SIGNED);
-		INFIX_OPERATORS[IExpressionConstants.IN_RIGHT_SHIFT_UNSIGNED] = new Integer(IExpressionConstants.IN_RIGHT_SHIFT_UNSIGNED);
-		INFIX_OPERATORS[IExpressionConstants.IN_TIMES] = new Integer(IExpressionConstants.IN_TIMES);
-		INFIX_OPERATORS[IExpressionConstants.IN_XOR] = new Integer(IExpressionConstants.IN_XOR);
-	}	
-	
-	/*
-	 * INSTANCEOF expression.
-	 * The expression stack will have:
-	 * 	IExpression.INSTANCEOF_EXPRESSION
-	 * 	PROCESS_EXPRESSION
-	 * 
-	 * The value stack will have:
-	 * 	INSTANCEOF
-	 * 	type (either a string representing the type, or an IBeanProxyType representing the type).
-	 */
-	private static final Integer INSTANCEOF = new Integer(IInternalExpressionConstants.INSTANCEOF_EXPRESSION);
-
-	/*
-	 * Field access expression.
-	 * The expression stack will have:
-	 * 	IExpression.FIELD_RECEIVER (if hasReceiver is true)
-	 * 	PROCESS_EXPRESSION
-	 * 
-	 * The value stack will have:
-	 * 	FIELDACCESS
-	 * 	name (the name of the field)
-	 *  Boolean (true if has receiver)
-	 */
-	private static final Integer FIELDACCESS = new Integer(IInternalExpressionConstants.FIELD_ACCESS_EXPRESSION);
-
-	/*
-	 * Method invocation expression.
-	 * The expression stack will have:
-	 * 	IExpression.METHOD_RECEIVER (if hasReceiver is true)
-	 * 	IExpression.METHOD_ARGUMENT (0 to n times for how many arguments).
-	 * 	PROCESS_EXPRESSION
-	 * 
-	 * The value stack will have:
-	 * 	METHODINVOCATION
-	 * 	name (the name of the method)
-	 *  Boolean (true if has receiver)
-	 *  argCount (the number of arguments).
-	 */
-	private static final Integer METHODINVOCATION = new Integer(IInternalExpressionConstants.METHOD_EXPRESSION);
-	private static final Integer METHOD_ARGUMENTS_1 = new Integer(1);	// Use in normal case of one argument. Save object creation.
-	private static final Integer METHOD_ARGUMENTS_0 = new Integer(0);	// Use in normal case of no arguments. Save object creation.
-	
-	
-	/*
-	 * Next valid for expression stack. This is kept as a stack also.
-	 * As the expressions come in, the appropriate order (in reverse)
-	 * of expression types will be pushed, and then popped as they 
-	 * come in.
-	 * 
-	 * Since we can't have an array list of ints, will simulate the
-	 * stack here.
-	 */
-	private int[] nextForExpressionStack = new int[30];
-	private int nextForExpressionStackPos = -1;	// Position of top entry in stack.
-	private static final int INVALID = -2;	// Mark that this expression is now invalid. (Goes into nextForExpressionStackSize)
-	private String invalidMsg = null;	// Msg for being invalid if default msg not sufficient.
-	
-	private static final int PROCESS_EXPRESSION = Integer.MIN_VALUE;	// This is pushed onto the next expression stack, and went it is popped, then the expression is complete
-	
-	/**
-	 * Check the for expression, and if legal, set to the next valid for expression type,
-	 * if it can.
-	 * 
-	 * @param forExpression
-	 * @throws IllegalStateException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final void checkForExpression(int forExpression) throws IllegalStateException {
-		if (nextForExpressionStackPos != INVALID) {
-			if (nextForExpressionStackPos == -1)
-				if (forExpression == IExpressionConstants.ROOTEXPRESSION)
-					return;	// valid. We are at the root (i.e. nothing is waiting).
-				else
-					;	// invalid. drop through
-			else if (nextForExpressionStack[nextForExpressionStackPos--] == forExpression)
-				return;	// Valid, the top expression matched.
-		} else {
-			String expMsg = invalidMsg != null ? MessageFormat.format("Expression is in invalid state due to \"{0}\"", new Object[] {invalidMsg}) : "Expression is in invalid state";
-			throw new IllegalStateException(expMsg);
-		}
-		
-		// If we got here, then invalid.
-		nextForExpressionStackPos = INVALID;
-		throw new IllegalStateException("Expression type sent in invalid order");
-	}
-	
-	/**
-	 * Peek into the for expression stack to see if the top entry is the passed in value. It will
-	 * not pop the stack nor throw any exceptions.
-	 * 
-	 * @param forExpression The top expression flag will be compared against this value.
-	 * @return <code>true</code> if the top expression equals the parameter passed in.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final boolean peekForExpression(int forExpression) {
-		if (nextForExpressionStackPos != INVALID) {
-			if (nextForExpressionStackPos == -1)
-				if (forExpression == IExpressionConstants.ROOTEXPRESSION)
-					return true;	// valid. We are at the root (i.e. nothing is waiting).
-				else
-					;	// invalid. drop through
-			else if (nextForExpressionStack[nextForExpressionStackPos] == forExpression)
-				return true;	// Valid, the top expression matched.
-		} 
-		return false;
-	}	
-	
-	/**
-	 * Mark this expression as now invalid.
-	 */
-	protected final void markInvalid() {
-		nextForExpressionStackPos = INVALID;
-		controlStack.clear();
-		closeProxy();
-	}
-	
-	/**
-	 * Mark this expression as now invalid, but supply a message to go with it.
-	 * 
-	 * @param msg
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final void markInvalid(String msg) {
-		invalidMsg = msg;
-		markInvalid();
-	}
-	
-	/*
-	 * Check if the pending expression is ready for evaluation.
-	 * It is complete if the next entry on the stack is a PROCESS_EXPRESSION
-	 */
-	private boolean expressionReady() {
-		if (nextForExpressionStackPos >= 0 && nextForExpressionStack[nextForExpressionStackPos] == PROCESS_EXPRESSION) {
-			checkForExpression(PROCESS_EXPRESSION);	// pop it
-			return true;
-		} else
-			return false;
-	}
-	
-	/*
-	 * Push the next expression type.
-	 */
-	private void pushForExpression(int nextExpression) {
-		if (++nextForExpressionStackPos >= nextForExpressionStack.length) {
-			// Increase stack size.
-			int[] newStack = new int[nextForExpressionStackPos*2];	// So room to grow without excessive allocations.
-			System.arraycopy(nextForExpressionStack, 0, newStack, 0, nextForExpressionStack.length);
-			nextForExpressionStack = newStack;
-		}
-		nextForExpressionStack[nextForExpressionStackPos] = nextExpression;
-	}
-	
-	/*
-	 * Check if expression is complete, and if it is, process it.
-	 */
-	private void processExpression() throws ThrowableProxy, NoExpressionValueException {
-		while (expressionReady()) {
-			try {
-				// We've received all of the expressions for the expression, so process it.
-				int expType = ((Integer) pop()).intValue();
-				switch (expType) {
-					case IInternalExpressionConstants.CAST_EXPRESSION:
-						pushCastToProxy(pop());
-						break;
-					case IInternalExpressionConstants.INSTANCEOF_EXPRESSION:
-						pushInstanceofToProxy(pop());
-						break;
-					case IInternalExpressionConstants.PREFIX_EXPRESSION:
-						pushPrefixToProxy(((Integer)pop()).intValue());
-						break;
-					case IInternalExpressionConstants.INFIX_EXPRESSION:
-						pushInfixToProxy(((Integer) pop()).intValue(), ((Integer) pop()).intValue());
-						break;
-					case IInternalExpressionConstants.ARRAY_ACCESS_EXPRESSION:
-						pushArrayAccessToProxy(((Integer) pop()).intValue());
-						break;
-					case IInternalExpressionConstants.ARRAY_CREATION_EXPRESSION:
-						pushArrayCreationToProxy(pop(), ((Integer) pop()).intValue());
-						break;
-					case IInternalExpressionConstants.ARRAY_INITIALIZER_EXPRESSION:
-						pushArrayInitializerToProxy(pop(), ((Integer) pop()).intValue());
-						break;
-					case IInternalExpressionConstants.CLASS_INSTANCE_CREATION_EXPRESSION:
-						pushClassInstanceCreationToProxy(pop(), ((Integer) pop()).intValue());
-						break;
-					case IInternalExpressionConstants.FIELD_ACCESS_EXPRESSION:
-						pushFieldAccessToProxy((String) pop(), ((Boolean) pop()).booleanValue());
-						break;
-					case IInternalExpressionConstants.METHOD_EXPRESSION:
-						pushMethodInvocationToProxy((String) pop(), ((Boolean) pop()).booleanValue(), ((Integer) pop()).intValue());
-						break;
-					case IInternalExpressionConstants.CONDITIONAL_EXPRESSION:
-						pushConditionalToProxy(((Integer) pop()).intValue());
-						break;
-					default:
-						internalProcessUnknownExpressionType(expType);
-				}
-			} catch (ThrowableProxy e) {
-				markInvalid();
-				throw e;
-			} catch (NoExpressionValueException e) {
-				markInvalid();
-				throw e;
-			} catch (RuntimeException e) {
-				markInvalid();
-				throw e;
-			}
-		}
-	}
-	
-	private void internalProcessUnknownExpressionType(int expressionType) throws IllegalArgumentException {
-		if (!processUnknownExpressionType(expressionType))
-			throw new IllegalArgumentException();
-	}
-
-	/**
-	 * An unknown expression type was found in the processing of expression stack. Subclasses can override
-	 * to process new types of expressions. 
-	 * <p>
-	 * Overrides must return <code>true</code> if they processed the expression type. If they return <code>false</code>
-	 * it means they didn't understand it either and we should do default processing for unknow type.
-	 * @param expressionType
-	 * @return <code>true</code> if type was processed, <code>false</code> if not known by subclass either.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected boolean processUnknownExpressionType(int expressionType) {
-		return false;
-	}
-
-	/**
-	 * Create the expression.
-	 * 
-	 * @param registry
-	 * 
-	 * @since 1.0.0
-	 */
-	protected Expression(ProxyFactoryRegistry registry) {
-		this.registry = registry;
-		this.beanProxyFactory = this.registry.getBeanProxyFactory();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#invokeExpression()
-	 */
-	public final void invokeExpression() throws ThrowableProxy, IllegalStateException, NoExpressionValueException {
-		try {
-			checkForExpression(IExpressionConstants.ROOTEXPRESSION); // We are at the root.
-			pushInvoke();
-		} finally {
-			markInvalid(); // Mark invalid so any new calls after this will fail.
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#getExpressionValue()
-	 */
-	public final IBeanProxy getExpressionValue() throws ThrowableProxy, NoExpressionValueException, IllegalStateException {
-		try {
-			checkForExpression(IExpressionConstants.ROOTEXPRESSION); // We are at the root.
-			return pullProxyValue(); // Get the top value.
-		} finally {
-			markInvalid();	// Mark invalid so any new calls after this will fail.
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createArrayAccess(int, int)
-	 */
-	public final void createArrayAccess(int forExpression, int indexCount) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushForExpression(PROCESS_EXPRESSION);
-			int i = indexCount;
-			while (i-- > 0)
-				pushForExpression(IExpressionConstants.ARRAYACCESS_INDEX);
-			pushForExpression(IExpressionConstants.ARRAYACCESS_ARRAY);
-
-			push(indexCount == 1 ? ARRAYACCESS_INDEX_1 : new Integer(indexCount));
-			push(ARRAYACCESS);
-			processExpression(); // See if previous expression is ready for processing.
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createArrayCreation(int, java.lang.String, int)
-	 */
-	public final void createArrayCreation(int forExpression, String type, int dimensionExpressionCount)
-		throws ThrowableProxy, IllegalStateException, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushArrayCreation(type, dimensionExpressionCount);	// Push this onto the local stack to wait for completion.
-			processExpression();	// See if previous expression is ready for processing.
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}		
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createArrayCreation(int, org.eclipse.jem.internal.proxy.core.IBeanTypeProxy, int)
-	 */
-	public final void createArrayCreation(int forExpression, IBeanTypeProxy type, int dimensionExpressionCount)
-		throws ThrowableProxy, IllegalStateException, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushArrayCreation(type, dimensionExpressionCount);	// Push this onto the local stack to wait for completion.
-			processExpression();	// See if previous expression is ready for processing.
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}		
-	}
-
-	private void pushArrayCreation(Object type, int dimensionExpressionCount) {
-		switch (dimensionExpressionCount) {
-			case 0:
-				push(ARRAY_CREATION_DIMENSION_0);
-				break;
-			case 1:
-				push(ARRAY_CREATION_DIMENSION_1);
-				break;
-			default:
-				push(new Integer(dimensionExpressionCount));
-				break;
-		}
-		push(type);
-		push(ARRAYCREATION);
-		
-		pushForExpression(PROCESS_EXPRESSION);
-		if (dimensionExpressionCount == 0)
-			pushForExpression(ARRAY_INITIALIZER);
-		else {
-			while(dimensionExpressionCount-- >0)
-				pushForExpression(IExpressionConstants.ARRAYCREATION_DIMENSION);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createArrayInitializer(int)
-	 */
-	public final void createArrayInitializer(int expressionCount) throws ThrowableProxy, IllegalStateException, NoExpressionValueException {
-		try {
-			// This is special, we could be waiting for an array initializer or an array initializer expression.
-			// We will peek to see what it is and handle it.
-			if (peekForExpression(ARRAY_INITIALIZER))
-				checkForExpression(ARRAY_INITIALIZER);
-			else
-				checkForExpression(IExpressionConstants.ARRAYINITIALIZER_EXPRESSION);
-			
-			Object arrayType = peek(2);	// Get the type from the value stack. Do before I mess up the stack.
-			
-			switch (expressionCount) {
-				case 0:
-					push(ARRAYINITIALIZER_COUNT_0);
-					break;
-				case 1:
-					push(ARRAYINITIALIZER_COUNT_1);
-					break;
-				case 2:
-					push(ARRAYINITIALIZER_COUNT_2);
-					break;
-				default:
-					push(new Integer(expressionCount));
-					break;
-			}
-			
-			if (arrayType instanceof String) {
-				// Need to remove the end set of "[]" to reduce by one dimension.
-				String at = (String) arrayType;
-				int i = at.lastIndexOf("[]");
-				if (i == -1)
-					throw new IllegalArgumentException(MessageFormat.format("ArrayType \"{0}\" is not an array.", new Object[] {arrayType}));
-				arrayType = at.substring(0, i);
-			} else if (arrayType instanceof IArrayBeanTypeProxy) {
-				arrayType = ((IArrayBeanTypeProxy) arrayType).getComponentType();
-			} else
-				throw new IllegalArgumentException(MessageFormat.format("ArrayType \"{0}\" is not an array.", new Object[] {arrayType}));
-			push(arrayType);
-			push(ARRAYINITIALIZER);
-			
-			pushForExpression(PROCESS_EXPRESSION);
-			while(expressionCount-->0)
-				pushForExpression(IExpressionConstants.ARRAYINITIALIZER_EXPRESSION);
-			
-			processExpression();
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}		
-		
-	}
- 
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createCastExpression(int, java.lang.String)
-	 * A cast expression has one nested expression.
-	 */
-	public final void createCastExpression(int forExpression, String type) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		pushCast(forExpression, type); // Push this onto the local stack to wait for completion.
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createCastExpression(int, org.eclipse.jem.internal.proxy.core.IBeanTypeProxy)
-	 */
-	public final void createCastExpression(int forExpression, IBeanTypeProxy type) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		pushCast(forExpression, type); // Push this onto the local stack to wait for completion.
-	}
-	
-	/*
-	 * Push for a cast.
-	 */
-	private void pushCast(int forExpression, Object type) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			push(type);
-			push(CAST);
-			pushForExpression(PROCESS_EXPRESSION);	
-			pushForExpression(IExpressionConstants.CAST_EXPRESSION);	// The next expression must be for the cast expression.
-			processExpression();
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}		
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createClassInstanceCreation(int, java.lang.String, int)
-	 */
-	public final void createClassInstanceCreation(int forExpression, String type, int argumentCount)
-		throws ThrowableProxy, IllegalStateException, NoExpressionValueException {
-		pushClassInstanceCreation(forExpression, type, argumentCount);	// Push this onto the local stack to wait for completion.
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createClassInstanceCreation(int, org.eclipse.jem.internal.proxy.core.IBeanTypeProxy, int)
-	 */
-	public final void createClassInstanceCreation(int forExpression, IBeanTypeProxy type, int argumentCount)
-		throws ThrowableProxy, IllegalStateException, NoExpressionValueException {
-		pushClassInstanceCreation(forExpression, type, argumentCount);	// Push this onto the local stack to wait for completion.
-	}
-
-	/*
-	 * Push for a class instance creation
-	 */
-	private void pushClassInstanceCreation(int forExpression, Object type, int argumentCount) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			switch (argumentCount) {
-				case 0:
-					push(CLASS_INSTANCE_CREATION_ARGUMENTS_0);
-					break;
-				case 1:
-					push(CLASS_INSTANCE_CREATION_ARGUMENTS_1);
-					break;
-				default:
-					push(new Integer(argumentCount));
-					break;
-			}
-			push(type);
-			push(CLASSINSTANCECREATION);
-			
-			pushForExpression(PROCESS_EXPRESSION);
-			while(argumentCount-- >0)
-					pushForExpression(IExpressionConstants.CLASSINSTANCECREATION_ARGUMENT);
-			processExpression();	// See if previous expression is ready for processing.			
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}			
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createConditionalExpression(int)
-	 */
-	public final void createConditionalExpression(int forExpression) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushForExpression(PROCESS_EXPRESSION);
-			pushForExpression(IExpressionConstants.CONDITIONAL_FALSE);
-			pushForExpression(PROCESS_EXPRESSION);
-			pushForExpression(IExpressionConstants.CONDITIONAL_TRUE);
-			pushForExpression(PROCESS_EXPRESSION);
-			pushForExpression(IExpressionConstants.CONDITIONAL_CONDITION);
-			
-			push(CONDITIONAL_FALSEXP);
-			push(CONDITIONAL);
-			push(CONDITIONAL_TRUEEXP);
-			push(CONDITIONAL);
-			push(CONDITIONAL_TEST);
-			push(CONDITIONAL);
-			processExpression();
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createFieldAccess(int, java.lang.String, boolean)
-	 */
-	public final void createFieldAccess(int forExpression, String fieldName, boolean hasReceiver) throws ThrowableProxy, IllegalStateException, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			if (!hasReceiver)
-				throw new IllegalArgumentException("Currently cannot handle no receiver on field access.");
-			
-			push(hasReceiver ? Boolean.TRUE : Boolean.FALSE);	// We have a receiver
-			push(fieldName);
-			push(FIELDACCESS);
-			
-			pushForExpression(PROCESS_EXPRESSION);
-			if (hasReceiver)
-				pushForExpression(IExpressionConstants.FIELD_RECEIVER);
-			processExpression();	// See if previous expression is ready for processing.
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createInfixExpression(int, int, int)
-	 */
-	public final void createInfixExpression(int forExpression, int operator, int extendedOperandCount) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			Integer inoperator = INFIX_OPERATORS[operator];
-			push(IN_LAST);
-			push(inoperator);
-			push(INFIX);
-			int i = extendedOperandCount;
-			while(i-->0) {
-				push(IN_OTHER);
-				push(inoperator);
-				push(INFIX);
-			}
-			push(IN_LEFT);
-			push(inoperator);
-			push(INFIX);
-		
-			i = extendedOperandCount;
-			while(i-->0) {
-				pushForExpression(PROCESS_EXPRESSION);			
-				pushForExpression(IExpressionConstants.INFIX_EXTENDED);
-			}
-			pushForExpression(PROCESS_EXPRESSION);
-			pushForExpression(IExpressionConstants.INFIX_RIGHT);
-			pushForExpression(PROCESS_EXPRESSION);
-			pushForExpression(IExpressionConstants.INFIX_LEFT);
-			processExpression();	// See if previous expression is ready for processing.
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createInstanceofExpression(int, java.lang.String)
-	 */
-	public final void createInstanceofExpression(int forExpression, String type) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		pushInstanceof(forExpression, type);	// Push this onto the local stack to wait for completion.
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createInstanceofExpression(int, org.eclipse.jem.internal.proxy.core.IBeanTypeProxy)
-	 */
-	public final void createInstanceofExpression(int forExpression, IBeanTypeProxy type) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		pushInstanceof(forExpression, type);	// Push this onto the local stack to wait for completion.
-	}
-	
-	/*
-	 * Push for a cast.
-	 */
-	private void pushInstanceof(int forExpression, Object type) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			push(type);
-			push(INSTANCEOF);
-			pushForExpression(PROCESS_EXPRESSION);	
-			pushForExpression(IExpressionConstants.INSTANCEOF_VALUE);	// The next expression must be for the instance of expression.
-			processExpression();
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}			
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createMethodInvocation(int, java.lang.String, boolean, int)
-	 */
-	public final void createMethodInvocation(int forExpression, String name, boolean hasReceiver, int argumentCount)
-		throws ThrowableProxy, IllegalStateException, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			if (!hasReceiver)
-				throw new IllegalArgumentException("Currently methods need receiver");
-
-			switch (argumentCount) {
-				case 0 :
-					push(METHOD_ARGUMENTS_0);
-					break;
-				case 1 :
-					push(METHOD_ARGUMENTS_1);
-					break;
-				default :
-					push(new Integer(argumentCount));
-					break;
-			}
-			push(hasReceiver ? Boolean.TRUE : Boolean.FALSE);
-			push(name);
-			push(METHODINVOCATION);
-
-			pushForExpression(PROCESS_EXPRESSION);
-			while (argumentCount-- > 0)
-				pushForExpression(IExpressionConstants.METHOD_ARGUMENT);
-			if (hasReceiver)
-				pushForExpression(IExpressionConstants.METHOD_RECEIVER);
-			processExpression(); // See if previous expression is ready for processing.
-		} catch (ThrowableProxy e) {
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrefixExpression(int, int)
-	 */
-	public final void createPrefixExpression(int forExpression, int operator) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			push(PREFIX_OPERATORS[operator]);
-			push(PREFIX);
-			
-			pushForExpression(PROCESS_EXPRESSION);
-			pushForExpression(IExpressionConstants.PREFIX_OPERAND);
-			processExpression();	// See if previous expression is ready for processing.
-		} catch (ThrowableProxy e) {
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createNull(int)
-	 */
-	public final void createNull(int forExpression) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushToProxy(null);
-			processExpression();	// See if previous expression is ready for processing.
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createTypeLiteral(int, java.lang.String)
-	 */
-	public final void createTypeLiteral(int forExpression, String type) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushTypeLiteralToProxy(type);
-			processExpression();	// See if previous expression is ready for processing.
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createTypeReceiver(java.lang.String)
-	 */
-	public final void createTypeReceiver(String type) throws ThrowableProxy, IllegalStateException, NoExpressionValueException {
-		pushTypeReceiver(type);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createTypeReceiver(org.eclipse.jem.internal.proxy.core.IBeanTypeProxy)
-	 */
-	public final void createTypeReceiver(IBeanTypeProxy type) throws ThrowableProxy, IllegalStateException, NoExpressionValueException {
-		pushTypeReceiver(type);
-	}
-
-	/*
-	 * Push for a type receiver.
-	 * @param type
-	 * 
-	 * @since 1.0.0
-	 */
-	private void pushTypeReceiver(Object type) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			// This is special because type receivers are only valid as the receiver for a field access or a method access.
-			// Since each has a different forExpression we need to test for one or the other. It doesn't make any difference
-			// which one it is, but it must be one or the other.
-			if (peekForExpression(FIELD_RECEIVER))
-				checkForExpression(FIELD_RECEIVER);
-			else
-				checkForExpression(METHOD_RECEIVER);
-			
-			pushTypeReceiverToProxy(type);
-			processExpression();	// See if previous expression is ready for processing.
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}			
-	}
-	
-	/*
-	 * For all of the primitive types we will be creating a IBeanProxy for them. That is because that
-	 * would be the expected result of the expression, and no need to get the other side involved.
-	 */
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, boolean)
-	 */
-	public final void createPrimitiveLiteral(int forExpression, boolean value) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushToProxy(beanProxyFactory.createBeanProxyWith(value));
-			processExpression();
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, char)
-	 */
-	public final void createPrimitiveLiteral(int forExpression, char value) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushToProxy(beanProxyFactory.createBeanProxyWith(value));
-			processExpression();
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, byte)
-	 */
-	public final void createPrimitiveLiteral(int forExpression, byte value) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushToProxy(beanProxyFactory.createBeanProxyWith(value));
-			processExpression();
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, double)
-	 */
-	public final void createPrimitiveLiteral(int forExpression, double value) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushToProxy(beanProxyFactory.createBeanProxyWith(value));
-			processExpression();
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, float)
-	 */
-	public final void createPrimitiveLiteral(int forExpression, float value) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushToProxy(beanProxyFactory.createBeanProxyWith(value));
-			processExpression();
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, int)
-	 */
-	public final void createPrimitiveLiteral(int forExpression, int value) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushToProxy(beanProxyFactory.createBeanProxyWith(value));
-			processExpression();
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, long)
-	 */
-	public final void createPrimitiveLiteral(int forExpression, long value) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushToProxy(beanProxyFactory.createBeanProxyWith(value));
-			processExpression();
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createPrimitiveLiteral(int, short)
-	 */
-	public final void createPrimitiveLiteral(int forExpression, short value) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushToProxy(beanProxyFactory.createBeanProxyWith(value));
-			processExpression();
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createStringLiteral(int, java.lang.String)
-	 */
-	public final void createStringLiteral(int forExpression, String value) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushToProxy(beanProxyFactory.createBeanProxyWith(value));
-			processExpression();
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IExpression#createProxyExpression(int, org.eclipse.jem.internal.proxy.core.IBeanProxy)
-	 */
-	public final void createProxyExpression(int forExpression, IBeanProxy proxy) throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		try {
-			checkForExpression(forExpression);
-			pushToProxy(proxy);
-			processExpression();
-		} catch (ThrowableProxy e) {
-			markInvalid();
-			throw e;
-		} catch (NoExpressionValueException e) {
-			markInvalid();
-			throw e;
-		} catch (RuntimeException e) {
-			markInvalid();
-			throw e;
-		}
-	}
-	
-
-	/**
-	 * Push this proxy to the other side. It will simply take the proxy and push it onto
-	 * its evaluation stack. It will be treated as the result of an expression. It's just 
-	 * that the expression was evaluatable on this side (since it is already a proxy).
-	 * 
-	 * @param proxy
-	 * @throws ThrowableProxy
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract void pushToProxy(IBeanProxy proxy) throws ThrowableProxy;
-	
-	/**
-	 * Tell the other side we are complete. This is only called for invoked expressions,
-	 * i.e. no return value.
-	 * 
-	 * @throws ThrowableProxy
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract void closeProxy();
-	
-	/**
-	 * Do invoke. This should simply make sure everything is done and throw any pending errors.
-	 * 
-	 * @throws ThrowableProxy
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract void pushInvoke() throws ThrowableProxy, NoExpressionValueException;
-	
-	/**
-	 * Pull the top expression value from the evaluation stack. It will also under
-	 * the covers call closeProxy. 
-	 * 
-	 * @return The top level evaluation stack value.
-	 * @throws ThrowableProxy
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract IBeanProxy pullProxyValue() throws ThrowableProxy, NoExpressionValueException;
-	
-	/**
-	 * Push to proxy the cast expression. The expression to use will be on the top of its evaluation stack.
-	 * The result of the cast expression will be placed onto the evaluation stack.
-	 *  
-	 * @param type Cast type. It may be either <code>String</code> (the value is the type to be searched for) or <code>IBeanTypeProxy</code> (it is of that type that the proxy is wrappering).
-	 * @throws ThrowableProxy
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract void pushCastToProxy(Object type) throws ThrowableProxy, NoExpressionValueException;
-
-	/**
-	 * Push to proxy the instanceof expression. The expression to use will be on the top of its evaluation stack.
-	 * The result of the instanceof expression will be placed onto the evaluation stack.
-	 *  
-	 * @param type Instanceof type. It may be either <code>String</code> (the value is the type to be searched for) or <code>IBeanTypeProxy</code> (it is of that type that the proxy is wrappering).
-	 * @throws ThrowableProxy
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract void pushInstanceofToProxy(Object type) throws ThrowableProxy, NoExpressionValueException;
-	
-	/**
-	 * Push to proxy the infix operation. This is called on the completion of each operand of the expression.
-	 * So it will be called a minimum of two times.
-	 * 
-	 * @param operator The operator, the values are from IExpressionConstants infix operators.
-	 * @param operandType The operand type. left, other, or last. The values are from the IInternalExpressionConstants infix operations.
-	 * @throws ThrowableProxy
-	 * @throws NoExpressionValueException
-	 * 
-	 * @see IExpressionConstants#IN_AND
-	 * @see IInternalExpressionConstants#INFIX_LAST_OPERAND
-	 * @since 1.0.0
-	 */
-	protected abstract void pushInfixToProxy(int operator, int operandType) throws ThrowableProxy, NoExpressionValueException;
-	
-	/**
-	 * Push to proxy the prefix expression. The expression to use will be on top of its evaluation stack.
-	 * The result of the prefix operation will be placed onto the evaluation stack.
-	 * 
-	 * @param operator The operator, the values are from IExpressionConstants prefix operators.
-	 * @throws ThrowableProxy
-	 * @throws NoExpressionValueException
-	 * 
-	 * @see IExpressionConstants#PRE_MINUS
-	 * @since 1.0.0
-	 */
-	protected abstract void pushPrefixToProxy(int operator) throws ThrowableProxy, NoExpressionValueException;	
-	
-	/**
-	 * Push to proxy the type literal string. The result of the type literal string will be placed onto the evaluation
-	 * stack.
-	 *  
-	 * @param type 
-	 * @throws ThrowableProxy
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract void pushTypeLiteralToProxy(String type) throws ThrowableProxy;
-	
-	/**
-	 * Push to proxy the array access. The result will be placed onto the evaluation stack.
-	 * 
-	 * @param indexCount
-	 * @throws ThrowableProxy
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract void pushArrayAccessToProxy(int indexCount) throws ThrowableProxy, NoExpressionValueException;
-	
-	/**
-	 * Push to proxy the array creation. The result will be placed onto the evaluation stack.
-	 * @param type The array type. (must be an array type) It may be either <code>String</code> (the value is the type to be searched for) or <code>IBeanTypeProxy</code> (it is of that type that the proxy is wrappering).
-	 * @param dimensionCount
-	 * @throws ThrowableProxy
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract void pushArrayCreationToProxy(Object type, int dimensionCount) throws ThrowableProxy, NoExpressionValueException;
-	
-	/**
-	 * Push to proxy the array initializer. The resulting array will be placed onto the evaluation stack.
-	 * @param type The array type minus one dimension. (must be an array type) It may be either <code>String</code> (the value is the type to be searched for) or <code>IBeanTypeProxy</code> (it is of that type that the proxy is wrappering).
-	 * @param expressionCount
-	 * @throws ThrowableProxy
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract void pushArrayInitializerToProxy(Object type, int expressionCount) throws ThrowableProxy, NoExpressionValueException;
-	
-	/**
-	 * Push to proxy the class instance creation. The resulting class instance will be placed onto the evaluation stack.
-	 * 
-	 * @param type Class type. It may be either <code>String</code> (the value is the type to be searched for) or <code>IBeanTypeProxy</code> (it is of that type that the proxy is wrappering).
-	 * @param argumentCount The number of arguments.
-	 * @throws ThrowableProxy
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract void pushClassInstanceCreationToProxy(Object type, int argumentCount) throws ThrowableProxy, NoExpressionValueException;
-	
-	/**
-	 * Push to proxy the type receiver. The resulting class will be placed onto the evaluation stack, along with it also
-	 * being the expression type.
-	 * @param type Class type. It may be either <code>String</code> (the value is the type to be searched for) or <code>IBeanTypeProxy</code> (it is of that type that the proxy is wrappering).
-	 * @throws ThrowableProxy
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract void pushTypeReceiverToProxy(Object type) throws ThrowableProxy;
-
-	/**
-	 * Push to proxy the field access. The result value will be placed onto the evaluation stack.
-	 * @param fieldName The name of the field.
-	 * @param hasReceiver Has receiver flag.
-	 * @throws ThrowableProxy
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract void pushFieldAccessToProxy(String fieldName, boolean hasReceiver) throws ThrowableProxy, NoExpressionValueException;
-	
-	/**
-	 * Push to proxy the method invocation. The result value will be placed onto the evaluation stack.
-	 * 
-	 * @param methodName
-	 * @param hasReceiver
-	 * @param argCount
-	 * @throws ThrowableProxy
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract void pushMethodInvocationToProxy(String methodName, boolean hasReceiver, int argCount) throws ThrowableProxy, NoExpressionValueException;
-	
-	/**
-	 * Push to proxy the conditional expression. This will be called on each part of expression. The expression type
-	 * will be the current part (e.g. test, true, false).
-	 * 
-	 * @param expressionType The expression type, one of IExpressionConstants.CONDITIONAL_* constants.
-	 * @throws ThrowableProxy
-	 * @throws NoExpressionValueException
-	 * 
-	 * @see IExpressionConstants#CONDITIONAL_CONDITION
-	 * @since 1.0.0
-	 */
-	protected abstract void pushConditionalToProxy(int expressionType) throws ThrowableProxy, NoExpressionValueException;
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IAccessibleObjectProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IAccessibleObjectProxy.java
deleted file mode 100644
index 04ee2e0..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IAccessibleObjectProxy.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IAccessibleObjectProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/12 21:44:26 $ 
- */
-
-/**
- * Proxy for an AccessibleObject.
- * 
- * @since 1.0.0 
- */ 
-public interface IAccessibleObjectProxy extends IBeanProxy {
-	
-	/**
-	 * Is the proxy accessible or not?
-	 * 
-	 * @return <code>true</code> if accessible.
-	 */
-	public boolean isAccessible() throws ThrowableProxy;
-	
-	/**
-	 * Set the accessible flag on the proxy.
-	 * 
-	 * @param flag <code>true</code> if accessible.
-	 * @throws ThrowableProxy
-	 */
-	public void setAccessible(boolean flag) throws ThrowableProxy;
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IArrayBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IArrayBeanProxy.java
deleted file mode 100644
index 7822bfc..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IArrayBeanProxy.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IArrayBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * Proxy wrappering an array.
- */
-public interface IArrayBeanProxy extends IBeanProxy {
-	/**
-	 * Get the object at the specified index.
-	 */
-	IBeanProxy get(int index) throws ThrowableProxy;
-
-	IBeanProxy getCatchThrowableException(int index);
-	
-	/**
-	 * Get the object at the specified multi-dimensional index.
-	 * The array must be at least the number of dimensions specified,
-	 * and each index along the way must exist.
-	 * The number of dimensions can't be greater than the number
-	 * of dimensions of the real object.
-	 */
-	IBeanProxy get(int [] indexes) throws ThrowableProxy; 
-	
-	
-	/**
-	 * Set the object at the specified index.
-	 */
-	void set(IBeanProxy value, int index) throws ThrowableProxy;
-	
-	/**
-	 * Set the object at the specified multi-dimensional index.
-	 * The array must be at least the number of dimensions specified,
-	 * and each index along the way must exist.
-	 * The number of dimensions can't be greater than the number
-	 * of dimensions of the real object.
-	 */
-	void set(IBeanProxy value, int [] indexes) throws ThrowableProxy;	 
-	
-	/**
-	 * Get the length of the first dimension of this array.
-	 * If there are multi-dimensions, you must get the appropriate
-	 * dimension from the get method to see the size of that dimension.
-	 *
-	 * e.g.
-	 *    int [3] returns 3
-	 *    int [3][2] returns 3
-	 *
-	 *    ((IArrayBeanProxy) get(1)).getLength() returns 2
-	 *    Since arrays do not have to be homogenous, there could
-	 *    be a different length array for each of the arrays 
-	 *    returned from the first dimension, the returned length
-	 *    from get(2) and get(3) could result in a different value
-	 *    from get(1).
-	 */
-	int getLength();
-
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IArrayBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IArrayBeanTypeProxy.java
deleted file mode 100644
index 40cd6a0..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IArrayBeanTypeProxy.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IArrayBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * A Proxy for an array type.
- */
-
-public interface IArrayBeanTypeProxy extends IBeanTypeProxy {
-	/**
-	 * getComponentType: Get the component type of this array.
-	 * e.g. (new Object[3]).getClass().getComponentType() will
-	 * return "java.lang.Object".
-	 * and (new Object[3][2][1]).getClass().getComponentType() will
-	 * return "Object[][]";
-	 */
-	public IBeanTypeProxy getComponentType();
-	/**
-	 * Return the final type, i.e. the final non-array type.
-	 * i.e. int[][] will return int.
-	 */
-	public IBeanTypeProxy getFinalComponentType();	
-	/**
-	 * Return the number of dimensions for this type.
-	 * i.e. int [][] will return 2.
-	 */
-	public int getDimensions();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanProxy.java
deleted file mode 100644
index c82fe86..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanProxy.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * Bean Proxy interface. This is the
- * root interface for any bean proxy instance.
- * Creation date: (12/3/99 11:37:01 AM)
- * @author: Joe Winchester
- */
-public interface IBeanProxy {
-/**
- * equals: Equal if:
- *         1) This proxy == (identity) to the other object
- *         2) Else if other is an IBeanProxy, then if
- *            equals on the server.
- *         3) If this is a constant proxy and the other is too or is a constant
- *            value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject);
-
-/**
- * Test for identity among this bean proxy and the other bean proxy.
- * For some proxy systems, this may be redundent and you can be assured
- * that if the objects being proxied are identical you will receive the
- * same proxy for both. However, other implementations may not have this
- * condition. Therefor this method was created.
- * 
- * There is one restriction, constants may not necessarily be identical.
- * For instance, in some implementations, the Boolean proxy (i.e. an instance of class Boolean) is a constant, i.e. 
- * it cannot be changed. In those cases a new proxy may be created for each
- * access and so they will not be considered to be identical. In those cases false will be returned.
- * But in other implementations a new proxy will not be created and so sameAs will return true. 
- * 
- * Primitives will return true if just equal because in Java primitives are identical if the same value.
- * 
- * @param aBeanProxy
- * @return true if they are identical (i.e. ==) and not just equals.
- */
-public boolean sameAs(IBeanProxy aBeanProxy);
-  
-/**
- * Return the registry this proxy was created with.
- */
-public ProxyFactoryRegistry getProxyFactoryRegistry();
-/**
- * Return the proxied class of the bean
- * Creation date: (12/3/99 11:37:01 AM)
- * @author: Joe Winchester
- */
-public IBeanTypeProxy getTypeProxy();
-
-/**
- * Return a string representation of the bean itself
- * This could be done by finding the toString() method by a findMethod()
- * on the type proxy, etc... but toString() is so ubiquitous that it is
- * explicitly declared on the IBeanProxy interface
- * Creation date: (12/3/99 11:37:01 AM)
- * @author: Joe Winchester
- */
-public String toBeanString();
-/**
- * Is this bean still valid? It could be invalid because it
- * was specifically released but someone is still holding onto it.
- */
-public boolean isValid();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanProxyFactory.java
deleted file mode 100644
index 2915e70..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanProxyFactory.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IBeanProxyFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * Bean Proxy Factory for creating bean proxies.
- * Creation methods are actually package protected.
- * All creation is done through the IBeanTypeProxy.
- * Specific factories may have helper methods that
- * allow creation of specific types, such as the
- * standard factory allows creation of Boolean, int's, etc.
- * Creation date: (12/3/99 11:52:09 AM)
- * @author: Joe Winchester
- */
-public interface IBeanProxyFactory {
-	/**
-	 * The factory is being terminated. It should clean up its resources.
-	 * It should not reference any other factory because they could of
-	 * already been terminated.
-	 *
-	 * For example, if it is holding onto IREMBeanProxy's, it doesn't
-	 * need to call release on them except if they are constants because
-	 * the BeanProxyFactory has all non-constant bean proxies registered
-	 * and will call the release itself.
-	 */
-	public void terminateFactory(); 
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeProxy.java
deleted file mode 100644
index 01a7ba3..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeProxy.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * A proxy for a BeanType (i.e. Java type/class).
- * Creation date: (12/3/99 11:38:06 AM)
- * @author: Joe Winchester
- */
-public interface IBeanTypeProxy extends IBeanProxy {
-/**
- * Return the constructor proxy on the receiver with the specified arguments
- * Creation date: (12/3/99 2:25:07 PM)
- */
-public IConstructorProxy getConstructorProxy(String[] argumentClassNames);
-/**
- * Return the constructor proxy on the receiver with the specified types
- * Creation date: (12/3/99 2:25:07 PM)
- */
-public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] argumentTypes);
-/**
- * Return the fieldproxy on the receiver with the specified  name
- * Creation date: (12/3/99 2:25:07 PM)
- */
-public IFieldProxy getFieldProxy(String fieldName);
-/**
- * Return the method proxy on the receiver with the specified  name and no arguments
- * Creation date: (12/3/99 2:25:07 PM)
- */
-public IMethodProxy getMethodProxy(String methodName);
-/**
- * Return the method proxy on the receiver with the qualified class names as string arguments
- * Creation date: (12/3/99 2:25:07 PM)
- */
-public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames);
-/**
- * Return the method proxy on the receiver with the specified  name and one argument
- * Creation date: (12/3/99 2:25:07 PM)
- */
-public IMethodProxy getMethodProxy(String methodName, String argumentClassName);
-/**
- * Return the method proxy on the receiver with the beanTypes as arguments
- * Creation date: (12/3/99 2:25:07 PM)
- */
-public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes);
-
-/**
- * Return the constructor proxy on the receiver with no arguments
- * Creation date: (12/3/99 2:25:07 PM)
- */
-public IConstructorProxy getNullConstructorProxy();
-
-/**
- * Return the Proxy Factory Registry so that users of this
- * instance can get to the correct factories for this type.
- * Creation date: (3/13/00 4:53:25 PM)
- * @return org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry
- */
-ProxyFactoryRegistry getProxyFactoryRegistry();
-/**
- * Answer the type proxy for the superclass
- * Creation date: (12/3/99 2:25:07 PM)
- */
-public IBeanTypeProxy getSuperBeanTypeProxy();
-/**
- * Answer the name of the type we are proxying
- * This is the fully qualified name.
- * For arrays it will return the format: [Lclassname;
- * Creation date: (12/3/99 2:25:07 PM)
- */
-public String getTypeName();
-
-/**
- * Answer the formal format type name. For normal classes, this 
- * just the same as getTypeName(), but for arrays, it is
- * of the format classname[]
- */
-public String getFormalTypeName();
-/**
- * Answer a boolean as to whether we are an array type.
- */
-public boolean isArray();
-/**
- * Answer a boolean as to whether we are a type or an interface
- * Creation date: (12/3/99 2:25:07 PM)
- */
-public boolean isInterface();
-/**
- * Answer a boolean as to whether we are a primitive or not.
- */
-public boolean isPrimitive();
-/**
- * Answer a boolean as to whether we are a kind of the argument
- * We can either be it, inherit from it, or implement it
- */
-public boolean isKindOf(IBeanTypeProxy aBeanProxyType);
-/**
- * Return a new instance
- * Creation date: (12/3/99 2:25:07 PM)
- */
-public IBeanProxy newInstance() throws ThrowableProxy;
-/**
- * Return a new instance of this type using the initialization string to
- * create the proxy. ClassCastException is thrown if the initstring doesn't
- * result in an object compatible with this type. InstantiationException is
- * thrown when the initialization string cannot be parsed correctly.
- * Creation date: (12/3/99 2:25:07 PM)
- */
-public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException;
-
-/**
- * Return the exception message that happened when trying to find this bean type.
- * Class not found is not such an exception. In that case the bean type will be returned as a null instead.
- * An example of such is an initialization error during loading the class, i.e. it was found but some static failed to initialize.
- * 
- * Return null if there is no initialization error.
- */
-public String getInitializationError();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeProxyFactory.java
deleted file mode 100644
index 1d00b65..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IBeanTypeProxyFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * Factory for creating BeanTypeProxy's.
- * This is a common tag interface so that
- * the factory can be registered. But each
- * VM requires a different interface that
- * extends this interface. That extended
- * interface is what must be implemented in
- * each VM.
- * Creation date: (12/3/99 2:26:00 PM)
- * @author: Joe Winchester
- */
-public interface IBeanTypeProxyFactory extends IBeanProxyFactory {
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBooleanBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBooleanBeanProxy.java
deleted file mode 100644
index b1dc211..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBooleanBeanProxy.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IBooleanBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * Optimized implementation that should be used for Boolean proxies that
- * allows the IDE VM to get the boolean value easily
- * Creation date: (2/6/00 8:58:22 AM)
- * @author: Joe Winchester
- */
-public interface IBooleanBeanProxy extends IBeanProxy {
-/**
- * Return the proxied boolean as a boolean that the IDE can use
- * Creation date: (2/6/00 8:58:32 AM)
- */
-boolean booleanValue();
-Boolean getBooleanValue();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICallback.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICallback.java
deleted file mode 100644
index 0e09261..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICallback.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ICallback.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/04 21:25:37 $ 
- */
-
-import java.io.InputStream;
-
-/**
- * Users will create a callback of this interface
- * and register it with the factory. Then when ever
- * the callback occurs, this callback will be called
- * with data from the proxy. It can return a value too.
- *
- * Or an InputStream can be returned to supply the data.
- *  
- * @since 1.0.0
- */
-public interface ICallback {
-
-	/**
-	 * This is the entry point of the callback.
-	 * It will be called whenever the callback
-	 * occurred. It will be on its own thread.
-	 * A particular thread cannot be requested.
-	 *
-	 * The implementation MUST return. This is 
-	 * because the callback will not be completed
-	 * until it is returned, and the process will
-	 * not continue on the remote vm until it is
-	 * returned.
-	 * 
-	 * The value returned must either be an
-	 * IBeanProxy or IBeanProxy[]. It is typed
-	 * to Object to allow either one, but it
-	 * will be checked, and if it isn't, then
-	 * null will be returned instead to the
-	 * caller.
-	 * 
-	 * @param msgID
-	 * @param parm The beanproxy - will not be null
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public Object calledBack(int msgID, IBeanProxy parm);
-
-	/**
-	 * This is the entry point of the callback.
-	 * It will be called whenever the callback
-	 * occurred. It will be on its own thread.
-	 * A particular thread cannot be requested.
-	 *
-	 * The parms will be an array of IBeanProxys,
-	 * or an entry could be another array of IBeanProxys,
-	 * or null if null was sent to callBackWithParms.
-	 * The final component of any entry will be an
-	 * IBeanProxy. It is up to the developers to
-	 * agree on the format of the parms.
-	 *
-	 * The implementation MUST return. This is 
-	 * because the callback will not be completed
-	 * until it is returned, and the process will
-	 * not continue on the remote vm until it is
-	 * returned.
-	 * 
-	 * The value returned must either be an
-	 * IBeanProxy or IBeanProxy[]. It is typed
-	 * to Object to allow either one, but it
-	 * will be checked, and if it isn't, then
-	 * null will be returned instead to the
-	 * caller.
-	 * 
-	 * @param msgID
-	 * @param parms
-	 * @return
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.common.ICallbackHandler#callbackWithParms(int, int, Object[])
-	 * @since 1.0.0
-	 */
-	public Object calledBack(int msgID, Object[] parms);
-	
-	/**
-	 * This is the entry point of the callback.
-	 * It will be called whenever the callback
-	 * occurred. It will be on its own thread.
-	 * A particular thread cannot be requested.
-	 *
-	 * The parm will be an object. This occurs
-	 * if remote vm just wanted to send some objects.
-	 * They will not be proxies. It is recommended
-	 * that this be used only for small items. For
-	 * anything large, the callbackStream should be
-	 * used instead.
-	 *
-	 * The implementation MUST return. This is 
-	 * because the callback will not be completed
-	 * until it is returned, and the process will
-	 * not continue on the remote vm until it is
-	 * returned.
-	 * 
-	 * The value returned must either be an
-	 * IBeanProxy or IBeanProxy[]. It is typed
-	 * to Object to allow either one, but it
-	 * will be checked, and if it isn't, then
-	 * null will be returned instead to the
-	 * caller.
-	 * 
-	 * @param msgID
-	 * @param parm The parm or <code>null</code> if null was sent.
-	 * @return
-	 * 
-	 * @see ICallback#calledBackStream(int, InputStream)
-	 * @since 1.0.0
-	 */
-	public Object calledBack(int msgID, Object parm);
-
-	/**
-	 * This is the entry point of the callback.
-	 * It will be called whenever the callback stream
-	 * occurred. It will be on its own thread.
-	 * A particular thread cannot be requested.
-	 *
-	 * The callback should continue to read from the InputStream
-	 * until it returns -1 indicating no more data. The stream can
-	 * be closed. In that case the next time the remote vm wants to
-	 * send data it will first check that the stream has not been closed.
-	 * If it has, it will raise an exception on that side.
-	 *
-	 * The implementation MUST return. This is 
-	 * because the callback will not be completed
-	 * until it is returned, and the process will
-	 * not continue on the remote vm until it is
-	 * returned.
-	 * 
-	 * @param msgID
-	 * @param is
-	 * 
-	 * @since 1.0.0
-	 */
-	public void calledBackStream(int msgID, InputStream is);	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICallbackRegistry.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICallbackRegistry.java
deleted file mode 100644
index 4936637..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICallbackRegistry.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ICallbackRegistry.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-/**
- * This is the registry for handling callbacks.
- * It is used to register and deregister callbacks.
- *
- * Callbacks are split into two parts:
- * 1) CallbackProxy. This is any proxy that implements the
- *    interface ICallback. (Or the
- *    equivalent one if not standard remote vm). This is the
- *    object which will actually submit the callback on the remote
- *    vm. For example, any kind of listener. It would implement
- *    both the ICallback and the appropriate listener interface.
- *    Then when it gets called as a listener, it will redirect the
- *    call to the remote vm callback handler to submit it to the
- *    proxy side.
- * 2) Callback. This is on this side and is the object that will
- *    be notified of the callback and will execute at that time.
- *
- */
-
-public interface ICallbackRegistry {
-	
-	/**
-	 * Register this callback proxy and this callback.
-	 *
-	 * The process is to:
-	 * 1) Create the callbackProxy and the callback
-	 * 2) register these with registerCallback
-	 * 3) Now connect the callbackProxy so that it will start notifying.
-	 *    For example, if it is a normal listener, at this time do the
-	 *    addListener call to add the callbackProxy to the appropriate object.
-	 *    You don't want it to start notifying before registering it.
-	 *    (Though it won't hust it, it will just return null).
-	 */
-	public void registerCallback(IBeanProxy callbackProxy, ICallback cb);
-	
-	/**
-	 * Deregister the callback proxy. This will remove it from the
-	 * registry and release the callback.
-	 *
-	 * The process is to:
-	 * 1) Stop the proxy from listening so it no notifies. This is usually
-	 *    removeListener on the remote vm. You don't want it notifying
-	 *    after it deregister (though it won't hurt it, it will just return null).
-	 * 2) deregister it.
-	 */
-	public void deregisterCallback(IBeanProxy callbackProxy);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICharacterBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICharacterBeanProxy.java
deleted file mode 100644
index a1b85be..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ICharacterBeanProxy.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ICharacterBeanProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-
-/**
- * Optimized implementation that should be used for character proxies that
- * allows the IDE VM to get the character value easily
- * Creation date: (2/6/00 8:58:22 AM)
- * @author: Joe Winchester
- */
-public interface ICharacterBeanProxy extends IBeanProxy, INumberBeanProxy {
-/**
- * Return the proxied character as a char that the IDE can use
- * Creation date: (2/6/00 8:58:32 AM)
- */
-char charValue();
-/**
- * Return the proxied character as a Character that the IDE can use
- * Creation date: (2/6/00 8:58:32 AM)
- */
-Character characterValue();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributionController.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributionController.java
deleted file mode 100644
index 2d888d2..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributionController.java
+++ /dev/null
@@ -1,168 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IConfigurationContributionController.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/07 17:21:42 $ 
- */
-
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jdt.core.IJavaProject;
-;
-/**
- * Controls contribution to the configuration. This allows the classpath
- * to be modified in an acceptable manner, so that duplicates aren't in
- * the path, or adding a project to the path in an acceptable way.
- * 
- * If only deleting or moving entries from the classpath, that can be done directly
- * to the classpath list passed in. Adding entries needs to go through this
- * controller.
- * 
- * This is meant to be implemented by developers of proxy launch configurations.
- * 
- * @version 	1.0
- * @author
- */
-public interface IConfigurationContributionController {
-	
-	/**
-	 * Append to the user classpath.
-	 */
-	public static final int APPEND_USER_CLASSPATH = 0;
-	
-	/**
-	 * Prepend to the user classpath. This will stick it in position 0. If
-	 * another prepend comes along, it will go in pos 0 and this one will move to 1.
-	 */
-	public static final int PREPEND_USER_CLASSPATH = 1;
-	
-
-	/**
-	 * Append to the boot classpath.
-	 */
-	public static final int APPEND_BOOT_CLASSPATH = 2;
-
-	/**
-	 * Prepend to the boot classpath.
-	 */
-	public static final int PREPEND_BOOT_CLASSPATH = 3;
-	
-	/**
-	 * Append a folder to the java.library.path (for things like
-	 * dll's). This should result in a folder only.
-	 * The nlsLocalize flag contribute via plugin will be
-	 * ignored for this type flag. 
-	 */
-	public static final int APPEND_JAVA_LIBRARY_PATH = 4;
-	
-	/**
-	 * Get the java project that we are contributing for.
-	 * 
-	 * @return javaproject, may be <code>null</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public IJavaProject getJavaProject();
-	
-	/**
-	 * Return the set of containers that are found in the classpath. This is useful for determining
-	 * if the container impliments a contributor interface.
-	 * 
-	 * @return set of containers. Elements of type IClasspathContainer. <code>null</code> if launch not in a project.
-	 * 
-	 * @see org.eclipse.jdt.core.IClasspathContainer
-	 * @since 1.0.0
-	 */
-	public Set getContainers();
-	
-	/**
-	 * Return the set of container ids that are found in the classpath.
-	 * 
-	 * @return set of container ids. Elements of type String. <code>null</code> if launch not in a project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public Set getContainerIds();
-	
-	/**
-	 * Return the set of plugin ids that are found in the classpath.
-	 * 
-	 * @return set of plugin ids. Elements of type String. <code>null</code> if launch not in a project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public Set getPluginIds();	
-	
-	/**
-	 * Add a project to the classpath. The type flag tells where to add it.
-	 * 
-	 * @param project
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void contributeProject(IProject project) throws CoreException;
-	
-	/**
-	 * Add an external file/folder to the classpath. The type flag tells where to add it.
-	 * 
-	 * @param classpath
-	 * @param typeFlag One of <code>APPEND_USER_CLASSPATH</code>, <code>APPEND_BOOT_CLASSPATH</code>, <code>PREPEND_BOOT_CLASSPATH</code>, or <code>APPEND_JAVA_LIBRARY_PATH</code>.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void contributeClasspath(String classpath, int typeFlag);
-	
-	/**
-	 * Add an external files/folders to the classpath. The type flag tells where to add it.
-	 * 
-	 * @param classpaths
-	 * @param typeFlag One of <code>APPEND_USER_CLASSPATH</code>, <code>APPEND_BOOT_CLASSPATH</code>, <code>PREPEND_BOOT_CLASSPATH</code>, or <code>APPEND_JAVA_LIBRARY_PATH</code>.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void contributeClasspath(String[] classpaths, int typeFlag);	
-		
-	/**
-	 * Add a file/folder from a plugin in the running Eclipse to the classpath. The type flag tells where to add it.
-	 * In development mode it will find the bin class files instead if proxy.jars is setup correctly.
-	 * <p>
-	 * If nlsLocalize is <code>true</code>, then it will also search through the fragments in this manner:
-	 * (Note: if <code>false</code> it will still search in the fragments, but it will only return the first file found that matches.
-	 * <p>
-	 * To find the files in the fragments that are in the runtime path (i.e. libraries), it will need to use a suffix,
-	 * This is because the JDT will get confused if a runtime jar in a fragment has the same name
-	 * as a runtime jar in the main plugin. So we will use the following search pattern:
-	 * 
-	 * 1) Find in the plugin and all of the fragments those that match the name exactly
-	 * 2) Find in all of the fragments, in their runtime path (<library> stmt), those that match the name 
-	 *    but have a suffix the same as the uniqueid of the fragment (preceeded by a period). This is so that it can be easily
-	 *    found but yet be unique in the entire list of fragments. For example if looking for "runtime/xyz.jar"
-	 *    and we have fragment "a.b.c.d.frag", then in the runtime path we will look for the file
-	 *    "runtime/xyz.a.b.c.d.frag.jar".
-	 * <p>
-	 * If the files in the fragments are not in the fragments library path then it can have the same name as in the plugin.
-	 * <p>
-	 * This is useful for nls where the nls for the filename will be in one or more of the fragments of the plugin.	 	 
-	 * 
-	 * @param plugin The plugin it can be found in.
-	 * @param relativePath Path to file/folder relative to bundle root. If it is <code>APPEND_JAVA_LIBRARY_PATH</code>, it should be folder and nlsLocalize will be ignored.
-	 * @param typeFlag One of <code>APPEND_USER_CLASSPATH</code>, <code>APPEND_BOOT_CLASSPATH</code>, <code>PREPEND_BOOT_CLASSPATH</code>, or <code>APPEND_JAVA_LIBRARY_PATH</code>.
-	 * @param nlsLocalize The usual value should be <code>false</code>. Use <code>true</code> if should look through fragments to gather them all as described in this methods description.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void contributeClasspath(Plugin plugin, String relativePath, int typeFlag, boolean nlsLocalize);	
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributor.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributor.java
deleted file mode 100644
index 52cf7c7..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributor.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IConfigurationContributor.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/04 16:14:04 $ 
- */
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-
-
-/**
- * This interface is used to contribute to the configuration that will be
- * used to start a proxy registry. 
- * 
- * @since 1.0.0
- */
-public interface IConfigurationContributor {
-	/**
-	 * Contribute to the classpath. The controller is used to do the actual contribution.
-	 * 
-	 * @param controller
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void contributeClasspaths(IConfigurationContributionController controller) throws CoreException;
-
-	/**
-	 * Contribute updates to the configuration. It will be called before the launch has started.
-	 * 
-	 * @param config
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void contributeToConfiguration(ILaunchConfigurationWorkingCopy config) throws CoreException;
-	
-	/**
-	 * Contribute to the registry (or interact with the remote vm) after the registry has been
-	 * created.
-	 * 
-	 * @param registry
-	 * 
-	 * @since 1.0.0
-	 */
-	public void contributeToRegistry(ProxyFactoryRegistry registry);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConstructorProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConstructorProxy.java
deleted file mode 100644
index b72e167..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConstructorProxy.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IConstructorProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/12 21:44:26 $ 
- */
-
-
-/**
- * This is a proxy that allows a constructor to exist in the target VM
- * and be referenced in the IDE VM
- * Creation date: (1/17/00 1:21:52 PM)
- * @author: Joe Winchester
- */
-public interface IConstructorProxy extends IAccessibleObjectProxy {
-/**
- * Return a new instance with no creation arguments,
- * i.e. for a null constructor
- * Creation date: (1/17/00 1:22:11 PM)
- */
-IBeanProxy newInstance() throws ThrowableProxy;
-/**
- * Return a new instance with the specified creation arguments
- * Creation date: (1/17/00 1:22:11 PM)
- */
-IBeanProxy newInstance(IBeanProxy[] creationArguments) throws ThrowableProxy;
-
-IBeanProxy newInstanceCatchThrowableExceptions();
-IBeanProxy newInstanceCatchThrowableExceptions(IBeanProxy[] creationArguments);
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IExpression.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IExpression.java
deleted file mode 100644
index 5678cc2..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IExpression.java
+++ /dev/null
@@ -1,572 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: IExpression.java,v $
- *  $Revision: 1.1 $  $Date: 2004/02/03 23:18:36 $ 
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import org.eclipse.jem.internal.proxy.initParser.tree.IExpressionConstants;
- 
-/**
- * This is an expression. It will be evaluated on the other side. The difference between an
- * expression and using IMethodProxy's, IConstructorProxy's, etc. is the granularity. The proxies
- * are one round-trip to the other side for each access or execution. The expression builds them up
- * and will execute them all at once on the other side. Another difference is that the reflection
- * will be done on the other side too. For instance when invoking a method, the method name is
- * passed into the expression as a string then reflected and then invoked, while with method
- * proxies, the string is used to find the proxy on the other side, and then a later round-trip
- * will be used to invoke it.
- * <p>
- * Also an expression is a one-time use object. It can't be reused a second time. A new one must be
- * built up again.
- * <p>
- * We are not using separate instances of expressions, and types of expressions, because we don't
- * want to build up many objects (in a form of an expression tree) that will then be thrown away
- * (one for each expression in the nested list of expressions). We just build the command list as
- * we build the expression.
- * <p>
- * To use, you call the IStandardBeanProxyFactory's createExpression method. An IExpression is
- * returned. From there you will start creating the contents of the expression. Any then you will
- * finally either getExpressionValue() to get the final value of the expression, or use
- * invokeExpression() to just execute the expression(s). If you use getExpressionValue(), there can
- * only be one root expression. If you use invokeExpression there can be more than one root
- * expression, and they will all be executed.
- * <p>
- * Since sequence is so important, it will be tested and if anything is done out of order an
- * IllegalStateException will be thrown.
- * <p>
- * Also, it is up to the implementation, but it may start executing ahead of completion, and so you
- * may get a ThrowableProxy from any of the calls during build up.
- * <p>
- * Each time an expression is created, one argument passed in will be <code>forExpression</code> flag.
- * This is a set of constants used as a clue for what expression this expression is being created.
- * This is for a sanity check on the state. For example, when creating the array expression for an
- * array access, the ARRAYACCESS_ARRAY flag is passed in. This way if the current expression on the
- * stack is not for an array access waiting for the array expression, an IllegalStateException will be thrown.
- * Without this flag, it would be easy to accidently create the wrong expression at the wrong time.
- * Once such an error occurs, this IExpression will no longer be valid. IllegalStateException will be thrown
- * for any type of access.
- * 
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanProxyFactory#createExpression()
- * @see java.lang.IllegalStateException
- * @since 1.0.0
- */
-public interface IExpression extends IExpressionConstants {
-	
-	/**
-	 * Invoke the expression(s). If there is more than one root expression, it will invoke them
-	 * in the order created. If the expression stack is not complete, then <code>IllegalStateException</code>
-	 * will be thrown.
-	 * 
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void invokeExpression() throws ThrowableProxy, NoExpressionValueException, IllegalStateException;
-	
-	/**
-	 * Invoke the root expression and return the value of the expression. If the expression stack
-	 * is not complete, or if there is more than one root expression, then <code>IllegalStateException</code>
-	 * will be thrown.
-	 * 
-	 * @return The value of the root expression. 
-	 * 
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public IBeanProxy getExpressionValue() throws ThrowableProxy, NoExpressionValueException, IllegalStateException;
-			
-	/**
-	 * Create an Array Access (e.g. x[3]).
-	 * This must be followed by create expressions for:
-	 * 	<code>ARRAYACCESS_ARRAY</code>
-	 *  indexCount times an: <code>ARRAYACCESS_INDEX</code>
-	 * <p>
-	 * So the array access must be followed by 1+indexCount expressions.
-	 * 
-	 * @param forExpression This is for what expression this expression is being created.
-	 * @param indexCount The number of index expressions that will be created.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createArrayAccess(int forExpression, int indexCount) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create an Array Creation (e.g. <code>new int[3]</code> or <code>new int[3][]</code> or <code>new int[] {3, 4}</code>).
-	 * If <code>dimensionExpressionCount</code> is zero, then there must be an initializer. This is because
-	 * if there are any dimension expressions, then initializers are invalid and visa-versa.
-	 * <p>
-	 * The dimensionExpressionCount is for how many dimensions have an expression in them. For instance,
-	 * <code>new int[3]</code> will have a dimensionExpressionCount of 1. While
-	 * <code>new int[3][]</code> will also have count of 1. And finally
-	 * <code>new int []</code> will have a count of 0.
-	 * <p>
-	 * This must be followed by create expressions for:
-	 * 	dimensionExpressionCount times an: <code>ARRAYCREATION_DIMENSION</code>
-	 *  or an createArrayInitializer if dimension count is 0.
-	 *  
-	 * @param forExpression
-	 * @param type This is the type. It must be fully-qualified and if an inner class, it must have the "$" format. It must also include the correct number of  <code>[]</code> at the end.
-	 * @param dimensionExpressionCount
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * @throws IllegalArgumentException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createArrayCreation(int forExpression, String type, int dimensionExpressionCount) throws ThrowableProxy, IllegalStateException, IllegalArgumentException, NoExpressionValueException;
-
-	/**
-	 * Create an Array Creation (e.g. <code>new int[3]</code> or <code>new int[3][]</code> or <code>new int[] {3, 4}</code>).
-	 * If <code>dimensionExpressionCount</code> is zero, then there must be an initializer. This is because
-	 * if there are any dimension expressions, then initializers are invalid and visa-versa.
-	 * <p>
-	 * The dimensionExpressionCount is for how many dimensions have an expression in them. For instance,
-	 * <code>new int[3]</code> will have a dimensionExpressionCount of 1. While
-	 * <code>new int[3][]</code> will also have count of 1. And finally
-	 * <code>new int []</code> will have a count of 0.
-	 * <p>
-	 * This must be followed by create expressions for:
-	 * 	dimensionExpressionCount times an: <code>ARRAYCREATION_DIMENSION</code>
-	 *  or an createArrayInitializer if dimension count is 0.
-	 *  
-	 * @param forExpression
-	 * @param type This is the type.
-	 * @param dimensionExpressionCount
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createArrayCreation(int forExpression, IBeanTypeProxy type, int dimensionExpressionCount) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create an array initializer. (e.g. <code>{2,3}</code>).
-	 * This one is unusual in that there is no forExpression. That is because array initializers are only valid in
-	 * certain places. And so if called when not expected, this is an IllegalStateException.
-	 * <p>
-	 * This must be followed by createExpressions for:
-	 * 	expressionCount times an: <code>ARRAYINITIALIZER_EXPRESSION</code>
-	 * 		except if the expression is another array initializer. That is valid and doesn't have a forExpression,
-	 * 		but it does count as one of the expressionCounts.
-	 * 
-	 * @param expressionCount Number of expressions, may be 0.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createArrayInitializer(int expressionCount) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-		
-	/**
-	 * Create a cast expression (e.g. <code>(short)10</code> or <code>(java.lang.String) "asd"</code>)
-	 * <p>
-	 * This must be followed by createExpressions for:
-	 * 	<code>CAST_EXPRESSION</code> 
-	 *  
-	 * @param forExpression
-	 * @param type This is the type. It must be fully-qualified and if an inner class, it must have the "$" format.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createCastExpression(int forExpression, String type) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-
-	/**
-	 * Create a cast expression (e.g. <code>(short)10</code> or <code>(java.lang.String) "asd"</code>)
-	 * <p>
-	 * This must be followed by createExpressions for:
-	 * 	<code>CAST_EXPRESSION</code> 
-	 *  
-	 * @param forExpression
-	 * @param type This is the type.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createCastExpression(int forExpression, IBeanTypeProxy type) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-		
-	/**
-	 * Create a new class instance expression (e.g. <code>new java.lang.Integer(5)</code>)
-	 * <p>
-	 * This must be followed by createExpressions for:
-	 * 	argumentCount times an: <code>CLASSINSTANCECREATION_ARGUMENT</code>
-	 * 
-	 * @param forExpression
-	 * @param type This is the type. It must be fully-qualified and if an inner class, it must have the "$" format.
-	 * @param argumentCount
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createClassInstanceCreation(int forExpression, String type, int argumentCount) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-
-	/**
-	 * Create a new class instance expression (e.g. <code>new java.lang.Integer(5)</code>)
-	 * <p>
-	 * This must be followed by createExpressions for:
-	 * 	argumentCount times an: <code>CLASSINSTANCECREATION_ARGUMENT</code>
-	 * 
-	 * @param forExpression
-	 * @param type This is the type.
-	 * @param argumentCount
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createClassInstanceCreation(int forExpression, IBeanTypeProxy type, int argumentCount) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create a conditional expression (e.g. <code>x != 3 ? 4 : 5</code>)
-	 * <p>
-	 * This must be followed by createExpressions for:
-	 * 	<code>CONDITIONAL_CONDITION</code>
-	 * 	<code>CONDITIONAL_TRUE</code>
-	 * 	<code>CONDITIONAL_FALSE</code>	
-	 * 
-	 * @param forExpression
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createConditionalExpression(int forExpression) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create a field access (e.g. <code>java.awt.Color.red</code>)
-	 * <p>
-	 * Note: At this time we require a receiver. In the future it may be possible to not have one, but
-	 * for that we need a <code>this</code> object to know who the receiver implicitly is.
-	 * The receiver may be a "type receiver" if it is a type, e.g. <code>java.awt.Color</code>.
-	 * <p>
-	 * This must be followed by createExpressions for:
-	 * 	<code>FIELD_RECEIVER</code> if hasReceiver is <code>true</code>
-	 * 
-	 * @param forExpression
-	 * @param fieldName The name of the field.
-	 * @param hasReceiver Has a receiver flag. Currently this must always be true.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @see IExpression#createTypeReceiver(String)
-	 * @since 1.0.0
-	 */
-	public void createFieldAccess(int forExpression, String fieldName, boolean hasReceiver) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create an infix expression (e.g. <code>3 + 4</code> or <code>3 + 4 + 5</code>).
-	 * <p>
-	 * If there are more than 2 operands (all with the same operator) then for convienence all of
-	 * the expression can be done in one expression than requiring several, one for each operator.
-	 * If they are different operators, then different expressions will be required.
-	 * <p>
-	 * This must be followed by createExpressions for:
-	 * 	<code>INFIX_LEFT</code>
-	 * 	<code>INFIX_RIGHT</code>
-	 * 	extendedOperandCount times an: <code>INFIX_EXTENDED</code>
-	 * 
-	 * @param forExpression
-	 * @param operator The operator. The values come from IExpressionConstants, the infix constants.
-	 * @param extendedOperandCount The number of extended operands. May be zero.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.common.IExpressionConstants#IN_AND
-	 * @since 1.0.0
-	 */
-	public void createInfixExpression(int forExpression, int operator, int extendedOperandCount) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create an instanceof expression (e.g. <code>x instanceof java.lang.String</code>
-	 * <p>
-	 * This must be followed by createExpression for:
-	 * 	<code>INSTANCEOF_VALUE</code>
-	 * @param forExpression
-	 * @param type This is the type. It must be fully-qualified and if an inner class, it must have the "$" format.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createInstanceofExpression(int forExpression, String type) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create an instanceof expression (e.g. <code>x instanceof java.lang.String</code>
-	 * <p>
-	 * This must be followed by createExpression for:
-	 * 	<code>INSTANCEOF_VALUE</code>
-	 * @param forExpression
-	 * @param type This is the type.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createInstanceofExpression(int forExpression, IBeanTypeProxy type) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create a method invocation expression (e.g. <code>java.lang.String.valueOf(10)</code>)
-	 * <p>
-	 * Note: At this time we require a receiver. In the future it may be possible to not have one, but
-	 * for that we need a <code>this</code> object to know who the receiver implicitly is.
-	 * The receiver may be a "type receiver" if it is a type, e.g. <code>java.awt.Color</code>.
-	 * <p>
-	 * This must be followed by createExpression for:
-	 * 	<code>METHOD_RECEIVER</code>
-	 * 	argumentCounts times expressions for: <code>METHOD_ARGUMENT</code>
-	 * 
-	 * @param forExpression
-	 * @param name The name of the method
-	 * @param hasReceiver Has a receiver flag. Currently this must always be true.
-	 * @param argumentCount Count of number of arguments. May be zero.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @see IExpression#createTypeReceiver(String)
-	 * @since 1.0.0
-	 */
-	public void createMethodInvocation(int forExpression, String name, boolean hasReceiver, int argumentCount) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create a prefix expression (e.g. <code>!flag</code> or <code>-(3+4)</code>).
-	 * If you are just trying to create a signed numeric literal, just use the createPrimitiveLiteral passing in a
-	 * negative value. You don't need to use prefix expression for that.
-	 * <p>
-	 * This must be followed by createExpressions for:
-	 * 	<code>PREFIX_OPERAND</code>
-	 * @param forExpression
-	 * @param operator The operator. The values come from IExpressionConstants, the prefix constants.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.common.IExpressionConstants#PRE_PLUS
-	 * @since 1.0.0
-	 */
-	public void createPrefixExpression(int forExpression, int operator) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create a reference to <code>null</code>.
-	 * 
-	 * @param forExpression
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createNull(int forExpression) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create a type literal (e.g. <code>java.lang.String.class</code>).\
-	 * <p>
-	 * Note: If you want a type literal to a IBeanTypeProxy, just use createProxyExpression and pass in the
-	 * IBeanTypeProxy.
-	 * 
-	 * @param forExpression
-	 * @param type This is the type. It must be fully-qualified and if an inner class, it must have the "$" format.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createTypeLiteral(int forExpression, String type) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create a type receiver. This is where a type is used as the receiver of a field access or a method invocation.
-	 * (e.g. <code>java.lang.String.valueOf(10)</code>). 
-	 * <p>
-	 * This is unusual in that there is no forExpression. It isn't needed because these are only valid
-	 * in certain situations (method or field receiver) and if used anywhere else it is an error.
-	 * 
-	 * @param type This is the type. It must be fully-qualified and if an inner class, it must have the "$" format.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createTypeReceiver(String type) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-
-	/**
-	 * Create a type receiver. This is where a type is used as the receiver of a field access or a method invocation.
-	 * (e.g. <code>java.lang.String.valueOf(10)</code>). 
-	 * <p>
-	 * This is unusual in that there is no forExpression. It isn't needed because these are only valid
-	 * in certain situations (method or field receiver) and if used anywhere else it is an error.
-	 * 
-	 * @param type This is the type proxy.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createTypeReceiver(IBeanTypeProxy type) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create a boolean primitive literal (e.g. <code>true</code>).
-	 * 
-	 * @param forExpression
-	 * @param value The boolean value for the literal.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createPrimitiveLiteral(int forExpression, boolean value) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create a character literal (e.g. <code>'a'</code> or <code>'\n'</code>)
-	 * 
-	 * @param forExpression
-	 * @param value The character value for this literal.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createPrimitiveLiteral(int forExpression, char value) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-
-	/**
-	 * Create a byte literal (e.g. <code>(byte)10</code>)
-	 * 
-	 * @param forExpression
-	 * @param value The byte value for this literal.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createPrimitiveLiteral(int forExpression, byte value) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-
-	/**
-	 * Create a double literal (e.g. <code>10d</code>)
-	 * 
-	 * @param forExpression
-	 * @param value The double value for this literal.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createPrimitiveLiteral(int forExpression, double value) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-
-	/**
-	 * Create a float literal (e.g. <code>10f</code>)
-	 * 
-	 * @param forExpression
-	 * @param value The float value for this literal.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createPrimitiveLiteral(int forExpression, float value) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create a int literal (e.g. <code>100000</code>)
-	 * 
-	 * @param forExpression
-	 * @param value The int value for this literal.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createPrimitiveLiteral(int forExpression, int value) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create a long literal (e.g. <code>10l</code>)
-	 * 
-	 * @param forExpression
-	 * @param value The long value for this literal.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createPrimitiveLiteral(int forExpression, long value) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create a short literal (e.g. <code>(short)10</code>)
-	 * 
-	 * @param forExpression
-	 * @param value The short value for this literal.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createPrimitiveLiteral(int forExpression, short value) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create a string literal (e.g. <code>"asdf"</code>). The value is the actual string, with escapes already
-	 * translated into the true character values.
-	 *  
-	 * @param forExpression
-	 * @param value The string value for this literal.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createStringLiteral(int forExpression, String value) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-	
-	/**
-	 * Create an expression that has an existing bean proxy as its value.
-	 * 
-	 * @param forExpression This is for what expression this expression is being created.
-	 * @param proxy The proxy that should be used as a value.
-	 * @throws ThrowableProxy
-	 * @throws IllegalStateException
-	 * @throws NoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void createProxyExpression(int forExpression, IBeanProxy proxy) throws ThrowableProxy, IllegalStateException, NoExpressionValueException;
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IFieldProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IFieldProxy.java
deleted file mode 100644
index de970bf..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IFieldProxy.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IFieldProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/12 21:44:26 $ 
- */
-
-
-/**
- * A Proxy to a field that allows the field value to be retrieved and set
- * This allows target VM proxying of the field and is analagous to the java.lang.Reflect.Field
- * in the same way IMethodProxy is analagous to java.lang.Reflect.Method
- * Creation date: (1/17/00 12:17:52 PM)
- * @author: Joe Winchester
- */
-public interface IFieldProxy extends IAccessibleObjectProxy {
-/**
- * Return the type of the field.
- */
-IBeanTypeProxy getFieldType();
-
-/**
- * Return the value of us on the subject argument.
- * If the field is a primitive type, the return proxy
- * will be of the primitive type too.  
- * Creation date: (1/17/00 12:28:48 PM)
- */
-IBeanProxy get(IBeanProxy aSubject) throws ThrowableProxy;
-
-/**
- * Set the argument as the field value on the subject
- * Creation date: (1/17/00 12:28:48 PM)
- */
-void set(IBeanProxy aSubject, IBeanProxy argument) throws ThrowableProxy;
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IIntegerBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IIntegerBeanProxy.java
deleted file mode 100644
index 8729a88..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IIntegerBeanProxy.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IIntegerBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * Interface to an integer bean proxy.
- * We originally had only an Integer proxy,
- * so the use of it was throughout the system.
- * We are now supporting Number instead, but
- * because there were so many places using int,
- * we've left it in.
- * Creation date: (2/6/00 8:52:42 AM)
- * @author: Joe Winchester
- */
-public interface IIntegerBeanProxy extends INumberBeanProxy {
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IMethodProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IMethodProxy.java
deleted file mode 100644
index a1236d5..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IMethodProxy.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IMethodProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/12 21:44:26 $ 
- */
-
-
-/**
- * Interface for Method Proxies
- * Creation date: (12/3/99 11:36:29 AM)
- * @author: Joe Winchester
- */
-public interface IMethodProxy extends IAccessibleObjectProxy {
-/**
- * Answer the class the method is defined in.
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
-IBeanTypeProxy getClassType();
-/**
- * Answer the name of the method
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
-String getName();
-/**
- * Answer the parameter types of the method
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
-IBeanTypeProxy[] getParameterTypes();
-/**
- * Answer the return type of the method
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
-IBeanTypeProxy getReturnType();
-/**
- * Invoke us on the subject
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
-IBeanProxy invoke(IBeanProxy subject) throws ThrowableProxy;
-/**
- * Invoke us on the subject with the specified arguments
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
-IBeanProxy invoke(IBeanProxy subject, IBeanProxy[] arguments) throws ThrowableProxy;
-/**
- * Invoke us on the subject with the specified argument
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
-IBeanProxy invoke(IBeanProxy subject, IBeanProxy argument) throws ThrowableProxy;
-
-/**
- * Invoke us on the subject, however catch all exceptions
- * Only to be used when you don't want ThrowableExceptions. This should
- * not be the normal way to invoke.
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
-IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject);
-/**
- * Invoke us on the subject with the specified arguments, however catch all exceptions
- * Only to be used when you don't want ThrowableExceptions. This should
- * not be the normal way to invoke.
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
-IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject, IBeanProxy[] arguments);
-/**
- * Invoke us on the subject with the specified argument, however catch all exceptions
- * Only to be used when you don't want ThrowableExceptions. This should
- * not be the normal way to invoke.
- * Creation date: (12/3/99 11:37:12 AM)
- * @author Joe Winchester
- */
-IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject, IBeanProxy argument);
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IMethodProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IMethodProxyFactory.java
deleted file mode 100644
index 360b34a..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IMethodProxyFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IMethodProxyFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * Factory for creating method proxies.
- *
- * The factory exists for use, but generally it is better
- * to go through the bean type proxy to get a method proxy.
- * This is useful for setting up a bunch of method proxies
- * in initialization routines so you don't need to have
- * a bean type proxy for each.
- *
- * Creation date: (12/3/99 6:21:52 PM)
- * @author: Joe Winchester
- */
-public interface IMethodProxyFactory extends IBeanProxyFactory {
-
-/**
- * Return a method proxy for the specified name, arguments from the class.
- * null for parameterTypes means no parameters.
- * Creation date: (12/3/99 6:22:05 PM)
- */
-IMethodProxy getMethodProxy(String className, String methodName, String[] parameterTypes);
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/INumberBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/INumberBeanProxy.java
deleted file mode 100644
index 1233f42..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/INumberBeanProxy.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: INumberBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * Interface to an integer bean proxy.
- * Creation date: (2/6/00 8:52:42 AM)
- * @author: Joe Winchester
- */
-public interface INumberBeanProxy extends IBeanProxy {
-/**
- * Return the primitive byte value of the proxied Number
- * Creation date: (2/6/00 8:52:59 AM)
- */
-byte byteValue();
-/**
- * Return the primitive double value of the proxied Number
- * Creation date: (2/6/00 8:52:59 AM)
- */
-double doubleValue();
-/**
- * Return the primitive float value of the proxied Number
- * Creation date: (2/6/00 8:52:59 AM)
- */
-float floatValue();
-/**
- * Return the primitive int value of the proxied Number
- * Creation date: (2/6/00 8:52:59 AM)
- */
-int intValue();
-/**
- * Return the primitive long value of the proxied Number
- * Creation date: (2/6/00 8:52:59 AM)
- */
-long longValue();
-/**
- * Return the value as a Number.
- * Creation date: (2/6/00 8:52:59 AM)
- */
-Number numberValue();
-/**
- * Return the primitive short value of the proxied Number
- * Creation date: (2/6/00 8:52:59 AM)
- */
-short shortValue();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyConstants.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyConstants.java
deleted file mode 100644
index 16ace7d..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IProxyConstants.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: IProxyConstants.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/04 16:53:00 $ 
- */
-package org.eclipse.jem.internal.proxy.core;
- 
-/**
- * Constants used with the plugin xml.
- * 
- * @since 1.0.0
- */
-public interface IProxyConstants {
-	
-	/**
-	 * Launch group id for proxy launch configurations.
-	 */	
-	public static final String ID_PROXY_LAUNCH_GROUP = "org.eclipse.jem.proxy";
-	
-	/**
-	 * Launch configuration type for local proxy. It is local in that it is on the same machine, but a different
-	 * VM then the one running the IDE. 
-	 * 
-	 * It here because this is the default config type when no launch config specified for a project.
-	 */
-	public static final String LOCAL_LAUNCH_TYPE = "org.eclipse.jem.proxy.LocalProxyLaunchConfigurationType";
-	
-	/**
-	 * Attribute on Proxy Launch Configuration:
-	 * 
-	 * Key used in Launch Configuration for attaching AWT/Swing to the registry. This means simply
-	 * that AWT/Swing should be treated as being in the registry or not. It doesn't actually prevent
-	 * them from being there.
-	 *
-	 * The default value for this attribute is "true", so it should be set only to "false".
-	 */
-	public static final String ATTRIBUTE_AWT_SWING = "org.eclipse.jem.proxy.AWT/Swing";
-	
-	/**
-	 * Attribute on Proxy Launch Configuration:
-	 * 
-	 * Key used in Launch Configuration for the contributors and returning the registry. After retrieving key,
-	 * go back to ProxyLaunchSupport to retrieve the contributors. And it uses it to return the registry.
-	 * 
-	 * Not to be set by contributors. This will be set only by the ProxyLaunchSupport start implementation methods.
-	 * It is here only because external developer's launch configurations will need to be able to access this.
-	 */
-	public static final String ATTRIBUTE_LAUNCH_KEY = "org.eclipse.jem.proxy.LaunchKey";
-	
-	/**
-	 * Attribute on Proxy Launch Configuration:
-	 *  
-	 * VM title used for the launch registry.
-	 * 
-	 * Not to be set by contributors. This will be set only by the ProxyLaunchSupport start implementation methods.
-	 * It is here only because external developer's launch configurations will need to be able to access this.
-	 */
-	public static final String ATTRIBUTE_VM_TITLE = "org.eclipse.jem.proxy.vmtitle";
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanProxyFactory.java
deleted file mode 100644
index d89ec88..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanProxyFactory.java
+++ /dev/null
@@ -1,175 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-
-
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IStandardBeanProxyFactory.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-
-/**
- * The Standard base bean proxy factory.
- * This is the Interface that the desktop will talk
- * to.
- * Creation date: (12/3/99 11:52:09 AM)
- * @author: Joe Winchester
- */
-public interface IStandardBeanProxyFactory extends IBeanProxyFactory {
-/**
- * Return a new bean proxy for the primitive integer argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IIntegerBeanProxy createBeanProxyWith(int aPrimitiveInteger);
-/**
- * Return a new bean proxy for the primitive character argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public ICharacterBeanProxy createBeanProxyWith(char aPrimitiveCharacter);
-/**
- * Return a new bean proxy for the primitive byte argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public INumberBeanProxy createBeanProxyWith(byte aPrimitiveByte);
-/**
- * Return a new bean proxy for the primitive short argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public INumberBeanProxy createBeanProxyWith(short aPrimitiveShort);
-/**
- * Return a new bean proxy for the primitive long argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public INumberBeanProxy createBeanProxyWith(long aPrimitiveLong);
-/**
- * Return a new bean proxy for the primitive float argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public INumberBeanProxy createBeanProxyWith(float aPrimitiveFloat);
-/**
- * Return a new bean proxy for the primitive double argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public INumberBeanProxy createBeanProxyWith(double aPrimitiveDouble);
-/**
- * Return a new bean proxy for the Boolean argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IBooleanBeanProxy createBeanProxyWith(Boolean aBoolean);
-/**
- * Return a new bean proxy for the Integer argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IIntegerBeanProxy createBeanProxyWith(Integer anInteger);
-/**
- * Return a new bean proxy for the Character argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public ICharacterBeanProxy createBeanProxyWith(Character aCharacter);
-/**
- * Return a new bean proxy for the Number argument, can handle any of the numbers.
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public INumberBeanProxy createBeanProxyWith(Number aNumber);
-/**
- * Return a new bean proxy for the string argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IStringBeanProxy createBeanProxyWith(String aString);
-/**
- * Return a new bean proxy for the boolean argument
- * Creation date: (12/3/99 11:52:20 AM)
- * @author Joe Winchester
- */
-public IBooleanBeanProxy createBeanProxyWith(boolean aBoolean);
-/**
- * Create an array bean proxy.
- *
- *   - (int, new int[2] {3, 4}) will create:
- *      int [3] [4]
- *
- *   - (int[], new int[1] {1})
- *      int [1]
- *
- *   - (int[], new int[2] {2,3})
- *      int [2] [3]
- * 
- *
- *   - (int[], null) or (int[], new int[0]) or (int, null) or (int, new int[0])
- *      int [0]...
- *     or
- *     (int[][]..., null) or (int[][]..., new int[0])
- *      int[0][]...
- *     This is because an array instance with no specified dimensions is not valid. 
- *
- *   - (int[][], new int[1] {3})
- *      int[3][]
- */
-public IArrayBeanProxy  createBeanProxyWith(IBeanTypeProxy type, int[] dimensions) throws ThrowableProxy;
-/**
- * Create a one-dimensional array. 
- * The result will be the same as calling 
- *   createBeanProxyWith(IBeanTypeProxy type, new int[1] {x})
- * where 'x' is the value passed in as the dimension.
- */
-public IArrayBeanProxy createBeanProxyWith(IBeanTypeProxy type, int dimension) throws ThrowableProxy;
-
-/**
- * Create a bean proxy from an initialization string. 
- * <p>
- * It is not recommended that this method be commonly used. That is because no type checking will be performed
- * on the result. Whatever it evaluates to be will be what it is. It is useful for the rare cases where the desired
- * result type is not known.
- * <p>
- * It is recommended instead to use the newInstance(initString) method on the appropriate IBeanTypeProxy so that the
- * result can be type-checked to make sure the string evaluates to something of that type.
- * 
- * @param initializationString
- * @return
- * @throws ThrowableProxy
- * @throws InstantiationException
- * @throws ClassCastException
- * 
- * @since 1.0.0
- */
-public IBeanProxy createBeanProxyFrom(String initializationString) throws ThrowableProxy, InstantiationException, ClassCastException;
-
-/**
- * Release the proxy. In the case of Remote VM, this means
- * it will remove the proxy on the client side, and remove
- * the reference to the real object on the server side. On the server
- * side the real object may not go away because something else could
- * be holding onto it, but it won't be held simply because the client
- * is holding onto it.
- */
-public void releaseProxy(IBeanProxy proxy);
-
-/**
- * Create an expression.
- * @return The expression.
- * 
- * @since 1.0.0
- */
-public IExpression createExpression();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanTypeProxyFactory.java
deleted file mode 100644
index 179dcf9..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IStandardBeanTypeProxyFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import java.util.Set;
-/**
- * The standard bean type proxy factory.
- * This is the Interface that the desktop will talk
- * to, the one that is returned when getCurrent() is called.
- * Creation date: (3/10/00 11:00:50 AM)
- * @author: Richard Lee Kulp
- */
-public interface IStandardBeanTypeProxyFactory extends IBeanProxyFactory {
-/**
- * Used by other registered bean type proxy factories to
- * register their bean type proxies with the standard factory
- * so that it will be cached there. 
- *
- * The permanent flag indicates that beantype will never be released,
- * not even if explicit request is made.
- * Creation date: (3/10/00 11:02:11 AM)
- */
-void registerBeanTypeProxy(IBeanTypeProxy aBeanTypeProxy, boolean permanent);
-
-/**
- * Return the beanType proxy for the given class name.
- * It must be fully qualified. And for arrays it can handle
- * either the jni type ([Ljava.lang.Object;) or the Java EMF Model
- * formal type (java.lang.Object[]).
- */
-IBeanTypeProxy getBeanTypeProxy(String className);
-
-/**
- * Return an Array type proxy for the given class name of
- * the specified dimensions. This is a helper method. The
- * same result can be gotton from getBeanTypeProxy.
- * e.g.
- *      getBeanTypeProxy("java.lang.Object", 3)
- *    is the same as:
- *      getBeanTypeProxy("[[[Ljava.lang.Object;")
- *
- *    They both result in a type of:
- *      Object [][][]
- * 
- *    or if using the JNI format (proxy format)
- *      getBeanTypeProxy("[Ljava.langObject;", 3)
- *    becomes
- *      Object [][][][] 
- * 
- *    or if using the standard java format (as in actual code)
- *      getBeanTypeProxy("java.langObject[];", 3)
- *    becomes
- *      Object [][][][]
- */
-IBeanTypeProxy getBeanTypeProxy(String componentClassName, int dimensions);
-
-/**
- * Test if a specific bean type has been registered. Don't access and create
- * if it isn't currently registered.
- */
-boolean isBeanTypeRegistered(String className);
-
-/**
- * Registered types. Return a set of strings that are the registered classes.
- * This Set isn't synchronized, there may be changes while accessing it.
- */
-Set registeredTypes();
-
-/**
- * Maintain list of not found types. This list is types that were requested,
- * but didn't exist. This method sets whether list should be maintained or not.
- * If set to false, the list will be empty. The default is false.
- * 
- * @param maintain
- */
-void setMaintainNotFoundTypes(boolean maintain);
-
-/**
- * Maintain list of not found types. This list is types that were requested,
- * but didn't exist. This method returns whether list should be maintained or not.
- * If false, the list will be empty. The default is false.
- * 
- * @return maintaining not found types.
- */
-boolean isMaintainNotFoundTypes();
-
-/**
- * Maintain list of not found types. This list is types that were requested,
- * but didn't exist. 
- *
- * @param className Classname to search for to see if ever not found.
- * @return true if the bean type had been searched for but was not found. If not maintaining, then result will be false.
- */
-boolean isBeanTypeNotFound(String className);
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStringBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStringBeanProxy.java
deleted file mode 100644
index 7c97e9a..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStringBeanProxy.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IStringBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * Optimized implementation that should be used for string proxies that
- * allows the IDE VM to get the string value easily
- * Creation date: (2/6/00 8:58:22 AM)
- * @author: Joe Winchester
- */
-public interface IStringBeanProxy extends IBeanProxy {
-/**
- * Return the proxied string as a string that the IDE can use
- * Creation date: (2/6/00 8:58:32 AM)
- */
-String stringValue();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IteratorBeanProxyWrapper.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IteratorBeanProxyWrapper.java
deleted file mode 100644
index f3f732e..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IteratorBeanProxyWrapper.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IteratorBeanProxyWrapper.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-/**
- * This is a wrapper for an java.util.Iterator proxy.
- * It provides the iterator methods to interface to
- * the proxy.
- */
-
-public class IteratorBeanProxyWrapper {
-	protected final IBeanProxy fIterator;
-	protected final JavaStandardBeanProxyConstants fConstants;
-	
-	/**
-	 * Construct with the collection.
-	 */
-	public IteratorBeanProxyWrapper(IBeanProxy anIteratorProxy) {
-		if (!anIteratorProxy.getTypeProxy().isKindOf(anIteratorProxy.getProxyFactoryRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.util.Iterator"))) //$NON-NLS-1$
-			throw new ClassCastException(MessageFormat.format(ProxyMessages.getString(ProxyMessages.CLASSCAST_INCORRECTTYPE), new Object[] {anIteratorProxy.getTypeProxy().getTypeName(), "java.util.Iterator"})); //$NON-NLS-1$
-		else
-			fIterator = anIteratorProxy;
-			
-		fConstants = JavaStandardBeanProxyConstants.getConstants(anIteratorProxy.getProxyFactoryRegistry());
-	}
-	
-	/**
-	 * Answer the iterator proxy that this is wrappering.
-	 */
-	public IBeanProxy getBeanProxy() {
-		return fIterator;
-	}
-
-	/**
-	 * equals - Pass it on to the proxy to handle this.
-	 */
-	public boolean equals(Object object) {
-		return fIterator.equals(object);
-	}
-	
-	/**
-	 * hashCode - Pass it on to the proxy to handle this.
-	 */
-	public int hashCode() {
-		return fIterator.hashCode();
-	}
-	
-	/**
-	 * Iterator accessors
-	 */
-	public boolean hasNext() {
-		try {
-			return ((IBooleanBeanProxy) fConstants.getIteratorHasNext().invoke(fIterator)).booleanValue();
-		} catch (ThrowableProxy e) {
-			// This shouldn't occur, so just log it.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, ProxyMessages.getString(ProxyMessages.UNEXPECTED_EXCEPTION), e));
-			return false;
-		}			
-	}
-	public IBeanProxy next() throws ThrowableProxy {
-		return fConstants.getIteratorNext().invoke(fIterator);
-	}	
-	public void remove() throws ThrowableProxy {
-		fConstants.getIteratorRemove().invoke(fIterator);
-	}	
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/JavaStandardBeanProxyConstants.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/JavaStandardBeanProxyConstants.java
deleted file mode 100644
index 03e9d5d..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/JavaStandardBeanProxyConstants.java
+++ /dev/null
@@ -1,347 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaStandardBeanProxyConstants.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * Standard Proxy constants.
- *
- * Use the static accessor method (getConstants()) to get the appropriate 
- * constants instance for the registry. This is done so that until the
- * the constants are needed, they aren't registered.
- *
- * There are some standard utility functions too.
- *
- * NOTE: Since everything in here just proxies, there is
- *       no need to have them separated by VM. That is why
- *       this in the Proxy package.
- *
- * This is final because this can't be extended. This specific one
- * will be registered with the factory for this key. Any extensions
- * must be done in their own constants and registry key.
- *
- * Creation date: (4/7/00 4:47:48 PM)
- * @author: Administrator
- */
-public final class JavaStandardBeanProxyConstants {
-	public static final String REGISTRY_KEY = "STANDARDPROXYCONSTANTS:"; //$NON-NLS-1$
-		
-	final IBeanTypeProxy fCollectionType;
-	final IBeanTypeProxy fListType;
-	final IBeanTypeProxy fIteratorType;
-	final IBeanTypeProxy fListIteratorType;
-	final IBeanTypeProxy fEnumerationType;	
-	final IBeanTypeProxy fSystemType;
-	final IBeanTypeProxy fStringType;
-	
-	IMethodProxy fCollectionAdd, fCollectionAddAll, fCollectionClear, fCollectionContains,
-		fCollectionContainsAll, fCollectionIsEmpty, fCollectionIterator, fCollectionRemove,
-		fCollectionRemoveAll, fCollectionRetainAll, fCollectionSize, fCollectionToArray,
-		fCollectionToArrayWithArray;
-		
-	IMethodProxy fListAddWithInt, fListAddAllWithInt, fListGet, fListIndexOf, fListLastIndexOf,
-		fListListIterator, fListListIteratorWithInt, fListRemoveInt, 
-		fListSet, fListSubList;
-		
-	IMethodProxy fIteratorHasNext, fIteratorNext, fIteratorRemove;
-
-	IMethodProxy fListIteratorAdd, fListIteratorHasPrevious, fListIteratorNextIndex, fListIteratorPrevious,
-		fListIteratorPreviousIndex, fListIteratorRemove, fListIteratorSet;
-		
-	IMethodProxy fEnumerationHasMoreElements, fEnumerationNextElement;
-	
-	IMethodProxy fSystemArraycopy;
-
-/**
- * Get the constants instance for the specified registry.
- */
-public static JavaStandardBeanProxyConstants getConstants(ProxyFactoryRegistry registry) {
-	JavaStandardBeanProxyConstants constants = (JavaStandardBeanProxyConstants) registry.getConstants(REGISTRY_KEY);
-	if (constants == null)
-		registry.registerConstants(REGISTRY_KEY, constants = new JavaStandardBeanProxyConstants(registry));	
-	return constants;
-}
-
-
-/**
- * IDEJavaBeanConstants constructor comment.
- */
-private JavaStandardBeanProxyConstants(ProxyFactoryRegistry registry) {
-	super();
-	
-	IStandardBeanTypeProxyFactory typeFactory = registry.getBeanTypeProxyFactory();
-	fCollectionType = typeFactory.getBeanTypeProxy("java.util.Collection");//$NON-NLS-1$
-	fListType = typeFactory.getBeanTypeProxy("java.util.List"); //$NON-NLS-1$
-	fIteratorType = typeFactory.getBeanTypeProxy("java.util.Iterator"); //$NON-NLS-1$
-	fListIteratorType = typeFactory.getBeanTypeProxy("java.util.ListIterator"); //$NON-NLS-1$
-	fEnumerationType = typeFactory.getBeanTypeProxy("java.util.Enumeration");	 //$NON-NLS-1$
-	fSystemType = typeFactory.getBeanTypeProxy("java.lang.System"); //$NON-NLS-1$
-	fStringType = typeFactory.getBeanTypeProxy("java.lang.String"); //$NON-NLS-1$
-}
-
-public IBeanTypeProxy getStringType() {
-	return fStringType;
-}
-
-/**
- * Collection method accessors
- */
-public IMethodProxy getCollectionAdd() {
-	if (fCollectionAdd == null)
-		fCollectionAdd = fCollectionType.getMethodProxy("add", "java.lang.Object"); //$NON-NLS-1$ //$NON-NLS-2$
-	return fCollectionAdd;
-}
-	
-public IMethodProxy getCollectionAddAll(){
-	if (fCollectionAddAll == null)
-		fCollectionAddAll = fCollectionType.getMethodProxy("addAll", "java.util.Collection"); //$NON-NLS-1$ //$NON-NLS-2$
-	return fCollectionAddAll;
-}
-
-public IMethodProxy getCollectionClear() {
-	if (fCollectionClear == null)
-		fCollectionClear = fCollectionType.getMethodProxy("clear"); //$NON-NLS-1$
-	return fCollectionClear;
-}
-
-public IMethodProxy getCollectionContains() {
-	if (fCollectionContains == null)
-		fCollectionContains = fCollectionType.getMethodProxy("contains", "java.lang.Object"); //$NON-NLS-1$ //$NON-NLS-2$
-	return fCollectionContains;
-}
-	
-public IMethodProxy getCollectionContainsAll() {
-	if (fCollectionContainsAll == null)
-		fCollectionContainsAll = fCollectionType.getMethodProxy("containsAll", "java.util.Collection"); //$NON-NLS-1$ //$NON-NLS-2$
-	return fCollectionContainsAll;
-}
-
-public IMethodProxy getCollectionIsEmpty() {
-	if (fCollectionIsEmpty == null)
-		fCollectionIsEmpty = fCollectionType.getMethodProxy("isEmpty"); //$NON-NLS-1$
-	return fCollectionIsEmpty;
-}
-
-public IMethodProxy getCollectionIterator() {
-	if (fCollectionIterator == null)
-		fCollectionIterator = fCollectionType.getMethodProxy("iterator"); //$NON-NLS-1$
-	return fCollectionIterator;
-}
-
-public IMethodProxy getCollectionRemove() {
-	if (fCollectionRemove == null)
-		fCollectionRemove = fCollectionType.getMethodProxy("remove", "java.lang.Object"); //$NON-NLS-1$ //$NON-NLS-2$
-	return fCollectionRemove;
-}
-
-public IMethodProxy getCollectionRemoveAll() {
-	if (fCollectionRemoveAll == null)
-		fCollectionRemoveAll = fCollectionType.getMethodProxy("removeAll", "java.util.Collection"); //$NON-NLS-1$ //$NON-NLS-2$
-	return fCollectionRemoveAll;
-}
-
-public IMethodProxy getCollectionRetainAll() {
-	if (fCollectionRetainAll == null)
-		fCollectionRetainAll = fCollectionType.getMethodProxy("retainAll", "java.util.Collection"); //$NON-NLS-1$ //$NON-NLS-2$
-	return fCollectionRetainAll;
-}
-
-public IMethodProxy getCollectionSize()  {
-	if (fCollectionSize == null)
-		fCollectionSize = fCollectionType.getMethodProxy("size"); //$NON-NLS-1$
-	return fCollectionSize;
-}
-
-public IMethodProxy getCollectionToArray() {
-	if (fCollectionToArray == null)
-		fCollectionToArray = fCollectionType.getMethodProxy("toArray"); //$NON-NLS-1$
-	return fCollectionToArray;
-}
-
-public IMethodProxy getCollectionToArrayWithArray() {
-	if (fCollectionToArrayWithArray == null)
-		fCollectionToArrayWithArray = fCollectionType.getMethodProxy("toArray", "[Ljava.lang.Object;"); //$NON-NLS-1$ //$NON-NLS-2$
-	return fCollectionToArrayWithArray;
-}
-
-/**
- * Iterator accessors
- */
-
-public IMethodProxy getIteratorHasNext() {
-	if (fIteratorHasNext == null)
-		fIteratorHasNext = fIteratorType.getMethodProxy("hasNext"); //$NON-NLS-1$
-	return fIteratorHasNext;
-}
-
-public IMethodProxy getIteratorNext() {
-	if (fIteratorNext == null)
-		fIteratorNext = fIteratorType.getMethodProxy("next"); //$NON-NLS-1$
-	return fIteratorNext;
-}
-
-public IMethodProxy getIteratorRemove() {
-	if (fIteratorRemove == null)
-		fIteratorRemove = fIteratorType.getMethodProxy("remove"); //$NON-NLS-1$
-	return fIteratorRemove;
-}
-
-/**
- * Listaccessors
- */
-
-public IMethodProxy getListAddWithInt() {
-	if (fListAddWithInt == null)
-		fListAddWithInt = fListType.getMethodProxy("add", new String[] {"int", "java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fListAddWithInt;
-}
-
-public IMethodProxy getListAddAllWithInt() {
-	if (fListAddAllWithInt == null)
-		fListAddAllWithInt = fListType.getMethodProxy("addAll", new String[] {"int", "java.util.Collection"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fListAddAllWithInt;
-}
-
-public IMethodProxy getListGet() {
-	if (fListGet == null)
-		fListGet = fListType.getMethodProxy("get", "int"); //$NON-NLS-1$ //$NON-NLS-2$
-	return fListGet;
-}
-
-public IMethodProxy getListIndexOf() {
-	if (fListIndexOf == null)
-		fListIndexOf = fListType.getMethodProxy("indexOf", "java.lang.Object"); //$NON-NLS-1$ //$NON-NLS-2$
-	return fListIndexOf;
-}
-
-public IMethodProxy getListLastIndexOf() {
-	if (fListLastIndexOf == null)
-		fListLastIndexOf = fListType.getMethodProxy("lastIndexOf", "java.lang.Object"); //$NON-NLS-1$ //$NON-NLS-2$
-	return fListLastIndexOf;
-}
-
-public IMethodProxy getListListIterator() {
-	if (fListListIterator == null)
-		fListListIterator = fListType.getMethodProxy("listIterator"); //$NON-NLS-1$
-	return fListListIterator;
-}
-
-public IMethodProxy getListListIteratorWithInt() {
-	if (fListListIteratorWithInt == null)
-		fListListIteratorWithInt = fListType.getMethodProxy("listIterator", "int"); //$NON-NLS-1$ //$NON-NLS-2$
-	return fListListIteratorWithInt;
-}
-
-public IMethodProxy getListRemoveInt() {
-	if (fListRemoveInt == null)
-		fListRemoveInt = fListType.getMethodProxy("remove", "int"); //$NON-NLS-1$ //$NON-NLS-2$
-	return fListRemoveInt;
-}
-
-public IMethodProxy getListSet() {
-	if (fListSet == null)
-		fListSet = fListType.getMethodProxy("set", new String[] {"int", "java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fListSet;
-}
-
-public IMethodProxy getListSubList() {
-	if (fListSubList == null)
-		fListSubList = fListType.getMethodProxy("subList", new String[] {"int", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fListSubList;
-}
-
-/**
- * ListIterator accessors
- */
- 
-public IMethodProxy getListIteratorAdd() {
-	if (fListIteratorAdd == null)
-		fListIteratorAdd = fListIteratorType.getMethodProxy("add", "java.lang.Object"); //$NON-NLS-1$ //$NON-NLS-2$
-	return fListIteratorAdd;
-}
-
-public IMethodProxy getListIteratorHasPrevious() {
-	if (fListIteratorHasPrevious == null)
-		fListIteratorHasPrevious = fListIteratorType.getMethodProxy("hasPrevious"); //$NON-NLS-1$
-	return fListIteratorHasPrevious;
-}
-
-public IMethodProxy getListIteratorNextIndex() {
-	if (fListIteratorNextIndex == null)
-		fListIteratorNextIndex = fListIteratorType.getMethodProxy("nextIndex"); //$NON-NLS-1$
-	return fListIteratorNextIndex;
-}
-
-public IMethodProxy getListIteratorPrevious() {
-	if (fListIteratorPrevious == null)
-		fListIteratorPrevious = fListIteratorType.getMethodProxy("previous"); //$NON-NLS-1$
-	return fListIteratorPrevious;
-}
-
-public IMethodProxy getListIteratorPreviousIndex() {
-	if (fListIteratorPreviousIndex == null)
-		fListIteratorPreviousIndex = fListIteratorType.getMethodProxy("previousIndex"); //$NON-NLS-1$
-	return fListIteratorPreviousIndex;
-}
-
-public IMethodProxy getListIteratorSet() {
-	if (fListIteratorSet == null)
-		fListIteratorSet = fListIteratorType.getMethodProxy("set", "java.lang.Object"); //$NON-NLS-1$ //$NON-NLS-2$
-	return fListIteratorSet;
-}
-
-public IMethodProxy getListIteratorRemove() {
-	if (fListIteratorRemove == null)
-		fListIteratorRemove = fListIteratorType.getMethodProxy("remove"); //$NON-NLS-1$
-	return fListIteratorRemove;
-}
-
-protected IMethodProxy getSystemArraycopy() {
-	if (fSystemArraycopy == null)
-		fSystemArraycopy = fSystemType.getMethodProxy("arraycopy", new String[] {"java.lang.Object", "int", "java.lang.Object", "int", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-	return fSystemArraycopy;
-}
-
-/**
- * Enumeration accessors
- */
-public IMethodProxy getEnumerationHasMoreElements() {
-	if (fEnumerationHasMoreElements == null)
-		fEnumerationHasMoreElements = fEnumerationType.getMethodProxy("hasMoreElements"); //$NON-NLS-1$
-	return fEnumerationHasMoreElements;
-}
-
-public IMethodProxy getEnumerationNextElement() {
-	if (fEnumerationNextElement == null)
-		fEnumerationNextElement = fEnumerationType.getMethodProxy("nextElement"); //$NON-NLS-1$
-	return fEnumerationNextElement;
-}
-
-/**
- * Utility function to copy an array.
- */
-public void arraycopy(IBeanProxy src, int srcPosition, IBeanProxy dest, int destPosition, int length) throws ThrowableProxy {
-	IStandardBeanProxyFactory factory = src.getProxyFactoryRegistry().getBeanProxyFactory();
-	IBeanProxy[] args = new IBeanProxy[] {
-		src,
-		factory.createBeanProxyWith(srcPosition),
-		dest,
-		factory.createBeanProxyWith(destPosition),
-		factory.createBeanProxyWith(length)		
-	};
-	
-	getSystemArraycopy().invoke(null, args);
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListBeanProxyWrapper.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListBeanProxyWrapper.java
deleted file mode 100644
index 1fa857c..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListBeanProxyWrapper.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ListBeanProxyWrapper.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-/**
- * This is a wrapper for an java.util.Collection proxy.
- * It provides the collection methods to interface to
- * the proxy.
- */
-
-public class ListBeanProxyWrapper extends CollectionBeanProxyWrapper {
-	/**
-	 * Construct with the List.
-	 */
-	public ListBeanProxyWrapper(IBeanProxy aListProxy) {
-		super(aListProxy);
-		
-		if (!aListProxy.getTypeProxy().isKindOf(aListProxy.getProxyFactoryRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.util.List"))) //$NON-NLS-1$
-			throw new ClassCastException(MessageFormat.format(ProxyMessages.getString(ProxyMessages.CLASSCAST_INCORRECTTYPE), new Object[] {aListProxy.getTypeProxy().getTypeName(), "java.util.List"})); //$NON-NLS-1$
-	}
-	
-	
-	/**
-	 * List accessors
-	 */
-	public void add(int index, IBeanProxy object) throws ThrowableProxy {
-		fConstants.getListAddWithInt().invoke(fCollection, new IBeanProxy[] {fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(index), object});
-	}
-	public boolean addAll(int index, IBeanProxy aCollection) throws ThrowableProxy {
-		return ((IBooleanBeanProxy) fConstants.getListAddAllWithInt().invoke(fCollection, new IBeanProxy[] {fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(index), aCollection})).booleanValue();
-	}
-	public IBeanProxy get(int index) throws ThrowableProxy {
-		return fConstants.getListGet().invoke(fCollection, fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(index));
-	}
-	public int indexOf(IBeanProxy object) {
-		try {
-			return ((IIntegerBeanProxy) fConstants.getListIndexOf().invoke(fCollection, object)).intValue();
-		} catch (ThrowableProxy e) {
-			// This shouldn't occur, so just log it.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, ProxyMessages.getString(ProxyMessages.UNEXPECTED_EXCEPTION), e));
-			return -1;
-		}			
-	}
-	public int lastIndexOf(IBeanProxy object) {
-		try {
-			return ((IIntegerBeanProxy) fConstants.getListLastIndexOf().invoke(fCollection, object)).intValue();
-		} catch (ThrowableProxy e) {
-			// This shouldn't occur, so just log it.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, ProxyMessages.getString(ProxyMessages.UNEXPECTED_EXCEPTION), e));
-			return -1;
-		}			
-	}
-	public ListIteratorBeanProxyWrapper listIterator() {
-		try {
-			IBeanProxy itr = fConstants.getListListIterator().invoke(fCollection);
-			if (itr != null)
-				return new ListIteratorBeanProxyWrapper(itr);
-			else
-				return null;
-		} catch (ThrowableProxy e) {
-			// This shouldn't occur, so just log it.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, ProxyMessages.getString(ProxyMessages.UNEXPECTED_EXCEPTION), e));
-			return null;
-		}			
-	}
-	public ListIteratorBeanProxyWrapper listIterator(int index) {
-		try {
-			IBeanProxy itr = fConstants.getListListIteratorWithInt().invoke(fCollection, fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(index));
-			if (itr != null)
-				return new ListIteratorBeanProxyWrapper(itr);
-			else
-				return null;
-		} catch (ThrowableProxy e) {
-			// This shouldn't occur, so just log it.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, ProxyMessages.getString(ProxyMessages.UNEXPECTED_EXCEPTION), e));
-			return null;
-		}			
-	}
-	public IBeanProxy remove(int index, IBeanProxy object) throws ThrowableProxy {
-		return fConstants.getListSet().invoke(fCollection, fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(index));
-	}
-	public IBeanProxy set(int index, IBeanProxy object) throws ThrowableProxy {
-		return fConstants.getListRemoveInt().invoke(fCollection, new IBeanProxy[] {fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(index), object});
-	}											
-	public ListBeanProxyWrapper subList(int fromIndex, int toIndex) throws ThrowableProxy {
-		IBeanProxy list = fConstants.getListSubList().invoke(fCollection, new IBeanProxy[] {fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(fromIndex), fCollection.getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(toIndex)});
-		if (list != null)
-			return new ListBeanProxyWrapper(list);
-		else
-			return null;		
-	}
-												
-		
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListIteratorBeanProxyWrapper.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListIteratorBeanProxyWrapper.java
deleted file mode 100644
index 5a77be1..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListIteratorBeanProxyWrapper.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ListIteratorBeanProxyWrapper.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-/**
- * This is a wrapper for an java.util.ListIterator proxy.
- * It provides the ListIterator methods to interface to
- * the proxy.
- */
-
-public class ListIteratorBeanProxyWrapper extends IteratorBeanProxyWrapper {
-
-	/**
-	 * Construct with the ListIterator.
-	 */
-	public ListIteratorBeanProxyWrapper(IBeanProxy anIteratorProxy) {
-		super(anIteratorProxy);
-		
-		if (!anIteratorProxy.getTypeProxy().isKindOf(anIteratorProxy.getProxyFactoryRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.util.ListIterator"))) //$NON-NLS-1$
-			throw new ClassCastException(MessageFormat.format(ProxyMessages.getString(ProxyMessages.CLASSCAST_INCORRECTTYPE), new Object[] {anIteratorProxy.getTypeProxy().getTypeName(), "java.util.ListIterator"})); //$NON-NLS-1$
-	}
-	
-	
-	/**
-	 * ListIterator accessors
-	 */
-	public void add(IBeanProxy object) throws ThrowableProxy {
-		fConstants.getListIteratorAdd().invoke(fIterator, object);
-	}
-	public boolean hasPrevious() {
-		try {
-			return ((IBooleanBeanProxy) fConstants.getListIteratorHasPrevious().invoke(fIterator)).booleanValue();
-		} catch (ThrowableProxy e) {
-			// This shouldn't occur, so just log it.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, ProxyMessages.getString(ProxyMessages.UNEXPECTED_EXCEPTION), e));
-			return false;
-		}			
-	}
-	public int nextIndex() {
-		try {
-			return ((IIntegerBeanProxy) fConstants.getListIteratorNextIndex().invoke(fIterator)).intValue();
-		} catch (ThrowableProxy e) {
-			// This shouldn't occur, so just log it.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, ProxyMessages.getString(ProxyMessages.UNEXPECTED_EXCEPTION), e));
-			return -1;
-		}			
-	}			
-	public IBeanProxy previous() throws ThrowableProxy {
-		return fConstants.getListIteratorPrevious().invoke(fIterator);
-	}
-	public int previousIndex() {
-		try {
-			return ((IIntegerBeanProxy) fConstants.getListIteratorPreviousIndex().invoke(fIterator)).intValue();
-		} catch (ThrowableProxy e) {
-			// This shouldn't occur, so just log it.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, ProxyMessages.getString(ProxyMessages.UNEXPECTED_EXCEPTION), e));
-			return -1;
-		}
-	}
-	public void remove() throws ThrowableProxy {
-		fConstants.getListIteratorRemove().invoke(fIterator);
-	}
-	public void set(IBeanProxy object) throws ThrowableProxy {
-		fConstants.getListIteratorSet().invoke(fIterator, object);
-	}				
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListenerList.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListenerList.java
deleted file mode 100644
index 5e4b1a2..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ListenerList.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c)   2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ListenerList.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-package org.eclipse.jem.internal.proxy.core;
-
-/**
- * This class is used to maintain a list of listeners, and
- * is used in the implementations of several classes within JFace
- * which allow you to register listeners of various kinds.
- * It is a fairly lightweight object, occupying minimal space when
- * no listeners are registered.
- * <p>
- * Note that the <code>add</code> method checks for and eliminates 
- * duplicates based on identity (not equality).  Likewise, the
- * <code>remove</code> method compares based on identity.
- * </p>
- * <p>
- * Use the <code>getListeners</code> method when notifying listeners.
- * Note that no garbage is created if no listeners are registered.
- * The recommended code sequence for notifying all registered listeners
- * of say, <code>FooListener.eventHappened</code>, is:
- * <pre>
- * Object[] listeners = myListenerList.getListeners();
- * for (int i = 0; i < listeners.length; ++i) {
- *    ((FooListener) listeners[i]).eventHappened(event);
- * }
- * </pre>
- * </p>
- */
-
-public class ListenerList {
-
-	/**
-	 * The initial capacity of the list. Always >= 1.
-	 */
-	private int capacity;
-
-	/**
-	 * The current number of listeners.
-	 * Maintains invariant: 0 <= size <= listeners.length.
-	 */
-	private int size;
-
-	/**
-	 * The list of listeners.  Initially <code>null</code> but initialized
-	 * to an array of size capacity the first time a listener is added.
-	 * Maintains invariant: listeners != null IFF size != 0
-	 */
-	private Object[] listeners = null;
-
-	/**
-	 * The empty array singleton instance, returned by getListeners()
-	 * when size == 0.
-	 */
-	private static final Object[] EmptyArray = new Object[0];
-
-	/**
-	 * Creates a listener list with an initial capacity of 1.
-	 */
-	public ListenerList() {
-		this(1);
-	}
-
-	/**
-	 * Creates a listener list with the given initial capacity.
-	 *
-	 * @param capacity the number of listeners which this list can initially accept 
-	 *    without growing its internal representation; must be at least 1
-	 */
-	public ListenerList(int capacity) {
-		if (!(capacity >= 1))
-			throw new IllegalArgumentException();
-		this.capacity = capacity;
-	}
-
-	/**
-	 * Adds the given listener to this list. Has no effect if an identical listener
-	 * is already registered.
-	 *
-	 * @param listener the listener
-	 */
-	public void add(Object listener) {
-		if (listener == null)
-			throw new IllegalArgumentException();
-		if (size == 0) {
-			listeners = new Object[capacity];
-		} else {
-			// check for duplicates using identity
-			for (int i = 0; i < size; ++i) {
-				if (listeners[i] == listener) {
-					return;
-				}
-			}
-			// grow array if necessary
-			if (size == listeners.length) {
-				System.arraycopy(
-					listeners,
-					0,
-					listeners = new Object[size * 2 + 1],
-					0,
-					size);
-			}
-		}
-		listeners[size++] = listener;
-	}
-
-	/**
-	 * Removes all listeners from this list.
-	 */
-	public void clear() {
-		size = 0;
-		listeners = null;
-	}
-
-	/**
-	 * Returns an array containing all the registered listeners,
-	 * in the order in which they were added.
-	 * <p>
-	 * The resulting array is unaffected by subsequent adds or removes.
-	 * If there are no listeners registered, the result is an empty array
-	 * singleton instance (no garbage is created).
-	 * Use this method when notifying listeners, so that any modifications
-	 * to the listener list during the notification will have no effect on the
-	 * notification itself.
-	 * </p>
-	 *
-	 * @return the list of registered listeners
-	 */
-	public Object[] getListeners() {
-		if (size == 0)
-			return EmptyArray;
-		Object[] result = new Object[size];
-		System.arraycopy(listeners, 0, result, 0, size);
-		return result;
-	}
-
-	/**
-	 * Returns whether this listener list is empty.
-	 *
-	 * @return <code>true</code> if there are no registered listeners, and
-	 *   <code>false</code> otherwise
-	 */
-	public boolean isEmpty() {
-		return size == 0;
-	}
-
-	/**
-	 * Removes the given listener from this list. Has no effect if an identical
-	 * listener was not already registered.
-	 *
-	 * @param listener the listener
-	 */
-	public void remove(Object listener) {
-		if (listener == null)
-			throw new IllegalArgumentException();
-		for (int i = 0; i < size; ++i) {
-			if (listeners[i] == listener) {
-				if (size == 1) {
-					listeners = null;
-					size = 0;
-				} else {
-					System.arraycopy(
-						listeners,
-						i + 1,
-						listeners,
-						i,
-						--size - i);
-					listeners[size] = null;
-				}
-				return;
-			}
-		}
-	}
-
-	/**
-	 * Returns the number of registered listeners.
-	 *
-	 * @return the number of registered listeners
-	 */
-	public int size() {
-		return size;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyFactoryRegistry.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyFactoryRegistry.java
deleted file mode 100644
index 61bd8e0..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyFactoryRegistry.java
+++ /dev/null
@@ -1,314 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ProxyFactoryRegistry.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import java.util.*;
-
-/**
- * Registry of proxy factories on a per-VM basis.
- * There can be multiple VM's, this would be required by the
- * desktop because more than one project could be open, and each
- * would require their own VM because the classpaths would be different.
- * This class may be subclassed to provide more factories for a particular
- * VM. 
- * Creation date: (3/13/00 10:48:10 AM)
- * @author: Richard Lee Kulp
- */
-public abstract class ProxyFactoryRegistry {
-	
-	protected boolean fIsValid = true;	// The registry is valid until terminated.
-	protected ListenerList registryListeners = new ListenerList();
-	
-	/**
-	 * IRegistryListener
-	 * Listen for the registry being terminated.
-	 */
-	public interface IRegistryListener {
-		/**
-		 * Method registryTerminated.
-		 * 
-		 * The registry has been terminated. When this is called the registry
-		 * is no longer valid. It should not be assumed any calls can be made
-		 * to the registry.
-		 * 
-		 * @param registry
-		 */
-		public void registryTerminated(ProxyFactoryRegistry registry);
-	}
-		
-
-	// Factory registration IS NOT a dynamic registration. Once registered for a VM or an instance
-	// they should not be changed. This is because references are cached in other objects.
-	// The VM associated with this Registry shouldn't exited and restarted because
-	// the cached object will then have invalid references to no longer existing objects.
-	// If the VM needs to be restarted, then all proxies need to be tossed.
-	
-	//
-	// Individual ProxyFactoryRegistry, applies to a particular VM.
-	//
-
-	// ***************************
-	//
-	// IBeanProxyFactory Registry
-	//
-	
-	// The standard bean  proxy factory, the one the desktop will use for packages that have not
-	// been extended and registered by customization developers.
-	protected IStandardBeanProxyFactory fCurrentStandardBeanProxyFactory;
-
-	// The directory of registered extension factories, typically registered by package.
-	final protected Hashtable fRegisteredExtensionBeanProxyFactories = new Hashtable();
-
-	// ***************************
-	//
-	// IBeanTypeProxyFactory Registry
-	//
-	
-	// The standard bean type proxy factory, the one the desktop will use for packages that have not
-	// been extended and registered by customization developers.
-	protected IStandardBeanTypeProxyFactory fCurrentStandardBeanTypeProxyFactory;
-
-	// The directory of registered extension factories, typically registered by package.
-	final protected Hashtable fRegisteredExtensionBeanTypeProxyFactories = new Hashtable();
-	
-
-	// ***************************
-	//
-	// Other factories
-	//
-		
-	protected IMethodProxyFactory fMethodProxyFactory = null;	// Method Proxy Factory
-
-	// ***************************
-	//
-	// Constants Registry. Different extensions can store
-	// objects by key as a registry of constants.
-	// For example, java.awt extension will store an object
-	// which has some pre-fetched method proxies stored in it so
-	// that they don't need to be continually recreated.
-	//
-	// This feature should be used with care, so that
-	// only proxies that really need to be cached should
-	// be cached.
-	//
-	// Don't store proxies to live beans in here because
-	// those will be created and destroyed over and over,
-	// and the instance in this cache will get stale.
-	// Should only store things like often used method
-	// proxies that once created are rarely changed.
-	//
-	// Since the proxies can be on any VM, you should have
-	// an interface defining what's available in your
-	// constants entry, and access it through that.
-
-	protected final Hashtable fRegisteredConstants = new Hashtable();		
-
-	/**
-	 * ProxyFactoryRegistry constructor comment.
-	 */
-	public ProxyFactoryRegistry() {
-		super();
-	}
-	
-	/**
-	 * Method addRegistryListener.
-	 * @param listener
-	 */
-	public void addRegistryListener(IRegistryListener listener) {
-		registryListeners.add(listener);
-	}
-	
-	/**
-	 * Method removeRegistryListener.
-	 * @param listener
-	 */
-	public void removeRegistryListener(IRegistryListener listener) {
-		registryListeners.remove(listener);
-	}
-	
-	protected void fireRegistryTerminated() {
-		if (!registryListeners.isEmpty()) {
-			Object[] list = registryListeners.getListeners();
-			for (int i = 0; i < list.length; i++) {
-				((IRegistryListener) list[i]).registryTerminated(this);
-			}
-		}
-	}
-	
-	/**
-	 Return the current factory to be used for creating IBeanProxy instances
-	 */
-	public IStandardBeanProxyFactory getBeanProxyFactory() {
-		if (fCurrentStandardBeanProxyFactory == null) {
-			throw new RuntimeException(ProxyMessages.getString(ProxyMessages.PROXYFACTORY_NOBEANPROXY));//$NON-NLS-1$
-		}
-		return fCurrentStandardBeanProxyFactory;
-	}
-	/**
-	 Return the current registered bean proxy factory to be used for creating IBeanProxy instances
-	 */
-	public IBeanProxyFactory getBeanProxyFactoryExtension(String packageName) {
-		return (IBeanProxyFactory)fRegisteredExtensionBeanProxyFactories.get(packageName);
-	}
-	
-	/**
-	 Return the current factory to be used for creating IBeanTypeProxy instances
-	 */
-	public IStandardBeanTypeProxyFactory getBeanTypeProxyFactory() {
-		if (fCurrentStandardBeanTypeProxyFactory == null) {
-			throw new RuntimeException(ProxyMessages.getString(ProxyMessages.PROXYFACTORY_NOBEANTYPEPROXY));//$NON-NLS-1$
-		}
-		return fCurrentStandardBeanTypeProxyFactory;
-	}
-	/**
-	 Return the current registered bean type proxy factory to be used for creating IBeanTypeProxy instances
-	 */
-	public IBeanTypeProxyFactory getBeanTypeProxyFactoryExtension(String packageName) {
-		return (IBeanTypeProxyFactory)fRegisteredExtensionBeanTypeProxyFactories.get(packageName);
-	}
-	/**
-	 * Return the requested constants entry
-	 */
-	public Object getConstants(Object key) {
-		return fRegisteredConstants.get(key);
-	}
-	/**
-	 * Return the MethodProxyFactory for this VM.
-	 * Creation date: (3/13/00 10:54:59 AM)
-	 * @return org.eclipse.jem.internal.proxy.core.IMethodProxyFactory
-	 */
-	public IMethodProxyFactory getMethodProxyFactory() {
-		return fMethodProxyFactory;
-	}
-	
-	
-	/**
-	 Register the current registered bean proxy factory to be used for creating IBeanProxy instances
-	 */
-	public void registerBeanProxyFactory(IStandardBeanProxyFactory aStandardFactory) {
-		fCurrentStandardBeanProxyFactory = aStandardFactory;
-	}
-	/**
-	 Register a factory to be used for creating IBeanProxy instances
-	 */
-	public void registerBeanProxyFactory(String packageName, IBeanProxyFactory aFactory) {
-		fRegisteredExtensionBeanProxyFactories.put(packageName, aFactory);
-	}
-	
-	/**
-	 Register the current registered bean type proxy factory to be used for creating IBeanTypeProxy instances
-	 */
-	public void registerBeanTypeProxyFactory(IStandardBeanTypeProxyFactory aStandardFactory) {
-		fCurrentStandardBeanTypeProxyFactory = aStandardFactory;
-	}
-	/**
-	 Register a factory to be used for creating IBeanTypeProxy instances
-	 */
-	public void registerBeanTypeProxyFactory(String packageName, IBeanTypeProxyFactory aFactory) {
-		fRegisteredExtensionBeanTypeProxyFactories.put(packageName, aFactory);
-	}
-	/**
-	 * Set the requested constants entry for this VM.
-	 */
-	public void registerConstants(Object key, Object constant) {
-		fRegisteredConstants.put(key, constant);
-	}
-	/**
-	 * Set the Method Proxy Factory for this VM.
-	 * Creation date: (3/13/00 10:58:19 AM)
-	 */
-	public void registerMethodProxyFactory(IMethodProxyFactory newMethodProxyFactory) {
-		fMethodProxyFactory = newMethodProxyFactory;
-	}
-	/**
-	 * Release the proxy, no longer needed.
-	 * This is a helper method to easily access the release from the bean proxy factory.
-	 */
-	public void releaseProxy(IBeanProxy proxy) {
-		// To simply things if release is called when the factory is down (invalid), then just
-		// go on because the proxy is already released.
-		if (fCurrentStandardBeanProxyFactory != null)
-			fCurrentStandardBeanProxyFactory.releaseProxy(proxy);
-	} 
-
-	/**
-	 * Is this a valid registry, i.e. is it not terminated.
-	 */
-	public boolean isValid() {
-		return fIsValid;
-	}
-		
-	/**
-	 * Terminate the registry. This will go through each factory and terminate it, and
-	 * let the subclass terminate. It will then remove all of the factories so that
-	 * if there are any proxies still hanging around they won't hold onto everything,
-	 * just the this registry will be held onto.
-	 *
-	 * Note during termination, the factories should not reference any other factory.
-	 * It can assume that the factories will take care of themselves and they should
-	 * only release their resources.
-	 *
-	 * The constants registry will not be terminated because they aren't factories.
-	 * However, they will be cleared (no longer referenced) from here so that they
-	 * can be GC'd.
-	 */
-	public final void terminateRegistry() {
-		if (!fIsValid)
-			return;	// Already or are already terminating. Don't do it again and don't notify again.
-		fIsValid = false;
-		if (fCurrentStandardBeanTypeProxyFactory != null) {
-			fCurrentStandardBeanTypeProxyFactory.terminateFactory();
-			fCurrentStandardBeanTypeProxyFactory = null;
-		}
-		if (fCurrentStandardBeanProxyFactory != null) {
-			fCurrentStandardBeanProxyFactory.terminateFactory();
-			fCurrentStandardBeanProxyFactory = null;
-		}
-		if (fMethodProxyFactory != null) {
-			fMethodProxyFactory.terminateFactory();
-			fMethodProxyFactory = null;
-		}
-		
-		Iterator itr = fRegisteredExtensionBeanTypeProxyFactories.values().iterator();
-		while (itr.hasNext()) {
-			((IBeanProxyFactory) itr.next()).terminateFactory();
-		}
-		fRegisteredExtensionBeanTypeProxyFactories.clear();
-		
-		itr = fRegisteredExtensionBeanProxyFactories.values().iterator();
-		while (itr.hasNext()) {
-			((IBeanProxyFactory) itr.next()).terminateFactory();
-		}
-		fRegisteredExtensionBeanProxyFactories.clear();
-		
-		fRegisteredConstants.clear();
-		
-		registryTerminated();
-		
-		fireRegistryTerminated();	// Let everyone know that we are gone.
-	}
-	
-	/**
-	 * Terminate the Registry. It is up to each registry to determine what this means.
-	 */
-	protected abstract void registryTerminated();
-	
-	/**
-	 * Get the callback registry.
-	 */
-	public abstract ICallbackRegistry getCallbackRegistry();
-	
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyLaunchSupport.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyLaunchSupport.java
deleted file mode 100644
index 25bfc19..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyLaunchSupport.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: ProxyLaunchSupport.java,v $
- *  $Revision: 1.4 $  $Date: 2004/03/07 17:21:42 $ 
- */
-package org.eclipse.jem.internal.proxy.core;
-
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.*;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
- 
-/**
- * This is the used to launch the proxy registries.
- * This is a static helper class, it is not meant to be instantiated.
- * 
- * @since 1.0.0
- */
-public class ProxyLaunchSupport {
-	
-	/**
-	 * These are public only so that jem.ui can access this constant. Not meant to be accessed by others.
-	 */
-	public static final QualifiedName PROPERTY_LAUNCH_CONFIGURATION = new QualifiedName("org.eclipse.jem.proxy", "proxyLaunchConfiguration");
-	// If a project's persistent property is set with this value, that means there is at least one
-	// launch configuration with this project, but none are selected as the default. This is here
-	// so that we can check in the object contribution that if not set then don't show the menu
-	// item at all. This is to clean up the popup menu so not so cluttered.
-	// If the property is trully not set, then there is no default and there are no configurations for it.
-	public static final String NOT_SET = "...not..set..";	 
-		
-	/*
-	 * Registry of launch key to LaunchInfo classes.
-	 */
-	private static Map LAUNCH_INFO = new HashMap(2);
-	
-	/**
-	 * LaunchInfo for a launch. Stored by key and retrievable by the key.
-	 * 
-	 * @see ProxyLaunchSupport#getInfo(String)
-	 * @since 1.0.0
-	 */
-	public static class LaunchInfo {
-		/**
-		 * Contributors for this launch
-		 */
-		public IConfigurationContributor[] contributors;
-		
-		/**
-		 * The registry returned from the launch. The launch needs to set this before it returns.
-		 */
-		public ProxyFactoryRegistry resultRegistry;
-		
-		/**
-		 * Set of containers (IClasspathContainer) found in classpath (including required projects).
-		 * This is for each project found. If there was a container in more than one project with the
-		 * id, this set will contain the container from each such project. They are not considered the
-		 * same because they come from a different project.
-		 * <p>
-		 * This is used for determining if a project's container implements the desired contributor.
-		 * 
-		 * Will be <code>null</code> if no project sent in to launch configuration.
-		 * 
-		 * @see org.eclipse.jdt.core.IClasspathContainer
-		 */
-		public Set containers;
-		
-		/**
-		 * Set of unique container id strings found in classpath (including required projects).
-		 * If a container with the same id was found in more than one project, only one id will
-		 * be in this set since they are the same.
-		 * 
-		 * Will be <code>null</code> if no project sent in to launch configuration.
-		 */
-		public Set containerIds;
-		
-		/**
-		 * Set of unique plugin id strings found in classpath (including required projects).
-		 * If a required plugin with the same id was found in more than one project, only one id will
-		 * be in this set since they are the same.
-		 * 
-		 * Will be <code>null</code> if no project sent in to launch configuration.
-		 */		
-		public Set pluginIds;
-	}
-	
-	/**
-	 * Start an implementation using the default config for the given project.
-	 * 
-	 * @param project The project. It must be a java project, and it cannot be <code>null</code>.
-	 * @param vmTitle
-	 * @param aContribs The contributions array. It may be <code>null</code>.
-	 * @param pm
-	 * @return The created registry.
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static ProxyFactoryRegistry startImplementation(
-			IProject project,
-			String vmTitle,
-			IConfigurationContributor[] aContribs,
-			IProgressMonitor pm)
-				throws CoreException {
-		
-		// First find the appropriate launch configuration to use for this project.
-		// The process is:
-		//	1) See if the project's persistent property has a setting for "proxyLaunchConfiguration", if it does,
-		//		get the configuration of that name and create a working copy of it.
-		//	2) If not, then get the "org.eclipse.jem.proxy.LocalProxyLaunchConfigurationType"
-		//		and create a new instance working copy.
-
-		IJavaProject javaProject = JavaCore.create(project);
-		if (javaProject == null) {
-			throw new CoreException(
-					new Status(
-							IStatus.WARNING,
-							ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
-							0,
-							MessageFormat.format(
-									ProxyMessages.getString(ProxyMessages.NOT_JAVA_PROJECT),
-									new Object[] { project.getName()}),
-							null));
-		}
-
-		// First if specific set.
-		String launchName = project.getPersistentProperty(PROPERTY_LAUNCH_CONFIGURATION);
-		ILaunchConfiguration config = null;		
-		if (launchName != null && !NOT_SET.equals(launchName)) {
-			ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations();
-			for (int i = 0; i < configs.length; i++) {
-				if (configs[i].getName().equals(launchName)) {
-					config = configs[i];
-					break;
-				}
-			}
-			if (config == null || !config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, "").equals(project.getName())) {
-				project.setPersistentProperty(PROPERTY_LAUNCH_CONFIGURATION, (String) null);	// Config not found, or for a different project, so no longer the default.
-				config = null;
-			}
-		}
-		
-		if (config == null) {
-			ILaunchConfigurationWorkingCopy configwc = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(IProxyConstants.LOCAL_LAUNCH_TYPE).newInstance(null, DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom("LocalProxy_"+project.getName()));
-			configwc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, project.getName()); 
-			config = configwc;
-		}
-		
-		return startImplementation(config, vmTitle, aContribs, pm);
-	}
-	
-	/**
-	 * Launch a registry using the given configuration.
-	 * @param config 
-	 * @param vmTitle
-	 * @param aContribs The contributions array. It may be <code>null</code>.
-	 * @param pm
-	 * @return The registry from this configuration.
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static ProxyFactoryRegistry startImplementation(
-			ILaunchConfiguration config,
-			String vmTitle,
-			IConfigurationContributor[] aContribs,
-			IProgressMonitor pm)
-			throws CoreException {
-		
-		if (pm == null)
-			pm = new NullProgressMonitor();
-		
-		final ILaunchConfigurationWorkingCopy configwc = config.getWorkingCopy();
-		
-		// See if build needed or waiting or inprogress, if so, wait for it to complete. We've
-		// decided
-		// too difficult to determine if build would affect us or not, so just wait.
-		pm.beginTask(ProxyMessages.getString("ProxyLaunch"), 400);
-		handleBuild(new SubProgressMonitor(pm, 100));
-				
-		if (aContribs != null) {
-			IConfigurationContributor[] newContribs = new IConfigurationContributor[aContribs.length+1];
-			System.arraycopy(aContribs, 0, newContribs, 1, aContribs.length);
-			newContribs[0] = new ProxyContributor();
-			aContribs = newContribs;
-		} else
-			aContribs = new IConfigurationContributor[] {new ProxyContributor()};
-
-		String launchKey = String.valueOf(System.currentTimeMillis());
-		LaunchInfo launchInfo = new LaunchInfo();
-		synchronized (ProxyLaunchSupport.class) {
-			while (LAUNCH_INFO.containsKey(launchKey)) {
-				launchKey += 'a'; // Just add something on to make it unique.
-			}
-			LAUNCH_INFO.put(launchKey, launchInfo);
-		}
-		
-		String projectName = configwc.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, (String) null);
-		if (projectName != null) {
-			projectName = projectName.trim();
-			if (projectName.length() > 0) {
-				IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-				IJavaProject javaProject = JavaCore.create(project);
-				if (javaProject != null && javaProject.exists()) {
-					launchInfo.containerIds = new HashSet(5);
-					launchInfo.containers = new HashSet(5);
-					launchInfo.pluginIds = new HashSet(5);
-					ProxyPlugin.getPlugin().getIDsFound(javaProject, launchInfo.containerIds, launchInfo.containers, launchInfo.pluginIds);					
-					if (!launchInfo.containerIds.isEmpty() || !launchInfo.containers.isEmpty() || !launchInfo.pluginIds.isEmpty()) {
-						List computedContributors = new ArrayList(launchInfo.containerIds.size()+launchInfo.containers.size()+launchInfo.pluginIds.size());
-						// First handle explicit classpath containers that implement IConfigurationContributor
-						for (Iterator iter = launchInfo.containers.iterator(); iter.hasNext();) {
-							IClasspathContainer container = (IClasspathContainer) iter.next();
-							if (container instanceof IConfigurationContributor)
-								computedContributors.add(container);
-						}
-						
-						// Second add in contributors that exist for a container id.
-						for (Iterator iter = launchInfo.containerIds.iterator(); iter.hasNext();) {
-							String containerid = (String) iter.next();
-							IConfigurationElement[] contributors = ProxyPlugin.getPlugin().getContainerConfigurations(containerid);
-							if (contributors != null)
-								for (int i = 0; i < contributors.length; i++) {
-									computedContributors.add(contributors[i].createExecutableExtension(ProxyPlugin.PI_CLASS));
-								}
-						}
-						
-						// Finally add in contributors that exist for a plugin id.
-						for (Iterator iter = launchInfo.pluginIds.iterator(); iter.hasNext();) {
-							String pluginId = (String) iter.next();
-							IConfigurationElement[] contributors = ProxyPlugin.getPlugin().getPluginConfigurations(pluginId);
-							if (contributors != null)
-								for (int i = 0; i < contributors.length; i++) {
-									computedContributors.add(contributors[i].createExecutableExtension(ProxyPlugin.PI_CLASS));
-								}
-						}
-						
-						// Now turn into array
-						if (!computedContributors.isEmpty()) {
-							IConfigurationContributor[] newContribs = new IConfigurationContributor[aContribs.length+computedContributors.size()];
-							System.arraycopy(aContribs, 0, newContribs, 0, aContribs.length);
-							IConfigurationContributor[] cContribs = (IConfigurationContributor[]) computedContributors.toArray(new IConfigurationContributor[computedContributors.size()]);
-							System.arraycopy(cContribs, 0, newContribs, aContribs.length, cContribs.length);
-							aContribs = newContribs;
-						}
-					}
-				}
-			}
-		}
-		
-		launchInfo.contributors = aContribs;
-		
-		try {		
-			configwc.setAttribute(IProxyConstants.ATTRIBUTE_LAUNCH_KEY, launchKey);
-			if (vmTitle != null && vmTitle.length()>0)
-				configwc.setAttribute(IProxyConstants.ATTRIBUTE_VM_TITLE, vmTitle);
-			
-			if (ATTR_PRIVATE != null)
-				configwc.setAttribute(ATTR_PRIVATE, true);			
-			
-			// Let contributors modify the configuration.
-			final IConfigurationContributor[] contribs = aContribs;
-			for (int i = 0; i < contribs.length; i++) {
-				// Run in safe mode so that anything happens we don't go away.
-				final int ii = i;
-				Platform.run(new ISafeRunnable() {
-					public void handleException(Throwable exception) {
-						// Don't need to do anything. Platform.run logs it for me.
-					}
-
-					public void run() throws Exception {
-						contribs[ii].contributeToConfiguration(configwc);
-					}
-				});
-			}
-			pm.worked(100);
-			
-			configwc.launch(ILaunchManager.RUN_MODE, new SubProgressMonitor(pm, 100));
-			
-			final ProxyFactoryRegistry reg = launchInfo.resultRegistry;
-			for (int i = 0; i < contribs.length; i++) {
-				final int ii = i;
-				// Run in safe mode so that anything happens we don't go away.
-				Platform.run(new ISafeRunnable() {
-					public void handleException(Throwable exception) {
-						// Don't need to do anything. Platform.run logs it for me.
-					}
-
-					public void run() throws Exception {
-						contribs[ii].contributeToRegistry(reg);
-					}
-				});
-			}
-		} finally {
-			// Clean up and return.
-			LAUNCH_INFO.remove(launchKey);
-		}	
-		
-		pm.done();
-		return launchInfo.resultRegistry;
-	}
-	
-	private static void handleBuild(IProgressMonitor pm) throws CoreException {
-		boolean autobuilding = ResourcesPlugin.getWorkspace().isAutoBuilding();
-		if (!autobuilding) {
-			// We are not autobuilding. So kick off a build right here and
-			// wait for it.
-			ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, pm);			
-		} else {
-			Job[] build = Platform.getJobManager().find(ResourcesPlugin.FAMILY_AUTO_BUILD);
-			if (build.length == 1) {
-				if (build[0].getState() == Job.RUNNING || build[0].getState() == Job.WAITING || build[0].getState() == Job.SLEEPING) {
-					pm.beginTask(ProxyMessages.getString("ProxyWaitForBuild"), 100); //$NON-NLS-1$
-					try {						
-						build[0].join();						
-					} catch (InterruptedException e) {
-						throw new CoreException(
-								new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), IStatus.ERROR, "", e)); //$NON-NLS-1$
-					}
-				}
-			}
-			pm.done();
-		}
-	}
-	
-	
-	/*
-	 * This prevents the launch from being shown. However these constants are in UI component, and we don't
-	 * want to pre-req that. So we will get them reflectively instead.
-	 * public but only so that launch delegate can get to it.
-	 */
-	public static String ATTR_PRIVATE;
-	static {
-		ATTR_PRIVATE = null;
-		try {
-			// So that we can run headless (w/o ui), need to do class forName for debugui contants
-			Plugin debuguiPlugin = Platform.getPlugin("org.eclipse.debug.ui"); //$NON-NLS-1$
-			if (debuguiPlugin != null) {
-				Class debugUIConstants = debuguiPlugin.getDescriptor().getPluginClassLoader().loadClass("org.eclipse.debug.ui.IDebugUIConstants"); //$NON-NLS-1$
-				ATTR_PRIVATE = (String) debugUIConstants.getField("ATTR_PRIVATE").get(null); //$NON-NLS-1$
-			}
-		} catch (SecurityException e) {
-		} catch (ClassNotFoundException e) {
-		} catch (NoSuchFieldException e) {
-		} catch (IllegalArgumentException e) {
-		} catch (IllegalAccessException e) {
-		}
-	}	
-
-	/* (non-Javadoc)
-	 * Only referenced by launch delegates. public because they are in other packages,
-	 * or even external developers packages. Not meant to be generally available.
-	 * 
-	 * This is needed because we can't pass the generic info into a launch configuration
-	 * because a launch configuration can't take objects. Only can take strings and numbers.  
-	 */
-	public static synchronized LaunchInfo getInfo(String key) {
-		return (LaunchInfo) LAUNCH_INFO.get(key);
-	}
-	
-	/* (non-Javadoc)
-	 * Local contributor used to make sure that certain jars are in the path.
-	 * 
-	 * @since 1.0.0
-	 */
-	static class ProxyContributor implements IConfigurationContributor {
-		public void contributeClasspaths(IConfigurationContributionController controller) {
-			// Add the required jars to the end of the classpath.
-			controller.contributeClasspath(ProxyPlugin.getPlugin(), "proxycommon.jar", IConfigurationContributionController.APPEND_USER_CLASSPATH, false);	//$NON-NLS-1$
-			controller.contributeClasspath(ProxyPlugin.getPlugin(), "initparser.jar", IConfigurationContributionController.APPEND_USER_CLASSPATH, true);	//$NON-NLS-1$			
-		}
-		public void contributeToConfiguration(ILaunchConfigurationWorkingCopy config) {
-		}
-		public void contributeToRegistry(ProxyFactoryRegistry registry) {
-		}
-	}
-	
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyMessages.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyMessages.java
deleted file mode 100644
index 3caf438..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyMessages.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ProxyMessages.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ProxyMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.jem.internal.proxy.core.messages";	//$NON-NLS-1$
-
-	// Keys for messages/strings within the resource bundle.
-	static public final String
-		CLASSCAST_INCORRECTTYPE = "ClassCast_EXC_.IncorrectType", //$NON-NLS-1$
-		UNEXPECTED_EXCEPTION = "UnexpectedException_EXC_", //$NON-NLS-1$
-		PROXYFACTORY_NOBEANPROXY = "ProxyFactory_EXC_.NoBeanProxyFactory", //$NON-NLS-1$
-		PROXYFACTORY_NOBEANTYPEPROXY = "ProxyFactory_EXC_.NoBeanTypeProxyFactory", //$NON-NLS-1$
-		NOT_JAVA_PROJECT = "Not_Java_Project_WARN_", //$NON-NLS-1$
-		NO_VM = "No_VM_WARN_", //$NON-NLS-1$
-		NO_IMPLEMENTATION = "No_Implementation_WARN_"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ProxyMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyPlugin.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyPlugin.java
deleted file mode 100644
index be1ddf0..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyPlugin.java
+++ /dev/null
@@ -1,738 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ProxyPlugin.java,v $
- *  $Revision: 1.11 $  $Date: 2004/03/10 23:02:38 $ 
- */
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.*;
-import java.util.logging.Level;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.plugins.PluginRegistry;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.*;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.osgi.util.ManifestElement;
-import org.eclipse.pde.core.IModel;
-import org.eclipse.pde.core.plugin.*;
-import org.eclipse.pde.internal.core.PDECore;
-import org.eclipse.pde.internal.core.WorkspaceModelManager;
-import org.osgi.framework.*;
-
-import com.ibm.wtp.common.logger.proxy.Logger;
-import com.ibm.wtp.logger.proxyrender.EclipseLogger;
-
-/**
- * The plugin class for the org.eclipse.jem.internal.proxy.core plugin.
- */
-
-public class ProxyPlugin extends Plugin {
-	
-	/**
-	 * This interface is for a listener that needs to know if this plugin (ProxyPlugin) is being shutdown. 
-	 * It is needed because there are some extensions that get added dynamically that need to know when the
-	 * plugin is being shutdown. Can't use new bundle listener for this because it notifies AFTER shutdown.
-	 * 
-	 * @since 1.0.0
-	 */
-	public interface IProxyPluginShutdownListener {
-		/**
-		 * ProxyPlugin is in shutdown.
-		 * 
-		 * @since 1.0.0
-		 */
-		public void shutdown();
-	}
-	
-	private static ProxyPlugin PROXY_PLUGIN = null;
-		
-	// If this is set to true, then in development mode and it will try for proxy jars in directories.
-	private boolean devMode;
-	
-	private ListenerList shutdownListeners;
-
-	public ProxyPlugin(IPluginDescriptor pluginDescriptor) {
-		super(pluginDescriptor);
-		PROXY_PLUGIN = this;
-		devMode = BootLoader.inDevelopmentMode();	// TODO need to get rid of this, they use system properties. Not sure if set though.
-		
-	}
-
-	/**
-	 * Accessor method to get the singleton plugin.
-	 */
-	public static ProxyPlugin getPlugin() {
-		return PROXY_PLUGIN;
-	}
-	
-	private Logger logger;
-	public Logger getLogger() {
-		if (logger == null)
-			logger = EclipseLogger.getEclipseLogger(this);
-		return logger;
-	}	
-
-	/**
-	 * See localizeFromPluginDescriptor...
-	 * This is just a helper to pass in a Plugin where the plugin is handy instead of the IPluginDescriptor.
-	 */
-	public String localizeFromPlugin(Plugin plugin, String fileNameWithinPlugin) {
-		return localizeFromPluginDescriptor(plugin.getDescriptor(), fileNameWithinPlugin);
-	}
-	
-	/**
-	 * This will take the plugin and file name and make it local and return that
-	 * fully qualified. It will not take fragments into account.
-	 * 
-	 * If we are in development and it will pick it up from the path
-	 * that is listed in the proxy.jars file located in the plugin passed in. This allows development code to be
-	 * used in place of the actual runtime jars. If the runtime jars are found,
-	 * they will be used.
-	 * 
-	 * For example if looking for file runtime/xyz.jar in plugin abc, then in plugin directory for abc,
-	 * there should be a file called proxy.jars. This should only be in development, this file should not
-	 * be distributed for production. It would be distributed in the SDK environment when testing is desired.
-	 * 
-	 * The format of the file is:
-	 * 	runtimefile=/projectname/builddirectory
-	 *
-	 * For this to work when the actual jar is not found, the Eclipse must of been started in 
-	 * dev mode (i.e. the plugin location will be a project within the developer Eclipse. That way
-	 * we can go up one level for the current install location and assume the above projectname
-	 * will be found relative to the directory.
-	 * 
-	 * For the above example:
-	 * 	runtime/xyz.jar=/xyzproject/bin
-	 * 
-	 * It will return "." if file can't be found. It means nothing but it won't cause jvm to crash.
-	 */
-	public String localizeFromPluginDescriptor(IPluginDescriptor pluginDescriptor, String filenameWithinPlugin) {
-		URL url = urlLocalizeFromPluginDescriptor(pluginDescriptor, filenameWithinPlugin);
-		return url != null ? url.getFile() : "."; //$NON-NLS-1$
-	}
-	
-	/**
-	 * localizeFromPluginDescriptorAndFragments.
-	 * Just like localizeFromPluginDescriptor except it will return an array of Strings. It will look for the filename
-	 * within the plugin and any fragments of the plugin. If none are found, an empty array will be returned.
-	 * 
-	 * To find the files in the fragments that are in the runtime path (i.e. libraries), it will need to use a suffix,
-	 * This is because the JDT will get confused if a runtime jar in a fragment has the same name
-	 * as a runtime jar in the main plugin. So we will use the following search pattern:
-	 * 
-	 * 1) Find in all of the fragments those that match the name exactly
-	 * 2) Find in all of the fragments, in their runtime path (library stmt), those that match the name 
-	 *    but have a suffix the same as the uniqueid of the fragment (preceeded by a period). This is so that it can be easily
-	 *    found but yet be unique in the entire list of fragments. For example if looking for "runtime/xyz.jar"
-	 *    and we have fragment "a.b.c.d.frag", then in the runtime path we will look for the file
-	 *    "runtime/xyz.a.b.c.d.frag.jar".
-	 * 
-	 * If the files in the fragments are not in the fragments library path then it can have the same name.
-	 * 
-	 * This is useful for nls where the nls for the filename will be in one or more of the fragments of the plugin.
-	 */
-	public String[] localizeFromPluginDescriptorAndFragments(IPluginDescriptor pluginDescriptor, String filenameWithinPlugin) {
-		URL[] urls = urlLocalizeFromPluginDescriptorAndFragments(pluginDescriptor, filenameWithinPlugin);
-		String[] result = new String[urls.length];
-		for (int i = 0; i < urls.length; i++) {
-			result[i] = urls[i].getFile();
-		}
-		return result;
-	}
-
-
-	/**
-	 * See localizeFromPluginDescriptorAndFragments...
-	 * This is a helper to return a list of URLs instead.
-	 */
-	public URL[] urlLocalizeFromPluginDescriptorAndFragments(IPluginDescriptor pluginDescriptor, String filenameWithinPlugin) {
-
-		// TODO Need to switch to OSGi API when stable. This will not pick up non-legacy Bundles.
-		try {
-			Bundle[] fragments = Platform.getFragments(pluginDescriptor.getPlugin().getBundle()); // See if there are any fragments
-			if (fragments == null || fragments.length == 0) {
-				URL result = urlLocalizeFromPluginDescriptor(pluginDescriptor, filenameWithinPlugin);
-				return result != null ? new URL[] { result } : new URL[0];
-			} else {
-				ArrayList urls = new ArrayList(fragments.length + 1);
-				URL url = urlLocalizeFromPluginDescriptor(pluginDescriptor, filenameWithinPlugin);
-				if (url != null)
-					urls.add(url);
-				for (int i = 0; i < fragments.length; i++) {
-					Bundle fragment = fragments[i];
-					try {
-						url = fragment.getEntry(filenameWithinPlugin);
-						if (url != null)
-							urls.add(url);
-					} catch (IOException e) {
-						// skip it.
-					}
-					// Also, look through the libraries of the fragment to see if one matches the special path.				
-					// This is where one of the runtime libraries has the fragment id in it. 
-					// TODO This needs to be completely relooked at when we have a stable OSGi API. Not sure how
-					// this will work with that. (As for why we are doing this, look at the comment for localizeFromPluginDescriptorAndFragments
-					String classpath = (String) fragment.getHeaders().get(Constants.BUNDLE_CLASSPATH);
-					try {
-						ManifestElement[] classpaths = ManifestElement.parseClassPath(classpath);
-						if (classpaths != null && classpaths.length > 0) {
-							int extndx = filenameWithinPlugin.lastIndexOf('.');
-							String libFile = null;
-							if (extndx != -1)
-								libFile =
-									filenameWithinPlugin.substring(0, extndx)
-										+ '.'
-										+ fragment.getBundleId()
-										+ filenameWithinPlugin.substring(extndx);
-							else
-								libFile = filenameWithinPlugin + '.' + fragment.getBundleId();
-							for (int j = 0; j < classpaths.length; j++) {
-								IPath cp = new Path(classpaths[j].getValue());
-								// The last segment should be the file name. That is the name we are looking for.
-								if (libFile.equals(cp.lastSegment())) {
-									try {
-										url = fragment.getEntry(classpaths[j].getValue());
-										// Though the actual classpath entry is the file we are looking for.
-										if (url != null)
-											urls.add(url);
-										break;
-									} catch (IOException e) {
-										// Ignore it if i/o error.
-									}
-								}
-							}
-						}
-					} catch (BundleException e) {
-						ProxyPlugin.getPlugin().getLogger().log(e, Level.INFO);
-					}
-				}
-				return (URL[]) urls.toArray(new URL[urls.size()]);
-			}
-		} catch (CoreException e) {
-			ProxyPlugin.getPlugin().getLogger().log(e, Level.INFO);
-			return new URL[0];
-		}
-	}
-	
-	private static final IPath PROXYJARS_PATH = new Path("proxy.jars");
-	/**
-	 * See localizeFromPluginDescriptor...
-	 * This is just a helper to return a url instead.
-	 */		
-	public URL urlLocalizeFromPluginDescriptor(IPluginDescriptor pluginDescriptor, String filenameWithinPlugin) {					
-		try {
-			URL pvm = pluginDescriptor.find(new Path(filenameWithinPlugin));
-			if (pvm != null)
-				pvm = Platform.asLocalURL(pvm);
-			if (devMode) {
-				// Need to test if found in devmode. Otherwise we will just assume it is found. If not found on remote and moved to cache, an IOException would be thrown.
-				if (pvm != null) {
-					InputStream ios = null;
-					try {
-						ios = pvm.openStream();
-						if (ios != null)
-							return pvm; // Found it, so return it.
-					} finally {
-						if (ios != null)
-							ios.close();
-					}
-				}
-			} else
-				return pvm;
-		} catch (IOException e) {
-		}
-
-		if (devMode) {
-			// Got this far and in dev mode means it wasn't found, so we'll try for development style.
-			// It is assumed that in dev mode, we are running with the IDE as local and any 
-			// build outputs will be local so local file protocol will be returned
-			// from Platform.resolve(). We won't be running in dev mode with our entireplugin being in a jar,
-			// or on a separate system.
-			try {
-				URL pvm = pluginDescriptor.find(PROXYJARS_PATH);
-				if (pvm != null) {
-					InputStream ios = null;
-					try {
-						ios = pvm.openStream();
-						Properties props = new Properties();
-						props.load(ios);
-						String pathString = props.getProperty(filenameWithinPlugin);
-						if (pathString != null) {
-							IPath path = new Path(Platform.resolve(pluginDescriptor.getInstallURL()).getFile());
-							path = path.removeLastSegments(1); // Move up one level to workspace root of development workspace.
-							path = path.append(pathString);
-							return new URL("file", null, path.toString()); //$NON-NLS-1$
-						}
-					} finally {
-						if (ios != null)
-							ios.close();
-					}
-				}
-			} catch (IOException e) {
-			}
-		}
-
-		return null; // Nothing found
-	}
-
-	/**
-	 * A helper to order the plugin descriptors into pre-req order. 
-	 * If A eventually depends on B, then B will be ahead of A in the
-	 * list of plugins. (I.e. B is a pre-req somewhere of A).
-	 *  
-	 * @param pluginDescriptorsToOrder - IPluginDescriptors of interest. The results will have these in thiee correct order.
-	 * @return An array of the IPluginDescriptors in there order from no prereqs in set to the leaves.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IPluginDescriptor[] orderPlugins(final Set pluginDescriptorsToOrder) {
-		PluginRegistry registry = (PluginRegistry) Platform.getPluginRegistry();
-		int ndx = pluginDescriptorsToOrder.size();
-		IPluginDescriptor[] result = new IPluginDescriptor[ndx];
-		Map dependents = getDependentCounts(false);	// We want the inactive ones too. That way have complete order. They can be ignored later if necessary.
-		// keep iterating until all have been visited. This will actually find them in reverse order from what we
-		// want, i.e. it will find the leaves first. So we will build result array in reverse order.
-		while (!dependents.isEmpty()) {
-			// loop over the dependents list.  For each entry, if there are no dependents, visit
-			// the plugin and remove it from the list.  Make a copy of the keys so we don't end up
-			// with concurrent accesses (since we are deleting the values as we go)
-			Iterator pds = dependents.entrySet().iterator();
-			while (pds.hasNext()) {
-				Map.Entry entry = (Map.Entry) pds.next();
-				IPluginDescriptor descriptor = (IPluginDescriptor) entry.getKey() ;
-				int[] count = (int[]) entry.getValue();
-				if (count != null && count[0] <= 0) {
-					if (pluginDescriptorsToOrder.contains(descriptor))
-						result[--ndx] = descriptor;
-					pds.remove();
-					// decrement the dependent count for all of the prerequisites.
-					IPluginPrerequisite[] requires = descriptor.getPluginPrerequisites();
-					int reqSize = (requires == null) ? 0 : requires.length;
-					for (int j = 0; j < reqSize; j++) {
-						String id = requires[j].getUniqueIdentifier();
-						IPluginDescriptor prereq = registry.getPluginDescriptor(id);
-						int[] countPrereq = (int[]) dependents.get(prereq);
-						if (countPrereq != null)
-							--countPrereq[0];
-					}
-				}
-			}
-		}
-		return result;
-	}
-	
-	
-	private static Map getDependentCounts(boolean activeOnly) {
-		// TODO This needs to move to OSGi format when that API becomes stable. Currently this cannot handle
-		// plugins that are totally OSGi and not legacy.
-		IPluginRegistry registry = Platform.getPluginRegistry();
-		IPluginDescriptor[] descriptors = Platform.getPluginRegistry().getPluginDescriptors();
-		int descSize = (descriptors == null) ? 0 : descriptors.length;
-		Map dependents = new HashMap(descSize);
-		// build a table of all dependent counts.  The table is keyed by descriptor and
-		// the value the integer number of dependent plugins.
-		for (int i = 0; i < descSize; i++) {
-			if (activeOnly && !descriptors[i].isPluginActivated())
-				continue;
-			if (descriptors[i].getUniqueIdentifier().indexOf("hyades") != -1)
-				continue;	// TODO needs to be removed when 52563 is fixed by eclipse
-			// ensure there is an entry for this descriptor (otherwise it will not be visited)
-			int[] entry = (int[]) dependents.get(descriptors[i]);
-			if (entry == null)
-				dependents.put(descriptors[i], new int[1]);
-			IPluginPrerequisite[] requires = descriptors[i].getPluginPrerequisites();
-			int reqSize = (requires == null ? 0 : requires.length);
-			for (int j = 0; j < reqSize; j++) {
-				String id = requires[j].getUniqueIdentifier();
-				IPluginDescriptor prereq = registry.getPluginDescriptor(id);
-				if (prereq == null || activeOnly && !prereq.isPluginActivated())
-					continue;
-				entry = (int[]) dependents.get(prereq);
-				if (entry == null)
-					dependents.put(prereq, new int[] {1});
-				else
-					++entry[0];
-			}
-		}
-		return dependents;
-	}
-		
-	/**
-	 * Add a shutdown listener
-	 * @param listener
-	 * 
-	 * @since 1.0.0
-	 */
-	public void addProxyShutdownListener(IProxyPluginShutdownListener listener) {
-		if (shutdownListeners == null)
-			shutdownListeners = new ListenerList();
-		shutdownListeners.add(listener);
-	}
-
-	/**
-	 * Remove a shutdown listener
-	 * @param listener
-	 * 
-	 * @since 1.0.0
-	 */
-	public void removeProxyShutdownListener(IProxyPluginShutdownListener listener) {
-		if (shutdownListeners != null)
-			shutdownListeners.remove(listener);
-	}
-	
-	private ILaunchConfigurationListener launchListener = new ILaunchConfigurationListener() {
-		public void launchConfigurationAdded(ILaunchConfiguration configuration) {
-			try {
-				if (!configuration.isWorkingCopy() && IProxyConstants.ID_PROXY_LAUNCH_GROUP.equals(configuration.getCategory()))
-					startCleanupJob();
-			} catch (Exception e) {
-			}
-		}
-
-		public void launchConfigurationChanged(ILaunchConfiguration configuration) {
-			try {
-				if (!configuration.isWorkingCopy() && IProxyConstants.ID_PROXY_LAUNCH_GROUP.equals(configuration.getCategory()))
-					startCleanupJob();
-			} catch (Exception e) {
-			}
-		}
-
-		public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
-			try {
-				// On delete you can't tell the category or anything because all of that info has already removed.
-				if (!configuration.isWorkingCopy())
-					startCleanupJob();
-			} catch (Exception e) {
-			}
-		}
-	};
-	
-	private Job cleanupJob = new Job("Clean up default proxy launch configurations.") {
-		{
-			setSystem(true);	// So it doesn't show up in progress monitor. No need to interrupt user.
-			setPriority(Job.SHORT);	// A quick running job.
-		}
-		protected IStatus run(IProgressMonitor monitor) {
-			synchronized (this) {
-				if (monitor.isCanceled())
-					return Status.CANCEL_STATUS;
-			}
-			// all we want to do is find out if any launch configurations (from proxy launch group) exist for
-			// a project. If they don't, then unset the project's property. If they do, and the property is not
-			// set, then set it to NOT_SET to indicate not set, but there are some configs for it.
-			// We just gather the project names that have launch configurations.
-			try {
-				Set projectNames = new HashSet();
-				ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations();
-				for (int i = 0; i < configs.length; i++) {
-					if (IProxyConstants.ID_PROXY_LAUNCH_GROUP.equals(configs[i].getCategory())
-						&& (ProxyLaunchSupport.ATTR_PRIVATE == null || !configs[i].getAttribute(ProxyLaunchSupport.ATTR_PRIVATE, false)))
-						projectNames.add(configs[i].getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, ""));
-				}
-
-				IJavaModel model = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot());
-				IJavaElement[] children = model.getChildren();
-				int cancelCount = 10;
-				for (int j = 0; j < children.length; j++) {
-					if (children[j].getElementType() == IJavaElement.JAVA_PROJECT) {
-						if (--cancelCount <= 0)
-							synchronized (this) {
-								cancelCount = 10;	// Rest for next set of ten.
-								// Checking on every 10 projects because they may be many projects, while only few configs.
-								// This way it will stop sooner.
-								if (monitor.isCanceled())
-									return Status.CANCEL_STATUS;
-							}						
-						IProject p = ((IJavaProject) children[j]).getProject();
-						if (projectNames.contains(p.getName())) {
-							// This project has a launch config. If it has a setting, then do nothing, else need to put on not set. 
-							if (p.getPersistentProperty(ProxyLaunchSupport.PROPERTY_LAUNCH_CONFIGURATION) == null)
-								p.getProject().setPersistentProperty(
-									ProxyLaunchSupport.PROPERTY_LAUNCH_CONFIGURATION,
-									ProxyLaunchSupport.NOT_SET);
-						} else {
-							// This project has no launch configs. Remove any setting if it exists.
-							p.setPersistentProperty(ProxyLaunchSupport.PROPERTY_LAUNCH_CONFIGURATION, (String) null);
-						}
-					}
-				}
-				return Status.OK_STATUS;
-			} catch (CoreException e) {
-				return e.getStatus();
-			}
-		}
-	};
-	
-	private void startCleanupJob() {
-		cleanupJob.cancel();	// Stop what we are doing.
-		cleanupJob.schedule(1000l);	// Schedule to start in one second.
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#startup()
-	 */
-	public void startup() throws CoreException {
-		super.startup();
-		DebugPlugin.getDefault().getLaunchManager().addLaunchConfigurationListener(launchListener);
-		startCleanupJob();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#shutdown()
-	 */
-	public void shutdown() throws CoreException {
-		DebugPlugin.getDefault().getLaunchManager().removeLaunchConfigurationListener(launchListener);
-		cleanupJob.cancel();	// Stop what we are doing.		
-		if (shutdownListeners != null) {
-			Object[] listeners = shutdownListeners.getListeners();
-			for (int i = 0; i < listeners.length; i++) {
-				((IProxyPluginShutdownListener) listeners[i]).shutdown();
-			}
-		}
-		super.shutdown();
-	}
-	
-	public static final String PI_CONFIGURATION_CONTRIBUTION_EXTENSION_POINT = "org.eclipse.jem.proxy.contributor";
-	public static final String PI_CONTAINER = "container";
-	public static final String PI_PLUGIN = "plugin";
-	public static final String PI_CLASS = "class";
-	
-	/*
-	 * Map of container id's to their ordered array of contribution config elements.
-	 */
-	protected Map containerToContributions = null;
-	/*
-	 * Map of plugin id's to their ordered array of contribution config elements.
-	 */
-	protected Map pluginToContributions = null;
-	
-	/**
-	 * Return the plugin ordered array of configuration elements for the given container, or <code>null</code> if not contributed.
-	 * 
-	 * @param containerid
-	 * @return Array of configuration elements or <code>null</code> if this container has no contributions.
-	 * 
-	 * @since 1.0.0
-	 */
-	public IConfigurationElement[] getContainerConfigurations(String containerid) {
-		if (containerToContributions == null)
-			processProxyContributionExtensionPoint();
-		return (IConfigurationElement[]) containerToContributions.get(containerid);
-	}
-
-	/**
-	 * Return the plugin ordered array of configuration elements for the given plugin, or <code>null</code> if not contributed.
-	 * 
-	 * @param pluginid
-	 * @return Array of configuration elements or <code>null</code> if this plugin has no contributions.
-	 * 
-	 * @since 1.0.0
-	 */
-	public IConfigurationElement[] getPluginConfigurations(String pluginid) {
-		if (pluginToContributions == null)
-			processProxyContributionExtensionPoint();
-		return (IConfigurationElement[]) pluginToContributions.get(pluginid);
-	}
-	
-	protected void processProxyContributionExtensionPoint() {
-		ContributorExtensionPointInfo info = processContributionExtensionPoint(PI_CONFIGURATION_CONTRIBUTION_EXTENSION_POINT);
-		containerToContributions = info.containerToContributions;
-		pluginToContributions = info.pluginToContributions;
-	}
-	
-	/**
-	 * Result form processContributionExtensionPoint.
-	 * 
-	 * @see ProxyPlugin#processContributionExtensionPoint(String)
-	 * @since 1.0.0
-	 */
-	public static class ContributorExtensionPointInfo {
-		/**
-		 * Map of container ids (String) to contributions (IConfigurationElement[]) that was found with that id. For each container,
-		 * the contributions will be listed in plugin prereq order.
-		 */
-		public Map containerToContributions;
-		
-		/**
-		 * Map of plugin ids (String) to contributions (IConfigurationElement[]) that was found with that id. For each plugin,
-		 * the contributions will be listed in plugin prereq order.
-		 */
-		public Map pluginToContributions;
-	}
-
-	/**
-	 * Process the extension point looking contributors. It will find entries that have the "container" or "plugin" attributes
-	 * set on them.
-	 * 
-	 * @param extensionPoint fully-qualified extension point id, including plugin id of the extension point.
-	 * @return the contributor info record.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static ContributorExtensionPointInfo processContributionExtensionPoint(String extensionPoint) {
-		// We are processing this once because it is accessed often (once per vm per project).
-		// This can add up so we get it together once here.
-		IExtensionPoint extp = Platform.getExtensionRegistry().getExtensionPoint(extensionPoint);
-		ContributorExtensionPointInfo result = new ContributorExtensionPointInfo();
-		if (extp == null) {
-			result.containerToContributions = Collections.EMPTY_MAP;
-			result.pluginToContributions = Collections.EMPTY_MAP;
-			return result;
-		}
-		
-		IExtension[] extensions = extp.getExtensions();
-		// Need to be in plugin order so that first ones processed have no dependencies on others.
-		HashMap pluginDescriptorsToExtensions = new HashMap(extensions.length);
-		for (int i = 0; i < extensions.length; i++) {
-			IPluginDescriptor desc = extensions[i].getDeclaringPluginDescriptor();
-			IExtension[] ext = (IExtension[]) pluginDescriptorsToExtensions.get(desc);
-			if (ext == null)
-				pluginDescriptorsToExtensions.put(desc, new IExtension[] {extensions[i]});
-			else {
-				// More than one extension defined in this plugin.
-				IExtension[] newExt = new IExtension[ext.length + 1];
-				System.arraycopy(ext, 0, newExt, 0, ext.length);
-				newExt[newExt.length-1] = extensions[i];
-				pluginDescriptorsToExtensions.put(desc, newExt);
-			}
-		}
-		
-		// Now order them so we process in required order.
-		IPluginDescriptor[] ordered = ProxyPlugin.orderPlugins(pluginDescriptorsToExtensions.keySet());
-		result.containerToContributions = new HashMap(ordered.length);
-		result.pluginToContributions = new HashMap(ordered.length);
-		for (int i = 0; i < ordered.length; i++) {
-			IExtension[] exts = (IExtension[]) pluginDescriptorsToExtensions.get(ordered[i]);
-			for (int j = 0; j < exts.length; j++) {
-				IConfigurationElement[] configs = exts[j].getConfigurationElements();
-				// Technically we expect the config elements to have a name of "contributor", but since that
-				// is all that can be there, we will ignore it. The content is what is important.
-				for (int k = 0; k < configs.length; k++) {
-					String container = configs[k].getAttributeAsIs(PI_CONTAINER);
-					if (container != null) {
-						List contributions = (List) result.containerToContributions.get(container);
-						if (contributions == null) {
-							contributions = new ArrayList(1);
-							result.containerToContributions.put(container, contributions);
-						}
-						contributions.add(configs[k]);
-					}
-					String plugin = configs[k].getAttributeAsIs(PI_PLUGIN);
-					if (plugin != null) {
-						List contributions = (List) result.pluginToContributions.get(plugin);
-						if (contributions == null) {
-							contributions = new ArrayList(1);
-							result.pluginToContributions.put(plugin, contributions);
-						}
-						contributions.add(configs[k]);
-					}
-				}
-			} 
-		}
-		
-		// Now go through and turn all of the contribution lists into arrays.
-		for (Iterator iter = result.containerToContributions.entrySet().iterator(); iter.hasNext();) {
-			Map.Entry entry = (Map.Entry) iter.next();
-			entry.setValue(((List) entry.getValue()).toArray(new IConfigurationElement[((List) entry.getValue()).size()]));
-		}
-		for (Iterator iter = result.pluginToContributions.entrySet().iterator(); iter.hasNext();) {
-			Map.Entry entry = (Map.Entry) iter.next();
-			entry.setValue(((List) entry.getValue()).toArray(new IConfigurationElement[((List) entry.getValue()).size()]));
-		}
-		
-		return result;
-	}
-	
-	/**
-	 * For the given java project, return the set of container paths and plugins found. The set entries will be of type IClasspathContainer.
-	 * For example if <code>/SWT_CONTAINER/subpath1</code> is found in the projects path (or from required projects), then
-	 * the container id will be added to the set. They come from the raw classpath entries of the projects.
-	 * <p>
-	 * It also finds all classpath containers that implement <code>org.eclipse.jem.internal.proxy.core.IConfigurationContributor</code> so
-	 * that they can also be called.  
-	 * 
-	 * @param jproject
-	 * @param containerIds This set will be filled in with container ids (type is <code>java.lang.String</code>) that are found in the projects build path.
-	 * @param containers This set will be filled in with classpath containers found in the projects build path.
-	 * @param pluginIds This set will be filled in with plugin ids (type is <code>java.lang.String</code>) that are found in the projects build path.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void getIDsFound(IJavaProject jproject, Set containerIds, Set containers, Set pluginIds) throws JavaModelException {
-		expandProject(JavaCore.newProjectEntry(jproject.getProject().getFullPath()), containerIds, containers, pluginIds, new HashSet(1));
-	}
-	
-	private void expandProject(IClasspathEntry projectEntry, Set containerIds, Set containers, Set plugindiIds, Set expandedProjects) throws JavaModelException {
-		expandedProjects.add(projectEntry);
-		IPath projectPath = projectEntry.getPath();
-		IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(projectPath.lastSegment());
-		if (res == null)
-			return;	// Not exist so don't delve into it.
-		IJavaProject project = (IJavaProject)JavaCore.create(res);
-		if (project == null || !project.exists() || !project.getProject().isOpen())
-			return;	// Not exist as a java project or not open, so don't delve into it.
-
-		IClasspathEntry[] entries = project.getRawClasspath();
-		for (int i = 0; i < entries.length; i++) {
-			IClasspathEntry entry = entries[i];
-			switch (entry.getEntryKind()) {
-				case IClasspathEntry.CPE_PROJECT:
-					if (!expandedProjects.contains(entry))
-						expandProject(entry, containerIds, containers, plugindiIds, expandedProjects);
-					break;
-				case IClasspathEntry.CPE_CONTAINER:
-					IClasspathContainer container = JavaCore.getClasspathContainer(entry.getPath(), project);
-					containers.add(container);
-					containerIds.add(entry.getPath().segment(0));
-					break;
-				default:
-					break;
-			}
-		}		
-		
-		processPlugin(project, plugindiIds);	// expand the plugins for this project, if any.
-	}
-	
-	private void processPlugin(IJavaProject project, Set pluginIds) {
-		WorkspaceModelManager wm = (WorkspaceModelManager)PDECore.getDefault().getWorkspaceModelManager();
-		IModel m = wm.getWorkspaceModel(project.getProject());
-		if (m instanceof IPluginModel) {
-			// it is a plugin, process it.
-			expandPlugin(((IPluginModel) m).getPlugin(), pluginIds);
-		}
-		return;
-	}
-	
-	private void expandPlugin(IPlugin plugin, Set pluginIds) {
-		if (pluginIds.contains(plugin.getId()))
-			return;	// already processed it
-		pluginIds.add(plugin.getId());
-		IPluginImport[] imports = plugin.getImports();
-		for (int i = 0; i < imports.length; i++) {
-			IPluginImport pi = imports[i];
-			if (pluginIds.contains(pi.getId()))
-				continue;	// save time actually going for it. we already processed it.
-			IPlugin pb = PDECore.getDefault().findPlugin(pi.getId(),
-				pi.getVersion(),
-				pi.getMatch());
-			if (pb != null)
-				expandPlugin(pb, pluginIds);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ThrowableProxy.java b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ThrowableProxy.java
deleted file mode 100644
index c26aabf..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ThrowableProxy.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.jem.internal.proxy.core;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ThrowableProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * This is a proxy wrapper for an exception being thrown on the
- * remove VM. The standard exception methods refer to this proxy.
- * To refer to the proxied exception itself, the methods defined
- * in here would be used.
- */
-public abstract class ThrowableProxy extends java.lang.Exception implements IBeanProxy {
-   /**
-    * Constructs an <code>Exception</code> with no specified detail message. 
-    */
-   public ThrowableProxy() {
-		super();
-   }
-
-   /**
-    * Constructs an <code>Exception</code> with the specified detail message. 
-    *
-    * @param   s   the detail message.
-    */
-   public ThrowableProxy(String s) {
-		super(s);
-   }
-	
-	
-	public abstract String getProxyLocalizedMessage();
-	public abstract String getProxyMessage();
-	public abstract void printProxyStackTrace(java.io.PrintWriter writer);
-	public abstract void printProxyStackTrace(java.io.PrintStream stream);
-	public abstract void printProxyStackTrace();
-
-	public String toString() {
-		return super.toString() + "Proxy: " + toBeanString();	//$NON-NLS1$ - toString's aren't nls'ed. //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/messages.properties b/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/messages.properties
deleted file mode 100644
index 5daf4df..0000000
--- a/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/messages.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/messages.properties,v $
-# $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $
-#
-
-
-
-#
-# Exception Messages. All of these messages are the text of an java exception.
-#
-UnexpectedException_EXC_                 = IWAV0064E Unexpected exception thrown.
-
-# {0} and {1} are java classes (e.g. java.lang.Object)
-ClassCast_EXC_.IncorrectType             = IWAV0065E "{0}" is neither a subclass of, nor does it implement, class "{1}".
-
-# Standard Bean Proxy Factory and Standard Bean Type Proxy Factory are terms in beaninfo. They are the 
-# standard (i.e. base) factories for beans or bean types. Bean types are java classes.
-ProxyFactory_EXC_.NoBeanProxyFactory     = IWAV0066E No Standard Bean Proxy Factory has been set.
-ProxyFactory_EXC_.NoBeanTypeProxyFactory = IWAV0067E No Standard Bean Type Proxy Factory has been set.
-
-
-# {0} is the title of a project.
-Not_Java_Project_WARN_                   = IWAV0068W Project "{0}" is not a java project.
-No_VM_WARN_                              = IWAV0069W Project "{0}" has no Java JRE defined to use to run programs within this project.
-No_Implementation_WARN_                  = IWAV0070W Cannot find a proxy implementation to use for project "{0}."
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/CommandException.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/CommandException.java
deleted file mode 100644
index f6475b7..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/CommandException.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.jem.internal.proxy.common;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: CommandException.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-/**
- * An error occurred during command processing.
- *
- */
-
-public class CommandException extends Exception {
-	protected final Object fExceptionData;
-	
-	public CommandException() {
-		fExceptionData = null;
-	}
-	
-	public CommandException(Object data) {
-		fExceptionData = data;
-	}
-	
-	public CommandException(String msg, Object data) {
-		super(msg);
-		fExceptionData = data;
-	}	
-	
-	public Object getExceptionData() {
-		return fExceptionData;
-	}
-	
-	public boolean isRecoverable() {
-		return false;	// By default Command Exceptions are not recoverable.
-	}	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallback.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallback.java
deleted file mode 100644
index 71ba41e..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallback.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.jem.internal.proxy.common;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ICallback.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-/**
- * This interface is to be implemented by any callback.
- * The callback will use the IVMServer passed in to
- * get callback handlers, and the id passed in is
- * to be passed to these handlers.
- */
-public interface ICallback {
-	
-	/**
-	 * Initialize the callback
-	 */
-	public void initializeCallback(IVMServer vmServer, int callbackID);
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallbackHandler.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallbackHandler.java
deleted file mode 100644
index 9e2e6fc..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallbackHandler.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.jem.internal.proxy.common;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ICallbackHandler.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/04 21:25:37 $ 
- */
-
-/**
- * This is the interface for a callback handler.
- * Users will talk to this interface to perform 
- * callbacks.
- */
-public interface ICallbackHandler {
-
-	/**
-	 * Callback, but send the parm as an object, ie. it must
-	 * be nothing but constants, e.g. String, Integer, or an
-	 * array of constants. Constants should not be things like
-	 * regular objects. This is because only standard java.lang
-	 * type constants can be assured to be available on the other
-	 * client. Also you don't want to send big objects. It must
-	 * be constants that don't need to be sent back for any reason
-	 * since their identity will be lost in the transfer.
-	 *
-	 * This should be used if there are no parms (i.e. it is null).
-	 * 
-	 * To send big objects, use the callback stream.
-	 * 
-	 * @param callbackID
-	 * @param msgID
-	 * @param parm
-	 * @return
-	 * @throws CommandException
-	 * 
-	 * @see IVMServer#requestStream(int, int)
-	 * @since 1.0.0
-	 */
-	public Object callbackAsConstants(int callbackID, int msgID, Object parm) throws CommandException;
-
-	/**
-	 * Callback to registered client.
-	 *
-	 * callbackID - The id of the callback. This will be given
-	 *    to the callback when it is created, and it must pass
-	 *    on to the handler. That way it is know which callback
-	 *    to call on the client.
-	 * msgID - The id of the message for the callback. This is an
-	 *    agreed upon id of the developers of the callback on both
-	 *    sides.
-	 * parms - Null if no parms, or an array of objects to send to the client vm. They
-	 *    will be turned into proxies on the client vm. So the callback
-	 *    will recieve an array of proxies to the values in the parms.
-	 *    If any of the entries in the array is itself an array, a
-	 *    proxy to the array will be created and sent. The array itself
-	 *    will not be sent.
-	 *
-	 *    If an array entry should go across as an array of proxies and
-	 *    not as one proxy to an array, then the entry needs to be an
-	 *    instance of ICallbackHandler.TransmitableArray. This will flag
-	 *    that it should transmit the entire entry as proxies. This should
-	 *    be used sparingly, only if there isn't much data in the array and
-	 *    all of the array would be used on the client. That way transmitting
-	 *    the entire array will be faster than accessing individual components.
-	 * 
-	 */
-	public Object callbackWithParms(int callbackID, int msgID, Object[] parms) throws CommandException;
-
-	public static class TransmitableArray {
-		protected final Object[] fArray;
-		public TransmitableArray(Object[] array) {
-			fArray = array;
-		}
-		public Object[] getArray() {
-			return fArray;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallbackRunnable.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallbackRunnable.java
deleted file mode 100644
index cd7b922..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICallbackRunnable.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ICallbackRunnable.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/04 21:25:37 $ 
- */
-package org.eclipse.jem.internal.proxy.common;
-
-/**
- * Users would implement this as a runnable to 
- * send a callback request.
- */
-public interface ICallbackRunnable {
-	
-	/**
-	 * The actual run code.
-	 */
-	public Object run(ICallbackHandler handler) throws CommandException;
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICommandException.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICommandException.java
deleted file mode 100644
index 5d44c53..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/ICommandException.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.eclipse.jem.internal.proxy.common;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ICommandException.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-public class ICommandException {
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/IVMServer.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/IVMServer.java
deleted file mode 100644
index cab87fb..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/IVMServer.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.jem.internal.proxy.common;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IVMServer.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import java.io.OutputStream;
-/**
- * This is the interface for accessing the 
- * VM  Server. It will be given to an
- * ICallback so that the callback can access
- * the server to request a callback.
- */
-public interface IVMServer {
-	
-	
-	/**
-	 * Process a callback. The runnable contains the
-	 * actual code.
-	 */
-	public Object doCallback(ICallbackRunnable runnable) throws CommandException;
-	
-	/**
-	 * Request a stream for writing a lot of data (suggested for larger
-	 * than several thousand bytes). The connection will be assigned
-	 * to this stream until the stream is closed.
-	 */
-	public OutputStream requestStream(int callbackID, int msgID) throws CommandException;
-
-	
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/DebugModeHelper.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/DebugModeHelper.java
deleted file mode 100644
index c00219b..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/DebugModeHelper.java
+++ /dev/null
@@ -1,363 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: DebugModeHelper.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:24 $ 
- */
-
-import java.lang.reflect.*;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-/**
- * This is a helper for debug mode. It allows access to
- * the workbench, if available, or AWT, if available, for
- * the debug prompts. It uses reflection so that nothing is
- * forced to be loaded or pre-reqd. That way it can run headless.
- */
-
-class DebugModeHelper {
-	boolean awt = false;
-	boolean console = false;
-	boolean setup = false;
-	java.io.InputStreamReader inReader = null;
-	
-	// Workbench reflections
-	Object display = null;	
-	Constructor cMB = null;
-	Field fAppModel = null;
-	Method fasync = null;
-	Method fsync = null;	
-	Method fSetText = null;
-	Method fSetMessage = null;
-	Method fOpen = null;
-	Method fGetWorkbench = null;
-	Class cSWT = null;
-		
-	
-	// AWT Reflections
-	Class cMessageDialog = null;
-	Method fDoit = null;
-	
-	protected void setupType() {
-		if (setup)
-			return;
-			
-		setup = true;
-		
-		// See if use system console instead. If false or not set, then try to query usage.	 		
-	 	console = "true".equalsIgnoreCase(Platform.getDebugOption(ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier()+ProxyRemoteUtil.IO_CONSOLE)); //$NON-NLS-1$
-	 	if (console)
-	 		return;
-		
-		try {		 		
-		 	// See if PlatformUI plugin available.
-		 	Plugin uiPlugin = Platform.getPlugin("org.eclipse.ui"); //$NON-NLS-1$
-		 	if (uiPlugin == null) {
-		 		setupAWT();	// UI not available, try through AWT.
-		 		return;
-		 	}
-	
-	 		// Setup Eclipse
-		 	Class cPlatformUI = uiPlugin.getDescriptor().getPluginClassLoader().loadClass("org.eclipse.ui.PlatformUI"); //$NON-NLS-1$
-		 	Method isWBRunning = cPlatformUI.getMethod("isWorkbenchRunning", null);
-		 	if (!((Boolean) isWBRunning.invoke(null, null)).booleanValue()) {
-		 		setupAWT();	// UI not available, try through AWT.
-		 		return;
-		 	}
-		 	
-		 	fGetWorkbench = cPlatformUI.getMethod("getWorkbench", null); //$NON-NLS-1$
-		 	Object w = fGetWorkbench.invoke(null, null);
-
-			if (w != null) {
-	 			Class cDisplay = uiPlugin.getDescriptor().getPluginClassLoader().loadClass("org.eclipse.swt.widgets.Display"); //$NON-NLS-1$
-	 			Method fGetCurrent = cDisplay.getMethod("getCurrent", null); //$NON-NLS-1$
-	 			Method fGetDefault = cDisplay.getMethod("getDefault", null);	 			 //$NON-NLS-1$
-	 			fasync = cDisplay.getMethod("asyncExec", new Class[] {Runnable.class}); //$NON-NLS-1$
-	 			fsync = cDisplay.getMethod("syncExec", new Class[] {Runnable.class}); //$NON-NLS-1$
-	 			
-	 			// Get the display
-	 			display = fGetCurrent.invoke(null, null);
-	 			if (display == null)
-	 				display = fGetDefault.invoke(null, null);
-			}
-			
-			if (display != null) { 	
-	 			Class cShell = uiPlugin.getDescriptor().getPluginClassLoader().loadClass("org.eclipse.swt.widgets.Shell"); //$NON-NLS-1$
-	 			Class cMessageBox = uiPlugin.getDescriptor().getPluginClassLoader().loadClass("org.eclipse.swt.widgets.MessageBox"); //$NON-NLS-1$
-	 			cMB = cMessageBox.getConstructor(new Class[] {cShell, Integer.TYPE});
-
-				fSetText = cMessageBox.getMethod("setText", new Class[] {String.class}); //$NON-NLS-1$
-				fSetMessage = cMessageBox.getMethod("setMessage", new Class[] {String.class});				 //$NON-NLS-1$
-				fOpen = cMessageBox.getMethod("open", null);		 		 //$NON-NLS-1$				
-		 			
-	 			cSWT = uiPlugin.getDescriptor().getPluginClassLoader().loadClass("org.eclipse.swt.SWT"); //$NON-NLS-1$
-	 			fAppModel = cSWT.getField("APPLICATION_MODAL"); //$NON-NLS-1$
-		 	} else {
-		 		setupAWT();	// UI not available, try through AWT.
-		 	}
-		} catch (NoSuchMethodException e) {
-		} catch (ClassNotFoundException e) {
-		} catch (IllegalAccessException e) {
-		} catch (InvocationTargetException e) {
-		} catch (NoSuchFieldException e) {
-		}
-		
-		return;		 			 		
-		 			
-	}	
-
-	protected void setupAWT() {
-	 		
-	 	// See if AWT is available.
-	 	try {
-		 	cMessageDialog = Class.forName("org.eclipse.jem.internal.proxy.remote.MessageDialog"); //$NON-NLS-1$
-		 	fDoit = cMessageDialog.getMethod("doit", new Class[] {String.class, String.class, String.class, String.class}); //$NON-NLS-1$
-		 	awt = true;
-		 	return;
-	 	} catch (ClassNotFoundException e) {
-	 	} catch (NoSuchMethodException e) {
-	 	}
- 		console = true;	// No AWT either, i.e. true headless environment
-	} 	
-	
-	public boolean debugMode(final String name) {
-	 	boolean debugMode = "true".equalsIgnoreCase(Platform.getDebugOption(ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier()+ProxyRemoteUtil.DEBUG_VM)); //$NON-NLS-1$
-	 	if (!debugMode)
-	 		return debugMode;
-	 		
-	 	setupType();
-
-		// See if use system console instead. If false or not set, then try to query usage.	 		
-	 	if (console)
-	 		return debugModeConsole(name);
-	 		
-	 	if (awt)
-	 		return debugModeAWT(name);
-		
-		try {		 		
- 			final Field fYes = cSWT.getField("YES"); //$NON-NLS-1$
- 			Field fNo = cSWT.getField("NO"); //$NON-NLS-1$
- 			Field fIcon = cSWT.getField("ICON_QUESTION"); //$NON-NLS-1$
-	 			
- 			final int style = fYes.getInt(null) | fNo.getInt(null) | fIcon.getInt(null) | fAppModel.getInt(null);	 			
- 			final boolean[] db = new boolean[1];
-
-			fsync.invoke(display, new Object[] { new Runnable() {
-				/**
-				 * @see java.lang.Runnable#run()
-				 */
-				public void run() {
-					try {
-						Object shell = getActiveShell();
-						Object mb = cMB.newInstance(new Object[] {shell, new Integer(style)});					
-						fSetText.invoke(mb, new Object[] {"Debug RemoteVM?"}); //$NON-NLS-1$
-						fSetMessage.invoke(mb, new Object[] {"Do you want to start the remote vm ("+name+") in debug mode?"});	// Not NLS'd because this is for internal developers only //$NON-NLS-1$ //$NON-NLS-2$
-							
-						db[0] = fYes.get(null).equals(fOpen.invoke(mb, null));
-					} catch (InstantiationException e) {
-					} catch (IllegalAccessException e) {
-					} catch (InvocationTargetException e) {
-					}
-				}
-			}});
-		 	return db[0];
-		} catch (IllegalAccessException e) {
-		} catch (InvocationTargetException e) {
-		} catch (NoSuchFieldException e) {
-		}
-		
-		return debugModeAWT(name);
- 	}
- 	
-
-	/*
-	 * This must be called from within the display thread.
-	 */
-	protected Object getActiveShell() {
-	 	Object shell = null;		
-		try {
-			Object w = fGetWorkbench.invoke(null, null);
-			Object ww = null;
-			if (w != null) {
-			 	Class cWorkbench = w.getClass();
-			 	Method getWorkbenchWindow = cWorkbench.getMethod("getActiveWorkbenchWindow", null); //$NON-NLS-1$
-				ww = getWorkbenchWindow.invoke(w, null);
-			}
-			if (ww != null) {
-				Class cWorkbenchWindow = ww.getClass();
-				Method getShell = cWorkbenchWindow.getMethod("getShell", null); //$NON-NLS-1$
-				shell = getShell.invoke(ww, null);
-			}
-		} catch (IllegalAccessException e) {
-		} catch (InvocationTargetException e) {
-		} catch (NoSuchMethodException e) {
-		}
-	 	
-	 	return shell;
-	}	
-		 	
-	protected boolean debugModeAWT(String name) {
-	 		
-	 	// See if AWT is available.
-	 	try {
-		 	Integer r = (Integer) fDoit.invoke(null, new Object[] {"Debug RemoteVM?", "Do you want to start the remote vm ("+name+") in debug mode?", "Yes", "No"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		 	return r.intValue() == 1;	// i.e. button1 or "yes" was hit.
-	 	} catch (IllegalAccessException e) {
-	 	} catch (InvocationTargetException e) {
-	 	}
-	 	
- 		return false;	// No AWT either, i.e. headless environment, shouldn't of gotton here.
-	} 	
-	
-	protected boolean debugModeConsole(String name) {
-	 		
-	 	// Debug through the console
- 		inReader = new java.io.InputStreamReader(System.in);
- 		System.out.println("Do you want to start the remote vm ("+name+") in debug mode? (Enter Y or N):"); //$NON-NLS-1$ //$NON-NLS-2$
- 		char r = ' ';
- 		try {
- 			r = Character.toLowerCase((char) inReader.read());
- 			// Need to flush the input reader now.
- 			while (inReader.ready())
- 				inReader.read();
-		 	return r == 'y';	// i.e. "y" was entered.	 			
- 		} catch (java.io.IOException e) {
- 		}
-	 	
- 		return false;	// Error reading, so no debugging.
-	} 
- 	
- 	/**
- 	 * Return true if continue debugging.
- 	 */
-	public boolean promptPort(final int dport) {
- 		if (awt)
- 			return promptPortAWT(dport);
- 		else if (console)
- 			return promptPortConsole(dport);
- 			
- 		try {	
-			final Field fOK = cSWT.getField("OK"); //$NON-NLS-1$
-			Field fCancel = cSWT.getField("CANCEL"); //$NON-NLS-1$
-			Field fIcon = cSWT.getField("ICON_WORKING"); //$NON-NLS-1$
-	 			
-			final int style = fOK.getInt(null) | fCancel.getInt(null) | fIcon.getInt(null) | fAppModel.getInt(null);
-
-			final boolean[] ok = new boolean[1];
-			fsync.invoke(display, new Object[] { new Runnable() {	
-				/**
-				 * @see java.lang.Runnable#run()
-				 */
-				public void run() {
-					try {
-						Object shell = getActiveShell();
-						Object mb = cMB.newInstance(new Object[] {shell, new Integer(style)});					
-						fSetText.invoke(mb, new Object[] {"Connect Debugger to RemoteVM!"}); //$NON-NLS-1$
-						fSetMessage.invoke(mb, new Object[] {"You must now attach the debugger to port number "+dport+". Press OK when the debugger is attached. The program will not continue properly without the debugger being attached. Press Cancel if you could not connect the debugger. This will still cause an error, but it will clean up better."});	// Not NLS'd because this is for internal developers only //$NON-NLS-1$ //$NON-NLS-2$
-						ok[0] = fOK.get(null).equals(fOpen.invoke(mb, null));
-					} catch (InstantiationException e) {
-					} catch (IllegalAccessException e) {
-					} catch (InvocationTargetException e) {
-					}
-				}
-			}});			
-			return ok[0];
- 		} catch (NoSuchFieldException e) {
- 		} catch (InvocationTargetException e) {
- 		} catch (IllegalAccessException e) {
- 		}
- 		return false;
-	}	 	
- 	
-	protected boolean promptPortAWT(int dport) {
-		try {
-		 	Integer r = (Integer) fDoit.invoke(null, new Object[] {"Connect Debugger to RemoteVM!", "You must now attach the debugger to port number "+dport+". Press OK when the debugger is attached. The program will not continue properly without the debugger being attached. Press Cancel if you could not connect the debugger. This will still cause an error, but it will clean up better.", "OK", "Cancel"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		 	return r.intValue() == 1;	// i.e. button1 or "OK" was hit.
-		} catch (InvocationTargetException e) {
-		} catch (IllegalAccessException e) {
-		}
- 		
-		return false;
-	}
-		 	
- 	protected boolean promptPortConsole(int dport) {
-		System.out.println("You must now attach the debugger to port number "+dport+". Enter 'y' when the debugger is attached. The program will not continue properly without the debugger being attached. Press 'n' if you could not connect the debugger. This will still cause an error, but it will clean up better. Enter 'y' or 'n':"); //$NON-NLS-1$ //$NON-NLS-2$
-		char r = ' ';
-		try {
-			r = Character.toLowerCase((char) inReader.read());
- 			while (inReader.ready())
- 				inReader.read();
-			return r == 'y';	// i.e. "y" was entered, go on
-		} catch (java.io.IOException e) {
-		}
- 		
-		return false;
-	}
-	
-	/**
-	 * Display an error msg. There will only be an OK button.
-	 * This will always display, debug mode won't be looked at.
-	 * This is for errors. This will be displayed async, so this
-	 * may return before the msg has been displayed and answered,
-	 * but since the only response is OK, it doesn't really matter.
-	 */
-	public void displayErrorMessage(final String title, final String msg) {
-		setupType();
-		if (console)
-			displayErrorMessageConsole(title, msg);
-		else if (awt)
-			displayErrorMessageAWT(title, msg);
-		else {
-			try { // This needs to be done in display thread.
-				Field fOK = cSWT.getField("OK"); //$NON-NLS-1$
-				Field fIcon = cSWT.getField("ICON_ERROR"); //$NON-NLS-1$
-
-				final int style = fOK.getInt(null) | fIcon.getInt(null) | fAppModel.getInt(null);
-				fasync.invoke(display, new Object[] { new Runnable() {
-						/**
-						 * @see java.lang.Runnable#run()
-						 */
-						public void run() { try { Object shell = getActiveShell();
-								Object mb = cMB.newInstance(new Object[] { shell, new Integer(style)});
-
-								fSetText.invoke(mb, new Object[] { title });
-								fSetMessage.invoke(mb, new Object[] { msg });
-								fOpen.invoke(mb, null);
-							} catch (InstantiationException e) {
-							} catch (IllegalAccessException e) {
-							} catch (InvocationTargetException e) {
-							}
-						}
-					}
-				});
-			} catch (NoSuchFieldException e) {
-			} catch (InvocationTargetException e) {
-			} catch (IllegalAccessException e) {
-			}
-		}
-	}	
-	
- 	protected void displayErrorMessageConsole(String title, String msg) {
-		System.out.println("Error: " + title); //$NON-NLS-1$
-		System.out.println("       " + msg); //$NON-NLS-1$
-	}
-	
-	protected void displayErrorMessageAWT(String title, String msg) {
-		try {
-		 	fDoit.invoke(null, new Object[] {title, msg, ProxyRemoteMessages.getString("OK_7"), null}); //$NON-NLS-1$
-		} catch (InvocationTargetException e) {
-		} catch (IllegalAccessException e) {
-		}
-	}		
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanProxy.java
deleted file mode 100644
index fb4f087..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanProxy.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IREMBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * A Remote VM proxy. All IBeanProxy implementations
- * for the Remote VM must also implement this interface.
- * This is necessary for proper functioning.
- *
- * NOTE: This is an internal interface to the Remote VM Proxy.
- * It MUST not be used outside of the proxy factory family.
- */
-
-public interface IREMBeanProxy extends IBeanProxy {
-	/**
-	 * Return the ID of this proxy
-	 */
-	public Integer getID();
-	
-	/**
-	 * Proxy is about to be released, MUST mark it invalid.
-	 * This is required. Resources can also be cleaned up
-	 * if they are being held and need to be cleaned up.
-	 *
-	 * NOTE: This method will only be called when the proxy
-	 * is explicitly released. If it is simply garbage collected,
-	 * then this method will not be called. Simple garbage collection
-	 * means that no one is referencing this proxy. The proxy factory
-	 * will know what id this proxy was referencing and will release it
-	 * on the server at GC time.
-	 *
-	 * If there are resources
-	 * that absolutely must be released, then the finalize method
-	 * should be implemented to do the clean up. However, try not
-	 * to have this be the case. Finalize methods add overhead that is
-	 * usually better not to have. The better way is for any users
-	 * that get this kind of proxy object know to call release on
-	 * ProxyFactoryRegistry to release it before garbage collection.	 
-	 */
-	public void release();
-	
-	/**
-	 * Render this bean for transport to the server into a Commands.ValueObject.
-	 * For example, a string may put a string. An id type may put out the id.
-	 */
-	public void renderBean(Commands.ValueObject renderInto);
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanTypeProxy.java
deleted file mode 100644
index 7035f59..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanTypeProxy.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IREMBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * All bean type proxies in remote vm must implement this interface.
- *
- * NOTE: This is an internal interface to the Remote VM Proxy.
- * It MUST not be used outside of the proxy factory family. 
- */
-public interface IREMBeanTypeProxy extends IBeanTypeProxy, IREMBeanProxy {
-	
-/**
- * Create a new bean proxy with the specified id.
- */
-public IREMBeanProxy newBeanProxy(Integer anID);
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract);
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanTypeProxyFactory.java
deleted file mode 100644
index f498331..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IREMBeanTypeProxyFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Interface for Remote VM Bean Type Proxy Factories.
- * All extension factories for Remote VM must implement this interface.
- */
-
-public interface IREMBeanTypeProxyFactory extends IBeanTypeProxyFactory {
-/**
- * Return a bean type proxy for the class name.
- * Return null if the extension factory doesn't handle this class.
- * Don't register any proxies returned, they will automatically be registered.
- * This should only return bean type proxies where the factory can determine
- * everything it needs, such as supertype and classID.
- * NOTE: This is implemented for the usage of the
- *       standard BeanType proxy factory. It should
- *       NOT be called by anyone else. They should
- *       go through the IStandardBeanTypeFactory
- *       instead. The standard bean type factory
- *       will call this method on the appropriate
- *       extension when it needs to.
- *
- * Creation date: (12/3/99 2:26:12 PM)
- */
-public IREMBeanTypeProxy getExtensionBeanTypeProxy(String typeName);	
-
-/**
- * Return a bean type proxy for the class id and class name.
- * Return null if the extension factory doesn't handle this class. 
- * Don't register any proxies returned, they will automatically be registered. 
- * This will be called in the case that a new class id was returned
- * from the server that we don't have registered yet. Implementers will
- * created a proxy out of the name and the id and return it.
- * The supertype will be passed in so that the extension factory doesn't need to
- * try to find it.
- * NOTE: This is implemented for the usage of the
- *       standard BeanType proxy factory. It should
- *       NOT be called by anyone else. They should
- *       go through the IStandardBeanTypeFactory
- *       instead. The standard bean type factory
- *       will call this method on the appropriate
- *       extension when it needs to.
- *
- * Creation date: (12/3/99 2:26:12 PM)
- */
-public IREMBeanTypeProxy getExtensionBeanTypeProxy(String typeName, Integer classID, IBeanTypeProxy superType);	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConnection.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConnection.java
deleted file mode 100644
index bc1f38a..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConnection.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IREMConnection.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Interface for the Remote VM Connection object.
- */
-
-public interface IREMConnection {
-	
-	/**
-	 * Did this construct correctly.
-	 * This is needed because an exception could be thrown in the ctor and
-	 * that's not a good thing to do.
-	 */
-	public boolean isConnected();
-	
-	/**
-	 * Terminate the server.
-	 * WARNING: This is only here so that factory can to it. Termination should ONLY
-	 * be done by the Factory not any one else. 
-	 */
-	public void terminateServer();
-			
-	/**
-	 * Close the connection.
-	 */
-	public void close();
-	
-	/**
-	 * Get the class information. Null return if not found.
-	 */
-	public Commands.GetClassReturn getClass(String className) throws CommandException;
-
-	/**
-	 * Get the class information from the id. 
-	 */
-	 public Commands.GetClassIDReturn getClassFromID(int classID) throws CommandException;
-
-	
-
-	/**
-	 * Get object data from an id.
-	 */	
-	public void getObjectData(int objectID, Commands.ValueObject valueReturn) throws CommandException;
-		
-	/**
-	 * Get a new instance using the initialization string.
-	 */
-	public void getNewInstance(int classID, String initString, Commands.ValueObject newInstance) throws CommandException;
-		
-	/**
-	 * Invoke the method call.
-	 * The parms valueObject must represent an Object[] (either through ARRAY_IDS or OBJECT)
-	 */	
-	public void invokeMethod(int methodID, Commands.ValueObject invokeOn, Commands.ValueObject parms, Commands.ValueObject returnValue) throws CommandException;
-		
-	/**
-	 * Release the id. It is no longer needed on the client.
-	 */
-	public void releaseID(int id);
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConstantBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConstantBeanProxy.java
deleted file mode 100644
index 3e64d49..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConstantBeanProxy.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IREMConstantBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * Tag interface to indicate this proxy is a constant proxy, i.e. there
- * is no bean on the server representing this (e.g. Strings and Integers).
- */
-
-public interface IREMConstantBeanProxy extends IREMBeanProxy {
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConstantBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConstantBeanTypeProxy.java
deleted file mode 100644
index dc3a0ee..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConstantBeanTypeProxy.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IREMConstantBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * This interface is used for any BeanType that represents a constant type bean.
- * These are types that are immutable and a copy of the actual value is kept here
- * in the client and not stored as an object id.
- */
-
-public interface IREMConstantBeanTypeProxy extends IBeanTypeProxy {
-	
-	/**
-	 * Create a new bean proxy the ValueObject passed in.
-	 */
-	public IBeanProxy newBeanProxy(Commands.ValueObject value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMExpressionConnection.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMExpressionConnection.java
deleted file mode 100644
index f712a46..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMExpressionConnection.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: IREMExpressionConnection.java,v $
- *  $Revision: 1.1 $  $Date: 2004/02/03 23:18:36 $ 
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-import java.io.IOException;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
- 
-/**
- * Additional function on a connection for expression tree processing.
- * Connections returned (IREMConnections) will always also implement IREMExpressionConnection,
- * but they are separated so that expression functions don't pollute the regular
- * connection interface with added commands that shouldn't be called except
- * when processing an expression. If they were called out of order, big problems
- * can occur.
- * <p>
- * To use, simply cast the IREMConnection to be an IREMExpressionConnection.
- * 
- * @since 1.0.0
- */
-public interface IREMExpressionConnection extends IREMConnection {
-	
-	/**
-	 * Start expression processing.
-	 * 
-	 * @throws IOException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void startExpressionProcessing() throws IOException;
-	
-	/**
-	 * Push an expression command. This is the common portion of the
-	 * subcommand. The actual data of the command will be separately done.
-	 * 
-	 * @param subcommand The subcommand being sent. From IInternalExpressionConstants.
-	 * @throws IOException
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.initParser.tree.IInternalExpressionConstants#PUSH_TO_PROXY_EXPRESSION
-	 * @since 1.0.0
-	 */
-	public void pushExpressionCommand(byte subcommand) throws IOException;
-	
-	/**
-	 * Push the value object to the remote side.
-	 * 
-	 * @param valueObject
-	 * @throws CommandException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void pushValueObject(Commands.ValueObject valueObject) throws CommandException;
-
-	/**
-	 * Push just the single byte to the remote side.
-	 * @param abyte
-	 * @throws IOException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void pushByte(byte abyte) throws IOException;
-	
-	/**
-	 * Push just the single int to the remote side.
-	 * 
-	 * @param anInt
-	 * @throws IOException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void pushInt(int anInt) throws IOException;
-	
-	
-	/**
-	 * Push just the singe string to the remote side.
-	 * 
-	 * @param aString
-	 * @throws IOException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void pushString(String aString) throws IOException;
-	
-	/**
-	 * Push just the bool to the remote side.
-	 * @param aBool
-	 * @throws IOException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void pushBoolean(boolean aBool) throws IOException;
-	
-	/**
-	 * Pull the return value and put into the parameter value object. If an error
-	 * occurs, command exception is thrown. The value codes are either <code>ExpressionNoExpressionValueException</code> or
-	 * <code>ThrowableSent</code>
-	 * 
-	 * @param returnValue
-	 * @throws CommandException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void pullValue(Commands.ValueObject returnValue) throws CommandException;
-	
-	/**
-	 * Send the sync command and put the return value into the parameter value object. If an error
-	 * occurs, command exception is thrown. The value codes are either <code>ExpressionNoExpressionValueException</code> or
-	 * <code>ThrowableSent</code>
-	 * 
-	 * @param returnValue
-	 * @throws CommandException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void sync(Commands.ValueObject returnValue) throws CommandException;	
-	
-	/**
-	 * Stop expression processing.
-	 * 
-	 * @throws IOException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void stopExpressionProcessing() throws IOException;
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMMethodProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMMethodProxy.java
deleted file mode 100644
index c604a77..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMMethodProxy.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IREMMethodProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * This interface for REMMethodProxy allows the invokation where
- * the parms are a mixture of constant objects (i.e. can be sent
- * as values to the client) and IBeanProxies. It is only to be
- * used by other factories that want to invoke methods where
- * some of the parms are constants so that there is no need
- * create IBeanProxies for them, e.g. String. This should be
- * used with extreme care.
- */
-
-public interface IREMMethodProxy extends IMethodProxy, IREMBeanProxy {
-	public IBeanProxy invokeWithParms(IBeanProxy subject, Object[] parms) throws ThrowableProxy;
-	
-		
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMSpecialBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMSpecialBeanTypeProxy.java
deleted file mode 100644
index 95297da..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMSpecialBeanTypeProxy.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IREMSpecialBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-/**
- * This is a special interface for allowing abstract
- * types to create the correct subclass types.
- * Only ones that use REMAnAbstractBeanTypeProxy
- * should implement this.
- */
-public interface IREMSpecialBeanTypeProxy {
-	
-	/**
-	 * Called by REMAnAbstractBeanTypeProxy to create a subclass of it.
-	 * This allows correct types to be created depending upon the
-	 * main super type.
-	 */
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract, IBeanTypeProxy superType);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/LocalFileConfigurationContributorController.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/LocalFileConfigurationContributorController.java
deleted file mode 100644
index d70be80..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/LocalFileConfigurationContributorController.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: LocalFileConfigurationContributorController.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/07 17:21:42 $ 
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-
-import org.eclipse.jem.internal.proxy.core.*;
- 
-/**
- * This version works with local files being added to the classpath, and the classpath is strings.
- * 
- * @since 1.0.0
- */
-public class LocalFileConfigurationContributorController implements IConfigurationContributionController {
-
-	private IJavaProject javaProject;
-	private String[] classpathInfo;
-	private String[][] bootpathInfo;
-	private List classpath;
-	private List prependBootpath;
-	private List appendBootpath;
-	private List javaLibraryPath;
-	private ProxyLaunchSupport.LaunchInfo launchInfo;
-	
-	public LocalFileConfigurationContributorController(IJavaProject javaProject, String[] classpathInfo, String[][] bootpathInfo, ProxyLaunchSupport.LaunchInfo launchInfo) {
-		this.javaProject = javaProject;
-		this.classpathInfo = classpathInfo;
-		this.bootpathInfo = bootpathInfo;
-		this.launchInfo = launchInfo;
-	}
-	
-	public String[] getFinalClasspath() {
-		if (classpath == null)
-			return classpathInfo;
-		else
-			return (String[]) classpath.toArray(new String[classpath.size()]);
-	}
-
-	public String[] getFinalPrependBootpath() {
-		if (prependBootpath == null)
-			return bootpathInfo[0];
-		else
-			return (String[]) prependBootpath.toArray(new String[prependBootpath.size()]);
-	}
-	
-	public String[] getFinalAppendBootpath() {
-		if (appendBootpath == null)
-			return bootpathInfo[2];
-		else
-			return (String[]) prependBootpath.toArray(new String[appendBootpath.size()]);
-	}	
-
-	public List getFinalJavaLibraryPath() {
-		if (javaLibraryPath == null)
-			return Collections.EMPTY_LIST;
-		else
-			return javaLibraryPath;
-	}
-	
-	protected List getClasspath() {
-		if (classpath == null) {
-			classpath = new ArrayList(classpathInfo.length);
-			addAll(classpath, classpathInfo, -1);
-		}
-		return classpath;
-	}
-	
-	protected List getPrependBootpath() {
-		if (prependBootpath == null) {
-			if (bootpathInfo[0] != null) {
-				prependBootpath = new ArrayList(bootpathInfo[0].length);
-				addAll(prependBootpath, bootpathInfo[0], -1);
-			} else
-				prependBootpath = new ArrayList(1);
-		}
-		return prependBootpath;
-	}
-	
-	protected List getAppendBootpath() {
-		if (appendBootpath == null) {
-			if (bootpathInfo[2] != null) {
-				appendBootpath = new ArrayList(bootpathInfo[2].length);
-				addAll(appendBootpath, bootpathInfo[2], -1);
-			} else
-				appendBootpath = new ArrayList(1);
-		}
-		return appendBootpath;
-	}	
-	
-	protected List getJavaLibraryPath() {
-		if (javaLibraryPath == null) {
-			javaLibraryPath = new ArrayList(3);
-		}
-		return javaLibraryPath;
-	}
-	
-	protected void addAll(List toList, Object[] array, int loc) {
-		for (int i = 0; i < array.length; i++) {
-			// Need a dup check, sometimes dups come in especially during development
-			if (toList.contains(array[i]))
-				continue;
-			if (loc == -1)
-				toList.add(array[i]);
-			else
-				toList.add(loc++, array[i]);
-		}
-	}
-	
-	protected void addLocations(List toList, IRuntimeClasspathEntry[] entries) {
-		for (int i = 0; i < entries.length; i++) {
-			IRuntimeClasspathEntry entry = entries[i];
-			String location = entry.getLocation();
-			if (location != null && !toList.contains(location))
-				toList.add(location);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#getJavaProject()
-	 */
-	public IJavaProject getJavaProject() {
-		return javaProject;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#getContainerIds()
-	 */
-	public Set getContainerIds() {
-		return launchInfo.containerIds;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#getContainers()
-	 */
-	public Set getContainers() {
-		return launchInfo.containers;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#getPluginIds()
-	 */
-	public Set getPluginIds() {
-		return launchInfo.pluginIds;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#contributeProject(org.eclipse.core.resources.IProject)
-	 */
-	public void contributeProject(IProject project) throws CoreException {
-		IJavaProject jproject = JavaCore.create(project);
-		IRuntimeClasspathEntry[] projPath = JavaRuntime.computeUnresolvedRuntimeClasspath(jproject);
-		boolean jreContainerFound= false;
-		for (int i = 0; i < projPath.length; i++) {
-			IRuntimeClasspathEntry entry= projPath[i];
-			if (entry.getClasspathProperty() == IRuntimeClasspathEntry.BOOTSTRAP_CLASSES || entry.getClasspathProperty() == IRuntimeClasspathEntry.STANDARD_CLASSES) {
-				int entryKind= entry.getClasspathEntry().getEntryKind();
-				String segment0= entry.getPath().segment(0);
-				if (entryKind == IClasspathEntry.CPE_CONTAINER && JavaRuntime.JRE_CONTAINER.equals(segment0)
-						|| entryKind == IClasspathEntry.CPE_VARIABLE && JavaRuntime.JRELIB_VARIABLE.equals(segment0)) {
-					jreContainerFound= true;
-				} else {
-					if (jreContainerFound)
-						addLocations(getAppendBootpath(), JavaRuntime.resolveRuntimeClasspathEntry(entry, jproject));
-					else
-						addLocations(getPrependBootpath(), JavaRuntime.resolveRuntimeClasspathEntry(entry, jproject));
-				}
-			} else {
-				addLocations(getClasspath(), JavaRuntime.resolveRuntimeClasspathEntry(entry, jproject));
-			}
-		}			
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#contributeClasspath(java.lang.String, int)
-	 */
-	public void contributeClasspath(String classpath, int typeFlag) {
-		switch (typeFlag) {
-			case PREPEND_BOOT_CLASSPATH:
-				if (!getPrependBootpath().contains(classpath))
-					getPrependBootpath().add(classpath);
-				break;
-			case PREPEND_USER_CLASSPATH:
-				if (!getClasspath().contains(classpath))
-					getClasspath().add(0, classpath);
-				break;
-			case APPEND_USER_CLASSPATH:
-				if (!getClasspath().contains(classpath))					
-					getClasspath().add(classpath);
-				break;				
-			case APPEND_BOOT_CLASSPATH:
-				if (!getAppendBootpath().contains(classpath))					
-					getAppendBootpath().add(classpath);
-				break;
-			case APPEND_JAVA_LIBRARY_PATH:
-				if (!getJavaLibraryPath().contains(classpath))					
-					getJavaLibraryPath().add(classpath);
-				break;
-		}
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#contributeClasspath(org.eclipse.core.runtime.Plugin, java.lang.String, int, boolean)
-	 */
-	public void contributeClasspath(Plugin plugin, String relativePath, int typeFlag, boolean nlsLocalize) {
-		// If not nls localize, or if it is java library path, then just find the one in the plugin/fragment and add it.
-		if (!nlsLocalize || typeFlag == IConfigurationContributionController.APPEND_JAVA_LIBRARY_PATH)
-			contributeClasspath(ProxyPlugin.getPlugin().localizeFromPlugin(plugin, relativePath), typeFlag);
-		else
-			contributeClasspath(ProxyPlugin.getPlugin().localizeFromPluginDescriptorAndFragments(plugin.getDescriptor(), relativePath), typeFlag);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IConfigurationContributionController#contributeClasspath(java.lang.String[], int)
-	 */
-	public void contributeClasspath(String[] classpaths, int typeFlag) {
-		switch (typeFlag) {
-			case PREPEND_BOOT_CLASSPATH:
-				addAll(getPrependBootpath(), classpaths, -1);
-				break;
-			case PREPEND_USER_CLASSPATH:
-				addAll(getClasspath(), classpaths, 0);
-				break;
-			case APPEND_USER_CLASSPATH:
-				addAll(getClasspath(), classpaths, -1);
-				break;				
-			case APPEND_BOOT_CLASSPATH:
-				addAll(getAppendBootpath(), classpaths, -1);
-				break;
-			case APPEND_JAVA_LIBRARY_PATH:
-				addAll(getJavaLibraryPath(), classpaths, -1);
-				break;
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/LocalProxyLaunchDelegate.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/LocalProxyLaunchDelegate.java
deleted file mode 100644
index c1c3148..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/LocalProxyLaunchDelegate.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2001, 2003 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
- **************************************************************************************************/
-/*
- * $RCSfile: LocalProxyLaunchDelegate.java,v $ $Revision: 1.2 $ $Date: 2004/03/07 17:21:42 $
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.ConnectException;
-import java.net.Socket;
-import java.text.MessageFormat;
-import java.util.*;
-import java.util.Map;
-import java.util.Random;
-import java.util.logging.Level;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.debug.core.*;
-import org.eclipse.debug.core.model.*;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.launching.*;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.remote.awt.REMRegisterAWT;
-
-/**
- * Launch Delegate for launching Local (i.e. remote vm is on local system). Here "remote" means the
- * registry is not in the IDE but in a separate VM, and "local" means that is in on the local
- * physical machine and not on a separate machine.
- * 
- * @since 1.0.0
- */
-public class LocalProxyLaunchDelegate extends AbstractJavaLaunchConfigurationDelegate {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate#launch(org.eclipse.debug.core.ILaunchConfiguration,
-	 *      java.lang.String, org.eclipse.debug.core.ILaunch,
-	 *      org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor pm) throws CoreException {
-
-		String launchKey = configuration.getAttribute(IProxyConstants.ATTRIBUTE_LAUNCH_KEY, (String) null);
-		if (launchKey == null)
-			abort(ProxyRemoteMessages.getString("ProxyRemoteNoLaunchKey"), null, 0);
-
-		// In Eclipse, even if private, a launch will show up in the debug process tree and in the console viewer.
-		// To be absolutely private, we need to remove the launch which has already been added.
-		if (ProxyLaunchSupport.ATTR_PRIVATE != null && configuration.getAttribute(ProxyLaunchSupport.ATTR_PRIVATE, false)) 
-			DebugPlugin.getDefault().getLaunchManager().removeLaunch(launch);		
-		if (pm == null) {
-			pm = new NullProgressMonitor();
-		}
-
-		IJavaProject project = getJavaProject(configuration);
-		String name = configuration.getAttribute(IProxyConstants.ATTRIBUTE_VM_TITLE, (String) null);
-		if (name == null)
-			name = MessageFormat.format(ProxyRemoteMessages.getString("ProxyRemoteVMName"), new Object[] { project != null ? project.getProject().getName() : "" }); //$NON-NLS-1$
-		else
-			name = MessageFormat.format(ProxyRemoteMessages.getString("ProxyRemoteVMNameWithComment"), new Object[] { project != null ? project.getProject().getName() : "", name }); //$NON-NLS-1$
-
-		// Problem with launch, can't have double-quotes in vmName.
-		if (name.indexOf('"') != -1)
-			name = name.replace('"', '\'');
-
-		pm.beginTask(MessageFormat.format(ProxyRemoteMessages.getString("ProxyRemoteLaunchVM"), new Object[] { name }), 500); //$NON-NLS-1$
-		// check for cancellation
-		if (pm.isCanceled())
-			return;
-
-		IVMInstall vm = verifyVMInstall(configuration);
-
-		IVMRunner runner = vm.getVMRunner(mode);
-		if (runner == null) {
-			abort(MessageFormat.format(ProxyRemoteMessages.getString("Proxy_NoRunner_ERROR_"), new Object[] { name }), null, 0); //$NON-NLS-1$
-		}
-
-		File workingDir = verifyWorkingDirectory(configuration);
-		String workingDirName = null;
-		if (workingDir != null) {
-			workingDirName = workingDir.getAbsolutePath();
-		}
-
-		// Environment variables
-		String[] envp = DebugPlugin.getDefault().getLaunchManager().getEnvironment(configuration);
-
-		// Program & VM args
-		String pgmArgs = getProgramArguments(configuration);
-		String vmArgs = getVMArguments(configuration);
-		ExecutionArguments execArgs = new ExecutionArguments(vmArgs, pgmArgs);
-
-		// VM-specific attributes
-		Map vmAttributesMap = getVMSpecificAttributesMap(configuration);
-
-		pm.worked(100);
-		
-		// Now let's get the classpaths created through the contributors.
-		String[] classpath = getClasspath(configuration);
-		String[][] bootpathInfo = getBootpathExt(configuration);
-		ProxyLaunchSupport.LaunchInfo launchInfo = ProxyLaunchSupport.getInfo(launchKey);
-		final IConfigurationContributor[] contributors = launchInfo.contributors;
-		final LocalFileConfigurationContributorController controller =
-			new LocalFileConfigurationContributorController(project, classpath, bootpathInfo, launchInfo);
-		if (contributors != null) {
-			for (int i = 0; i < contributors.length; i++) {
-				// Run in safe mode so that anything happens we don't go away.
-				final int ii = i;
-				Platform.run(new ISafeRunnable() {
-					public void handleException(Throwable exception) {
-						// Don't need to do anything. Platform.run logs it for me.
-					}
-
-					public void run() throws Exception {
-						contributors[ii].contributeClasspaths(controller);
-					}
-				});
-			}
-		}
-
-		// Add in the required ones by the Proxy support. These are hard-coded since they are
-		// required.
-		ProxyRemoteUtil.updateClassPaths(controller);
-
-		classpath = controller.getFinalClasspath();
-		bootpathInfo[0] = controller.getFinalPrependBootpath();
-		bootpathInfo[2] = controller.getFinalAppendBootpath();
-
-		// check for cancellation
-		if (pm.isCanceled())
-			return;
-		pm.worked(100);
-
-		// Create VM config
-		VMRunnerConfiguration runConfig =
-			new VMRunnerConfiguration("org.eclipse.jem.internal.proxy.vm.remote.RemoteVMApplication", classpath);
-
-		REMProxyFactoryRegistry registry = new REMProxyFactoryRegistry(ProxyRemoteUtil.getRegistryController(), name);
-		Integer registryKey = registry.getRegistryKey();
-
-		Integer bufSize = Integer.getInteger("proxyvm.bufsize"); //$NON-NLS-1$
-		if (bufSize == null)
-			bufSize = new Integer(16000);
-
-		int masterServerPort = ProxyRemoteUtil.getRegistryController().getMasterSocketPort();
-
-		// See if debug mode is requested.
-		DebugModeHelper dh = new DebugModeHelper();
-		boolean debugMode = dh.debugMode(name);
-
-		String[] evmArgs = execArgs.getVMArgumentsArray();
-		int extraArgs = 4;	// Number of extra standard args added (if number changes below, this must change)
-		if (debugMode)
-			extraArgs+=4;	// Number of extra args added for debug mode (if number changes below, this must change).
-		List javaLibPaths = controller.getFinalJavaLibraryPath();
-		int existingLibpaths = -1;
-		if (!javaLibPaths.isEmpty()) {
-			// first need to see if java lib path also specified in standard args by someone configuring the configuration by hand.
-			for (int i = 0; i < evmArgs.length; i++) {
-				if (evmArgs[i].startsWith("-Djava.library.path")) {
-					// We found one already here, save the spot so we update it later.
-					existingLibpaths = i;
-					break;
-				}
-			}
-			if (existingLibpaths == -1)
-				++extraArgs;	// Need to have room for one more.
-		}
-		
-		String[] cvmArgs = new String[evmArgs.length + extraArgs];
-		System.arraycopy(evmArgs, 0, cvmArgs, extraArgs, evmArgs.length);	// Put existing into new list at the end.		
-		
-		cvmArgs[0] = "-Dproxyvm.registryKey=" + registryKey;
-		cvmArgs[1] = "-Dproxyvm.masterPort=" + String.valueOf(masterServerPort);
-		cvmArgs[2] = "-Dproxyvm.bufsize=" + bufSize;
-		cvmArgs[3] = "-Dproxyvm.servername=" + name;
-
-		// If in debug mode, we need to find a port for it to use.
-		int dport = -1;
-		if (debugMode) {
-			dport = findUnusedLocalPort("localhost", 5000, 15000, new int[0]); //$NON-NLS-1$
-			cvmArgs[4] = "-Djava.compiler=NONE";
-			cvmArgs[5] = "-Xdebug";
-			cvmArgs[6] = "-Xnoagent";
-			cvmArgs[7] = "-Xrunjdwp:transport=dt_socket,server=y,address=" + dport;
-		}
-		
-		if (!javaLibPaths.isEmpty()) {
-			StringBuffer appendTo = null;
-			if (existingLibpaths != -1) {
-				appendTo = new StringBuffer(evmArgs[existingLibpaths]); 
-				appendTo.append(File.pathSeparatorChar);	// Plus a separator so we can append
-			} else 
-				appendTo = new StringBuffer("-Djava.library.path=");
-			for (int i = 0; i < javaLibPaths.size(); i++) {
-				if (i != 0)
-					appendTo.append(File.pathSeparator);
-				appendTo.append((String) javaLibPaths.get(i));
-			}
-			if (existingLibpaths != -1)
-				cvmArgs[extraArgs+existingLibpaths] = appendTo.toString();
-			else
-				cvmArgs[extraArgs-1] = appendTo.toString();
-		}
-
-		runConfig.setProgramArguments(execArgs.getProgramArgumentsArray());
-		runConfig.setEnvironment(envp);
-		runConfig.setVMArguments(cvmArgs);
-		runConfig.setWorkingDirectory(workingDirName);
-		runConfig.setVMSpecificAttributesMap(vmAttributesMap);
-
-		// Bootpath
-		runConfig.setBootClassPath(getBootpath(configuration));
-		// new bootpath info
-		runConfig.setPrependBootClassPath(bootpathInfo[0]);
-		runConfig.setMainBootClassPath(bootpathInfo[1]);
-		runConfig.setAppendBootClassPath(bootpathInfo[2]);
-
-		// check for cancellation
-		if (pm.isCanceled())
-			return;
-		pm.worked(100);
-
-		// set the default source locator if required
-		setDefaultSourceLocator(launch, configuration);
-
-		// Launch the configuration - 1 unit of work
-		runner.run(runConfig, launch, new SubProgressMonitor(pm, 100));
-
-		// check for cancellation
-		if (pm.isCanceled())
-			return;
-
-		IProcess[] processes = launch.getProcesses();
-		IProcess process = processes[0]; // There is only one.
-		// Check if it is already terminated. If it is, then there was a bad error, so just
-		// print out the results from it.
-		if (process.isTerminated()) {
-			IStreamsProxy stProxy = process.getStreamsProxy();
-			// Using a printWriter for println capability, but it needs to be on another
-			// writer, which will be string
-			java.io.StringWriter s = new java.io.StringWriter();
-			java.io.PrintWriter w = new java.io.PrintWriter(s);
-
-			w.println(ProxyRemoteMessages.getString(ProxyRemoteMessages.VM_TERMINATED));
-			w.println(ProxyRemoteMessages.getString(ProxyRemoteMessages.VM_TERMINATED_LINE1));
-			w.println(stProxy.getErrorStreamMonitor().getContents());
-			w.println(ProxyRemoteMessages.getString(ProxyRemoteMessages.VM_TERMINATED_LINE2));
-			w.println(stProxy.getOutputStreamMonitor().getContents());
-			w.println(ProxyRemoteMessages.getString(ProxyRemoteMessages.VM_TERMINATED_LINE3));
-			w.close();
-
-			String msg = MessageFormat.format(ProxyRemoteMessages.getString("Proxy_Terminated_too_soon_ERROR_"), new Object[] { name }); //$NON-NLS-1$
-			dh.displayErrorMessage(ProxyRemoteMessages.getString("Proxy_Error_Title"), msg); //$NON-NLS-1$
-			throw new CoreException(
-				new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, s.toString(), null));
-		} else {
-			final String traceName = name;
-			IStreamsProxy fStreamsProxy = process.getStreamsProxy();
-
-			class StreamListener implements IStreamListener {
-				String tracePrefix;
-				Level level;
-
-				public StreamListener(String type, Level level) {
-					tracePrefix = traceName + ':' + type + '>';
-					this.level = level;
-				}
-
-				public void streamAppended(String newText, IStreamMonitor monitor) {
-					ProxyPlugin.getPlugin().getLogger().log(tracePrefix + newText, level);
-				}
-			};
-
-			// Always listen to System.err output.
-			IStreamMonitor monitor = fStreamsProxy.getErrorStreamMonitor();
-			if (monitor != null)
-				monitor.addListener(new StreamListener("err", Level.WARNING)); //$NON-NLS-1$
-
-			// If debug trace is requested, then attach trace listener for System.out
-			if ("true".equalsIgnoreCase(Platform.getDebugOption(ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier() + ProxyRemoteUtil.DEBUG_VM_TRACEOUT))) { //$NON-NLS-1$
-				// Want to trace the output of the remote vm's.
-
-				monitor = fStreamsProxy.getOutputStreamMonitor();
-				if (monitor != null)
-					monitor.addListener(new StreamListener("out", Level.INFO)); //$NON-NLS-1$							
-			}
-		}
-
-		// If in debug mode, tester must start debugger before going on.
-		if (debugMode) {
-			if (!dh.promptPort(dport)) {
-				process.terminate();
-				throw new CoreException(
-					new Status(
-						IStatus.WARNING,
-						ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
-						0,
-						"Debugger attach canceled",
-						null));
-			}
-		}
-
-		// Now set up the registry.
-		registry.initializeRegistry(process);
-		new REMStandardBeanTypeProxyFactory(registry);
-		new REMStandardBeanProxyFactory(registry);
-		new REMMethodProxyFactory(registry);
-
-		if (debugMode || REMProxyFactoryRegistry.fGlobalNoTimeouts)
-			registry.fNoTimeouts = true;
-		if (configuration.getAttribute(IProxyConstants.ATTRIBUTE_AWT_SWING, true))
-			REMRegisterAWT.registerAWT(registry);
-
-		launchInfo.resultRegistry = registry;
-
-		pm.done();
-	}
-
-	// Utilities to find the free port
-	private static final Random fgRandom = new Random(System.currentTimeMillis());
-
-	private static int findUnusedLocalPort(String host, int searchFrom, int searchTo, int[] exclude) {
-		for (int i = 0; i < 10; i++) {
-			int port = 0;
-			newport : while (true) {
-				port = getRandomPort(searchFrom, searchTo);
-				if (exclude != null)
-					for (int e = 0; e < exclude.length; e++)
-						if (port == exclude[e])
-							continue newport;
-				break;
-			}
-			try {
-				new Socket(host, port);
-			} catch (ConnectException e) {
-				return port;
-			} catch (IOException e) {
-			}
-		}
-		return -1;
-	}
-
-	private static int getRandomPort(int low, int high) {
-		return (int) (fgRandom.nextFloat() * (high - low)) + low;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/MessageDialog.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/MessageDialog.java
deleted file mode 100644
index b7af2c4..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/MessageDialog.java
+++ /dev/null
@@ -1,325 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: MessageDialog.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import java.awt.*;
-/**
- * This is an AWT message dialog. It will only be used
- * if not running in the workbench by the debug mode helper.
- * It won't be loaded unless AWT is available, so it can be
- * distributed without causing problems on systems that
- * don't have AWT because it won't be loaded in that case.
- */
-class MessageDialog extends Dialog {
-	private java.awt.Panel ivjContentsPane = null;
-	IvjEventHandler ivjEventHandler = new IvjEventHandler();
-	private java.awt.TextArea ivjTextArea1 = null;
-	private java.awt.Button ivjButton1 = null;
-	public int result = 2;	// Nothing hit is the same as button 2.
-	private java.awt.Button ivjButton2 = null;
-
-class IvjEventHandler implements java.awt.event.ActionListener, java.awt.event.WindowListener {
-		public void actionPerformed(java.awt.event.ActionEvent e) {
-			if (e.getSource() == MessageDialog.this.getButton1()) 
-				connEtoC2(e);
-			if (e.getSource() == MessageDialog.this.getButton2()) 
-				connEtoC3(e);
-		};
-		public void windowActivated(java.awt.event.WindowEvent e) {};
-		public void windowClosed(java.awt.event.WindowEvent e) {};
-		public void windowClosing(java.awt.event.WindowEvent e) {
-			if (e.getSource() == MessageDialog.this) 
-				connEtoC1(e);
-		};
-		public void windowDeactivated(java.awt.event.WindowEvent e) {};
-		public void windowDeiconified(java.awt.event.WindowEvent e) {};
-		public void windowIconified(java.awt.event.WindowEvent e) {};
-		public void windowOpened(java.awt.event.WindowEvent e) {};
-	};
-/**
- * MessageDialog constructor comment.
- * @param owner java.awt.Frame
- * @param title java.lang.String
- * @param modal boolean
- */
-public MessageDialog(Frame owner, String title, boolean modal, String msg, String button1, String button2) {
-	super(owner, title, modal);
-
-	initialize();
-	getTextArea1().setText(msg);
-	getButton1().setLabel(button1);
-	if (button2 != null)
-		getButton2().setLabel(button2);
-	else {
-		// We only want one button, so remove button2
-		getContentsPane().remove(getButton2());
-	}
-	
-}
-/**
- * Comment
- */
-public void button1_ActionPerformed() {
-	result = 1;
-	setVisible(false);
-	return;
-}
-/**
- * Comment
- */
-public void button2_ActionPerformed() {
-	result = 2;
-	setVisible(false);
-	return;
-}
-/**
- * connEtoC1:  (MessageDialog.window.windowClosing(java.awt.event.WindowEvent) --> MessageDialog.dispose()V)
- * @param arg1 java.awt.event.WindowEvent
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private void connEtoC1(java.awt.event.WindowEvent arg1) {
-	try {
-		// user code begin {1}
-		// user code end
-		this.dispose();
-		// user code begin {2}
-		// user code end
-	} catch (java.lang.Throwable ivjExc) {
-		// user code begin {3}
-		// user code end
-		handleException(ivjExc);
-	}
-}
-/**
- * connEtoC2:  (Button1.action.actionPerformed(java.awt.event.ActionEvent) --> MessageDialog.button1_ActionPerformed()V)
- * @param arg1 java.awt.event.ActionEvent
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private void connEtoC2(java.awt.event.ActionEvent arg1) {
-	try {
-		// user code begin {1}
-		// user code end
-		this.button1_ActionPerformed();
-		// user code begin {2}
-		// user code end
-	} catch (java.lang.Throwable ivjExc) {
-		// user code begin {3}
-		// user code end
-		handleException(ivjExc);
-	}
-}
-/**
- * connEtoC3:  (Button2.action.actionPerformed(java.awt.event.ActionEvent) --> MessageDialog.button2_ActionPerformed()V)
- * @param arg1 java.awt.event.ActionEvent
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private void connEtoC3(java.awt.event.ActionEvent arg1) {
-	try {
-		// user code begin {1}
-		// user code end
-		this.button2_ActionPerformed();
-		// user code begin {2}
-		// user code end
-	} catch (java.lang.Throwable ivjExc) {
-		// user code begin {3}
-		// user code end
-		handleException(ivjExc);
-	}
-}
-/**
- * Display dialog.
- * @param args java.lang.String[]
- */
-public static int doit(String title, String message, String button1, String button2) {
-	try {
-		Frame f = new java.awt.Frame(title);
-		f.setVisible(true);
-		// Need to massage the method since AWT doesn't have wordwrap. This is for left to right only.
-		String msg = message;
-		if (message.length() > 95) {
-			msg = ""; //$NON-NLS-1$
-nextSeg:	while (message.length() > 95) {
-				// Too wide, wrapping should be done. This is just a rough guess.
-				for (int i=95; 0<=i; i--) {
-					if (message.charAt(i) == ' ') {
-						// Break here.
-						msg = msg + message.substring(0, i) + '\n';
-						if (i+1 < message.length())
-							message = message.substring(i+1);
-						else
-							message = ""; //$NON-NLS-1$
-						continue nextSeg;
-					}
-				}
-				// If we got here, then there weren't any spaces in the first 80, so look right for first space.
-				for (int i=96; i<message.length(); i++) {
-					if (message.charAt(i) == ' ') {
-						// Break here
-						msg = msg + message.substring(0, i) + '\n';
-						if (i+1 < message.length())
-							message = message.substring(i+1);
-						else
-							message = ""; //$NON-NLS-1$
-						continue nextSeg;
-					}
-				}
-			}
-			msg += message;	// Now put on whatever is left.
-		}
-		MessageDialog aMessageDialog = new MessageDialog(f,title,true, msg, button1, button2);
-		aMessageDialog.pack();
-		aMessageDialog.getToolkit().beep();
-		aMessageDialog.setVisible(true);
-		f.dispose();
-		aMessageDialog.dispose();
-
-		return aMessageDialog.result;
-	} catch (Throwable exception) {
-	}
-
-	return 2;
-}
-/**
- * Return the Button1 property value.
- * @return java.awt.Button
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private java.awt.Button getButton1() {
-	if (ivjButton1 == null) {
-		try {
-			ivjButton1 = new java.awt.Button();
-			ivjButton1.setName("Button1"); //$NON-NLS-1$
-			ivjButton1.setLabel("Button1"); //$NON-NLS-1$
-			// user code begin {1}
-			// user code end
-		} catch (java.lang.Throwable ivjExc) {
-			// user code begin {2}
-			// user code end
-			handleException(ivjExc);
-		}
-	}
-	return ivjButton1;
-}
-/**
- * Return the Button2 property value.
- * @return java.awt.Button
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private java.awt.Button getButton2() {
-	if (ivjButton2 == null) {
-		try {
-			ivjButton2 = new java.awt.Button();
-			ivjButton2.setName("Button2"); //$NON-NLS-1$
-			ivjButton2.setLabel("Button2"); //$NON-NLS-1$
-			// user code begin {1}
-			// user code end
-		} catch (java.lang.Throwable ivjExc) {
-			// user code begin {2}
-			// user code end
-			handleException(ivjExc);
-		}
-	}
-	return ivjButton2;
-}
-/**
- * Return the ContentsPane property value.
- * @return java.awt.Panel
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private java.awt.Panel getContentsPane() {
-	if (ivjContentsPane == null) {
-		try {
-			ivjContentsPane = new java.awt.Panel();
-			ivjContentsPane.setName("ContentsPane"); //$NON-NLS-1$
-			ivjContentsPane.setLayout(new java.awt.FlowLayout());
-			getContentsPane().add(getTextArea1(), getTextArea1().getName());
-			getContentsPane().add(getButton1(), getButton1().getName());
-			getContentsPane().add(getButton2(), getButton2().getName());
-			// user code begin {1}
-			// user code end
-		} catch (java.lang.Throwable ivjExc) {
-			// user code begin {2}
-			// user code end
-			handleException(ivjExc);
-		}
-	}
-	return ivjContentsPane;
-}
-/**
- * Return the TextArea1 property value.
- * @return java.awt.TextArea
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private java.awt.TextArea getTextArea1() {
-	if (ivjTextArea1 == null) {
-		try {
-			ivjTextArea1 = new TextArea();
-			ivjTextArea1.setName("TextArea1"); //$NON-NLS-1$
-			ivjTextArea1.setText("TextArea1"); //$NON-NLS-1$
-			ivjTextArea1.setRows(20);
-			ivjTextArea1.setColumns(100);
-			ivjTextArea1.setEditable(false);
-			// user code begin {1}
-			// user code end
-		} catch (java.lang.Throwable ivjExc) {
-			// user code begin {2}
-			// user code end
-			handleException(ivjExc);
-		}
-	}
-	return ivjTextArea1;
-}
-/**
- * Called whenever the part throws an exception.
- * @param exception java.lang.Throwable
- */
-private void handleException(java.lang.Throwable exception) {
-
-	/* Uncomment the following lines to print uncaught exceptions to stdout */
-	// ProxyPlugin.getPlugin().getMsgLogger().write(Level.WARNING,"--------- UNCAUGHT EXCEPTION ---------");
-	// ProxyPlugin.getPlugin().getMsgLogger().write(Level.WARNING,exception);
-}
-/**
- * Initializes connections
- * @exception java.lang.Exception The exception description.
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private void initConnections() throws java.lang.Exception {
-	// user code begin {1}
-	// user code end
-	this.addWindowListener(ivjEventHandler);
-	getButton1().addActionListener(ivjEventHandler);
-	getButton2().addActionListener(ivjEventHandler);
-}
-/**
- * Initialize the class.
- */
-/* WARNING: THIS METHOD WILL BE REGENERATED. */
-private void initialize() {
-	try {
-		// user code begin {1}
-		// user code end
-		setName("MessageDialog"); //$NON-NLS-1$
-		setLayout(new java.awt.BorderLayout());
-		setSize(426, 240);
-		add(getContentsPane(), "Center"); //$NON-NLS-1$
-		initConnections();
-	} catch (java.lang.Throwable ivjExc) {
-		handleException(ivjExc);
-	}
-	// user code begin {2}
-	// user code end
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteMessages.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteMessages.java
deleted file mode 100644
index fe295ae..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteMessages.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ProxyRemoteMessages.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ProxyRemoteMessages {
-
-	private static final String BUNDLE_NAME =
-		"org.eclipse.jem.internal.proxy.remote.messages";	//$NON-NLS-1$
-	public final static String 
-		ERROR_NO_OUTPUT_FOLDER = "NO_OUTPUT_FOLDER_EXC_", //$NON-NLS-1$
-		
-		VM_TERMINATED = "VM_TERMINATED_INFO_", //$NON-NLS-1$
-		VM_TERMINATED_LINE1 = "VM_TERMINATED_LINE1", //$NON-NLS-1$
-		VM_TERMINATED_LINE2 = "VM_TERMINATED_LINE2",		 //$NON-NLS-1$
-		VM_TERMINATED_LINE3 = "VM_TERMINATED_LINE3", //$NON-NLS-1$
-		
-		REMOTE_VM_TRACE_HEADER = "REMOTE_VM_TRACE_INFO_", //$NON-NLS-1$
-		REMOVE_VM_LOCAL_TRACE_HEADER = "REMOTE_VM_LOCAL_TRACE_INFO_"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ProxyRemoteMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteUtil.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteUtil.java
deleted file mode 100644
index 4786b49..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteUtil.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ProxyRemoteUtil.java,v $
- *  $Revision: 1.3 $  $Date: 2004/03/04 16:14:04 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.IConfigurationContributionController;
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-
-
-public class ProxyRemoteUtil {
-
-	// Debug options
-	public static final String DEBUG_VM = "/remote/debug/debugvm", // Bring up debugger on remote vm's. //$NON-NLS-1$
-		IO_CONSOLE = "/remote/debug/ioconsole", // IO Through console (system in and out) for asking questions. //$NON-NLS-1$
-		DEBUG_VM_TRACEOUT = "/remote/debug/vmtraceout"; // Trace the output from the remote vm's. //$NON-NLS-1$
-
-	private static REMRegistryController pluginRegistryController;
-	
-	/**
-	 * Return the registry controller.
-	 */
-	public static REMRegistryController getRegistryController() {
-		return pluginRegistryController != null ? pluginRegistryController : (pluginRegistryController = new REMRegistryController());
-	}
-	
-	/**
-	 * Method to update any class paths with any
-	 * paths that need to be added to a VM. In this case, it is
-	 * the remotevm.jar and the remotecommon.jar that need to be added. The first jar contains
-	 * the code necessary to run the remote vm and listen for commands. The second jar contains
-	 * the common code that is required to be shared on both the IDE side and remote side. It
-	 * is the interface code so that they both talk the same language.
-	 * support.
-	 */
-	public static void updateClassPaths(IConfigurationContributionController controller) {
-		ProxyPlugin proxyPlugin = ProxyPlugin.getPlugin();
-		// Need to have our jars at the beginning. (Struts causes a problem because 
-		// they have a jar (commons-fileupload.jar) that if when searching for a class and
-		// this jar is reached, it causes the class loader to barf. Our jars used to be at
-		// the end, and so it found the fileupload jar first and no remote vm could be started
-		// because of this.
-		controller.contributeClasspath(proxyPlugin, "remotecommon.jar", IConfigurationContributionController.PREPEND_USER_CLASSPATH, false); //$NON-NLS-1$
-		controller.contributeClasspath(proxyPlugin, "vm/remotevm.jar", IConfigurationContributionController.PREPEND_USER_CLASSPATH, false); //$NON-NLS-1$		
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanProxy.java
deleted file mode 100644
index cb0703e..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanProxy.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMAbstractBeanProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.*;
-/**
- * An abstract base class of IREMBeanProxy that doesn't
- * have the bean type stored in it. The subclasses will
- * supply it. It does however have an ID because it does
- * exist over on the remote VM.
- */
-public abstract class REMAbstractBeanProxy implements IREMBeanProxy {
-	protected final REMProxyFactoryRegistry fFactory;
-	private Integer fID;
-	
-	/**
-	 * Set the bean we are proxying.  We are a proxy for a bean running on the remote VM. 
-	 */
-	protected REMAbstractBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anID){
-		fFactory = aRegistry;
-		fID = anID;
-	}
-	
-	/**
-	 * equals: Equal if:
-	 *         1) This proxy == (identity) to the other object
-	 *         2) Else if other is an IBeanProxy and not a constant one, then if
-	 *            equals on the server.
-	 *         3) If this is a constant proxy and the other is too or is a constant
-	 *            value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
-	 */
-	public boolean equals(Object anObject) {
-		if (super.equals(anObject))
-			return true;	// Identity
-		if (anObject instanceof IBeanProxy && !(anObject instanceof IREMConstantBeanProxy))
-			try {
-				// The other is a bean proxy and is not a constant one, let the server do the check.
-				return ((IBooleanBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getObjectEquals().invoke(this, (IBeanProxy) anObject)).booleanValue();
-			} catch (ThrowableProxy e) {
-			}
-		return false;
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
-	 */
-	public boolean sameAs(IBeanProxy aBeanProxy) {
-		return this == aBeanProxy;	// We can be assured in Remote Proxy that identity of proxy and identity of object are the same.
-	}
-		
-	public ProxyFactoryRegistry getProxyFactoryRegistry() {
-		return fFactory;
-	}
-	
-	/**
-	 * Get ID. An internal method to be used only within the ProxyFactory family.
-	 */
-	public Integer getID() {
-		return fID;
-	}
-	
-	/**
-	 * isValid.
-	 */
-	public boolean isValid() {
-		return fID != null;
-	}
-	
-	/**
-	 * Proxy is about to be released, MUST mark it invalid.
-	 * This is required. Resources can also be cleaned up
-	 * if they are being held and need to be cleaned up.
-	 *
-	 * NOTE: This method will only be called when the proxy
-	 * is explicitly released. If it is simply garbage collected,
-	 * then this method will not be called. Simple garbage collection
-	 * means that no one is referencing this proxy. The proxy factory
-	 * will know what id this proxy was referencing and will release it
-	 * on the server at GC time.
-	 *
-	 * If there are resources
-	 * that absolutely must be released, then the finalize method
-	 * should be implemented to do the clean up. However, try not
-	 * to have this be the case. Finalize methods add overhead that is
-	 * usually better not to have. The better way is for any users
-	 * that get this kind of proxy object know to call release on
-	 * ProxyFactoryRegistry to release it before garbage collection.	 
-	 */
-	public void release() {
-		fID = null;
-	}
-			
-	/**
-	 * Return the toString of the actual bean on the remote side.
-	 */
-	public String toBeanString() {
-		IStringBeanProxy string = (IStringBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getObjectToString().invokeCatchThrowableExceptions(this);
-		return (string != null) ? string.stringValue() : null;
-	}
-	
-	/**
-	 * Render the bean proxy into the value field.
-	 */
-	public void renderBean(Commands.ValueObject value) {
-		value.setObjectID(isValid() ? getID().intValue() : Commands.VOID);	// No longer exists, so send over null.
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanTypeProxy.java
deleted file mode 100644
index 94c0742..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanTypeProxy.java
+++ /dev/null
@@ -1,285 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMAbstractBeanTypeProxy.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.TransmitableArray;
-
-/**
- * This implementation of IBeanTypeProxy is for where the Bean is on a different VM then the IDE
- *
- * Creation date: (12/3/99 12:29:26 PM)
- * @author: Joe Winchester
- */
-public abstract class REMAbstractBeanTypeProxy implements IREMBeanTypeProxy {
-	private Integer fID;
-	protected final REMProxyFactoryRegistry fRegistry;
-	protected final String fClassname; // This is cached here so that we don't need to go over the line to get it.
-	private IBeanTypeProxy fSuperType; // This is cached so as not to have to go over the line for it.
-	/**
-	 * Create with a registry and a class. It is protected so that only subclasses
-	 * and the factory with this REM package can call it.
-	 */
-	protected REMAbstractBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType) {
-		fRegistry = aRegistry;
-		fID = anID;
-		fClassname = aClassname;
-		fSuperType = aSuperType;
-	}
-
-	/**
-	 * equals: Equal if:
-	 *         1) This proxy == (identity) to the other object
-	 *	This is all that is needed for BeanTypes because we know these are classes, there is only one per class,
-	 *  and Class equals is true only for identity.
-	 */
-	public boolean equals(Object anObject) {
-		return super.equals(anObject);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
-	 */
-	public boolean sameAs(IBeanProxy aBeanProxy) {
-		return this == aBeanProxy;	// We can be assured in Remote Proxy that identity of proxy and identity of object are the same.
-	}	
-
-	/**
-	 * Return the ID of this proxy
-	 */
-	public Integer getID() {
-		return fID;
-	}
-
-	/**
-	 * isValid - has beantype been released
-	 */
-	public boolean isValid() {
-		return fID != null;
-	}
-
-	/**
-	 * release - BeanType is about to be released.
-	 * Clear the id and supertype (supertype is cleared so that
-	 * it won't hold onto it and will let the supertype be GC'd
-	 * if necessary.
-	 */
-	public void release() {
-		fID = null;
-		fSuperType = null;
-	}
-
-	/**
-	 * Return a proxy to the constructor for the target VM 
-	 */
-	public IConstructorProxy getConstructorProxy(String[] argumentClassNames) {
-		if (isInterface())
-			return null; // Interfaces don't have ctor's.
-
-		// Turn class names into array of BeanTypes.
-		IBeanTypeProxy[] argTypes = null;
-		if (argumentClassNames != null) {
-			IStandardBeanTypeProxyFactory typeFactory = fRegistry.getBeanTypeProxyFactory();
-			argTypes = new IBeanTypeProxy[argumentClassNames.length];
-			for (int i = 0; i < argumentClassNames.length; i++) {
-				IBeanTypeProxy type = argTypes[i] = typeFactory.getBeanTypeProxy(argumentClassNames[i]);
-				if (type == null)
-					return null; // Couldn't find the type.
-			}
-		}
-
-		return getConstructorProxy(argTypes);
-	}
-
-	/**
-	 * Return a proxy to the constructor for the target VM with specified argument types
-	 */
-	public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] argumentTypes) {
-		if (isInterface())
-			return null; // Interfaces don't have ctor's.
-
-		IREMMethodProxy getCtorMethod = (IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getClassConstructor();
-
-		// Create the argument array
-		Object[] getParms = (argumentTypes != null) ? new Object[] { new TransmitableArray(Commands.CLASS_CLASS, argumentTypes)}
-		: // Get Ctor has only one parm, the array of parm types.
-		null;
-
-		try {
-			return (IConstructorProxy) getCtorMethod.invokeWithParms(this, getParms);
-		} catch (ThrowableProxy e) {
-			fRegistry.releaseProxy(e);
-			return null;
-		}
-	}
-	/**
-	 * Construct an REMFieldProxy and return it
-	 */
-	public IFieldProxy getFieldProxy(String fieldName) {
-		return (IFieldProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getClassGetField().invokeCatchThrowableExceptions(
-			this,
-			fRegistry.getBeanProxyFactory().createBeanProxyWith(fieldName));
-	}
-	/**
-	 * Return the method proxy for this method with no parms.
-	 */
-	public IMethodProxy getMethodProxy(String methodName) {
-		return ((REMMethodProxyFactory) fRegistry.getMethodProxyFactory()).getMethodProxy(this, methodName, (IBeanTypeProxy[]) null);
-	}
-	/**
-	 * Return the method proxy for this method with these arguments.
-	 */
-	public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames) {
-		return ((REMMethodProxyFactory) fRegistry.getMethodProxyFactory()).getMethodProxy(this, methodName, argumentClassNames);
-	}
-	/**
-	 * Defer to the method that accepts an array of arguments.
-	 */
-	public IMethodProxy getMethodProxy(String methodName, String argumentQualifiedTypeName) {
-		return getMethodProxy(methodName, new String[] { argumentQualifiedTypeName });
-	}
-
-	/**
-	 * Return the method proxy for this method with these argument types.
-	 */
-	public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
-		return ((REMMethodProxyFactory) fRegistry.getMethodProxyFactory()).getMethodProxy(this, methodName, argumentTypes);
-	}
-	/**
-	 * Return a proxy to the null constructor for the target VM being the same as the REM
-	 * We can use the package protected contstructor on REMConstructorProxy
-	 */
-	public IConstructorProxy getNullConstructorProxy() {
-		return getConstructorProxy((IBeanTypeProxy[]) null);
-	}
-	/**
-	 * getProxyFactoryRegistry method comment.
-	 */
-	public ProxyFactoryRegistry getProxyFactoryRegistry() {
-		return fRegistry;
-	}
-	/**
-	 * Return the supertype for us
-	 */
-	public IBeanTypeProxy getSuperBeanTypeProxy() {
-		return fSuperType;
-	}
-	/**
-	 * Return the name of the type
-	 */
-	public String getTypeName() {
-		return fClassname;
-	}
-	/**
-	 * We are not an array type.
-	 */
-	public boolean isArray() {
-		return false;
-	}
-
-	/**
-	 * Interfaces override this and return the correct value.
-	 */
-	public boolean isInterface() {
-		return false;
-	}
-
-	/**
-	 * Primitives override this and return the correct value.
-	 */
-	public boolean isPrimitive() {
-		return false;
-	}
-	/**
-	 * Answer as to whether we are a kind of the argument
-	 * This is the same as asking whether the argument isAssignable from us
-	 * See the comment on Class.isAssignableFrom() for more details on this method.
-	 */
-	public boolean isKindOf(IBeanTypeProxy aBeanProxyType) {
-		return (
-			(IBooleanBeanProxy) REMStandardBeanProxyConstants
-				.getConstants(fRegistry)
-				.getClassIsAssignableFrom()
-				.invokeCatchThrowableExceptions(
-				aBeanProxyType,
-				this))
-			.booleanValue();
-	}
-
-	/**
-	 * newInstance method comment.
-	 */
-	public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
-		try {
-			return ((REMStandardBeanProxyFactory) fRegistry.getBeanProxyFactory()).createBeanProxy(this, initializationString);
-		} catch (CommandException e) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e)); //$NON-NLS-1$
-			return null;
-		}
-	}
-
-	/**
-	 */
-	public String toString() {
-		return super.toString() + "(" + getTypeName() + ")"; //$NON-NLS-2$//$NON-NLS-1$
-	}
-
-	/**
-	 * Get Type Proxy. The type proxy of a BeanType is Class.
-	 */
-	public IBeanTypeProxy getTypeProxy() {
-		return ((REMStandardBeanTypeProxyFactory) fRegistry.getBeanTypeProxyFactory()).classClass;
-	}
-
-	/**
-	 * toBeanString
-	 */
-	public String toBeanString() {
-		return getTypeName();
-	}
-	/**
-	 * newInstance method. Let the factory create a new instance on the remote using the default ctor.
-	 */
-	public IBeanProxy newInstance() throws ThrowableProxy {
-		return ((REMStandardBeanProxyFactory) fRegistry.getBeanProxyFactory()).createBeanProxy(this);
-	}
-
-	/**
-	 * Render the bean into value object.
-	 */
-	public void renderBean(Commands.ValueObject value) {
-		value.setObjectID(getID().intValue());
-	}
-
-	/**
-	 * @see IBeanTypeProxy#getFormalTypeName()
-	 */
-	public String getFormalTypeName() {
-		return getTypeName();
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInitializationError()
-	 */
-	public String getInitializationError() {
-		return null;	// By default none have an initialization error. There is a special instance for init errors.
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractNumberBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractNumberBeanTypeProxy.java
deleted file mode 100644
index 8cd8fae..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractNumberBeanTypeProxy.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMAbstractNumberBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Abstract class for any of the number bean type subclasses.
- * NOTE: This does not represent the beantype Number. It is a
- * class that provides functions for Number subclass beantypes.
- * The Number beantype itself is simply a REMBeanTypeProxy since
- * Number is abstract and has no necessary extra function.
- * Creation date: (08/31/00 11:49:12 AM)
- * @author: Administrator
- */
-public abstract class REMAbstractNumberBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMConstantBeanTypeProxy {
-
-protected REMAbstractNumberBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType) {
-	super(aRegistry, anID, aClassname, aSuperType);
-}
-/**
- * Helper to create a bean proxy
- * protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-protected abstract INumberBeanProxy createNumberBeanProxy(Number aNumber);
-
-/**
- * Create a new bean proxy with the specified id.
- *
- * For all of the Number types, this is an invalid operation. They are created
- * explicitly through the appropriate create method.
- */
-public IREMBeanProxy newBeanProxy(Integer anID) {
-	throw new UnsupportedOperationException();
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the Number types, they are final classes, so you can't create a newBeanType 
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-	throw new UnsupportedOperationException();
-}
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Each beantype will return a default value (usually a value of 0).
- */
-public abstract IBeanProxy newInstance() throws ThrowableProxy;
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAccessibleObjectProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAccessibleObjectProxy.java
deleted file mode 100644
index fe0d6ab..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAccessibleObjectProxy.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMAccessibleObjectProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/12 21:44:26 $ 
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.IAccessibleObjectProxy;
-import org.eclipse.jem.internal.proxy.core.ThrowableProxy;
- 
-/**
- * AccessibleObject Proxy.
- * 
- * @since 1.0.0
- */
-public class REMAccessibleObjectProxy extends REMAbstractBeanProxy implements IAccessibleObjectProxy {
-
-	protected REMAccessibleObjectProxy(REMProxyFactoryRegistry aRegistry, Integer anID) {
-		super(aRegistry, anID);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IAccessibleObjectProxy#isAccessible()
-	 */
-	public boolean isAccessible() throws ThrowableProxy {
-		return ((IBooleanBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getAccessibleIsAccessible().invoke(this)).booleanValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IAccessibleObjectProxy#setAccessible(boolean)
-	 */
-	public void setAccessible(boolean flag) throws ThrowableProxy {
-		REMStandardBeanProxyConstants.getConstants(fFactory).getAccessibleSetAccessible().invoke(this, fFactory.getBeanProxyFactory().createBeanProxyWith(flag));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#getTypeProxy()
-	 */
-	public IBeanTypeProxy getTypeProxy() {
-		return ((REMMethodProxyFactory) fFactory.getMethodProxyFactory()).accessibleType;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAnAbstractBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAnAbstractBeanTypeProxy.java
deleted file mode 100644
index 6d3c535..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAnAbstractBeanTypeProxy.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMAnAbstractBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * This is a proxy for an abstract bean type. I.e. you can't create a new instance of it.
- * It can be used as a general abstract type. It will pass newBeanTypeForClass unto
- * the main super type passed in.
- */
- 
-public class REMAnAbstractBeanTypeProxy extends REMAbstractBeanTypeProxy {
-
-	protected IREMSpecialBeanTypeProxy fMainSuperType;	// The type that this was created from so that
-							// any non-abstract subclasses can create the correct
-							// type of beantype proxy.
-					
-	public REMAnAbstractBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType, IREMSpecialBeanTypeProxy aType) {
-		super(aRegistry, anID, aClassname, aSuperType);
-		fMainSuperType = aType;
-	}
-	
-	/**
-	 * Create a new bean proxy with the specified id.
-	 *
-	 * For all of the abstract types, this is an invalid operation. 
-	 */
-	public IREMBeanProxy newBeanProxy(Integer anID) {
-		throw new UnsupportedOperationException();
-	}	
-	
-	/**
-	 * Note: Since new instances of abstract classes can never be done,
-	 * this function is not supported.
-	 */
-	public IBeanProxy newInstance() { 
-		throw new UnsupportedOperationException();
-	}
-	
-	/**
-	 * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
-	 * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
-	 * This is because subclasses, unless explicitly overridden, should use the same kind
-	 * of beantype proxy. This way if anything special is needed for a specific type, then
-	 * that can be done.
-	 */
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-		return fMainSuperType.newBeanTypeForClass(anID, aClassname, anAbstract, this);
-	}
-	
-	/**
-	 * release - BeanType is about to be released.
-	 * Clear the fMainSupertype (supertype is cleared so that
-	 * it won't hold onto it and will let the supertype be GC'd
-	 * if necessary.
-	 */
-	public void release() {
-		fMainSuperType = null;
-		super.release();
-	}					
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMArrayBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMArrayBeanProxy.java
deleted file mode 100644
index bad1a93..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMArrayBeanProxy.java
+++ /dev/null
@@ -1,174 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMArrayBeanProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * IDE VM version of the Array proxy
- */
-
-public final class REMArrayBeanProxy extends REMBeanProxy implements IArrayBeanProxy {
-	private int fLength = -1;
-	
-	REMArrayBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anID, IBeanTypeProxy aType) {
-		super(aRegistry, anID, aType);
-	}
-
-
-	/**
-	 * Get the object at the specified index.
-	 */
-	public IBeanProxy get(int index) throws ThrowableProxy {
-		// Format of getter parms is: (Object (array), int (index)).
-		Object[] parms = new Object[] {this, new Integer(index)};
-		// If the component type is primitive, we need to use the correct getter so that a valid value is returned,
-		// if we just used the standard get, if the type was "int" the value returned would be an java.lang.Integer.
-		IBeanTypeProxy compType = ((IArrayBeanTypeProxy) getTypeProxy()).getComponentType();
-		if (!compType.isPrimitive()) {
-			// Use standard getter.
-			return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGet()).invokeWithParms(null, parms);
-		} else {
-			// Use the correct primitive getter.
-			int id = ((IREMBeanProxy) compType).getID().intValue();
-			switch (id) {
-				case Commands.BYTE_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetByte()).invokeWithParms(null, parms);
-				case Commands.BOOLEAN_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetBoolean()).invokeWithParms(null, parms);
-				case Commands.CHARACTER_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetChar()).invokeWithParms(null, parms);
-				case Commands.DOUBLE_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetDouble()).invokeWithParms(null, parms);
-				case Commands.FLOAT_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetFloat()).invokeWithParms(null, parms);
-				case Commands.INTEGER_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetInt()).invokeWithParms(null, parms);
-				case Commands.LONG_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetLong()).invokeWithParms(null, parms);
-				case Commands.SHORT_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetShort()).invokeWithParms(null, parms);
-			}
-		}
-		
-		return null;
-	}
-
-	/**
-	 * Get the object at the specified multi-dimensional index.
-	 * The array must be at least the number of dimensions specified,
-	 * and each index along the way must exist.
-	 * The number of dimensions can't be greater than the number
-	 * of dimensions of the real object.
-	 */
-	public IBeanProxy get(int [] indexes) throws ThrowableProxy {
-		// Format of getter parms is: (Object (array), int[] (indexes)).
-		Object[] parms = new Object[] {this, indexes};
-		// If the component type at the specified dimension is primitive, we need to use the correct getter so that a valid value is returned,
-		// if we just used the standard get, if the type was "int" the value returned would be an java.lang.Integer.
-		int dims = ((IArrayBeanTypeProxy) getTypeProxy()).getDimensions();
-		if (dims < indexes.length)
-			throw new IllegalArgumentException();	// Too many dimensions
-		IBeanTypeProxy finalCompType = ((IArrayBeanTypeProxy) getTypeProxy()).getFinalComponentType();			
-		if (dims == indexes.length && finalCompType.isPrimitive()) {
-			// Use the correct primitive getter because we are accessing the final component and it is primitive.
-			int id = ((IREMBeanProxy) finalCompType).getID().intValue();
-			switch (id) {
-				case Commands.BYTE_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetByte()).invokeWithParms(null, parms);
-				case Commands.BOOLEAN_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetBoolean()).invokeWithParms(null, parms);
-				case Commands.CHARACTER_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetChar()).invokeWithParms(null, parms);
-				case Commands.DOUBLE_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetDouble()).invokeWithParms(null, parms);
-				case Commands.FLOAT_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetFloat()).invokeWithParms(null, parms);
-				case Commands.INTEGER_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetInt()).invokeWithParms(null, parms);
-				case Commands.LONG_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetLong()).invokeWithParms(null, parms);
-				case Commands.SHORT_TYPE:
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGetShort()).invokeWithParms(null, parms);
-			}
-		} else {
-			// It is not the final component, or it is not primitive, use the standard accessor.
-			return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperGet()).invokeWithParms(null, parms);
-		}
-		
-		return null;
-	}
-	
-	/**
-	 * Set the object at the specified index.
-	 */
-	public void set(IBeanProxy value, int index) throws ThrowableProxy {
-		// Format of setter parms is: (Object (array), int (index), Object (value)).
-		Object[] parms = new Object[] {this, new Integer(index), value};
-		((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArraySet()).invokeWithParms(null, parms);
-	}
-		
-	/**
-	 * Set the object at the specified multi-dimensional index.
-	 * The array must be at least the number of dimensions specified,
-	 * and each index along the way must exist.
-	 * The number of dimensions can't be greater than the number
-	 * of dimensions of the real object.
-	 */
-	public void set(IBeanProxy value, int [] indexes) throws ThrowableProxy {
-		// Format of setter parms is: (Object (array), int[] (indexes), Object (value)).
-		Object[] parms = new Object[] {this, indexes, value};
-		((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayHelperSet()).invokeWithParms(null, parms);
-	}
-	
-	/**
-	 * Get the length of the first dimension of this array.
-	 * If there are multi-dimensions, you must get the appropriate
-	 * dimension from the get method to see the size of that dimension.
-	 *
-	 * e.g.
-	 *    int [3] returns 3
-	 *    int [3][2] returns 3
-	 *
-	 *    ((IArrayBeanProxy) get(1)).getLength() returns 2
-	 *    Since arrays do not have to be homogenous, there could
-	 *    be a different length array for each of the arrays 
-	 *    returned from the first dimension, the returned length
-	 *    from get(2) and get(3) could result in a different value
-	 *    from get(1).
-	 */
-	public int getLength() {
-		if (fLength == -1) {
-			// It hasn't yet been quiered.
-			fLength = ((IIntegerBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getArrayGetLength().invokeCatchThrowableExceptions(null, this)).intValue();
-		}
-		return fLength;
-	}	
-	
-	public IBeanProxy getCatchThrowableException(int index){
-		try {
-			return get(index);
-		} catch (ThrowableProxy e) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));		 //$NON-NLS-1$
-			fFactory.releaseProxy(e);	// Since it's no longer needed, get rid of now instead of GC time.
-			return null;
-		}		
-	}
-	
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMArrayBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMArrayBeanTypeProxy.java
deleted file mode 100644
index e6c987a..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMArrayBeanTypeProxy.java
+++ /dev/null
@@ -1,241 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMArrayBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Array Type Proxy for the IDE VM.
- *
- * The class is final because array's are special and shouldn't have
- * any subclasses since the factory would never call it.
- */
-
-public final class REMArrayBeanTypeProxy extends REMAbstractBeanTypeProxy implements IArrayBeanTypeProxy {
-	
-	/**
-	 * Create with a registry and a class. It is package so that only 
-	 * the factory with this IDE package can call it.
-	 */
-	protected REMArrayBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy objectType) {
-		super(aRegistry, anID, aClassname, objectType);
-	}
-	/**
-	 * This is an array type!
-	 */
-	public boolean isArray() {
-		return true;
-	}
-	/**
-	 * Return the final component type.
-	 */
-	public IBeanTypeProxy getFinalComponentType() {
-		// Component type is strip off all '[' and return class name (if we ever add classLoader support, this won't work).
-		// However, if the type is a primitive we need to go through the change table).
-		int typeStart = getTypeName().lastIndexOf('[')+1;
-		if (getTypeName().charAt(typeStart) == 'L') {
-			// It is a class.
-			// Strip off up to the 'L', and the trailing ';'. That is the class name.
-			return fRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(getTypeName().substring(typeStart+1, getTypeName().length()-1));
-		} else {
-			// It is a type. Need to map it.
-			Class aType = (Class) Commands.MAP_SHORTSIG_TO_TYPE.get(getTypeName().substring(typeStart, typeStart+1));
-			return aType != null ? fRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(aType.getName()) : null;
-		}
-	}
-	
-	/**
-	 * Return the component type.
-	 */
-	public IBeanTypeProxy getComponentType() {
-		// Component type is strip off first '[' and return class name (if we ever add classLoader support, this won't work).
-		// However, if the type is a primitive we need to go through the change table).
-		if (getTypeName().charAt(1) != '[') {
-			// It is a one dimensional array, just send to getFinalComponentType to figure out the type.
-			return getFinalComponentType();
-		} else {
-			// It is a multi-dimensional array. Just strip off one '[' and send that to the bean type factory.
-			return fRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(getTypeName().substring(1));
-		}
-	}
-	/**
-	 * Return the number of dimensions.
-	 */
-	public int getDimensions() {
-		return getTypeName().lastIndexOf('[')+1;
-	}
-	
-	/**
-	 * Create a new bean proxy with the specified object
-	 * Use the constructor that allows the type proxy to be set as well as the bean
-	 * because we are the type and by setting it now we might avoid it being lookup for in the
-	 * factory the first time it is asked for.
-	 */
-	public IREMBeanProxy newBeanProxy(Integer anID) {
-		return new REMArrayBeanProxy(fRegistry, anID, this);
-	}
-	
-	
-	/**
-	 * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
-	 * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
-	 * This is because subclasses, unless explicitly overridden, should use the same kind
-	 * of beantype proxy. This way if anything special is needed for a specific type, then
-	 * that can be done.
-	 *
-	 * Arrays can't be subclassed.
-	 */
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-		throw new UnsupportedOperationException();
-	}
-
-	/**
-	 * Return the null ctor proxy for this method with these arguments.
-	 * For all of the array types, this is an invalid operation.	 
-	 */		
-	public IConstructorProxy getNullConstructorProxy() {	
-		throw new UnsupportedOperationException();
-	}
-		
-	/**
-	 * Return a proxy to the constructor for the target VM being the same as the REM
-	 * For all of the array types, this is an invalid operation.	 
-	 */
-	public IConstructorProxy getConstructorProxy(String[] argumentClassNames) {	
-		throw new UnsupportedOperationException();
-	}
-	
-	/**
-	 * Return a proxy to the constructor for the target VM being the same as the REM
-	 * For all of the array types, this is an invalid operation.	 
-	 */
-	public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] argumentTypes) {	
-		throw new UnsupportedOperationException();
-	}	
-	
-	/**
-	 * Return a proxy to the field for the target VM being the same as the REM
-	 * For all of the array types, this is an invalid operation.	 
-	 */	
-	public IFieldProxy getFieldProxy(String fieldName) {	
-		throw new UnsupportedOperationException();
-	}
-	
-	/**
-	 * Return the method proxy for this method with these arguments.
-	 * For all of the array types, this is an invalid operation.	 
-	 */
-	public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
-		throw new UnsupportedOperationException();
-	}
-		
-	/**
-	 * Return the method proxy for this method with these arguments.
-	 * For all of the array types, this is an invalid operation.	 
-	 */
-	public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames) {
-		throw new UnsupportedOperationException();
-	}
-	
-	/**
-	 * Return the method proxy for this method with these arguments.
-	 * For all of the array types, this is an invalid operation.	 
-	 */	
-	public IMethodProxy getMethodProxy(String methodName, String argumentQualifiedTypeName) {
-		throw new UnsupportedOperationException();
-	}
-
-	/**
-	 * Return the method proxy for this method with these arguments.
-	 * For all of the array types, this is an invalid operation.	 
-	 */		
-	public IMethodProxy getMethodProxy(String methodName) {	
-		throw new UnsupportedOperationException();
-	}
-	
-	/**
-	 * Create an array bean proxy.
-	 *
-	 *   - (int, new int[2] {3, 4}) will create:
-	 *      int [3] [4]
-	 *
-	 *   - (int[], new int[1] {1})
-	 *      int [1]
-	 *
-	 *   - (int[], new int[2] {2,3})
-	 *      int [2] [3]
-	 * 
-	 *
-	 *   - (int[], null) or (int[], new int[0]) or (int, null) or (int, new int[0])
-	 *      int [0]
-	 *     (int[][], null) or (int[][], new int[0])
-	 *      int[0][]
-	 *     This is because an array instance with no dimensions specified is not valid. 
-	 *
-	 *   - (int[][], new int[1] {3})
-	 *      int[3][]
-	 *
-	 * It is package protected so that only the REM Factory can call it.
-	 */
-	REMArrayBeanProxy  createBeanProxyWith(int[] dimensions) throws ThrowableProxy {
-		// If the dimensions is null or zero length, then create the
-		// array as a 0 sized array one dimensional array.
-		if (dimensions == null || dimensions.length == 0)
-			return createBeanProxyWith(new int[] {0});
-			
-		// Remove from this type the number of dimensions specified
-		// coming in, up to but no further than the final component.
-		// From here we can then use the appropriate java.lang.reflect.Array
-		// method to create the array.
-		IBeanTypeProxy compType = null;	// The type of array to create (it may be different number of dimensions).
-		int numDims = getDimensions();
-		if (numDims <= dimensions.length)
-			compType = getFinalComponentType();	// There are the same or more requested dimensions, so use final component type
-		else {
-			// There are fewer requested dimensions, so strip off that many
-			String compClass = getTypeName().substring(dimensions.length);
-			compType = fRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(compClass);
-		}
-		
-		if (dimensions.length == 1) {
-			// Use the one dimension call
-			Object[] parms = new Object[] {compType, new Integer(dimensions[0])};
-			return (REMArrayBeanProxy) ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getArrayNewInstanceOneDimension()).invokeWithParms(null, parms);
-		} else {
-			// Use the multi dimension call
-			Object[] parms = new Object[] {compType, dimensions};
-			return (REMArrayBeanProxy) ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fRegistry).getArrayNewInstanceMultiDimension()).invokeWithParms(null, parms);
-		}
-	}
-		
-	/**
-	 * @see IBeanTypeProxy#getFormalTypeName()
-	 */
-	public String getFormalTypeName() {
-		String name = getTypeName();
-		int dims = name.lastIndexOf('[') + 1;
-		String type = getFinalComponentType().getTypeName();
-		StringBuffer formalType = new StringBuffer(type.length()+("[]".length()*dims)); //$NON-NLS-1$
-		formalType.append(type);
-		for (int i=0; i<dims; i++)
-			formalType.append("[]"); //$NON-NLS-1$
-		return formalType.toString();
-	}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBeanProxy.java
deleted file mode 100644
index 399f655..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBeanProxy.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Standard implementation of IREMBeanProxy
- */
-
-public class REMBeanProxy extends REMAbstractBeanProxy {
-	private IBeanTypeProxy fType;
-
-	protected REMBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anID, IBeanTypeProxy aType){
-		super(aRegistry, anID);
-		fType = aType;
-	}
-	
-	public IBeanTypeProxy getTypeProxy() {
-		return fType;
-	}
-	
-	public void release() {
-		fType = null;
-		super.release();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBeanTypeProxy.java
deleted file mode 100644
index df8b5b7..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBeanTypeProxy.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-/**
- * Default implementation for a BeanTypeProxy. This is what is used
- * for regular default beans and beantypes when no special beans or bean types are needed.
- */
-public class REMBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMSpecialBeanTypeProxy {
-
-	/**
-	 * Create with a registry and a class. It is protected so that only subclasses
-	 * and the factory with this REM package can call it.
-	 */
-	public REMBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType) {
-		super(aRegistry, anID, aClassname, aSuperType);
-	}
-
-	/**
-	 * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
-	 * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
-	 * This is because subclasses, unless explicitly overridden, should use the same kind
-	 * of beantype proxy. This way if anything special is needed for a specific type, then
-	 * that can be done.
-	 *
-	 * NOTE: All subclasses must override this to return the correct type of BeanTypeProxy.
-	 */
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-		return newBeanTypeForClass(anID, aClassname, anAbstract, this);
-	}
-
-	/**
-	 * The special method to handle subclassing from an abstract).
-	 */
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract, IBeanTypeProxy superType) {
-		if (!anAbstract) 
-			return new REMBeanTypeProxy(fRegistry, anID, aClassname, superType);
-		else
-			return new REMAnAbstractBeanTypeProxy(fRegistry, anID, aClassname, superType, this);
-	}
-	
-	/**
-	 * Create a new bean proxy with the specified id.
-	 */
-	public IREMBeanProxy newBeanProxy(Integer anID){
-	
-		return new REMBeanProxy(fRegistry, anID, this);
-	
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigDecimalBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigDecimalBeanProxy.java
deleted file mode 100644
index 05fa69b..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigDecimalBeanProxy.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMBigDecimalBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import java.math.BigDecimal;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Proxy for BigDecimals.
- */
-class REMBigDecimalBeanProxy extends REMNumberBeanProxy {
-
-REMBigDecimalBeanProxy(REMProxyFactoryRegistry aRegistry, BigDecimal aBigDecimal) {
-	super(aRegistry, aBigDecimal);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).bigDecimalClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set(numberValue(), ((IREMBeanTypeProxy) getTypeProxy()).getID().intValue());
-}	
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigDecimalBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigDecimalBeanTypeProxy.java
deleted file mode 100644
index a95abaa..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigDecimalBeanTypeProxy.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMBigDecimalBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import java.math.BigDecimal;
-/**
- * Remote Implementation of IBeanTypeProxy for BigDecimal.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMBigDecimalBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
-	private final INumberBeanProxy zeroProxy;
-	private final static BigDecimal zeroValue = new BigDecimal(0D);
-
-REMBigDecimalBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
-	super(aRegistry, new Integer(Commands.BIG_DECIMAL_CLASS), BigDecimal.class.getName(), numberType);
-	
-	// Create the cached values
-	zeroProxy = new REMBigDecimalBeanProxy(aRegistry, zeroValue);	
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createBigDecimalBeanProxy(BigDecimal aBigDecimal) {
-	return (!zeroValue.equals(aBigDecimal)) ?
-		new REMBigDecimalBeanProxy(fRegistry, aBigDecimal) : zeroProxy;
-}
-
-/**
- * Generic way to create an BigDecimal proxy, however, the Number must be a BigDecimal.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
-	return createBigDecimalBeanProxy((BigDecimal) aNumber);
-}
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
-	return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createBigDecimalBeanProxy((BigDecimal) value.anObject);
-}	
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigIntegerBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigIntegerBeanProxy.java
deleted file mode 100644
index 8728a3a..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigIntegerBeanProxy.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMBigIntegerBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import java.math.BigInteger;
-/**
- * Remote Proxy for BigIntegers.
- */
-class REMBigIntegerBeanProxy extends REMNumberBeanProxy {
-
-REMBigIntegerBeanProxy(REMProxyFactoryRegistry aRegistry, BigInteger aBigInteger) {
-	super(aRegistry, aBigInteger);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).bigIntegerClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set(numberValue(), ((IREMBeanTypeProxy) getTypeProxy()).getID().intValue());
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigIntegerBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigIntegerBeanTypeProxy.java
deleted file mode 100644
index bff6c6d..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBigIntegerBeanTypeProxy.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMBigIntegerBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import java.math.BigInteger;
-/**
- * Remote Implementation of IBeanTypeProxy for BigInteger.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMBigIntegerBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
-	private final INumberBeanProxy zeroProxy;
-	private final static BigInteger zeroValue = new BigInteger("0"); //$NON-NLS-1$
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMBigIntegerBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
-	super(aRegistry, new Integer(Commands.BIG_INTEGER_CLASS), BigInteger.class.getName(), numberType);
-	
-	// Create the cached values
-	zeroProxy = new REMBigIntegerBeanProxy(aRegistry, zeroValue);	
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createBigIntegerBeanProxy(BigInteger aBigInteger) {
-	return (!zeroValue.equals(aBigInteger)) ?
-		new REMBigIntegerBeanProxy(fRegistry, aBigInteger) : zeroProxy;
-}
-
-/**
- * Generic way to create an BigInteger proxy, however, the Number must be a BigInteger.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
-	return createBigIntegerBeanProxy((BigInteger) aNumber);
-}	
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
-	return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createBigIntegerBeanProxy((BigInteger) value.anObject);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanClassBeanProxy.java
deleted file mode 100644
index e603bb8..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanClassBeanProxy.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMBooleanClassBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBooleanBeanProxy for Boolean.class.
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-final class REMBooleanClassBeanProxy extends REMConstantBeanProxy implements IBooleanBeanProxy {
-	private final Boolean fBooleanValue;
-
-/**
- * Store the boolean value so that we can return the booleanValue faster
- * without the need for going across the line. It is package protected because it is created in
- * special way, so no one else should create these.
- * @param aBean java.lang.Object
- */
-REMBooleanClassBeanProxy(REMProxyFactoryRegistry aRegistry, Boolean value) {
-	super(aRegistry);
-	fBooleanValue = value;
-}
-
-/**
- * equals: Equal if:
- *         1) This proxy == (identity) to the other object
- *         2) Else if other is an IBeanProxy and not a constant one, then if
- *            equals on the server.
- *         3) If this is a constant proxy and the other is too or is a constant
- *            value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
-	if (this == anObject)
-		return true;	// Identity
-	if (anObject instanceof REMBooleanClassBeanProxy)
-		return fBooleanValue.booleanValue() == ((REMBooleanClassBeanProxy) anObject).booleanValue();
-	if (anObject instanceof Boolean)
-		return fBooleanValue.booleanValue() == ((Boolean) anObject).booleanValue();
-	return false;
-}
-
-/**
- * Return the boolean value
- */
-public boolean booleanValue() {
-	return fBooleanValue.booleanValue();
-}
-/**
- * Return the java.lang.Boolean value
- */
-public Boolean getBooleanValue() {
-	return fBooleanValue;
-}
-
-/**
- * Return the toString of the bean itself.
- */
-public String toBeanString() {
-	return fBooleanValue.toString();
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).booleanClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set(fBooleanValue);
-}
-}
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanClassBeanTypeProxy.java
deleted file mode 100644
index 43854c0..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanClassBeanTypeProxy.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMBooleanClassBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Boolean BeanType Proxy for Boolean.class. 
- * Creation date: (2/23/00 1:59:02 PM)
- * @author: Richard Lee Kulp
- */
-final class REMBooleanClassBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMConstantBeanTypeProxy {
-
-	// Cache these instances. Since the BeanType proxies are cached also, only one instance
-	// of true/false will be in system.
-	protected final IBooleanBeanProxy trueProxy;
-	protected final IBooleanBeanProxy falseProxy;
-/**
- * REMBooleanBeanTypeProxy constructor comment.
- */
-protected REMBooleanClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy objectType) {
-	super(aRegistry, new Integer(Commands.BOOLEAN_CLASS), Boolean.class.getName(), objectType);
-	
-	trueProxy = new REMBooleanClassBeanProxy( fRegistry, Boolean.TRUE);
-	falseProxy = new REMBooleanClassBeanProxy( fRegistry, Boolean.FALSE);	
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- * Use the cache.
- */
-IBooleanBeanProxy createBooleanBeanProxy(Boolean aBoolean) {
-	return aBoolean.booleanValue() ? trueProxy : falseProxy;
-}
-
-/**
- * Create a new bean proxy with the specified id.
- *
- * For all of the primitive wrapper types, this is an invalid operation. They are created
- * explicitly through the appropriate create method.
- */
-public IREMBeanProxy newBeanProxy(Integer anID) {
-	throw new UnsupportedOperationException();
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the primitive wrapper types, they are final classes, so you can't create a newBeanType 
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-	throw new UnsupportedOperationException();
-}
-
-/**
- * newInstance method. Boolean doesn't have a default ctor, so the standard way won't work.
- * Return the falseProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
-	return falseProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createBooleanBeanProxy(value.aBool ? Boolean.TRUE : Boolean.FALSE);
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanTypeBeanProxy.java
deleted file mode 100644
index dd81fc8..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanTypeBeanProxy.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMBooleanTypeBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote Implementation of IBooleanBeanProxy for Boolean.TYPE.
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-final class REMBooleanTypeBeanProxy extends REMConstantBeanProxy implements IBooleanBeanProxy {
-	private final boolean fBoolean;
-
-/**
- * Store the boolean value so that we can return the booleanValue faster
- * without the need for going across the line. It is package protected because it is created in
- * special way, so no one else should create these.
- * @param aBean java.lang.Object
- */
-REMBooleanTypeBeanProxy(REMProxyFactoryRegistry aRegistry, boolean value) {
-	super(aRegistry);
-	fBoolean = value;
-}
-
-/**
- * equals: Equal if:
- *         1) This proxy == (identity) to the other object
- *         2) Else if other is an IBeanProxy and not a constant one, then if
- *            equals on the server.
- *         3) If this is a constant proxy and the other is too or is a constant
- *            value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
-	if (this == anObject)
-		return true;	// Identity
-	if (anObject instanceof REMBooleanTypeBeanProxy)
-		return fBoolean == ((REMBooleanTypeBeanProxy) anObject).booleanValue();
-	if (anObject instanceof Boolean)
-		return fBoolean == ((Boolean) anObject).booleanValue();
-	return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
-public boolean sameAs(IBeanProxy aBeanProxy) {
-	if (this == aBeanProxy)
-		return true;	// Identity
-	if (aBeanProxy instanceof REMBooleanTypeBeanProxy)
-		return fBoolean == ((REMBooleanTypeBeanProxy) aBeanProxy).booleanValue();
-	return false;
-}
-
-/**
- * Return the boolean value
- */
-public boolean booleanValue() {
-	return fBoolean;
-}
-/**
- * Return the java.lang.Boolean value
- */
-public Boolean getBooleanValue() {
-	return fBoolean ? Boolean.TRUE : Boolean.FALSE;
-}
-
-/**
- * Return the toString of the bean itself.
- */
-public String toBeanString() {
-	return fBoolean ? Boolean.TRUE.toString() : Boolean.FALSE.toString();
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).booleanType;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set(fBoolean);
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanTypeBeanTypeProxy.java
deleted file mode 100644
index 059f322..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMBooleanTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMBooleanTypeBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Boolean BeanType Proxy for Boolean.TYPE
- * Creation date: (2/23/00 1:59:02 PM)
- * @author: Richard Lee Kulp
- */
-final class REMBooleanTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-
-	// Cache these instances. Since the BeanType proxies are cached also, only one instance
-	// of true/false will be in system.
-	protected final IBooleanBeanProxy trueProxy;
-	protected final IBooleanBeanProxy falseProxy;
-/**
- * REMBooleanBeanTypeProxy constructor comment.
- */
-protected REMBooleanTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
-	super(aRegistry, new Integer(Commands.BOOLEAN_TYPE), Boolean.TYPE.getName());
-	
-	trueProxy = new REMBooleanTypeBeanProxy( fRegistry, true);
-	falseProxy = new REMBooleanTypeBeanProxy( fRegistry, false);	
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- * Use the cache.
- */
-IBooleanBeanProxy createBooleanBeanProxy(boolean aBoolean) {
-	return aBoolean ? trueProxy : falseProxy;
-}
-
-
-/**
- * newInstance method. boolean is a primitive, so the standard way won't work.
- * Return the falseProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
-	return falseProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createBooleanBeanProxy(value.aBool);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteClassBeanProxy.java
deleted file mode 100644
index 96f08e8..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteClassBeanProxy.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMByteClassBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * Remote Proxy for Byte.class.
- */
-class REMByteClassBeanProxy extends REMNumberBeanProxy {
-
-REMByteClassBeanProxy(REMProxyFactoryRegistry aRegistry, Byte aByte) {
-	super(aRegistry, aByte);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).byteClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set((Byte) numberValue());
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteClassBeanTypeProxy.java
deleted file mode 100644
index d5d6c57..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteClassBeanTypeProxy.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMByteClassBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * BeanType Proxy for Byte.class. 
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMByteClassBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
-	private final INumberBeanProxy zeroProxy;
-	private final INumberBeanProxy oneProxy;
-	private final INumberBeanProxy twoProxy;
-	private final INumberBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMByteClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
-	super(aRegistry, new Integer(Commands.BYTE_CLASS), Byte.class.getName(), numberType);
-	
-	// Create the cached values
-	zeroProxy = new REMByteClassBeanProxy(aRegistry, new Byte((byte)0));	
-	oneProxy = new REMByteClassBeanProxy(aRegistry, new Byte((byte)1));
-	twoProxy = new REMByteClassBeanProxy(aRegistry, new Byte((byte)2));
-	threeProxy = new REMByteClassBeanProxy(aRegistry, new Byte((byte)3));		
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createByteBeanProxy(Byte aByte) {
-	switch(aByte.byteValue()) {
-		case 0: return zeroProxy;
-		case 1: return oneProxy ;
-		case 2: return twoProxy ;
-		case 3: return threeProxy ;
-		default: return new REMByteClassBeanProxy(fRegistry, aByte);
-	}
-}
-
-/**
- * Generic way to create an Integer proxy, however, the Number must be an Integer.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
-	return createByteBeanProxy((Byte) aNumber);
-}
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
-	return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createByteBeanProxy(new Byte(value.aByte));
-}	
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteTypeBeanProxy.java
deleted file mode 100644
index 1a81f8c..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteTypeBeanProxy.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMByteTypeBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote Implementation of INumberBeanProxy for Byte.TYPE.
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-class REMByteTypeBeanProxy extends REMConstantBeanProxy implements INumberBeanProxy {
-	private final byte fByte;
-
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-REMByteTypeBeanProxy(REMProxyFactoryRegistry aRegistry, byte aByte) {
-	super(aRegistry);
-	fByte = aByte;
-}
-
-/**
- * equals: Equal if:
- *         1) This proxy == (identity) to the other object
- *         2) Else if other is an IBeanProxy and not a constant one, then if
- *            equals on the server.
- *         3) If this is a constant proxy and the other is too or is a constant
- *            value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
-	if (this == anObject)
-		return true;	// Identity
-	if (anObject instanceof REMByteTypeBeanProxy)
-		return fByte == ((REMByteTypeBeanProxy) anObject).byteValue();
-	if (anObject instanceof Byte)
-		return fByte == ((Byte) anObject).byteValue();
-	return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
-public boolean sameAs(IBeanProxy aBeanProxy) {
-	if (this == aBeanProxy)
-		return true;	// Identity
-	if (aBeanProxy instanceof REMByteTypeBeanProxy)
-		return fByte == ((REMByteTypeBeanProxy) aBeanProxy).byteValue();
-	return false;
-}
-
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
-	return fByte;
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
-	return (double) fByte;
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
-	return (float) fByte;
-}
-/**
- * Return the int value
- */
-public int intValue() {
-	return (int) fByte;
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
-	return (long) fByte;
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
-	return new Byte(fByte);
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
-	return (short) fByte;
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
-	return String.valueOf(fByte);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).byteType;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set(fByte);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteTypeBeanTypeProxy.java
deleted file mode 100644
index 30a547b..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMByteTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMByteTypeBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Byte.TYPE.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMByteTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-// Some values are cache'd for speed
-	private final INumberBeanProxy zeroProxy;
-	private final INumberBeanProxy oneProxy;
-	private final INumberBeanProxy twoProxy;
-	private final INumberBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMByteTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
-	super(aRegistry, new Integer(Commands.BYTE_TYPE), Byte.TYPE.getName());
-	
-	// Create the cached values
-	zeroProxy = new REMByteTypeBeanProxy(aRegistry, (byte)0);	
-	oneProxy = new REMByteTypeBeanProxy(aRegistry, (byte)1);
-	twoProxy = new REMByteTypeBeanProxy(aRegistry, (byte)2);
-	threeProxy = new REMByteTypeBeanProxy(aRegistry, (byte)3);		
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createByteBeanProxy(byte aByte) {
-	switch(aByte) {
-		case 0: return zeroProxy;
-		case 1: return oneProxy ;
-		case 2: return twoProxy ;
-		case 3: return threeProxy ;
-		default: return new REMByteTypeBeanProxy(fRegistry, aByte);
-	}
-}
-
-/**
- * newInstance method. byte is a primitive, so the standard way won't work.
- * Return the zeroProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
-	return zeroProxy;
-}	
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createByteBeanProxy(value.aByte);
-}
-
-/**
- * Short cut for newInstance where the string follows the
- * specific pattern we expect. That way it won't be necessary to ship over to the vm 
- * to process it.
- *
- * The pattern it can accept is:
- * 	1) (byte) validNumber - number can be any number because (byte) explicitly casts it down.
- *	2) validNumber
- * It will use the decode function of byte to determine the valid number.
- */
-public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
-	String trim = initializationString.trim();
-	if (trim.length() == 0)
-		return super.newInstance(initializationString);	
-	byte aByte;
-	if (trim.startsWith("(byte)")) { //$NON-NLS-1$
-		Number v = parseString(trim.substring("(byte)".length()).trim()); //$NON-NLS-1$
-		if (v != null)
-			aByte = v.byteValue();
-		else
-			return super.newInstance(initializationString);	// Can't decode it, let full parser handle it.
-	} else {
-		try {
-			aByte = Byte.decode(trim).byteValue();	// See if valid byte format.
-		} catch (NumberFormatException e) {
-			return super.newInstance(initializationString);	// Can't decode it, let full parser handle it.
-		}
-	}
-
-	return getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(aByte);
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackInputStream.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackInputStream.java
deleted file mode 100644
index d060a4e..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackInputStream.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMCallbackInputStream.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-import java.io.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.IOCommandException;
-/**
- * This is the inputstream used to return a lot of data from
- * the server.
- */
-
-public class REMCallbackInputStream extends InputStream {
-	
-	protected DataInputStream fIn;
-	protected DataOutputStream fOut;
-	protected byte[] fBuffer;
-	protected int fNextByte = 0;
-	protected int fLastByte = 0;
-	
-	public REMCallbackInputStream(DataInputStream in, DataOutputStream out) {
-		fIn = in;
-		fOut = out;
-		
-		Integer bufSize = Integer.getInteger("proxyvm.bufsize"); //$NON-NLS-1$
-		if (bufSize == null)
-			bufSize = new Integer(16000);		
-		fBuffer = new byte[bufSize.intValue()];
-	}
-	
-	protected void clearStream() {
-		fIn = null;
-		fOut = null;
-		fBuffer = null;
-	}
-	
-	protected void fillBuffer() throws IOException {
-		if (fIn == null)
-			throw new InterruptedIOException();
-		try {
-			if (fLastByte != -1) {
-				fLastByte = Commands.readBytes(fIn, fBuffer);
-				if (fLastByte != -1)
-					fNextByte = 0;
-				else {
-					fNextByte = -1;
-				}
-			}	
-		} catch (CommandException e) {
-			try {
-				close(false);
-			} catch (IOException e1) {
-				ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e1));	// Error during close, just log it.
-			}
-			throw new IOCommandException(e);
-		}
-	}
-			
-	public int read() throws IOException {
-		if (fNextByte >= fLastByte) {
-			fillBuffer();
-		}
-		if (fLastByte == -1)
-			return -1;	// We've previously reached the end.		
-		
-		return ((int) fBuffer[fNextByte++]) & 0xFF;	// So that it is in range 0 to 255.
-	}
-	
-	public int read(byte b[], int off, int len) throws IOException {
-		if (b == null) {
-			throw new NullPointerException();
-		} else if ((off < 0) || (off > b.length) || (len < 0) ||
-			((off + len) > b.length) || ((off + len) < 0)) {
-			throw new IndexOutOfBoundsException();
-		} else if (len == 0) {
-			return 0;
-		}
-		
-		int read = 0;
-		while (len > 0) {
-			if (fNextByte >= fLastByte)
-				fillBuffer();
-			if (fLastByte == -1)
-				return read != 0 ? read : -1;	// No more, return amount read, or if none read, then -1
-			int move = fLastByte - fNextByte;
-			if (move > len)
-				move = len;
-			System.arraycopy(fBuffer, fNextByte, b, off, move);
-			read += move;
-			fNextByte += move;
-			off += move;
-			len -= move;
-		}
-		
-		return read;
-	}
-			
-	public int available() throws IOException {
-		return fLastByte != -1 ? fLastByte - fNextByte : 0;
-	}
-	
-	public void close() throws IOException {
-		close(true);
-	}
-	
-	protected void close(boolean wait) throws IOException {
-		if (fOut == null)
-			return;	// Already closed.
-		try {
-			fOut.writeByte(Commands.CALLBACK_STREAM_TERMINATE);
-			fOut.flush();
-			fOut = null;	// So that we know we closed already if error occurs during in read() below.
-			if (wait) {
-				// Need to read until End of stream because we need to flush out the
-				// stream so that next time we use this connection we start fresh.
-				// If the server has already finished writing, we will read until then.
-				// If the server has not yet finished writing, when it reads the terminate
-				// request it will send an end of stream marker for us to read. But either
-				// way we can't leave until we've read everything from the stream.
-				
-				// If called with no wait, then we are closing hard and will be closing the socket too.
-				while (read() != -1) {
-				}
-			}
-		} finally {
-			clearStream();
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackRegistry.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackRegistry.java
deleted file mode 100644
index 7c88d7e..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackRegistry.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMCallbackRegistry.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/04 20:30:21 $ 
- */
-
-import java.net.Socket;
-import java.util.*;
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * This registry will handle callbacks.
- * It is package protected because no one
- * should access it outside.
- */
-class REMCallbackRegistry implements ICallbackRegistry {
-	final REMProxyFactoryRegistry fFactory;
-	final String fNamePostfix;
-	List fThreads = Collections.synchronizedList(new LinkedList());	// List of active callback threads.	
-	
-	HashMap fIdToCallback = new HashMap(5);	// ID to Callback map.
-	HashSet fRegisteredCallbackProxies = new HashSet(5);	// Hold onto registered proxies so they aren't released as long as call back is registered.
-	
-	IREMMethodProxy fInitializeCallback;
-	IREMBeanProxy fRemoteServer;
-	
-	boolean registryOpen = true;
-	
-	public REMCallbackRegistry(String name, REMProxyFactoryRegistry aFactory) {
-	
-		fFactory = aFactory;
-		fNamePostfix = name;
-		
-		// Now register common proxies.
-		REMStandardBeanTypeProxyFactory typeFactory = (REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory();
-		IREMBeanTypeProxy vmserverType = new REMInterfaceBeanTypeProxy(fFactory, new Integer(Commands.IVMSERVER_CLASS), "org.eclipse.jem.internal.proxy.vm.remote.IVMServer"); //$NON-NLS-1$
-		IREMBeanTypeProxy callbackType = new REMInterfaceBeanTypeProxy(fFactory, new Integer(Commands.ICALLBACK_CLASS), "org.eclipse.jem.internal.proxy.vm.remote.ICallback"); //$NON-NLS-1$
-		IREMBeanTypeProxy serverType = typeFactory.objectClass.newBeanTypeForClass(new Integer(Commands.REMOTEVMSERVER_CLASS), "org.eclipse.jem.internal.proxy.vm.remote.RemoteVMServerThread", false); //$NON-NLS-1$
-	
-		fInitializeCallback = (IREMMethodProxy) ((REMMethodProxyFactory) fFactory.getMethodProxyFactory()).methodType.newBeanProxy(new Integer(Commands.INITIALIZECALLBACK_METHOD_ID));
-		
-		fRemoteServer = serverType.newBeanProxy(new Integer(Commands.REMOTESERVER_ID));
-
-		((REMStandardBeanProxyFactory) fFactory.getBeanProxyFactory()).registerProxy(vmserverType);
-		((REMStandardBeanProxyFactory) fFactory.getBeanProxyFactory()).registerProxy(callbackType);
-		((REMStandardBeanProxyFactory) fFactory.getBeanProxyFactory()).registerProxy(fInitializeCallback);
-		((REMStandardBeanProxyFactory) fFactory.getBeanProxyFactory()).registerProxy(fRemoteServer);		
-		
-	}
-	
-	
-	public boolean createCallback(Socket incoming) {
-		if (registryOpen) {
-			Thread st = new REMCallbackThread(incoming, this, "Callback Thread-"+fNamePostfix, fFactory, fFactory.fNoTimeouts); //$NON-NLS-1$
-			fThreads.add(st);
-			st.start();
-			return true;
-		} else
-			return false;
-	}
-	
-	/**
-	 * Use this to request a shutdown. If the server is already shutdown, this will return false.
-	 */
-	public boolean requestShutdown() {		
-		if (registryOpen)
-			shutdown();
-		else
-			return false;
-		return true;
-	}
-	
-	/**
-	 * Remove a thread from the list.
-	 */
-	public void removeCallbackThread(REMCallbackThread thread) {
-		fThreads.remove(thread);
-	}
-	
-	private void shutdown() {
-		
-		// Go through each thread and ask it to close. Make a copy of the list so that we
-		// won't get into deadlocks.
-		REMCallbackThread[] threadsArray = (REMCallbackThread[]) fThreads.toArray(new REMCallbackThread[fThreads.size()]);
-		for (int i=0; i<threadsArray.length; i++) {
-			// This is a harsh way to shut a connection down, but there's no
-			// other way I know of to interrupt the read on a socket.
-			threadsArray[i].close();
-		}
-			
-		// Now that they've been told to close, wait on each one to finish.
-		for (int i=0; i<threadsArray.length; i++)
-			try {
-				threadsArray[i].join(10000);	// Wait ten seconds, if longer, just go on to next one.
-			} catch (InterruptedException e) {
-			}
-			
-		fThreads.clear();
-		fIdToCallback.clear();
-		fRegisteredCallbackProxies.clear();
-		fInitializeCallback = null;
-		fRemoteServer = null;
-			
-	}		
-	
-	
-	public ICallback getRegisteredCallback(int id) {
-		synchronized(fIdToCallback)	{	
-			return (ICallback) fIdToCallback.get(new Integer(id));
-		}
-	}
-		
-	/**
-	 * The public interface for registering callbacks
-	 */
-	public void registerCallback(IBeanProxy callbackProxy, ICallback cb) {
-		synchronized(fIdToCallback) {
-			fIdToCallback.put(((IREMBeanProxy) callbackProxy).getID(), cb);
-			fRegisteredCallbackProxies.add(callbackProxy);
-			fInitializeCallback.invokeCatchThrowableExceptions(callbackProxy, new IBeanProxy[] {fRemoteServer, fFactory.getBeanProxyFactory().createBeanProxyWith(((IREMBeanProxy) callbackProxy).getID().intValue())});
-		}
-	}
-	
-	/**
-	 * The public interface for deregistering callbacks.
-	 */
-	public void deregisterCallback(IBeanProxy callbackProxy) {
-		synchronized(fIdToCallback)	{
-			fIdToCallback.remove(((IREMBeanProxy) callbackProxy).getID());
-			fRegisteredCallbackProxies.remove(callbackProxy);	// Release it.
-		}
-	}
-	
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackThread.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackThread.java
deleted file mode 100644
index 81e51cd..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackThread.java
+++ /dev/null
@@ -1,351 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMCallbackThread.java,v $
- *  $Revision: 1.5 $  $Date: 2004/03/04 20:30:21 $ 
- */
-
-import java.io.*;
-import java.net.Socket;
-import java.util.logging.Level;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.TransmitableArray;
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * This thread handles the actual callback.
- * It is package protected because no one else should access it.
- */
-class REMCallbackThread extends Thread {
-	final REMConnection fConnection;	// A connection to use
-	final REMCallbackRegistry fServer;
-	final REMStandardBeanProxyFactory fFactory;
-	final REMStandardBeanTypeProxyFactory fTypeFactory;
-	
-
-	
-	// Kludge: Bug in Linux 1.3.xxx of JVM. Closing a socket while the socket is being read/accept will not interrupt the
-	// wait. Need to timeout to the socket read/accept before the socket close will be noticed. This has been fixed
-	// in Linux 1.4. So on Linux 1.3 need to put timeouts in on those sockets that can be separately closed while reading/accepting.
-	static boolean LINUX_1_3 = "linux".equalsIgnoreCase(System.getProperty("os.name")) && System.getProperty("java.version","").startsWith("1.3");	 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	
-	public REMCallbackThread(Socket socket, REMCallbackRegistry server, String name, REMProxyFactoryRegistry registry, boolean noTimeouts) {
-		super(name);
-		
-		fConnection = new REMConnection(socket, true);	// No timeouts since this is a server thread.
-		fServer = server;
-		fFactory = (REMStandardBeanProxyFactory) registry.getBeanProxyFactory();
-		fTypeFactory = (REMStandardBeanTypeProxyFactory) registry.getBeanTypeProxyFactory();		
-	}
-	
-	/**
-	 * Request the thread to close down.
-	 */
-	public void close() {
-		try {
-			fConnection.fSocket.close();
-		} catch (Exception e) {
-		}
-	}
-	
-	
-	/*
-	 * Return the IREMConnection associated with this callback. Used by
-	 * the connection server to return this connection for any requests 
-	 * made on this thread.
-	 * <package-protected> so that only remote proxy can access.
-	 */
-	IREMConnection getConnection() {
-		return fConnection;
-	}
-	
-	public void run() {
-
-		DataInputStream in = fConnection.in;
-		DataOutputStream out = fConnection.out;	
-		InputStream ins = null;	
-		boolean shutdown = false;
-		Commands.ValueObject valueObject = new Commands.ValueObject();	// Working value object so not continually recreated.
-		BeanProxyValueSender valueSender = new BeanProxyValueSender();	// Working valuesender so not continually recreated. 
-		try {
-			boolean doLoop = true;
-
-			/**
-			 * Note: In the cases below you will see a lot of finally clauses that null variables out.
-			 * This is because this is a long running loop, and variables declared within blocks are not
-			 * garbage collected until the method is terminated, so these variables once set would never
-			 * be GC'd. The nulling at the end of the case makes sure that any of those objects set are
-			 * now available for garbage collection when necessary.
-			 */		
-			while(doLoop) {
-				byte cmd = 0;
-				try {
-					if (LINUX_1_3)
-						fConnection.fSocket.setSoTimeout(1000);	// Linux 1.3 bug, see static LINUX_1_3 above
-					cmd = in.readByte();
-					if (LINUX_1_3)
-						fConnection.fSocket.setSoTimeout(0);	// Linux 1.3 bug, see static LINUX_1_3 above
-				} catch (InterruptedIOException e) {
-					continue;	// Timed out, try again
-				}
-					
-				switch (cmd) {
-					case Commands.QUIT_CONNECTION:				
-						doLoop = false;	
-						break;	// Close this connection
-						
-					case Commands.TERMINATE_SERVER:
-						doLoop = false;		
-						shutdown = true;	// Shutdown everything
-						break;
-						
-					case Commands.CALLBACK:
-						int callID = in.readInt();	// The id of the registered callback to call.
-						int msgID = in.readInt();	// The id of the message to call.
-						Object parm = null;
-						Object result = null;
-						ICallback cb = null;
-						try {
-							// The register callback handler will know how to handle the parm,
-							// it will know if it is an array of proxies, or an object of some kind.
-							fFactory.startTransaction();	// Start a transaction.
-							boolean isProxies = true;							
-							try {
-								Commands.readValue(in, valueObject);
-								if (valueObject.type == Commands.ARRAY_IDS) {
-									// It is an array containing IDs, as it normally would be.
-									// However it will become IBeanProxy[]. That is because if ID's
-									// they must be proxies over here.
-									valueSender.initialize(valueObject);
-									Commands.readArray(in, valueObject.anInt, valueSender, valueObject);
-									parm = valueSender.getArray();
-								} else {
-									// It is object or null. It could be an array of objects, or one object.
-									isProxies = false;
-									parm = valueObject.getAsObject();
-								}
-							} finally {
-								fFactory.stopTransaction();
-							}
-							// Now perform the callback.
-							cb = fServer.getRegisteredCallback(callID);
-							if (cb != null) {
-								// Callback still registered. If proxies, then if first entry is just a proxy,
-								// then we are sending only one. A convienence factor for callbacks.
-								// If not a single entry of IBeanProxy, then send whole array.
-								try {
-									if (isProxies)
-										if (((Object[]) parm).length == 1 && (((Object[]) parm)[0] == null || ((Object[]) parm)[0] instanceof IBeanProxy))
-											result = cb.calledBack(msgID, (IBeanProxy) ((Object[]) parm)[0]);
-										else
-											result = cb.calledBack(msgID, (Object[]) parm);
-									else
-										result = cb.calledBack(msgID, parm);
-									// We only accept null, IREMBeanProxies, and Object[], where
-									// contents of Object[] are bean proxies.
-									valueObject.set();
-									if (result instanceof IREMBeanProxy)
-										 ((IREMBeanProxy) result).renderBean(valueObject);
-									else if (result instanceof Object[]) {
-										class Retriever implements Commands.ValueRetrieve {
-											int index = 0;
-											Object[] array;
-											Commands.ValueObject worker = new Commands.ValueObject();
-
-											public Retriever(Object[] anArray) {
-												array = anArray;
-											}
-
-											public Commands.ValueObject nextValue() {
-												if (index < array.length) {
-													Object retParm = array[index++];
-													if (retParm != null)
-														if (retParm instanceof IREMBeanProxy)
-															 ((IREMBeanProxy) retParm).renderBean(worker);
-														else if (retParm instanceof TransmitableArray) {
-															// It is another array, create a new
-															// retriever.
-															worker.setArrayIDS(
-																new Retriever(((TransmitableArray) retParm).array),
-																((TransmitableArray) retParm).array.length,
-																((TransmitableArray) retParm).componentTypeID);
-														} else {
-															// It's an object. Need to get bean
-															// type so that we can send it.
-															IREMBeanProxy type =
-																(IREMBeanProxy) fTypeFactory.getBeanTypeProxy(retParm.getClass().getName());
-															if (type == null)
-																throw new IllegalArgumentException();
-															int classID = type.getID().intValue();
-															worker.setAsObject(retParm, classID);
-														}
-													else
-														worker.set();
-													return worker;
-												} else
-													return null;
-											}
-										};
-
-										valueObject.setArrayIDS(
-											new Retriever((Object[]) result),
-											((Object[]) result).length,
-											Commands.OBJECT_CLASS);
-									}
-									
-									Commands.sendCallbackDoneCommand(out, valueObject, Commands.NO_ERROR);
-								} catch (RuntimeException e) {
-									// Something happened, turn it into an error object
-									// to send back.
-									valueObject.set(e.getLocalizedMessage());
-									Commands.sendCallbackDoneCommand(out, valueObject, Commands.CALLBACK_RUNTIME_EXCEPTION);
-									ProxyPlugin.getPlugin().getLogger().log(e, Level.INFO);	// Just log it, but assume safe enough to just go back and wait for next callback request.
-								}
-							} else {
-								valueObject.set();
-								Commands.sendCallbackDoneCommand(out, valueObject, Commands.CALLBACK_NOT_REGISTERED);	// Send error msg back to indicate we weren't registered.								
-							}
-						} finally {
-							parm = null;	// Clear out for GC to work
-							result = null;
-							cb = null;
-							valueObject.set();
-							valueSender.clear();
-						}
-						break;
-						
-					case Commands.CALLBACK_STREAM:
-						// A request for a stream
-						callID = in.readInt();	// The id of the registered callback to call.
-						msgID = in.readInt();	// The id of the message to call.
-						cb = null;
-						try {
-							// Now perform the callback.
-							cb = fServer.getRegisteredCallback(callID);
-							if (cb != null) {
-								// Callback still registered
-								valueObject.set();								
-								Commands.sendCallbackDoneCommand(out, valueObject, Commands.NO_ERROR);	// Send null to let it know we've accepted the stream
-								ins = new REMCallbackInputStream(in, out);
-								try {
-									cb.calledBackStream(msgID, ins);
-								} finally {
-									try {
-										ins.close();	// Make sure it's closed.
-									} catch (IOException e) {
-										// Exception while closing, just log it and then mark to end the loop so we close connection too.
-										doLoop = false;
-										ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "In REMCallbackThread", e)); //$NON-NLS-1$										
-									}
-								}
-							} else {
-								valueObject.set();
-								Commands.sendCallbackDoneCommand(out, valueObject, Commands.CALLBACK_NOT_REGISTERED);	// Send error msg back to indicate we weren't registered.								
-							}
-						} finally {
-							cb = null;	// Clear out for GC to work
-							ins = null;
-							valueObject.set();							
-						}
-						break;																	
-						
-					default:
-						// Unknown command. We don't know how long the command is, so we need to close the connection.
-						ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "REMCallback: Invalid cmd sent="+cmd, null)); //$NON-NLS-1$
-						doLoop = false;						
-						break;
-				}
-			}
-		} catch (EOFException e) {
-			// This is ok. It means that the connection on the other side was terminated.
-			// So just accept this and go down.
-		} catch (Throwable e) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "In REMCallbackThread", e)); //$NON-NLS-1$
-		} finally {
-			if (in != null)
-				try {
-					in.close();
-				} catch (Exception e) {
-				}
-			if (out != null)
-				try {
-					out.close();
-				} catch (Exception e) {
-				}
-			close();
-		}		
-		fServer.removeCallbackThread(this);
-		if (shutdown)
-			fServer.requestShutdown();
-	}
-	
-	// Helper class for getting an array. All of the values in the array will either
-	// be an array or an IBeanProxy.
-	private class BeanProxyValueSender implements Commands.ValueSender {
-		int index = 0;
-		Object[] array;
-
-		public BeanProxyValueSender() {
-		}
-				
-		public BeanProxyValueSender(Commands.ValueObject arrayHeader) {
-			initialize(arrayHeader);
-		}
-		
-		public void initialize(Commands.ValueObject arrayHeader) {
-			index = 0;
-			// The array type doesn't matter, it will be an array of objects.
-			// The values will either be IBeanProxies or an array, or constants.
-			array = new Object[arrayHeader.anInt];
-		}
-		
-		public void clear() {
-			array = null;
-			index = 0;
-		}
-		
-		public Object getArray() {
-			return array;
-		}
-					
-		// A new value is being sent to the array
-		// NOTE: It is important that this has been called within a transaction.
-		public void sendValue(Commands.ValueObject value) {
-			try {
-				array[index++] = fFactory.getBeanProxy(value);	// Add it to the array
-			} catch (ThrowableProxy e) {
-				// We can't stop it right away because we can't send exception on, however,
-				// we can log it and close the socket so next request to the socket will fail.
-				ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e)); //$NON-NLS-1$
-				close();				
-			} catch (CommandException e) {
-				// We can't stop it right away because we can't send exception on, however,
-				// we can log it and close the socket so next request to the socket will fail.
-				ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e)); //$NON-NLS-1$
-				close();
-			}
-		}
-					
-		// The next entry is an array too!
-		public Commands.ValueSender nestedArray(Commands.ValueObject arrayHeader) {
-			BeanProxyValueSender sender = new BeanProxyValueSender(arrayHeader);
-			// Take the newly created array and put it into the current array.
-			array[index++] = sender.getArray();
-			return sender;
-		}
-	}	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterClassBeanProxy.java
deleted file mode 100644
index f372f4d..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterClassBeanProxy.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/***************************************************************************************************
- * Copyright (c) 2001, 2003 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
- **************************************************************************************************/
-/*
- * $RCSfile: REMCharacterClassBeanProxy.java,v $ $Revision: 1.2 $ $Date: 2004/02/03 23:18:36 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * IDE Implementation of ICharacterBeanProxy for the Character class. Creation date: (2/6/00
- * 9:02:54 AM) @author: Joe Winchester
- */
-final class REMCharacterClassBeanProxy extends REMConstantBeanProxy implements ICharacterBeanProxy {
-	protected Character fCharValue;
-
-	/**
-	 * As well as storing the bean store the char value so that we can return the charValue faster
-	 * without the need for repeated re-casting. It is package protected because it is created in
-	 * special way, so no one else should create these.
-	 * 
-	 * @param aBean
-	 *            java.lang.Object
-	 */
-	REMCharacterClassBeanProxy(REMProxyFactoryRegistry aRegistry, Character value) {
-		super(aRegistry);
-		fCharValue = value;
-	}
-
-	/**
-	 * equals: Equal if: 1) This proxy == (identity) to the other object 2) Else if other is an
-	 * IBeanProxy and not a constant one, then if equals on the server. 3) If this is a constant
-	 * proxy and the other is too or is a constant value (e.g. IStringBeanProxy.equals(String),
-	 * then true if values are equals.
-	 */
-	public boolean equals(Object anObject) {
-		if (this == anObject)
-			return true; // Identity
-		if (anObject instanceof REMCharacterClassBeanProxy)
-			return fCharValue.charValue() == ((REMCharacterClassBeanProxy) anObject).charValue();
-		if (anObject instanceof Character)
-			return fCharValue.charValue() == ((Character) anObject).charValue();
-		return false;
-	}
-
-	/**
-	 * Return the char value
-	 */
-	public char charValue() {
-		return fCharValue.charValue();
-	}
-	/**
-	 * Return the java.lang.Character value
-	 */
-	public Character characterValue() {
-		return fCharValue;
-	}
-
-	/**
-	 * Answer the toString() of the value.
-	 */
-	public String toBeanString() {
-		return fCharValue.toString();
-	}
-
-	/**
-	 * Get the beantype
-	 */
-	public IBeanTypeProxy getTypeProxy() {
-		return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).characterClass;
-	}
-
-	/**
-	 * Render the bean into value object.
-	 */
-	public void renderBean(Commands.ValueObject value) {
-		value.set(fCharValue);
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#byteValue()
-	 */
-	public byte byteValue() {
-		return (byte) fCharValue.charValue();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#doubleValue()
-	 */
-	public double doubleValue() {
-		return (double) fCharValue.charValue();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#floatValue()
-	 */
-	public float floatValue() {
-		return (float) fCharValue.charValue();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#intValue()
-	 */
-	public int intValue() {
-		return (int) fCharValue.charValue();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#longValue()
-	 */
-	public long longValue() {
-		return (long) fCharValue.charValue();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#numberValue()
-	 */
-	public Number numberValue() {
-		return new Integer(charValue()); // Kludge.
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#shortValue()
-	 */
-	public short shortValue() {
-		return (short) fCharValue.charValue();
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterClassBeanTypeProxy.java
deleted file mode 100644
index 3fa8cc3..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterClassBeanTypeProxy.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMCharacterClassBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * Character BeanType Proxy for Character.class.
- * Creation date: (2/23/00 1:59:02 PM)
- * @author: Richard Lee Kulp
- */
-final class REMCharacterClassBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMConstantBeanTypeProxy {
-	final REMCharacterClassBeanProxy nilProxy;	// Value of '\0'
-
-REMCharacterClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy objectType) {
-	super(aRegistry, new Integer(Commands.CHARACTER_CLASS), Character.class.getName(), objectType);
-	
-	nilProxy = new REMCharacterClassBeanProxy(aRegistry, new Character('\0'));
-}
-/**
- * Static helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-ICharacterBeanProxy createCharacterBeanProxy(Character aCharacter) {
-	return (aCharacter.charValue() != '\0') ?
-		new REMCharacterClassBeanProxy(fRegistry, aCharacter) : nilProxy;
-}
-
-/**
- * Create a new bean proxy with the specified id.
- *
- * For all of the primitive wrapper types, this is an invalid operation. They are created
- * explicitly through the appropriate create method.
- */
-public IREMBeanProxy newBeanProxy(Integer anID) {
-	throw new UnsupportedOperationException();
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the primitive wrapper types, they are final classes, so you can't create a newBeanType 
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-	throw new UnsupportedOperationException();
-}
-
-/**
- * newInstance method. Character doesn't have a default ctor, so the standard way won't work.
- * Return the nilProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
-	return nilProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createCharacterBeanProxy(new Character(value.aChar));
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterTypeBeanProxy.java
deleted file mode 100644
index 0949dcf..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterTypeBeanProxy.java
+++ /dev/null
@@ -1,153 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/***************************************************************************************************
- * Copyright (c) 2001, 2003 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
- **************************************************************************************************/
-/*
- * $RCSfile: REMCharacterTypeBeanProxy.java,v $ $Revision: 1.2 $ $Date: 2004/02/03 23:18:36 $
- */
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote implementation of ICharacterBeanProxy. Creation date: (2/6/00 9:02:54 AM) @author: Joe
- * Winchester
- */
-final class REMCharacterTypeBeanProxy extends REMConstantBeanProxy implements ICharacterBeanProxy {
-	protected char fChar;
-
-	REMCharacterTypeBeanProxy(REMProxyFactoryRegistry aRegistry, char value) {
-		super(aRegistry);
-		fChar = value;
-	}
-
-	/**
-	 * equals: Equal if: 1) This proxy == (identity) to the other object 2) Else if other is an
-	 * IBeanProxy and not a constant one, then if equals on the server. 3) If this is a constant
-	 * proxy and the other is too or is a constant value (e.g. IStringBeanProxy.equals(String),
-	 * then true if values are equals.
-	 */
-	public boolean equals(Object anObject) {
-		if (this == anObject)
-			return true; // Identity
-		if (anObject instanceof REMCharacterTypeBeanProxy)
-			return fChar == ((REMCharacterTypeBeanProxy) anObject).charValue();
-		if (anObject instanceof Character)
-			return fChar == ((Character) anObject).charValue();
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
-	 */
-	public boolean sameAs(IBeanProxy aBeanProxy) {
-		if (this == aBeanProxy)
-			return true; // Identity
-		if (aBeanProxy instanceof REMCharacterTypeBeanProxy)
-			return fChar == ((REMCharacterTypeBeanProxy) aBeanProxy).charValue();
-		return false;
-	}
-
-	/**
-	 * Return the char value
-	 */
-	public char charValue() {
-		return fChar;
-	}
-	/**
-	 * Return the java.lang.Character value
-	 */
-	public Character characterValue() {
-		return new Character(fChar);
-	}
-
-	/**
-	 * Answer the toString() of the value.
-	 */
-	public String toBeanString() {
-		return String.valueOf(fChar);
-	}
-
-	/**
-	 * Get the beantype
-	 */
-	public IBeanTypeProxy getTypeProxy() {
-		return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).charType;
-	}
-
-	/**
-	 * Render the bean into value object.
-	 */
-	public void renderBean(Commands.ValueObject value) {
-		value.set(fChar);
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#byteValue()
-	 */
-	public byte byteValue() {
-		return (byte) fChar;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#doubleValue()
-	 */
-	public double doubleValue() {
-		return (double) fChar;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#floatValue()
-	 */
-	public float floatValue() {
-		return (float) fChar;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#intValue()
-	 */
-	public int intValue() {
-		return (int) fChar;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#longValue()
-	 */
-	public long longValue() {
-		return (long) fChar;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#numberValue()
-	 */
-	public Number numberValue() {
-		return new Integer(fChar); // Kludge
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#shortValue()
-	 */
-	public short shortValue() {
-		return (short) fChar;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterTypeBeanTypeProxy.java
deleted file mode 100644
index 2259158..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMCharacterTypeBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * Character.TYPE BeanType Proxy.
- * Creation date: (2/23/00 1:59:02 PM)
- * @author: Richard Lee Kulp
- */
-final class REMCharacterTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-
-	final REMCharacterTypeBeanProxy nilProxy;	// Value of '\0'
-/**
- * REMCharacterBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMCharacterTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
-	super(aRegistry, new Integer(Commands.CHARACTER_TYPE), Character.TYPE.getName());
-	
-	nilProxy = new REMCharacterTypeBeanProxy(aRegistry, '\0');
-}
-
-/**
- * Static helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- * Use the cache.
- */
-ICharacterBeanProxy createCharacterBeanProxy(char aCharacter) {
-	return new REMCharacterTypeBeanProxy(fRegistry, aCharacter);
-}
-
-/**
- * newInstance method. Character doesn't have a default ctor, so the standard way won't work.
- * Return the nilProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
-	return nilProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createCharacterBeanProxy(value.aChar);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMClassBeanTypeProxy.java
deleted file mode 100644
index 4f0bf27..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMClassBeanTypeProxy.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMClassBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * This is a bean type for the Class object. It is needed so that
- * when a new object id comes in that represents a class, it will
- * go through this bean type to create it. We need to do something
- * special so that the correct bean type object is created.
- */
-
-final class REMClassBeanTypeProxy extends REMAbstractBeanTypeProxy {
-
-
-REMClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy objectType) {
-	super(aRegistry, new Integer(Commands.CLASS_CLASS), Class.class.getName(), objectType);
-}
-
-/**
- * Note: Since new instances of Class are never done through a default ctor,
- * this function is not supported.
- */
-public IBeanProxy newInstance() { 
-	throw new UnsupportedOperationException();
-}
-
-/**
- * Note: Since new instances of Class are never done through a initialization strings,
- * this function is not supported.
- */
-public IBeanProxy newInstance(String initializationString) {
-	throw new UnsupportedOperationException();
-}		
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * NOTE: Since the Class type is final, this function isn't supported.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-	throw new UnsupportedOperationException();
-}
-
-/**
- * Create a new bean proxy with the specified id.
- *
- * In this case it means we need a new IBeanProxyType. We will let the 
- * Beantype factory handle this since it knows how to get the information
- * for a specific id.
- */
-public IREMBeanProxy newBeanProxy(Integer anID) {
-	return ((REMStandardBeanTypeProxyFactory) fRegistry.getBeanTypeProxyFactory()).createBeanTypeProxy(anID);
-}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConnection.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConnection.java
deleted file mode 100644
index ea0e4be..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConnection.java
+++ /dev/null
@@ -1,284 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMConnection.java,v $
- *  $Revision: 1.4 $  $Date: 2004/03/04 20:30:21 $ 
- */
-
-
-import java.io.*;
-import java.net.Socket;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.*;
-import org.eclipse.jem.internal.proxy.common.remote.CommandErrorException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.Commands.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands.GetClassIDReturn;
-import org.eclipse.jem.internal.proxy.common.remote.Commands.GetClassReturn;
-/**
- * The default implementation of the connection.
- *
- * It uses the property "proxyvm.bufsize" to determine the buffer size to use. If not specified, it uses the system default
- */
-public class REMConnection implements IREMConnection, IREMExpressionConnection {
-	protected Socket fSocket = null;
-	protected DataInputStream in = null;
-	protected DataOutputStream out = null;
-	private static final int TIME_OUT = 1000 * 60;	// Wait up to one minute before timeout.
-	
-	public REMConnection(Socket socket, boolean noTimeouts) {
-		try {
-			fSocket = socket;
-			fSocket.setSoLinger(true, 10);	// Wait 10 seconds if necessary for the final stuff to go out after closing.
-			if (!noTimeouts)
-				fSocket.setSoTimeout(TIME_OUT);	// Timeout period
-			Integer bufSize = Integer.getInteger("proxyvm.bufsize"); //$NON-NLS-1$
-			if (bufSize == null)
-				bufSize = new Integer(16000);
-			out = new DataOutputStream(new BufferedOutputStream(fSocket.getOutputStream(), bufSize.intValue()));	// It didn't take the hint, so we will buffer it.
-			in = new DataInputStream(new BufferedInputStream(fSocket.getInputStream(), bufSize.intValue()));	// It didn't take the hint, so we will buffer it.
-		} catch (IOException e) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));
-			
-			if (out != null)
-				try {
-					out.close();
-				} catch (IOException e2) {
-				}
-			if (in != null)
-				try {
-					in.close();
-				} catch (IOException e3) {
-				}
-			try {
-				fSocket.close();
-			} catch (IOException e4) {
-			}
-			fSocket = null;
-			in = null;
-			out = null;
-		}
-	}
-	
-	/**
-	 * Did this construct correctly.
-	 * This is needed because an exception could be thrown in the ctor and
-	 * that's not a good thing to do.
-	 */
-	public boolean isConnected() {
-		return fSocket != null;
-	}
-	
-	/**
-	 * Terminate the server. 
-	 */
-	public void terminateServer() {
-		if (isConnected()) {
-			try {
-				Commands.sendTerminateCommand(out);
-			} catch (IOException e) {
-			}
-			close();
-		}
-	}
-	
-	/**
-	 * Close the connection.
-	 */
-	public void close() {
-		if (isConnected()) {
-			try {
-				Commands.sendQuitCommand(out);
-			} catch (IOException e) {
-			} finally {
-				try {
-					out.close();
-				} catch (IOException e2) {
-				}
-				try {
-					in.close();
-				} catch (IOException e3) {
-				}
-				try {
-					fSocket.close();
-				} catch (IOException e4) {
-				}
-			}
-			fSocket = null;
-			in = null;
-			out = null;
-		}
-	}
-		
-					
-	/**
-	 * Return the class information.
-	 */
-	public GetClassReturn getClass(String className) throws CommandException {
-		if (isConnected())
-			try {
-				// It's simple, just pass onto Commands.
-				return Commands.sendGetClassCommand(out, in, className);
-			} catch (CommandErrorException e) {
-				if (e.getErrorCode() != Commands.GET_CLASS_NOT_FOUND)
-					throw e;	// Not class not found, send it on
-			}			
-		return null;	// Not found, so return null				
-	}
-	
-	
-	/**
-	 * Return the class information given an ID.
-	 */
-	public GetClassIDReturn getClassFromID(int classID) throws CommandException {
-		if (isConnected()) {
-			// It's simple, just pass onto Commands.
-			return Commands.sendGetClassFromIDCommand(out, in, classID);
-		}
-		return null;	// Not found, so return null		
-	}	
-	
-	/**
-	 * Get the object data from an id.
-	 */
-	public void getObjectData(int classID, Commands.ValueObject valueReturn) throws CommandException {
-		if (isConnected()) {
-			// Just pass onto Commands.
-			Commands.sendGetObjectData(out, in, classID, valueReturn);
-		} else
-			valueReturn.set();	// Set it to null since we aren't connected.
-	}	
-
-	/**
-	 * Get a new instance using an init string
-	 */
-	public void getNewInstance(int classID, String initString, Commands.ValueObject newInstance) throws CommandException {
-		if (isConnected()) {
-			// Just pass onto Commands.
-			Commands.sendNewInstance(out, in, classID, initString, newInstance);
-		} else
-			newInstance.set();	// Set it to null since we aren't connected.
-	}
-	
-	/**
-	 * Release the id.
-	 */
-	public void releaseID(int id){
-		if (isConnected())
-			try {
-				// Just pass onto Commands.
-				Commands.releaseObjectCommand(out, id);
-			} catch (IOException e) {
-				// Don't care it didn't work
-			}
-	}
-	
-	/**
-	 * Invoke the method call
-	 */	
-	public void invokeMethod(int methodID, Commands.ValueObject invokeOn, Commands.ValueObject parms, Commands.ValueObject returnValue) throws CommandException {
-		if (isConnected()) {
-			// It's simple, just pass onto Commands.
-			Commands.sendInvokeMethodCommand(out, in, methodID, invokeOn, parms, returnValue);
-		}			
-	}
-	
-	/* ************************************************************
-	 * Put the Expression processing commands here.
-	 * 
-	 * ************************************************************/
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#startExpressionProcessing()
-	 */
-	public void startExpressionProcessing() throws IOException {
-		if (isConnected())
-			ExpressionCommands.sendStartExpressionProcessingCommand(out);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#pushExpressionCommand(byte)
-	 */
-	public void pushExpressionCommand(byte subcommand) throws IOException {
-		if (isConnected())
-			ExpressionCommands.sendExpressionCommand(out, subcommand);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#stopExpressionProcessing()
-	 */
-	public void stopExpressionProcessing() throws IOException {
-		if (isConnected())
-			ExpressionCommands.sendEndExpressionProcessingCommand(out);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#pushValueObject(org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject)
-	 */
-	public void pushValueObject(ValueObject valueObject) throws CommandException {
-		if (isConnected())
-			Commands.writeValue(out, valueObject, false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#pushByte(byte)
-	 */
-	public void pushByte(byte abyte) throws IOException {
-		if (isConnected())
-			ExpressionCommands.sendByte(out, abyte);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#pushInt(int)
-	 */
-	public void pushInt(int anInt) throws IOException {
-		if (isConnected())
-			ExpressionCommands.sendInt(out, anInt);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#pushString(java.lang.String)
-	 */
-	public void pushString(String aString) throws IOException {
-		if (isConnected())
-			ExpressionCommands.sendString(out, aString);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#pushBoolean(boolean)
-	 */
-	public void pushBoolean(boolean aBool) throws IOException {
-		if (isConnected())
-			ExpressionCommands.sendBoolean(out, aBool);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#pullValue(org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject)
-	 */
-	public void pullValue(ValueObject returnValue) throws CommandException {
-		if (isConnected())
-			ExpressionCommands.sendPullValueCommand(out, in, returnValue);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.remote.IREMExpressionConnection#sync(org.eclipse.jem.internal.proxy.common.remote.Commands.ValueObject)
-	 */
-	public void sync(ValueObject returnValue) throws CommandException {
-		if (isConnected())
-			ExpressionCommands.sendSyncCommand(out, in, returnValue);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstantBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstantBeanProxy.java
deleted file mode 100644
index 4ee4735..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstantBeanProxy.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMConstantBeanProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry;
-/**
- * This is a base for bean proxies that are constants and
- * do not have an object on the remote VM side. They are
- * shipped back and forth by value.
- */
-
-public abstract class REMConstantBeanProxy implements IREMConstantBeanProxy {
-	protected final REMProxyFactoryRegistry fFactory;
-	private final static Integer ID = new Integer(Commands.NOT_AN_ID);
-	
-	protected REMConstantBeanProxy(REMProxyFactoryRegistry aFactory) {
-		fFactory = aFactory;
-	}
-	/**
-	 * Return the registry this proxy was created with.
-	 */
-	public ProxyFactoryRegistry getProxyFactoryRegistry() {
-		return fFactory;
-	}
-	
-	/**
-	 * equals: Equal if:
-	 *         1) This proxy == (identity) to the other object
-	 *         2) Else if other is an IBeanProxy and not a constant one, then if
-	 *            equals on the server.
-	 *         3) If this is a constant proxy and the other is too or is a constant
-	 *            value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
-	 * This is abstract because each type needs to do a unique test for equality.
-	 */
-	public abstract boolean equals(Object anObject);
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
-	 */
-	public boolean sameAs(IBeanProxy aBeanProxy) {
-		// We can't be assured that there are not non-identical constants that are actually identical.
-		// This is because for constants we do not know the id of the original. That is not sent across from the vm.		
-		return this == aBeanProxy;	
-	}	
-	
-	/**
-	 * Return the ID of this proxy.
-	 * Constants have no id's, so we return -1.
-	 */
-	public Integer getID() {
-		return ID;
-	}
-	
-	/**
-	 * isValid. Constant ones are always valid unless the registry is terminated, except if an
-	 * override releases resources. In that case the overriding
-	 * subclass should also override isValid() to return false
-	 * if release() was called.
-	 */
-	public boolean isValid() {
-		return fFactory.isValid();
-	}
-	
-	/**
-	 * release. Constant ones don't need to typically be released, however
-	 * if an override does do something to release, then it MUST also
-	 * override isValid() to return false.
-	 */
-	public void release() {
-	}
-
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstructorProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstructorProxy.java
deleted file mode 100644
index 6cc583f..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstructorProxy.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMConstructorProxy.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.TransmitableArray;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Proxy for a constructor.
- */
-
-final class REMConstructorProxy extends REMAccessibleObjectProxy implements IConstructorProxy {
-
-	REMConstructorProxy(REMProxyFactoryRegistry aRegistry, Integer anID) {
-		super(aRegistry, anID);
-	}
-
-	/**
-	 * Using this constructor (assuming it takes no arguments) create a new instance.
-	 * Exception will be raised if this constructor takes arguments.
-	 */
-	public IBeanProxy newInstance() throws ThrowableProxy {
-		return newInstance(null);
-	}
-
-	/**
-	 * The type proxy is constant proxy out of the method factory.
-	 */
-	public IBeanTypeProxy getTypeProxy() {
-		return ((REMMethodProxyFactory) fFactory.getMethodProxyFactory()).ctorType;
-	}
-
-	/**
-	 * Using this constructor (with the arguments) create a new instance.
-	 * Exception will be raised if arguments don't match the constructor.
-	 */
-	public IBeanProxy newInstance(IBeanProxy[] creationArguments) throws ThrowableProxy {
-		IREMMethodProxy newInstanceMethod =
-			(IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getConstructorNewInstance();
-
-		// Constructor.newInstance takes one parm (Object[]) where [0] is an Object[] of the arguments to the constructor.
-		Object[] parms = null;
-		if (creationArguments != null)
-			parms = new Object[] { new TransmitableArray(Commands.OBJECT_CLASS, creationArguments)};
-
-		return newInstanceMethod.invokeWithParms(this, parms);
-	}
-	public IBeanProxy newInstanceCatchThrowableExceptions() {
-		try {
-			return newInstance();
-		} catch (ThrowableProxy e) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e)); //$NON-NLS-1$
-			fFactory.releaseProxy(e); // Since it's no longer needed, get rid of now instead of GC time.
-			return null;
-		}
-	}
-	public IBeanProxy newInstanceCatchThrowableExceptions(IBeanProxy[] args) {
-		try {
-			return newInstance(args);
-		} catch (ThrowableProxy e) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e)); //$NON-NLS-1$
-			fFactory.releaseProxy(e); // Since it's no longer needed, get rid of now instead of GC time.
-			return null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstructorTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstructorTypeProxy.java
deleted file mode 100644
index ff70af1..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstructorTypeProxy.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMConstructorTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * BeanType Proxy for Method class.
- */
-
-final class REMConstructorTypeProxy extends REMAbstractBeanTypeProxy {
-
-REMConstructorTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy accessibleTypeProxy) {
-	super(aRegistry, new Integer(Commands.CONSTRUCTOR_CLASS), java.lang.reflect.Constructor.class.getName(), accessibleTypeProxy);
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the accessible object types, they are final classes, so you can't create a newBeanType 
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-	throw new UnsupportedOperationException();
-}
-
-/**
- * Specialized from REMAbstractBeanTypeProxy to ensure Constructor proxies are created correctly.
- */
-public IREMBeanProxy newBeanProxy(Integer objectID) {
-	return new REMConstructorProxy(fRegistry, objectID);
-}
-
-/**
- * Note: Since new instances of Constructor are never done through a default ctor,
- * this function is not supported.
- */
-public IBeanProxy newInstance() { 
-	throw new UnsupportedOperationException();
-}
-
-/**
- * Note: Since new instances of Constructor are never done through an initialization string,
- * this function is not supported.
- */
-public IBeanProxy newInstance(String initializationString) {
-	throw new UnsupportedOperationException();
-}		
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleClassBeanProxy.java
deleted file mode 100644
index af1d5f2..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleClassBeanProxy.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMDoubleClassBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Proxy for Double.class.
- */
-class REMDoubleClassBeanProxy extends REMNumberBeanProxy {
-
-REMDoubleClassBeanProxy(REMProxyFactoryRegistry aRegistry, Double aDouble) {
-	super(aRegistry, aDouble);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).doubleClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set((Double) numberValue());
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleClassBeanTypeProxy.java
deleted file mode 100644
index 4f0d36b..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleClassBeanTypeProxy.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMDoubleClassBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Double.class.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMDoubleClassBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
-	private final INumberBeanProxy zeroProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMDoubleClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
-	super(aRegistry, new Integer(Commands.DOUBLE_CLASS), Double.class.getName(), numberType);
-	
-	// Create the cached values
-	zeroProxy = new REMDoubleClassBeanProxy(aRegistry, new Double(0D));	
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createDoubleBeanProxy(Double aDouble) {
-	return (aDouble.doubleValue() != 0D) ?
-		new REMDoubleClassBeanProxy(fRegistry, aDouble) : zeroProxy;
-}
-
-/**
- * Generic way to create an Double proxy, however, the Number must be a Double.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
-	return createDoubleBeanProxy((Double) aNumber);
-}	
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
-	return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createDoubleBeanProxy(new Double(value.aDouble));
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleTypeBeanProxy.java
deleted file mode 100644
index c2c5ae8..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleTypeBeanProxy.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMDoubleTypeBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote Implementation of INumberProxy for the primitive "double".
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-class REMDoubleTypeBeanProxy extends REMConstantBeanProxy implements INumberBeanProxy {
-	private final double fDouble;
-
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-REMDoubleTypeBeanProxy(REMProxyFactoryRegistry aRegistry, double aDouble) {
-	super(aRegistry);
-	fDouble = aDouble;
-}
-
-/**
- * equals: Equal if:
- *         1) This proxy == (identity) to the other object
- *         2) Else if other is an IBeanProxy and not a constant one, then if
- *            equals on the server.
- *         3) If this is a constant proxy and the other is too or is a constant
- *            value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
-	if (this == anObject)
-		return true;	// Identity
-	if (anObject instanceof REMDoubleTypeBeanProxy)
-		return fDouble == ((REMDoubleTypeBeanProxy) anObject).doubleValue();
-	if (anObject instanceof Double)
-		return fDouble == ((Double) anObject).doubleValue();
-	return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
-public boolean sameAs(IBeanProxy aBeanProxy) {
-	if (this == aBeanProxy)
-		return true;	// Identity
-	if (aBeanProxy instanceof REMDoubleTypeBeanProxy)
-		return fDouble == ((REMDoubleTypeBeanProxy) aBeanProxy).doubleValue();
-	return false;
-}
-
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
-	return (byte) fDouble;
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
-	return fDouble;
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
-	return (float) fDouble;
-}
-/**
- * Return the int value
- */
-public int intValue() {
-	return (int) fDouble;
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
-	return (long) fDouble;
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
-	return new Double(fDouble);
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
-	return (short) fDouble;
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
-	return String.valueOf(fDouble);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).doubleType;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set(fDouble);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleTypeBeanTypeProxy.java
deleted file mode 100644
index 6278171..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMDoubleTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMDoubleTypeBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Double.TYPE
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMDoubleTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-// Some values are cache'd for speed
-	private final INumberBeanProxy zeroProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMDoubleTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
-	super(aRegistry, new Integer(Commands.DOUBLE_TYPE), Double.TYPE.getName());
-	
-	// Create the cached values
-	zeroProxy = new REMDoubleTypeBeanProxy(aRegistry, 0D);		
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createDoubleBeanProxy(double aDouble) {
-	return (aDouble != 0D) ?
-		new REMDoubleTypeBeanProxy(fRegistry, aDouble) : zeroProxy;
-}
-
-/**
- * newInstance method. double is a primitive, so the standard way won't work.
- * Return the zeroProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
-	return zeroProxy;
-}
-	
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createDoubleBeanProxy(value.aDouble);
-}
-
-/**
- * Short cut for newInstance where the string follows the
- * specific pattern we expect. That way it won't be necessary to ship over to the vm 
- * to process it.
- *
- * The pattern it can accept is:
- * 	1) (double) validNumber - number can be any number because (double) explicitly casts it down.
- *	2) validNumber
- * It will use the decode function of double to determine the valid number.
- */
-public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
-	String trim = initializationString.trim();
-	if (trim.length() == 0)
-		return super.newInstance(initializationString);	
-	double aDouble;
-	if (trim.startsWith("(double)")) { //$NON-NLS-1$
-		Number v = parseString(trim.substring("(double)".length()).trim()); //$NON-NLS-1$
-		if (v != null)
-			aDouble = v.doubleValue();
-		else
-			return super.newInstance(initializationString);	// Can't decode it, let full parser handle it.
-	} else {
-		try {
-			aDouble = Double.valueOf(initializationString).doubleValue();	// See if valid double format.
-		} catch (NumberFormatException e) {
-			return super.newInstance(initializationString);	// Can't decode it, let full parser handle it.
-		}
-	}
-
-	return getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(aDouble);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMExpression.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMExpression.java
deleted file mode 100644
index 2413865..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMExpression.java
+++ /dev/null
@@ -1,522 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMExpression.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/20 00:44:05 $ 
- */
-package org.eclipse.jem.internal.proxy.remote;
-
-import java.io.IOException;
-import java.util.logging.Level;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.*;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.initParser.tree.IInternalExpressionConstants;
- 
-/**
- * The Remote proxy version of Expression.
- * 
- * @since 1.0.0
- */
-public class REMExpression extends Expression {
-
-	protected IREMExpressionConnection connection;
-	
-	protected Commands.ValueObject workerValue = new Commands.ValueObject();	// A worker object so that we don't need to keep creating one and throwing it away.
-	
-	/**
-	 * @param registry
-	 * 
-	 * @since 1.0.0
-	 */
-	public REMExpression(REMProxyFactoryRegistry registry) {
-		super(registry);
-		connection = (IREMExpressionConnection) registry.getFreeConnection();
-		try {
-			connection.startExpressionProcessing();
-		} catch (IOException e) {
-			connection.close();
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			throwIllegalStateException(IO_EXCEPTION_MSG);
-		}
-	}
-	
-	/**
-	 * General IOException occurred msg.
-	 */
-	protected static final String IO_EXCEPTION_MSG = "I/O Exception occurred. See .log file for details.";
-	
-	protected static final String COMMAND_EXCEPTION_MSG = "Command Exception occurred. See .log file for details.";
-	
-	/**
-	 * Throw an an illegal state exception if some general error, in particular an I/O or Command Exception
-	 * occurred so that callers know there is something wrong.
-	 * 
-	 * @param msg
-	 * @throws IllegalStateException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected void throwIllegalStateException(String msg) throws IllegalStateException {
-		throw new IllegalStateException(msg);
-	}
-	
-	/**
-	 * Return the registry as a REMProxyFactoryRegistry
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final REMProxyFactoryRegistry getREMRegistry() {
-		return (REMProxyFactoryRegistry) registry;
-	}
-	
-	/**
-	 * Return the bean proxy factory as a REMStandardBeanProxyFactory.
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final REMStandardBeanProxyFactory getREMBeanProxyFactory() {
-		return (REMStandardBeanProxyFactory) beanProxyFactory;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushToProxy(org.eclipse.jem.internal.proxy.core.IBeanProxy)
-	 */
-	protected void pushToProxy(IBeanProxy proxy) throws ThrowableProxy {
-		try {
-			// Format of push proxy command is:
-			//	PushExpressionCommand(push to proxy) followed by:
-			//		ValueObject containing the rendered proxy.
-			connection.pushExpressionCommand((byte)IInternalExpressionConstants.PUSH_TO_PROXY_EXPRESSION);
-			if (proxy == null)
-				workerValue.set();
-			else
-				((IREMBeanProxy) proxy).renderBean(workerValue);
-			connection.pushValueObject(workerValue);
-		} catch (IOException e) {
-			connection.close();
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			throwIllegalStateException(IO_EXCEPTION_MSG);
-		} catch (CommandException e) {
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			if (!e.isRecoverable()) {
-				connection.close();
-				throwIllegalStateException(COMMAND_EXCEPTION_MSG);
-			}			
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#closeProxy()
-	 */
-	protected void closeProxy() {
-		try {
-			try {
-				connection.stopExpressionProcessing();
-			} catch (IOException e) {
-				connection.close();
-				ProxyPlugin.getPlugin().getLogger().log(e, Level.INFO);
-				// Not throwing an illegal state here because we don't care, other than logging and not 
-				// returning the connection to the registry that there was an error on close.
-			}
-		} finally {
-			getREMRegistry().returnConnection(connection);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pullProxyValue()
-	 */
-	protected IBeanProxy pullProxyValue() throws ThrowableProxy, NoExpressionValueException {
-		try {
-			connection.pullValue(workerValue);
-			return getREMBeanProxyFactory().getBeanProxy(workerValue);
-		} catch (CommandErrorException e) {
-			if (e.getErrorCode() == ExpressionCommands.ExpressionNoExpressionValueException) {
-				throw new NoExpressionValueException((String) e.getErrorObject());
-			}
-			try {
-				getREMBeanProxyFactory().processErrorReturn(e);
-			} catch (CommandException e1) {
-				ProxyPlugin.getPlugin().getLogger().log(e);
-				if (!e.isRecoverable()) {
-					connection.close();
-					throwIllegalStateException(COMMAND_EXCEPTION_MSG);
-				}			
-			}
-		} catch (CommandException e) {
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			if (!e.isRecoverable()) {
-				connection.close();
-				throwIllegalStateException(COMMAND_EXCEPTION_MSG);
-			}			
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushCastToProxy(java.lang.Object)
-	 */
-	protected void pushCastToProxy(Object type) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			// Format of push cast to proxy command is:
-			//	PushExpressionCommand(push cast to proxy) followed by:
-			//		ValueObject containing the rendered bean type proxy or the String representing the name of class.
-			connection.pushExpressionCommand((byte)IInternalExpressionConstants.CAST_EXPRESSION);
-			if (type instanceof String)
-				workerValue.set((String) type);
-			else
-				((IREMBeanProxy) type).renderBean(workerValue);
-			connection.pushValueObject(workerValue);
-		} catch (IOException e) {
-			connection.close();			
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			throwIllegalStateException(IO_EXCEPTION_MSG);
-		} catch (CommandException e) {
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			if (!e.isRecoverable()) {
-				connection.close();
-				throwIllegalStateException(COMMAND_EXCEPTION_MSG);
-			}			
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushInstanceofToProxy(java.lang.Object)
-	 */
-	protected void pushInstanceofToProxy(Object type) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			// Format of push instanceof to proxy command is:
-			//	PushExpressionCommand(push instanceof to proxy) followed by:
-			//		ValueObject containing the rendered bean type proxy or the String representing the name of class.
-			connection.pushExpressionCommand((byte)IInternalExpressionConstants.INSTANCEOF_EXPRESSION);
-			if (type instanceof String)
-				workerValue.set((String) type);
-			else
-				((IREMBeanProxy) type).renderBean(workerValue);
-			connection.pushValueObject(workerValue);
-		} catch (IOException e) {
-			connection.close();
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			throwIllegalStateException(IO_EXCEPTION_MSG);
-		} catch (CommandException e) {
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			if (!e.isRecoverable()) {
-				connection.close();
-				throwIllegalStateException(COMMAND_EXCEPTION_MSG);
-			}			
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushInfixToProxy(int, int)
-	 */
-	protected void pushInfixToProxy(int operator, int operandType) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			// Format of push infix to proxy command is:
-			//	PushExpressionCommand(push infix to proxy) followed by:
-			//		byte: operator
-			//		byte: operandType
-			connection.pushExpressionCommand((byte)IInternalExpressionConstants.INFIX_EXPRESSION);
-			connection.pushByte((byte) operator);
-			connection.pushByte((byte) operandType);
-		} catch (IOException e) {
-			connection.close();
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			throwIllegalStateException(IO_EXCEPTION_MSG);
-		}		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushPrefixToProxy(int)
-	 */
-	protected void pushPrefixToProxy(int operator) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			// Format of push prefix to proxy command is:
-			//	PushExpressionCommand(push prefix to proxy) followed by:
-			//		byte: operator
-			connection.pushExpressionCommand((byte)IInternalExpressionConstants.PREFIX_EXPRESSION);
-			connection.pushByte((byte) operator);
-		} catch (IOException e) {
-			connection.close();
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			throwIllegalStateException(IO_EXCEPTION_MSG);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushTypeLiteralToProxy(java.lang.String)
-	 */
-	protected void pushTypeLiteralToProxy(String type) throws ThrowableProxy {
-		try {
-			// Format of push type literal to proxy command is:
-			//	PushExpressionCommand(push typeliteral to proxy) followed by:
-			//		ValueObject containing the String representing the name of class.
-			connection.pushExpressionCommand((byte)IInternalExpressionConstants.TYPELITERAL_EXPRESSION);
-			workerValue.set((String) type);
-			connection.pushValueObject(workerValue);
-		} catch (IOException e) {
-			connection.close();
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			throwIllegalStateException(IO_EXCEPTION_MSG);
-		} catch (CommandException e) {
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			if (!e.isRecoverable()) {
-				connection.close();
-				throwIllegalStateException(COMMAND_EXCEPTION_MSG);
-			}			
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushArrayAccessToProxy(int)
-	 */
-	protected void pushArrayAccessToProxy(int indexCount) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			// Format of push array access to proxy command is:
-			//	PushExpressionCommand(push array acces to proxy) followed by:
-			//		int: indexCount
-			connection.pushExpressionCommand((byte)IInternalExpressionConstants.ARRAY_ACCESS_EXPRESSION);
-			connection.pushInt(indexCount);
-		} catch (IOException e) {
-			connection.close();
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			throwIllegalStateException(IO_EXCEPTION_MSG);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushArrayCreationToProxy(java.lang.Object, int)
-	 */
-	protected void pushArrayCreationToProxy(Object type, int dimensionCount) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			// Format of push array creation to proxy command is:
-			//	PushExpressionCommand(push array creation to proxy) followed by:
-			//		ValueObject containing the rendered bean type proxy or the String representing the name of class.
-			//		int: dimension count
-			connection.pushExpressionCommand((byte)IInternalExpressionConstants.ARRAY_CREATION_EXPRESSION);
-			if (type instanceof String)
-				workerValue.set((String) type);
-			else
-				((IREMBeanProxy) type).renderBean(workerValue);
-			connection.pushValueObject(workerValue);
-			connection.pushInt(dimensionCount);
-		} catch (IOException e) {
-			connection.close();
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			throwIllegalStateException(IO_EXCEPTION_MSG);
-		} catch (CommandException e) {
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			if (!e.isRecoverable()) {
-				connection.close();
-				throwIllegalStateException(COMMAND_EXCEPTION_MSG);
-			}			
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushArrayInitializerToProxy(java.lang.Object, int)
-	 */
-	protected void pushArrayInitializerToProxy(Object type, int expressionCount) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			// Format of push array initializer to proxy command is:
-			//	PushExpressionCommand(push array initializer to proxy) followed by:
-			//		ValueObject containing the rendered bean type proxy or the String representing the name of class.
-			//		int: expression count
-			connection.pushExpressionCommand((byte)IInternalExpressionConstants.ARRAY_INITIALIZER_EXPRESSION);
-			if (type instanceof String)
-				workerValue.set((String) type);
-			else
-				((IREMBeanProxy) type).renderBean(workerValue);
-			connection.pushValueObject(workerValue);
-			connection.pushInt(expressionCount);
-		} catch (IOException e) {
-			connection.close();
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			throwIllegalStateException(IO_EXCEPTION_MSG);
-		} catch (CommandException e) {
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			if (!e.isRecoverable()) {
-				connection.close();
-				throwIllegalStateException(COMMAND_EXCEPTION_MSG);
-			}			
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushClassInstanceCreationToProxy(java.lang.Object, int)
-	 */
-	protected void pushClassInstanceCreationToProxy(Object type, int argumentCount) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			// Format of push class instance creation to proxy command is:
-			//	PushExpressionCommand(push class instance creation to proxy) followed by:
-			//		ValueObject containing the rendered bean type proxy or the String representing the name of class.
-			//		int: argument count
-			connection.pushExpressionCommand((byte)IInternalExpressionConstants.CLASS_INSTANCE_CREATION_EXPRESSION);
-			if (type instanceof String)
-				workerValue.set((String) type);
-			else
-				((IREMBeanProxy) type).renderBean(workerValue);
-			connection.pushValueObject(workerValue);
-			connection.pushInt(argumentCount);
-		} catch (IOException e) {
-			connection.close();
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			throwIllegalStateException(IO_EXCEPTION_MSG);
-		} catch (CommandException e) {
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			if (!e.isRecoverable()) {
-				connection.close();
-				throwIllegalStateException(COMMAND_EXCEPTION_MSG);
-			}			
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushTypeReceiverToProxy(java.lang.Object)
-	 */
-	protected void pushTypeReceiverToProxy(Object type) throws ThrowableProxy {
-		try {
-			// Format of push type receiver to proxy command is:
-			//	PushExpressionCommand(push type receiver to proxy) followed by:
-			//		ValueObject containing the rendered bean type proxy or the String representing the name of class.
-			connection.pushExpressionCommand((byte)IInternalExpressionConstants.TYPERECEIVER_EXPRESSION);
-			if (type instanceof String)
-				workerValue.set((String) type);
-			else
-				((IREMBeanProxy) type).renderBean(workerValue);
-			connection.pushValueObject(workerValue);
-		} catch (IOException e) {
-			connection.close();
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			throwIllegalStateException(IO_EXCEPTION_MSG);
-		} catch (CommandException e) {
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			if (!e.isRecoverable()) {
-				connection.close();
-				throwIllegalStateException(COMMAND_EXCEPTION_MSG);
-			}			
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushFieldAccessToProxy(java.lang.String, boolean)
-	 */
-	protected void pushFieldAccessToProxy(String fieldName, boolean hasReceiver) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			// Format of push field access to proxy command is:
-			//	PushExpressionCommand(push field access to proxy) followed by:
-			//		String: fieldName
-			//		boolean: hasReceiver
-			connection.pushExpressionCommand((byte)IInternalExpressionConstants.FIELD_ACCESS_EXPRESSION);
-			connection.pushString(fieldName);
-			connection.pushBoolean(hasReceiver);
-		} catch (IOException e) {
-			connection.close();
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			throwIllegalStateException(IO_EXCEPTION_MSG);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushMethodInvocationToProxy(java.lang.String, boolean, int)
-	 */
-	protected void pushMethodInvocationToProxy(String methodName, boolean hasReceiver, int argCount)
-		throws ThrowableProxy, NoExpressionValueException {
-		try {
-			// Format of push method invocation to proxy command is:
-			//	PushExpressionCommand(push method invocation to proxy) followed by:
-			//		String: methodName
-			//		boolean: hasReceiver
-			//		int: argCount
-			connection.pushExpressionCommand((byte)IInternalExpressionConstants.METHOD_EXPRESSION);
-			connection.pushString(methodName);
-			connection.pushBoolean(hasReceiver);
-			connection.pushInt(argCount);
-		} catch (IOException e) {
-			connection.close();
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			throwIllegalStateException(IO_EXCEPTION_MSG);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushConditionalToProxy(int)
-	 */
-	protected void pushConditionalToProxy(int expressionType) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			// Format of push conditional to proxy command is:
-			//	PushExpressionCommand(push conditional to proxy) followed by:
-			//		byte: expression type
-			connection.pushExpressionCommand((byte)IInternalExpressionConstants.CONDITIONAL_EXPRESSION);
-			connection.pushByte((byte) expressionType);
-		} catch (IOException e) {
-			connection.close();
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			markInvalid(e.getLocalizedMessage());
-			throwIllegalStateException(IO_EXCEPTION_MSG);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushInvoke()
-	 */
-	protected void pushInvoke() throws ThrowableProxy, NoExpressionValueException {
-		try {
-			connection.sync(workerValue);
-			getREMBeanProxyFactory().getBeanProxy(workerValue);	// This processes the return. It will be either true or an error. If true we don't care and if error the catch will handle it.
-		} catch (CommandErrorException e) {
-			if (e.getErrorCode() == ExpressionCommands.ExpressionNoExpressionValueException) {
-				throw new NoExpressionValueException((String) e.getErrorObject());
-			}
-			try {
-				getREMBeanProxyFactory().processErrorReturn(e);
-			} catch (CommandException e1) {
-				ProxyPlugin.getPlugin().getLogger().log(e);
-				if (!e.isRecoverable()) {
-					connection.close();
-					throwIllegalStateException(COMMAND_EXCEPTION_MSG);
-				}			
-			}
-		} catch (CommandException e) {
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			if (!e.isRecoverable()) {
-				connection.close();
-				throwIllegalStateException(COMMAND_EXCEPTION_MSG);
-			}			
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFieldProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFieldProxy.java
deleted file mode 100644
index 120890b..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFieldProxy.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMFieldProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/12 21:44:26 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-final class REMFieldProxy extends REMAccessibleObjectProxy implements IFieldProxy {
-	private IBeanTypeProxy fFieldType;
-
-	REMFieldProxy(REMProxyFactoryRegistry aRegistry, Integer anID) {
-		super(aRegistry, anID);
-	}
-
-	/**
-	 * Return the type of the field.
-	 */
-	public IBeanTypeProxy getFieldType() {
-		if (fFieldType == null)
-			fFieldType =
-				(IBeanTypeProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetType().invokeCatchThrowableExceptions(
-					this);
-
-		return fFieldType;
-	}
-
-	/**
-	 * Release the proxy, i.e. mark it invalid.
-	 */
-	public void release() {
-		fFieldType = null;
-		super.release();
-	}
-
-	/**
-	 * Get the value of this field from the subject
-	 */
-	public IBeanProxy get(IBeanProxy subject) throws ThrowableProxy {
-		// Format of getter parms is: (Object (subject)).
-		// If the component type is primitive, we need to use the correct getter so that a valid value is returned,
-		// if we just used the standard get, if the type was "int" the value returned would be an java.lang.Integer.
-		IBeanTypeProxy fieldType = getFieldType();
-		if (!fieldType.isPrimitive()) {
-			// Use standard getter.
-			return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGet()).invoke(this, subject);
-		} else {
-			// Use the correct primitive getter.
-			int id = ((IREMBeanProxy) fieldType).getID().intValue();
-			switch (id) {
-				case Commands.BYTE_TYPE :
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetByte()).invoke(this, subject);
-				case Commands.BOOLEAN_TYPE :
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetBoolean()).invoke(
-						this,
-						subject);
-				case Commands.CHARACTER_TYPE :
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetChar()).invoke(this, subject);
-				case Commands.DOUBLE_TYPE :
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetDouble()).invoke(
-						this,
-						subject);
-				case Commands.FLOAT_TYPE :
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetFloat()).invoke(
-						this,
-						subject);
-				case Commands.INTEGER_TYPE :
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetInt()).invoke(this, subject);
-				case Commands.LONG_TYPE :
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetLong()).invoke(this, subject);
-				case Commands.SHORT_TYPE :
-					return ((IREMMethodProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getFieldGetShort()).invoke(
-						this,
-						subject);
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * Set the value of this field in this subject to this value.
-	 */
-	public void set(IBeanProxy subject, IBeanProxy value) throws ThrowableProxy {
-		REMStandardBeanProxyConstants.getConstants(fFactory).getFieldSet().invoke(this, new IBeanProxy[] { subject, value });
-	}
-
-	/**
-	 * The type proxy is constant proxy out of the method factory.
-	 */
-	public IBeanTypeProxy getTypeProxy() {
-		return ((REMMethodProxyFactory) fFactory.getMethodProxyFactory()).fieldType;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFieldTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFieldTypeProxy.java
deleted file mode 100644
index 6fc123e..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFieldTypeProxy.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMFieldTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * BeanType Proxy for Method class.
- */
-
-final class REMFieldTypeProxy extends REMAbstractBeanTypeProxy {
-
-REMFieldTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy accessibleTypeProxy) {
-	super(aRegistry, new Integer(Commands.FIELD_CLASS), java.lang.reflect.Field.class.getName(), accessibleTypeProxy);
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the accessible object types, they are final classes, so you can't create a newBeanType 
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-	throw new UnsupportedOperationException();
-}
-
-/**
- * Specialized from REMAbstractBeanTypeProxy to ensure Constructor proxies are created correctly.
- */
-public IREMBeanProxy newBeanProxy(Integer objectID) {
-	return new REMFieldProxy(fRegistry, objectID);
-}
-
-/**
- * Note: Since new instances of Constructor are never done through a default ctor,
- * this function is not supported.
- */
-public IBeanProxy newInstance() { 
-	throw new UnsupportedOperationException();
-}
-
-/**
- * Note: Since new instances of Constructor are never done through an initialization string,
- * this function is not supported.
- */
-public IBeanProxy newInstance(String initializationString) {
-	throw new UnsupportedOperationException();
-}		
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatClassBeanProxy.java
deleted file mode 100644
index c8c8fc2..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatClassBeanProxy.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMFloatClassBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote proxy implementation of INumberBeanProxy for Float.class
- */
-class REMFloatClassBeanProxy extends REMNumberBeanProxy {
-
-REMFloatClassBeanProxy(REMProxyFactoryRegistry aRegistry, Float aFloat) {
-	super(aRegistry, aFloat);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).floatClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set((Float) numberValue());
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatClassBeanTypeProxy.java
deleted file mode 100644
index e80cc1b..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatClassBeanTypeProxy.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMFloatClassBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypePRoxy for Float.class
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMFloatClassBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
-	private final INumberBeanProxy zeroProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMFloatClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
-	super(aRegistry, new Integer(Commands.FLOAT_CLASS), Float.class.getName(), numberType);
-	
-	// Create the cached values
-	zeroProxy = new REMFloatClassBeanProxy(aRegistry, new Float(0F));	
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createFloatBeanProxy(Float aFloat) {
-	return (aFloat.floatValue() != 0F) ?
-		new REMFloatClassBeanProxy(fRegistry, aFloat) : zeroProxy;
-}
-
-/**
- * Generic way to create an Float proxy, however, the Number must be a Float.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
-	return createFloatBeanProxy((Float) aNumber);
-}
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
-	return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createFloatBeanProxy(new Float(value.aFloat));
-}	
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatTypeBeanProxy.java
deleted file mode 100644
index 49eb95e..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatTypeBeanProxy.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMFloatTypeBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote Implementation of INumberBeanProxy for the primitive "float".
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-class REMFloatTypeBeanProxy extends REMConstantBeanProxy implements INumberBeanProxy {
-	private final float fFloat;
-
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-REMFloatTypeBeanProxy(REMProxyFactoryRegistry aRegistry, float aFloat) {
-	super(aRegistry);
-	fFloat = aFloat;
-}
-/**
- * equals: Equal if:
- *         1) This proxy == (identity) to the other object
- *         2) Else if other is an IBeanProxy and not a constant one, then if
- *            equals on the server.
- *         3) If this is a constant proxy and the other is too or is a constant
- *            value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
-	if (this == anObject)
-		return true;	// Identity
-	if (anObject instanceof REMFloatTypeBeanProxy)
-		return fFloat == ((REMFloatTypeBeanProxy) anObject).floatValue();
-	if (anObject instanceof Double)
-		return fFloat == ((Float) anObject).floatValue();
-	return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
-public boolean sameAs(IBeanProxy aBeanProxy) {
-	if (this == aBeanProxy)
-		return true;	// Identity
-	if (aBeanProxy instanceof REMFloatTypeBeanProxy)
-		return fFloat == ((REMFloatTypeBeanProxy) aBeanProxy).floatValue();
-	return false;
-}
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
-	return (byte) fFloat;
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
-	return (double) fFloat;
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
-	return fFloat;
-}
-/**
- * Return the int value
- */
-public int intValue() {
-	return (int) fFloat;
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
-	return (long) fFloat;
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
-	return new Float(fFloat);
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
-	return (short) fFloat;
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
-	return String.valueOf(fFloat);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).floatType;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set(fFloat);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatTypeBeanTypeProxy.java
deleted file mode 100644
index 74920a9..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMFloatTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMFloatTypeBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Float.TYPE.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMFloatTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-// Some values are cache'd for speed
-	private final INumberBeanProxy zeroProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMFloatTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
-	super(aRegistry, new Integer(Commands.FLOAT_TYPE), Float.TYPE.getName());
-	
-	// Create the cached values
-	zeroProxy = new REMFloatTypeBeanProxy(aRegistry, 0F);		
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createFloatBeanProxy(float aFloat) {
-	return (aFloat != 0F) ?
-		new REMFloatTypeBeanProxy(fRegistry, aFloat) : zeroProxy;
-}
-
-/**
- * newInstance method. float is a primitive, so the standard way won't work.
- * Return the zeroProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
-	return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createFloatBeanProxy(value.aFloat);
-}
-
-/**
- * Short cut for newInstance where the string follows the
- * specific pattern we expect. That way it won't be necessary to ship over to the vm 
- * to process it.
- *
- * The pattern it can accept is:
- * 	1) (float) validNumber - number can be any number because (float) explicitly casts it down.
- *	2) validNumber
- * It will use the decode function of float to determine the valid number.
- */
-public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
-	String trim = initializationString.trim();
-	if (trim.length() == 0)
-		return super.newInstance(initializationString);	
-	float aFloat;
-	if (trim.startsWith("(float)")) { //$NON-NLS-1$
-		Number v = parseString(trim.substring("(float)".length()).trim()); //$NON-NLS-1$
-		if (v != null)
-			aFloat = v.floatValue();
-		else
-			return super.newInstance(initializationString);	// Can't decode it, let full parser handle it.
-	} else {
-		try {
-			aFloat = Float.valueOf(initializationString).floatValue();	// See if valid float format.
-		} catch (NumberFormatException e) {
-			return super.newInstance(initializationString);	// Can't decode it, let full parser handle it.
-		}
-	}
-
-	return getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(aFloat);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInitErrorBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInitErrorBeanTypeProxy.java
deleted file mode 100644
index 9f368cd..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInitErrorBeanTypeProxy.java
+++ /dev/null
@@ -1,236 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMInitErrorBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
- 
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * A special bean type proxy. It is for those bean types that had an
- * instantiation error while being initialized. It is so we have
- * the message. All other actions against it will fail.
- * @author richkulp
- */
-public class REMInitErrorBeanTypeProxy implements IREMBeanTypeProxy {
-
-	protected final String initializationError;
-	protected final REMProxyFactoryRegistry registry;
-	protected final String classname;
-	
-	/**
-	 * Constructor for REMInitErrorBeanTypeProxy.
-	 */
-	public REMInitErrorBeanTypeProxy(REMProxyFactoryRegistry registry, String initializationError, String classname) {
-		super();
-		this.registry = registry;
-		this.initializationError = initializationError;
-		this.classname = classname;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.remote.IREMBeanTypeProxy#newBeanProxy(Integer)
-	 */
-	public IREMBeanProxy newBeanProxy(Integer anID) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.remote.IREMBeanTypeProxy#newBeanTypeForClass(Integer, String, boolean)
-	 */
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(String[])
-	 */
-	public IConstructorProxy getConstructorProxy(String[] argumentClassNames) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(IBeanTypeProxy[])
-	 */
-	public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] argumentTypes) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getFieldProxy(String)
-	 */
-	public IFieldProxy getFieldProxy(String fieldName) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(String)
-	 */
-	public IMethodProxy getMethodProxy(String methodName) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(String, String[])
-	 */
-	public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(String, String)
-	 */
-	public IMethodProxy getMethodProxy(String methodName, String argumentClassName) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(String, IBeanTypeProxy[])
-	 */
-	public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getNullConstructorProxy()
-	 */
-	public IConstructorProxy getNullConstructorProxy() {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#getProxyFactoryRegistry()
-	 */
-	public ProxyFactoryRegistry getProxyFactoryRegistry() {
-		return registry;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getSuperBeanTypeProxy()
-	 */
-	public IBeanTypeProxy getSuperBeanTypeProxy() {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getTypeName()
-	 */
-	public String getTypeName() {
-		return classname;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getFormalTypeName()
-	 */
-	public String getFormalTypeName() {
-		return getTypeName();
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isArray()
-	 */
-	public boolean isArray() {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isInterface()
-	 */
-	public boolean isInterface() {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isPrimitive()
-	 */
-	public boolean isPrimitive() {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isKindOf(IBeanTypeProxy)
-	 */
-	public boolean isKindOf(IBeanTypeProxy aBeanProxyType) {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#newInstance()
-	 */
-	public IBeanProxy newInstance() throws ThrowableProxy {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#newInstance(String)
-	 */
-	public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInitializationError()
-	 */
-	public String getInitializationError() {
-		return initializationError;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.remote.IREMBeanProxy#getID()
-	 */
-	public Integer getID() {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.remote.IREMBeanProxy#release()
-	 */
-	public void release() {
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.remote.IREMBeanProxy#renderBean(ValueObject)
-	 */
-	public void renderBean(Commands.ValueObject renderInto) {
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#getTypeProxy()
-	 */
-	public IBeanTypeProxy getTypeProxy() {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#toBeanString()
-	 */
-	public String toBeanString() {
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#isValid()
-	 */
-	public boolean isValid() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
-	 */
-	public boolean sameAs(IBeanProxy aBeanProxy) {
-		return this == aBeanProxy;	// This is place holder anyway. So only identical if same proxy.
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerClassBeanProxy.java
deleted file mode 100644
index 5d66213..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerClassBeanProxy.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMIntegerClassBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Proxy for Integers. Since Integers were first implemented
- * in the VCE, and because they are often referenced, we've created
- * a subclass to handle them. That way we wouldn't need to change
- * everyone that was using the IIntegerProxy interface.
- * Creation date: (08/31/00 11:28:48 AM)
- * @author: Administrator
- */
-class REMIntegerClassBeanProxy extends REMNumberBeanProxy implements IIntegerBeanProxy {
-
-REMIntegerClassBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anInteger) {
-	super(aRegistry, anInteger);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).integerClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set((Integer) numberValue());
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerClassBeanTypeProxy.java
deleted file mode 100644
index 24db004..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerClassBeanTypeProxy.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMIntegerClassBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of INumberBeanProxy for Integer.class.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMIntegerClassBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
-	private final IIntegerBeanProxy zeroProxy;
-	private final IIntegerBeanProxy oneProxy;
-	private final IIntegerBeanProxy twoProxy;
-	private final IIntegerBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMIntegerClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
-	super(aRegistry, new Integer(Commands.INTEGER_CLASS), Integer.class.getName(), numberType);
-	
-	// Create the cached values
-	zeroProxy = new REMIntegerClassBeanProxy(aRegistry, new Integer(0));	
-	oneProxy = new REMIntegerClassBeanProxy(aRegistry, new Integer(1));
-	twoProxy = new REMIntegerClassBeanProxy(aRegistry, new Integer(2));
-	threeProxy = new REMIntegerClassBeanProxy(aRegistry, new Integer(3));
-		
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-IIntegerBeanProxy createIntegerBeanProxy(Integer anInteger) {
-	switch(anInteger.intValue()) {
-		case 0: return zeroProxy;
-		case 1: return oneProxy ;
-		case 2: return twoProxy ;
-		case 3: return threeProxy ;
-		default: return new REMIntegerClassBeanProxy(fRegistry, anInteger);
-	}
-}
-
-/**
- * Generic way to create an Integer proxy, however, the Number must be an Integer.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
-	return createIntegerBeanProxy((Integer) aNumber);
-}	
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
-	return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createIntegerBeanProxy(new Integer(value.anInt));
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerTypeBeanProxy.java
deleted file mode 100644
index cbae795..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerTypeBeanProxy.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMIntegerTypeBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote Implementation of IIntegerBeanProxy for the primitive "int".
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-class REMIntegerTypeBeanProxy extends REMConstantBeanProxy implements IIntegerBeanProxy {
-	private final int fInt;
-
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-REMIntegerTypeBeanProxy(REMProxyFactoryRegistry aRegistry, int anInt) {
-	super(aRegistry);
-	fInt = anInt;
-}
-/**
- * equals: Equal if:
- *         1) This proxy == (identity) to the other object
- *         2) Else if other is an IBeanProxy and not a constant one, then if
- *            equals on the server.
- *         3) If this is a constant proxy and the other is too or is a constant
- *            value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
-	if (this == anObject)
-		return true;	// Identity
-	if (anObject instanceof REMIntegerTypeBeanProxy)
-		return fInt == ((REMIntegerTypeBeanProxy) anObject).intValue();
-	if (anObject instanceof Integer)
-		return fInt == ((Integer) anObject).intValue();
-	return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
-public boolean sameAs(IBeanProxy aBeanProxy) {
-	if (this == aBeanProxy)
-		return true;	// Identity
-	if (aBeanProxy instanceof REMIntegerTypeBeanProxy)
-		return fInt == ((REMIntegerTypeBeanProxy) aBeanProxy).intValue();
-	return false;
-}
-
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
-	return (byte) fInt;
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
-	return (double) fInt;
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
-	return (float) fInt;
-}
-/**
- * Return the int value
- */
-public int intValue() {
-	return fInt;
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
-	return (long) fInt;
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
-	return new Integer(fInt);
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
-	return (short) fInt;
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
-	return String.valueOf(fInt);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).intType;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set(fInt);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerTypeBeanTypeProxy.java
deleted file mode 100644
index e40929d..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMIntegerTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMIntegerTypeBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Integer.TYPE.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMIntegerTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-// Some values are cache'd for speed
-	private final IIntegerBeanProxy zeroProxy;
-	private final IIntegerBeanProxy oneProxy;
-	private final IIntegerBeanProxy twoProxy;
-	private final IIntegerBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMIntegerTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
-	super(aRegistry, new Integer(Commands.INTEGER_TYPE), Integer.TYPE.getName());
-	
-	// Create the cached values
-	zeroProxy = new REMIntegerTypeBeanProxy(aRegistry, 0);	
-	oneProxy = new REMIntegerTypeBeanProxy(aRegistry, 1);
-	twoProxy = new REMIntegerTypeBeanProxy(aRegistry, 2);
-	threeProxy = new REMIntegerTypeBeanProxy(aRegistry, 3);
-		
-}
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- * Use the cache to see if the value is being held before creating a new one
- */
-IIntegerBeanProxy createIntegerBeanProxy(int anInt) {
-
-	switch(anInt) {
-		case 0: return zeroProxy;
-		case 1: return oneProxy ;
-		case 2: return twoProxy ;
-		case 3: return threeProxy ;
-		default: return new REMIntegerTypeBeanProxy(fRegistry, anInt);
-	}
-}
-
-/**
- * newInstance method. integer is a primitive, so the standard way won't work.
- * Return the zeroProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
-	return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createIntegerBeanProxy(value.anInt);
-}
-
-/**
- * Short cut for newInstance where the string follows the
- * specific pattern we expect. That way it won't be necessary to ship over to the vm 
- * to process it.
- *
- * The pattern it can accept is:
- * 	1) (int) validNumber - number can be any number because (byte) explicitly casts it down.
- *	2) validNumber
- * It will use the decode function of int to determine the valid number.
- */
-public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
-	String trim = initializationString.trim();
-	if (trim.length() == 0)
-		return super.newInstance(initializationString);	
-	int anInt;
-	if (trim.startsWith("(int)")) { //$NON-NLS-1$
-		Number v = parseString(trim.substring("(int)".length()).trim()); //$NON-NLS-1$
-		if (v != null)
-			anInt = v.intValue();
-		else
-			return super.newInstance(initializationString);	// Can't decode it, let full parser handle it.
-	} else {
-		try {
-			anInt = Integer.decode(trim).intValue();	// See if valid int format.
-		} catch (NumberFormatException e) {
-			return super.newInstance(initializationString);	// Can't decode it, let full parser handle it.
-		}
-	}
-
-	return getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(anInt);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInterfaceBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInterfaceBeanTypeProxy.java
deleted file mode 100644
index 790e121..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMInterfaceBeanTypeProxy.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMInterfaceBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Default beantype proxy for an interface.
- */
-
-public class REMInterfaceBeanTypeProxy extends REMAbstractBeanTypeProxy {
-	
-	protected REMInterfaceBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname) {
-		super(aRegistry, anID, aClassname, null);
-	}
-	
-	/** 
-	 * Interfaces are interfaces.
-	 */
-	public boolean isInterface() {
-		return true;
-	}
-	
-	/**
-	 * Create a new bean proxy with the specified id.
-	 *
-	 * For all of the interface types, this is an invalid operation. 
-	 */
-	public IREMBeanProxy newBeanProxy(Integer anID) {
-		throw new UnsupportedOperationException();
-	}
-	
-	/**
-	 * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
-	 * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
-	 * This is because subclasses, unless explicitly overridden, should use the same kind
-	 * of beantype proxy. This way if anything special is needed for a specific type, then
-	 * that can be done.
-	 *
-	 * For all of the interface types, you can't create a newBeanType for subclasses since
-	 * interface aren't subclassable, only extendable.
-	 */
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstact) {
-		throw new UnsupportedOperationException();
-	}
-	
-	/**
-	 * Note: Since new instances of interfaces can never be done,
-	 * this function is not supported.
-	 */
-	public IBeanProxy newInstance() { 
-		throw new UnsupportedOperationException();
-	}
-	
-	/**
-	 * newInstance(initializationString) is valid because it can be used to create
-	 * an instance of an implementation of the interface.
-	 */
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongClassBeanProxy.java
deleted file mode 100644
index fb63b91..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongClassBeanProxy.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMLongClassBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Proxy for Long.class.
- */
-class REMLongClassBeanProxy extends REMNumberBeanProxy {
-
-REMLongClassBeanProxy(REMProxyFactoryRegistry aRegistry, Long aLong) {
-	super(aRegistry, aLong);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).longClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set((Long) numberValue());
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongClassBeanTypeProxy.java
deleted file mode 100644
index 7579756..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongClassBeanTypeProxy.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMLongClassBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy Long.class.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMLongClassBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
-	private final INumberBeanProxy zeroProxy;
-	private final INumberBeanProxy oneProxy;
-	private final INumberBeanProxy twoProxy;
-	private final INumberBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMLongClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
-	super(aRegistry, new Integer(Commands.LONG_CLASS), Long.class.getName(), numberType);
-	
-	// Create the cached values
-	zeroProxy = new REMLongClassBeanProxy(aRegistry, new Long(0));	
-	oneProxy = new REMLongClassBeanProxy(aRegistry, new Long(1));
-	twoProxy = new REMLongClassBeanProxy(aRegistry, new Long(2));
-	threeProxy = new REMLongClassBeanProxy(aRegistry, new Long(3));		
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createLongBeanProxy(Long aLong) {
-	if (aLong.longValue() >= 0 && aLong.longValue() < 4) {
-		// Switch statements don't work with longs.
-		switch(aLong.intValue()) {
-			case 0: return zeroProxy;
-			case 1: return oneProxy ;
-			case 2: return twoProxy ;
-			case 3: return threeProxy ;
-		}
-	} 
-	return new REMLongClassBeanProxy(fRegistry, aLong);
-}
-
-/**
- * Generic way to create a Long proxy, however, the Number must be a Long.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
-	return createLongBeanProxy((Long) aNumber);
-}	
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
-	return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createLongBeanProxy(new Long(value.aLong));
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongTypeBeanProxy.java
deleted file mode 100644
index e55a9ea..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongTypeBeanProxy.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMLongTypeBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote Implementation of INumberBeanProxy for the primitive "long".
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-class REMLongTypeBeanProxy extends REMConstantBeanProxy implements INumberBeanProxy {
-	private final long fLong;
-
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-REMLongTypeBeanProxy(REMProxyFactoryRegistry aRegistry, long aLong) {
-	super(aRegistry);
-	fLong = aLong;
-}
-/**
- * equals: Equal if:
- *         1) This proxy == (identity) to the other object
- *         2) Else if other is an IBeanProxy and not a constant one, then if
- *            equals on the server.
- *         3) If this is a constant proxy and the other is too or is a constant
- *            value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
-	if (this == anObject)
-		return true;	// Identity
-	if (anObject instanceof REMLongTypeBeanProxy)
-		return fLong == ((REMLongTypeBeanProxy) anObject).longValue();
-	if (anObject instanceof Long)
-		return fLong == ((Long) anObject).longValue();
-	return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
-public boolean sameAs(IBeanProxy aBeanProxy) {
-	if (this == aBeanProxy)
-		return true;	// Identity
-	if (aBeanProxy instanceof REMLongTypeBeanProxy)
-		return fLong == ((REMLongTypeBeanProxy) aBeanProxy).longValue();
-	return false;
-}
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
-	return (byte) fLong;
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
-	return (double) fLong;
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
-	return (float) fLong;
-}
-/**
- * Return the int value
- */
-public int intValue() {
-	return (int) fLong;
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
-	return fLong;
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
-	return new Long(fLong);
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
-	return (short) fLong;
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
-	return String.valueOf(fLong);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).longType;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set(fLong);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongTypeBeanTypeProxy.java
deleted file mode 100644
index 25fdb17..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMLongTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMLongTypeBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Long.TYPE/
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMLongTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-// Some values are cache'd for speed
-	private final INumberBeanProxy zeroProxy;
-	private final INumberBeanProxy oneProxy;
-	private final INumberBeanProxy twoProxy;
-	private final INumberBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMLongTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
-	super(aRegistry, new Integer(Commands.LONG_TYPE), Long.TYPE.getName());
-	
-	// Create the cached values
-	zeroProxy = new REMLongTypeBeanProxy(aRegistry, 0);	
-	oneProxy = new REMLongTypeBeanProxy(aRegistry, 1);
-	twoProxy = new REMLongTypeBeanProxy(aRegistry, 2);
-	threeProxy = new REMLongTypeBeanProxy(aRegistry, 3);		
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createLongBeanProxy(long aLong) {
-	if (aLong >= 0 && aLong < 4) {
-		// Switch statements don't work with longs.
-		switch((int) aLong) {
-			case 0: return zeroProxy;
-			case 1: return oneProxy ;
-			case 2: return twoProxy ;
-			case 3: return threeProxy ;
-		}
-	} 
-	return new REMLongTypeBeanProxy(fRegistry, aLong);
-}
-
-/**
- * newInstance method. long is a primitive, so the standard way won't work.
- * Return the zeroProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
-	return zeroProxy;
-}	
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createLongBeanProxy(value.aLong);
-}
-
-/**
- * Short cut for newInstance where the string follows the
- * specific pattern we expect. That way it won't be necessary to ship over to the vm 
- * to process it.
- *
- * The pattern it can accept is:
- * 	1) (long) validNumber - number can be any number because (byte) explicitly casts it down.
- *	2) validNumber
- * It will use the decode function of long to determine the valid number.
- */
-public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
-	String trim = initializationString.trim();
-	if (trim.length() == 0)
-		return super.newInstance(initializationString);
-	long aLong;
-	if (trim.startsWith("(long)")) { //$NON-NLS-1$
-		Number v = parseString(trim.substring("(long)".length()).trim()); //$NON-NLS-1$
-		if (v != null)
-			aLong = v.longValue();
-		else
-			return super.newInstance(initializationString);	// Can't decode it, let full parser handle it.
-	} else {
-		if (trim.charAt(trim.length()-1) == 'L' || trim.charAt(trim.length()-1) == 'l')
-			trim = trim.substring(0, trim.length()-1);
-		try {
-			aLong = Long.decode(trim).longValue();	// See if valid long format.
-		} catch (NumberFormatException e) {
-			return super.newInstance(initializationString);	// Can't decode it, let full parser handle it.
-		}
-	}
-
-	return getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(aLong);
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMasterServerThread.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMasterServerThread.java
deleted file mode 100644
index 1703d0d..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMasterServerThread.java
+++ /dev/null
@@ -1,172 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMMasterServerThread.java,v $
- *  $Revision: 1.3 $  $Date: 2004/03/04 20:30:21 $ 
- */
-
-import java.io.*;
-import java.net.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * Master Server thread for the Remote VMs.
- * 
- * It responds to the remote vm requests to this IDE.
- * 
- * It is package-protected because only ProxyRemotePluguin should access it.
- * @author richkulp
- */
-class REMMasterServerThread extends Thread {
-	
-	protected ServerSocket masterServerSocket;
-	protected REMRegistryController registryController;
-	protected boolean shuttingDown = false;
-	
-	// Kludge: Bug in Linux 1.3.xxx of JVM. Closing a socket while the socket is being read/accept will not interrupt the
-	// wait. Need to timeout to the socket read/accept before the socket close will be noticed. This has been fixed
-	// in Linux 1.4. So on Linux 1.3 need to put timeouts in on those sockets that can be separately closed while reading/accepting.
-	static boolean LINUX_1_3 = "linux".equalsIgnoreCase(System.getProperty("os.name")) && System.getProperty("java.version","").startsWith("1.3");	 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	
-	
-	public REMMasterServerThread(REMRegistryController registryController) {
-		super("Remote Proxy Master Server Thread");	//$NON-NLS-1$
-		this.registryController = registryController;
-		
-		try {
-			masterServerSocket = new ServerSocket(0, 50, InetAddress.getByName("localhost"));	// Any available port //$NON-NLS-1$
-			if (LINUX_1_3)
-				masterServerSocket.setSoTimeout(1000);	// Linux 1.3 bug, see comment on LINUX_1_3
-		} catch (SocketException e) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));	// This is bad. Should be no exceptions creating a socket.
-		} catch (IOException e) {				
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));	// This is bad. Should be no exceptions creating a socket.
-		}			
-	}
-
-	public ServerSocket getMasterSocket() {
-		return masterServerSocket;
-	}
-	
-	/**
-	 * @see java.lang.Thread#run()
-	 */
-	public void run() {
-		try {
-			while (masterServerSocket != null) {
-				Socket incoming = null;
-				try {
-					incoming = masterServerSocket.accept();
-				} catch (InterruptedIOException e) {
-					continue; // Timeout, try again
-				} catch (NullPointerException e) {
-					continue;	// In Linux 1.3 case masterServerSocket could of gone null between loop test and try block.
-				}
-				boolean close = false;	// process request will tell if socket should be closed. it may be passed onto callback thread instead.
-				try {
-					close = processRequest(incoming);
-				} finally {
-					if (close) {
-						try {
-						incoming.close();
-					} catch (IOException e) {
-					}
-				}
-}
-				incoming = null;
-			}
-		} catch (Exception e) {
-			if (!shuttingDown)
-				ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));
-		}
-		
-		shutdown();	// Either a bad exception or we were closed. Either way is shutdown.
-	}
-	
-	/**
-	 * Use this to request a shutdown.
-	 */
-	public void requestShutdown() {		
-		if (masterServerSocket == null)
-			return;
-		// Closing the server socket should cause a break.
-		try {
-			shuttingDown = true;
-			masterServerSocket.close();
-		} catch (Exception e) {
-		}
-		return;
-	}	
-	
-	protected boolean processRequest(Socket remote) throws IOException {
-		DataInputStream	in = new DataInputStream(remote.getInputStream());
-		DataOutputStream out = new DataOutputStream(remote.getOutputStream());
-		boolean  close = true;	// flag indicating socket not given over to callback. Don't close the socket when done because callback has it.
-		try {
-			byte cmd = in.readByte();
-			switch (cmd) {
-				case Commands.ALIVE:
-					int registryID = in.readInt();
-					out.writeBoolean(registryController.getRegistry(new Integer(registryID)) != null);	// Return if registry still alive
-					out.flush();
-					break;
-					
-				case Commands.REMOTE_STARTED:
-					registryID = in.readInt();
-					int remoteServerPort = in.readInt();
-					REMProxyFactoryRegistry registry = registryController.getRegistry(new Integer(registryID));
-					if (registry != null) {
-						registry.setServerPort(remoteServerPort);
-						out.writeBoolean(true);
-					} else
-						out.writeBoolean(false);	// No registry
-					out.flush();
-					break;
-					
-				case Commands.ATTACH_CALLBACK:
-					registryID = in.readInt();
-					registry = registryController.getRegistry(new Integer(registryID));
-					if (registry != null) {
-						close = !((REMCallbackRegistry) registry.getCallbackRegistry()).createCallback(remote);	// close if failed, don't close if good.
-						out.writeBoolean(!close);	// if not close, then return it worked.
-					} else
-						out.writeBoolean(false);
-					out.flush();
-					break;
-			}
-		} catch (Exception e) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));	
-		} finally {
-			if (close) {
-				try {
-					in.close();
-				} catch (IOException e) {
-				}
-				try {
-					out.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-		return close;
-	}
-	
-	private void shutdown() {
-		requestShutdown();
-		masterServerSocket = null;		
-	}		
-	
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxy.java
deleted file mode 100644
index 90701ae..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxy.java
+++ /dev/null
@@ -1,275 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMMethodProxy.java,v $
- *  $Revision: 1.4 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.*;
-/**
- * Remote VM implementation of the MethodProxy
- */
-
-final class REMMethodProxy extends REMAccessibleObjectProxy implements IREMMethodProxy {
-
-	private IBeanTypeProxy fDeclaringType;
-	private String fMethodName;
-	private IBeanTypeProxy[] fParameterTypes;
-	private IBeanTypeProxy fReturnType;
-
-	REMMethodProxy(REMProxyFactoryRegistry aRegistry, Integer anID) {
-		super(aRegistry, anID);
-	}
-
-	public IBeanTypeProxy getClassType() {
-		if (fDeclaringType == null)
-			fDeclaringType =
-				(IBeanTypeProxy) REMStandardBeanProxyConstants
-					.getConstants(fFactory)
-					.getMethodDeclaringClassMessage()
-					.invokeCatchThrowableExceptions(
-					this);
-		return fDeclaringType;
-	}
-
-	public String getName() {
-		if (fMethodName == null) {
-			IStringBeanProxy proxy =
-				(IStringBeanProxy) REMStandardBeanProxyConstants
-					.getConstants(fFactory)
-					.getMethodMethodNameMessage()
-					.invokeCatchThrowableExceptions(
-					this);
-			if (proxy != null)
-				fMethodName = proxy.stringValue();
-			else
-				fMethodName = ""; //$NON-NLS-1$
-		}
-		return fMethodName;
-	}
-
-	public IBeanTypeProxy[] getParameterTypes() {
-		if (fParameterTypes == null) {
-			IArrayBeanProxy parmTypes =
-				(IArrayBeanProxy) REMStandardBeanProxyConstants
-					.getConstants(fFactory)
-					.getMethodParameterTypesMessage()
-					.invokeCatchThrowableExceptions(
-					this);
-			if (parmTypes == null)
-				fParameterTypes = new IBeanTypeProxy[0]; // There was some error, only way null is returned
-			else {
-				int len = parmTypes.getLength();
-				fParameterTypes = new IBeanTypeProxy[len];
-				for (int i = 0; i < len; i++)
-					try {
-						fParameterTypes[i] = (IBeanTypeProxy) parmTypes.get(i);
-					} catch (ThrowableProxy e) {
-					}
-				fFactory.releaseProxy(parmTypes); // Don't need the array on the server anymore.
-			}
-		}
-
-		return fParameterTypes;
-	}
-
-	public IBeanTypeProxy getReturnType() {
-		if (fReturnType == null)
-			fReturnType =
-				(IBeanTypeProxy) REMStandardBeanProxyConstants
-					.getConstants(fFactory)
-					.getMethodReturnTypeMessage()
-					.invokeCatchThrowableExceptions(
-					this);
-		return fReturnType;
-	}
-
-	public IBeanProxy invoke(IBeanProxy subject) throws ThrowableProxy {
-		return invoke(subject, (IBeanProxy[]) null);
-	}
-
-	public IBeanProxy invoke(IBeanProxy subject, IBeanProxy[] parms) throws ThrowableProxy {
-		return invokeWithParms(subject, parms);
-	}
-
-	/**
-	 * The internal method that allows mixture of constants (e.g. String) with bean proxies.
-	 * A parm value can be a REMMethodProxy.ParmArray. This means this parm is an array that
-	 * needs to have a ValueRetriever created for it. This is used if the array has ID's in
-	 * it and is not an existing array on the server or all constant values.
-	 *
-	 * NOTE: It is assumed that all IBeanTypeProxies of the parms have already been retrieved.
-	 *       It should still work, but it could be asking for them in the middle of the request
-	 *       if they are not first gotton.
-	 *
-	 * NOTE: This is in IREMMethodProxy only so that
-	 */
-
-	public IBeanProxy invokeWithParms(IBeanProxy subject, final Object[] parms) throws ThrowableProxy {
-		IREMConnection connect = fFactory.getFreeConnection();
-		REMStandardBeanProxyFactory proxyFactory = (REMStandardBeanProxyFactory) fFactory.getBeanProxyFactory();
-		proxyFactory.startTransaction(); // This is definately a transaction, so start it.
-		try {
-			Commands.ValueObject subjectValue = new Commands.ValueObject();
-			if (subject != null)
-				 ((IREMBeanProxy) subject).renderBean(subjectValue);
-
-			Commands.ValueObject parmsValue = new Commands.ValueObject();
-
-			if (parms != null) {
-				// Have a local definition of the retriever so that the retriever can create
-				// another one of itself if necessary.
-				final IStandardBeanTypeProxyFactory typeFactory = fFactory.getBeanTypeProxyFactory();
-
-				class Retriever implements Commands.ValueRetrieve {
-					int index = 0;
-					Object[] array;
-					Commands.ValueObject worker = new Commands.ValueObject();
-
-					public Retriever(Object[] anArray) {
-						array = anArray;
-					}
-
-					public Commands.ValueObject nextValue() {
-						if (index < array.length) {
-							Object parm = array[index++];
-							if (parm != null)
-								if (parm instanceof IREMBeanProxy)
-									 ((IREMBeanProxy) parm).renderBean(worker);
-								else if (parm instanceof TransmitableArray) {
-									// It is another array, create a new retriever.
-									worker.setArrayIDS(
-										new Retriever(((TransmitableArray) parm).array),
-										((TransmitableArray) parm).array.length,
-										((TransmitableArray) parm).componentTypeID);
-								} else {
-									// It's an object. Need to get bean type so that we can send it.
-									IREMBeanProxy type = (IREMBeanProxy) typeFactory.getBeanTypeProxy(parm.getClass().getName());
-									if (type == null)
-										throw new IllegalArgumentException();
-									int classID = type.getID().intValue();
-									worker.setAsObject(parm, classID);
-								}
-							else
-								worker.set();
-							return worker;
-						} else
-							return null;
-					}
-				};
-
-				parmsValue.setArrayIDS(new Retriever(parms), parms.length, Commands.OBJECT_CLASS); // Create Object[].
-			}
-
-			Commands.ValueObject returnValue = new Commands.ValueObject();
-			try {
-				invoke(connect, proxyFactory, subjectValue, parmsValue, returnValue);
-				return proxyFactory.getBeanProxy(returnValue);
-			} catch (CommandException e) {
-				if (!e.isRecoverable()) {
-					// Close the connection and try again.
-					fFactory.closeConnection(connect);
-					connect = null;
-					connect = fFactory.getFreeConnection();
-					try {
-						invoke(connect, proxyFactory, subjectValue, parmsValue, returnValue);
-						return proxyFactory.getBeanProxy(returnValue);
-					} catch (CommandException eAgain) {
-						// Failed again. Just close and print trace.
-						fFactory.closeConnection(connect);
-						connect = null;
-						ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", eAgain)); //$NON-NLS-1$
-						return null;
-					}
-				} else {
-					// A recoverable error, print trace and return
-					ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e)); //$NON-NLS-1$
-					return null;
-				}
-			}
-		} finally {
-			proxyFactory.stopTransaction();
-			if (connect != null)
-				fFactory.returnConnection(connect);
-		}
-	}
-
-	private void invoke(
-		IREMConnection connect,
-		REMStandardBeanProxyFactory proxyFactory,
-		Commands.ValueObject subjectValue,
-		Commands.ValueObject parmsValue,
-		Commands.ValueObject returnValue)
-		throws ThrowableProxy, CommandException {
-		try {
-			connect.invokeMethod(getID().intValue(), subjectValue, parmsValue, returnValue);
-		} catch (CommandErrorException e) {
-			proxyFactory.processErrorReturn(e);
-		}
-	}
-
-	public IBeanProxy invoke(IBeanProxy subject, IBeanProxy parm) throws ThrowableProxy {
-		return invoke(subject, new IBeanProxy[] { parm });
-	}
-
-	public IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject) {
-		try {
-			return invoke(subject);
-		} catch (ThrowableProxy e) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e)); //$NON-NLS-1$
-			fFactory.releaseProxy(e); // Since it's no longer needed, get rid of now instead of GC time.
-			return null;
-		}
-	}
-
-	public IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject, IBeanProxy[] parms) {
-		try {
-			return invoke(subject, parms);
-		} catch (ThrowableProxy e) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e)); //$NON-NLS-1$
-			fFactory.releaseProxy(e); // Since it's no longer needed, get rid of now instead of GC time.
-			return null;
-		}
-	}
-
-	public IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject, IBeanProxy parm) {
-		try {
-			return invoke(subject, parm);
-		} catch (ThrowableProxy e) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e)); //$NON-NLS-1$
-			fFactory.releaseProxy(e); // Since it's no longer needed, get rid of now instead of GC time.
-			return null;
-		}
-	}
-
-	/**
-	 * The type proxy is constant proxy out of the method factory.
-	 */
-	public IBeanTypeProxy getTypeProxy() {
-		return ((REMMethodProxyFactory) fFactory.getMethodProxyFactory()).methodType;
-	}
-
-	/**
-	 * The bean is being released, clear out the fields so they can be GC'd if necessary.
-	 * Usually only big objects and proxy fields need to be cleared.
-	 */
-	public void release() {
-		fDeclaringType = null;
-		fParameterTypes = null;
-		fReturnType = null;
-		super.release();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxyFactory.java
deleted file mode 100644
index 2d68bda..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxyFactory.java
+++ /dev/null
@@ -1,149 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMMethodProxyFactory.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-
-import java.lang.reflect.AccessibleObject;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.TransmitableArray;
-/**
- * Factory for creating method proxies.
- * Creation date: (12/3/99 6:29:40 PM)
- * @author: Joe Winchester
- */
-public class REMMethodProxyFactory implements IMethodProxyFactory {
-	final protected REMProxyFactoryRegistry fFactoryRegistry;
-	
-	// Cached copy of a few typical method type proxies.
-	IREMBeanTypeProxy accessibleType;
-	REMMethodTypeProxy methodType;
-	REMFieldTypeProxy fieldType;
-	REMConstructorTypeProxy ctorType;
-	
-	REMMethodProxy getMethodProxy;
-
-/**
- * Create the factory with the given registry.
- * Creation date: (3/13/00 4:10:04 PM)
- * @param aRegistry org.eclipse.jem.internal.proxy.remote.REMProxyFactoryRegistry
- */
-REMMethodProxyFactory(REMProxyFactoryRegistry aRegistry) {
-	fFactoryRegistry = aRegistry;
-	aRegistry.registerMethodProxyFactory(this);
-	REMStandardBeanTypeProxyFactory typeFactory = (REMStandardBeanTypeProxyFactory) aRegistry.getBeanTypeProxyFactory();
-	
-	accessibleType = typeFactory.objectClass.newBeanTypeForClass(new Integer(Commands.ACCESSIBLEOBJECT_CLASS), AccessibleObject.class.getName(), false); 
-	methodType = new REMMethodTypeProxy(aRegistry, accessibleType);
-	fieldType = new REMFieldTypeProxy(aRegistry, accessibleType);	
-	ctorType = new REMConstructorTypeProxy(aRegistry, accessibleType);	
-	aRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(accessibleType, true);	
-	aRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(methodType, true);
-	aRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(fieldType, true);	
-	aRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(ctorType, true);
-	
-	getMethodProxy = (REMMethodProxy) methodType.newBeanProxy(new Integer(Commands.GET_METHOD_ID));
-	((REMStandardBeanProxyFactory) aRegistry.getBeanProxyFactory()).registerProxy(getMethodProxy);
-	
-}
-/**
- * getMethodProxy for the given name and parms
- */
-public IMethodProxy getMethodProxy(String className, String methodName, String[] parameterTypes) {
-		IStandardBeanTypeProxyFactory typeFactory = fFactoryRegistry.getBeanTypeProxyFactory();
-		IBeanTypeProxy clsProxy = typeFactory.getBeanTypeProxy(className);
-		if (clsProxy == null)
-			return null;
-		return clsProxy.getMethodProxy(methodName, parameterTypes);
-}
-
-/**
- * Get the method id from the remote system and create the method proxy.
- *
- * NOTE: It is public ONLY so that IBeanTypeProxy implementations can call
- * it. It must not be used by anyone else.
- */
-public IMethodProxy getMethodProxy(IREMBeanTypeProxy beanType, String methodName, String[] parameterTypes) {
-	// First convert the parameter types into IBeanTypeProxy[].
-	IBeanTypeProxy[] types = null;
-	if (parameterTypes != null) {
-		IStandardBeanTypeProxyFactory typeFactory = fFactoryRegistry.getBeanTypeProxyFactory();
-		types = new IBeanTypeProxy[parameterTypes.length];
-		for (int i=0; i<parameterTypes.length; i++) {
-			IBeanTypeProxy type = types[i] = typeFactory.getBeanTypeProxy(parameterTypes[i]);
-			if (type == null)
-				return null;	// One of the parm types doesn't exist.
-		}
-	}
-	
-	return getMethodProxy(beanType, methodName, types);
-}
-			
-/**
- * Get the method id from the remote system and create the method proxy.
- *
- * NOTE: It is public ONLY so that IBeanTypeProxy implementations can call
- * it. It must not be used by anyone else.
- */			
-public IMethodProxy getMethodProxy(IREMBeanTypeProxy beanType, String methodName, IBeanTypeProxy[] parameterTypes) {
-	// The parms to getMethod are:
-	// parm[0] = String - method name
-	// parm[1] = Class[] - Parameter Classes.
-	Object[] parms = new Object[] {methodName, parameterTypes != null ? (new TransmitableArray(Commands.CLASS_CLASS, parameterTypes)) : null};
-	IBeanProxy result = null;
-	try {
-		
-		result = getMethodProxy.invokeWithParms(beanType, parms);
-		return (IMethodProxy) result;
-	} catch (ThrowableProxy e) {
-		fFactoryRegistry.releaseProxy(e);	// Since it's not needed, get rid of now instead of GC time.
-		return null;
-	} catch (ClassCastException e) {
-		// Some trace msgs because we keep getting into a mode after awhile (though not reproducible) that returns non-method proxies and we need more info.
-		StringBuffer buf = new StringBuffer("Method requested is \""+methodName+"(");	//$NON-NLS-1$	//$NON-NLS-2$
-		for (int i = 0; i < parameterTypes.length; i++) {
-			if (i>0)
-				buf.append(',');	//$NON-NLS-1$
-			buf.append(parameterTypes[i].getTypeName());
-		}
-		buf.append(")\"");	//$NON-NLS-1$
-		ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, buf.toString(), null));	
-		try {			
-			if (result != null) {		
-				ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, 
-					"ClassCastException of result. Return type is \""+result.getTypeProxy().getTypeName()+"\"\n" +	//$NON-NLS-1$	//$NON-NLS-2$
-					"Return type bean type proxy class=\""+result.getTypeProxy().getClass().getName()+"\"\n" +	//$NON-NLS-1$	//$NON-NLS-2$
-					"GetMethodProxy valid="+getMethodProxy.isValid() + "\n" +	//$NON-NLS-1$	//$NON-NLS-2$
-					"GetMethodProxy real name is \""+getMethodProxy.getName()+"\"\n", null));	//$NON-NLS-1$	//$NON-NLS-2$			
-			}
-		} catch (Exception e2) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.ERROR, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e2));	//$NON-NLS-1$
-		}
-		throw e;	// Rethrow it.
-	}
-}
-
-/**
- * Terminate the factory. Don't need to do anything because of the
- * proxies being held onto are registered any will be cleaned up
- * themselves.
- */
-public void terminateFactory() {
-}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodTypeProxy.java
deleted file mode 100644
index f2afad5..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodTypeProxy.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMMethodTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * BeanType Proxy for Method class.
- */
-
-final class REMMethodTypeProxy extends REMAbstractBeanTypeProxy {
-
-REMMethodTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy accessibleTypeProxy) {
-	super(aRegistry, new Integer(Commands.METHOD_CLASS), java.lang.reflect.Method.class.getName(), accessibleTypeProxy);
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the accessible object types, they are final classes, so you can't create a newBeanType 
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-	throw new UnsupportedOperationException();
-}
-
-/**
- * Specialized from REMAbstractBeanTypeProxy to ensure Constructor proxies are created correctly.
- */
-public IREMBeanProxy newBeanProxy(Integer objectID) {
-	return new REMMethodProxy(fRegistry, objectID);
-}
-
-/**
- * Note: Since new instances of Constructor are never done through a default ctor,
- * this function is not supported.
- */
-public IBeanProxy newInstance() { 
-	throw new UnsupportedOperationException();
-}
-
-/**
- * Note: Since new instances of Constructor are never done through an initialization string,
- * this function is not supported.
- */
-public IBeanProxy newInstance(String initializationString) {
-	throw new UnsupportedOperationException();
-}		
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMNumberBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMNumberBeanProxy.java
deleted file mode 100644
index 47baca2..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMNumberBeanProxy.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMNumberBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Remote Implementation of INumberBeanProxy for any Number (i.e. the non-primitives)
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-abstract class REMNumberBeanProxy extends REMConstantBeanProxy implements INumberBeanProxy {
-	private final Number fNumberValue;
-
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-REMNumberBeanProxy(REMProxyFactoryRegistry aRegistry, Number aNumber) {
-	super(aRegistry);
-	fNumberValue = aNumber;
-}
-/**
- * equals: Equal if:
- *         1) This proxy == (identity) to the other object
- *         2) Else if other is an IBeanProxy and not a constant one, then if
- *            equals on the server.
- *         3) If this is a constant proxy and the other is too or is a constant
- *            value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
-	if (this == anObject)
-		return true;	// Identity
-	if (anObject instanceof REMNumberBeanProxy)
-		return fNumberValue.equals(((REMNumberBeanProxy) anObject).numberValue());
-	if (anObject instanceof Number)
-		return fNumberValue.equals((Number) anObject);
-	return false;
-}
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
-	return fNumberValue.byteValue();
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
-	return fNumberValue.doubleValue();
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
-	return fNumberValue.floatValue();
-}
-/**
- * Return the int value
- */
-public int intValue() {
-	return fNumberValue.intValue();
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
-	return fNumberValue.longValue();
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
-	return fNumberValue;
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
-	return fNumberValue.shortValue();
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
-	return fNumberValue.toString();
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMPrimitiveBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMPrimitiveBeanTypeProxy.java
deleted file mode 100644
index e6982b7..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMPrimitiveBeanTypeProxy.java
+++ /dev/null
@@ -1,168 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMPrimitiveBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Primitive BeanType Proxies
- */
-public abstract class REMPrimitiveBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMConstantBeanTypeProxy  {
-	
-	protected REMPrimitiveBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname) {
-		super(aRegistry, anID, aClassname, null);
-	}
-	
-	/**
-	 * Return whether this is the primitive Byte.TYPE or Byte.class
-	 */
-	public boolean isPrimitive() {
-		return true;
-	}
-	
-	/**
-	 * Return the null ctor proxy for this method with these arguments.
-	 * For all of the primitive types, this is an invalid operation.	 
-	 */		
-	public IConstructorProxy getNullConstructorProxy() {	
-		throw new UnsupportedOperationException();
-	}
-		
-	/**
-	 * Return a proxy to the constructor for the target VM being the same as the REM
-	 * For all of the primitive types, this is an invalid operation.
-	 */
-	public IConstructorProxy getConstructorProxy(String[] argumentClassNames) {	
-		throw new UnsupportedOperationException();
-	}
-	
-	/**
-	 * Return a proxy to the constructor for the target VM being the same as the REM
-	 * For all of the primitive types, this is an invalid operation.
-	 */
-	public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] argumentTypes) {	
-		throw new UnsupportedOperationException();
-	}	
-	
-	/**
-	 * Return a proxy to the field for the target VM being the same as the REM
-	 * For all of the primitive types, this is an invalid operation.
-	 */	
-	public IFieldProxy getFieldProxy(String fieldName) {	
-		throw new UnsupportedOperationException();
-	}
-
-	/**
-	 * Return the method proxy for this method with these arguments.
-	 * For all of the primitive types, this is an invalid operation.	 
-	 */
-	public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
-		throw new UnsupportedOperationException();
-	}
-		
-	/**
-	 * Return the method proxy for this method with these arguments.
-	 * For all of the primitive types, this is an invalid operation.	 
-	 */
-	public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames) {
-		throw new UnsupportedOperationException();
-	}
-	
-	/**
-	 * Return the method proxy for this method with these arguments.
-	 * For all of the primitive types, this is an invalid operation.	 
-	 */	
-	public IMethodProxy getMethodProxy(String methodName, String argumentQualifiedTypeName) {
-		throw new UnsupportedOperationException();
-	}
-
-	/**
-	 * Return the method proxy for this method with these arguments.
-	 * For all of the primitive types, this is an invalid operation.	 
-	 */		
-	public IMethodProxy getMethodProxy(String methodName) {	
-		throw new UnsupportedOperationException();
-	}
-	
-	
-	/**
-	 * Create a new bean proxy with the specified id.
-	 *
-	 * For all of the primitive types, this is an invalid operation. They are created
-	 * explicitly through the appropriate create method.
-	 */
-	public IREMBeanProxy newBeanProxy(Integer anID) {
-		throw new UnsupportedOperationException();
-	}
-	
-	/**
-	 * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
-	 * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
-	 * This is because subclasses, unless explicitly overridden, should use the same kind
-	 * of beantype proxy. This way if anything special is needed for a specific type, then
-	 * that can be done.
-	 *
-	 * For all of the primitive types, they aren't classes, so you can't create a newBeanType 
-	 * for subclasses.
-	 */
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-		throw new UnsupportedOperationException();
-	}
-	
-	/**
-	 * release - BeanType is about to be released.
-	 * primitives don't need to be released, they don't hold onto any ids or resources.
-	 */
-	public void release() {
-	}
-	
-	/**
-	 * Have a string that should represent a number.
-	 * See if it ends in a type letter, if so parse as such.
-	 * See if there is an 'E' in it, then parse as a double.
-	 * If neither condition, then try parse as long, if that 
-	 * fails try as double.
-	 */
-	protected static Number parseString(String v) {
-		if (v.length() == 0)
-			return null;
-		char last = v.charAt(v.length()-1);
-		try {
-			switch (last) {
-				case 'd':
-				case 'D':
-					return Double.valueOf(v);
-				case 'f':
-				case 'F':
-					return Float.valueOf(v);
-				case 'l':
-				case 'L':
-					return Long.decode(v.substring(0, v.length()-1));
-			}
-		} catch (NumberFormatException e) {
-			return null;
-		}
-		
-		try {
-			return Long.decode(v);
-		} catch (NumberFormatException e) {
-			try {
-				return Double.valueOf(v);
-			} catch (NumberFormatException e1) {
-				return null;
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMProxyFactoryRegistry.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMProxyFactoryRegistry.java
deleted file mode 100644
index 017b57d..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMProxyFactoryRegistry.java
+++ /dev/null
@@ -1,409 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMProxyFactoryRegistry.java,v $
- *  $Revision: 1.5 $  $Date: 2004/03/04 20:30:21 $ 
- */
-
-
-import java.io.IOException;
-import java.net.Socket;
-import java.text.MessageFormat;
-import java.util.Iterator;
-import java.util.Stack;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.*;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * This is the factory registry to use for Remote VM.
- * It adds to the standard registry, connection specific information.
- *
- * This will always hold onto one connection open until termination is requested.
- * That way while the IDE is up, the remove vm won't time out.
- */
-
-public class REMProxyFactoryRegistry extends ProxyFactoryRegistry {
-	protected int fServerPort = 0;	// The server port to use when making connections.
-	protected REMCallbackRegistry fCallbackServer;	// The callback server thread for this remote vm.
-	protected Stack fConnectionPool = new Stack();	// Stack of free connections.
-	protected static int NUMBER_FREE_CONNECTIONS = 5;	// Number of free connections to keep open.
-	protected IProcess fProcess;	// The process that is the server. If null and fServerPort is not zero, 
-									// then this registry is in test mode
-									// and the server is in same the process.
-	protected String fName;
-	protected int fCallbackServerPort;
-	protected Integer fRegistryKey;
-	protected REMRegistryController fRegistryController;
-	
-	// Package protected because only the ProxyVMStarter should set this flag. It would set it if
-	// working with a debugger because we don't how long it will be to respond to requests when 
-	// someone is working with a debugger.
-	boolean fNoTimeouts = false;
-	
-	// This is set via the static setGlobalNoTimeouts() method. It is here so that
-	// when debugging callbacks, but not debugging remote vm, that no timeouts for any registry will occur. 
-	static boolean fGlobalNoTimeouts = false;
-	
-	/**
-	 * Typicall set through the "expression" evaluation of the debugger.
-	 * @param noTimeouts
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void setGlobalNoTimeouts(boolean noTimeouts) {
-		fGlobalNoTimeouts = noTimeouts;
-	}
-	
-	// An internal thread that locks and waits for the remote vm to register itself. 
-	private WaitForRegistrationThread waitRegistrationThread;
-	
-	private class WaitForRegistrationThread extends Thread {
-		public WaitForRegistrationThread() {
-			super("Wait for remote vm registration thread"); //$NON-NLS-1$
-		}
-		
-		/**
-		 * @see java.lang.Thread#run()
-		 */
-		public void run() {
-			// Wait for registration. Put it into a thread so this
-			// can occur while other stuff goes on. It locks the fConnectionPool
-			// until done so that the first request for a connection by anyone
-			// else will wait until this thread is finished. 
-			
-			synchronized(fConnectionPool) {
-				synchronized(REMProxyFactoryRegistry.this) {
-					// Notify the main thread that we have the 
-					// connection pool locked.
-					REMProxyFactoryRegistry.this.notifyAll();
-				}
-				synchronized (this) {
-					// sync on self so that it can be notified when finally receive the registration
-					long stopTime = System.currentTimeMillis()+60000;
-					while (waitRegistrationThread != null && (fNoTimeouts || System.currentTimeMillis() < stopTime)) {
-						try {
-							Thread.currentThread().wait(60000);
-						} catch (InterruptedException e) {
-						}
-					}
-				}
-			}
-			
-			waitRegistrationThread = null;	// No longer exists.				
-		}
-	}
-
-	
-	public REMProxyFactoryRegistry(REMRegistryController registryController, String name) {
-		fRegistryController = registryController;		
-		fRegistryKey = fRegistryController.registerRegistry(this);	// Register the registry with the plugin.		
-		fName = name;		
-		
-		// Get the waitRegistrationThread started before we actually launch remote vm so
-		// that it is waiting when the callback comes in.
-		synchronized (this) {
-			waitRegistrationThread = new WaitForRegistrationThread();
-			waitRegistrationThread.start();
-			
-			// Now we will wait until the connection pool has been locked. The thread will
-			// signal us when that is done. This is so that we don't continue on and let
-			// a work connection be requested before we even got a chance to start waiting
-			// for the registration.
-			while(true) {
-				try {
-					wait();
-					break;
-				} catch (InterruptedException e) {
-				}
-			};		
-		}		
-	}
-	
-	public Integer getRegistryKey() {
-		return fRegistryKey;
-	}
-	
-	public void initializeRegistry(IProcess process) {
-		fProcess = process;
-		processListener = new IDebugEventSetListener() {
-			/**
-			 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(DebugEvent[])
-			 */
-			public void handleDebugEvents(DebugEvent[] events) {
-				for (int i = 0; i < events.length; i++) {
-					DebugEvent e = events[i];
-					if (e.getSource() == fProcess && e.getKind() == DebugEvent.TERMINATE) {
-						// We terminating too soon. Pop up a msg.
-						IStreamsProxy stProxy = fProcess.getStreamsProxy();
-						java.io.StringWriter s = new java.io.StringWriter();
-						java.io.PrintWriter w = new java.io.PrintWriter(s);
-		
-						String msg = MessageFormat.format(ProxyRemoteMessages.getString("Proxy_Terminated_too_soon_ERROR_"), new Object[] {fName}); //$NON-NLS-1$
-						w.println(msg);						
-						w.println(ProxyRemoteMessages.getString(ProxyRemoteMessages.VM_TERMINATED));
-						w.println(ProxyRemoteMessages.getString(ProxyRemoteMessages.VM_TERMINATED_LINE1));
-						w.println(stProxy.getErrorStreamMonitor().getContents());
-						w.println(ProxyRemoteMessages.getString(ProxyRemoteMessages.VM_TERMINATED_LINE2));
-						w.println(stProxy.getOutputStreamMonitor().getContents());
-						w.println(ProxyRemoteMessages.getString(ProxyRemoteMessages.VM_TERMINATED_LINE3));
-						w.close();
-		
-						DebugModeHelper dh = new DebugModeHelper();
-						dh.displayErrorMessage(ProxyRemoteMessages.getString("Proxy_Error_Title"), msg); //$NON-NLS-1$
-						ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, s.toString(), null));
-						processListener = null;
-						DebugPlugin.getDefault().removeDebugEventListener(this);						
-						terminateRegistry();
-						break;
-					}
-				}
-			}
-		};
-		
-		DebugPlugin.getDefault().addDebugEventListener(processListener);
-	}
-	
-	private IDebugEventSetListener processListener = null;
-	
-	/**
-	 * Get the CallbackRegistry
-	 */
-	public ICallbackRegistry getCallbackRegistry() {
-		if (fCallbackServer == null)
-			fCallbackServer = new REMCallbackRegistry(fName, this);
-		return fCallbackServer;
-	}
-	
-	/**
-	 * Terminate the server.
-	 */
-	protected void registryTerminated() {
-		if (processListener != null) {
-			// Remove listener cause we are now going to terminate process and don't want premature terminate notice.
-			// Sometimes in shutdown we are called and the debug plugin may of already been shutdown. In that case the db
-			// will be null and there is nothing remove listener from.
-			DebugPlugin db = DebugPlugin.getDefault();
-			if (db != null)
-				db.removeDebugEventListener(processListener);
-			processListener = null;
-		}
-		
-		if (fServerPort != 0) {
-			if (waitRegistrationThread != null) {
-				synchronized (waitRegistrationThread) {
-					// Still waiting. close it out.
-					WaitForRegistrationThread wThread = waitRegistrationThread;
-					waitRegistrationThread = null;
-					wThread.notifyAll();
-				}
-			}
-					
-			IREMConnection closeCon = null;	// The connection we will use to close the remote vm.			
-			synchronized(fConnectionPool) {
-				// Now we walk through all of the free connections and close them properly.
-				Iterator itr = fConnectionPool.iterator();
-				if (itr.hasNext())
-					closeCon = (IREMConnection) itr.next();
-				while (itr.hasNext()) {
-					IREMConnection con = (IREMConnection) itr.next();
-					con.close();
-				}
-			}
-				
-			// Now we terminate the server.
-			if (closeCon == null)
-				try {
-					closeCon = getFreeConnection();	// There weren't any free connections, so get a new one so that we can close it.
-				} catch (IllegalStateException e) {
-					// Do nothing, don't want to stop termination just because we can't get a connection.
-				}
-			if (closeCon != null)
-				closeCon.terminateServer();	// We got a connection to terminate (process may of terminated early, so we would not have a conn then).
-			fConnectionPool.clear();
-			fServerPort = 0;
-			if (fProcess != null) {
-				try {
-					// There is no join on a process available, so we will have to
-					// busy wait. Give it 10 seconds in 1/10 second intervals.
-					for (int i=0; !fProcess.isTerminated() && i<100; i++) {
-						try {
-							Thread.sleep(100);							
-						} catch (InterruptedException e) {
-						}
-					}
-					if (!fProcess.isTerminated())
-						fProcess.terminate();
-				} catch (DebugException e) {
-				}
-				fProcess = null;
-			}
-		}
-	
-		if (fCallbackServer != null) {	
-			fCallbackServer.requestShutdown();
-			fCallbackServer = null;				
-		}
-		
-		fConnectionPool.clear();
-		fRegistryController.deregisterRegistry(fRegistryKey);	// De-register this registry.
-	}
-			
-	/**
-	 * Return the server port number.
-	 */
-	public int getServerPort() {
-		return fServerPort;
-	}
-	
-	/*
-	 * set the server port.
-	 */
-	void setServerPort(int serverport) {
-		fServerPort = serverport;
-		if (waitRegistrationThread != null) {
-				synchronized (waitRegistrationThread) {
-					// Close it out, we are now registered
-					WaitForRegistrationThread wThread = waitRegistrationThread;
-					waitRegistrationThread = null;
-					wThread.notifyAll();
-				}
-		}
-	}
-	
-	/**
-	 * Get a free connection
-	 * @return
-	 * @throws IllegalStateException - Thrown if a connection cannot be created.
-	 * 
-	 * @since 1.0.0
-	 */
-	public IREMConnection getFreeConnection() throws IllegalStateException {
-		Thread thread = Thread.currentThread();
-		if (thread instanceof REMCallbackThread) {
-			// The current thread is a call back thread, so just reuse the connection.
-			// This way any calls out to the remote vm will be on same thread as callback caller
-			// on remote vm because that thread is waiting on this connection for commands.
-			IREMConnection c = ((REMCallbackThread) thread).getConnection();
-			if (c.isConnected())
-				return c;
-			else
-				throw new IllegalStateException("Callback connection is not working.");
-		}
-		synchronized(fConnectionPool) {
-			if (!fConnectionPool.isEmpty())
-				return (IREMConnection) fConnectionPool.pop();
-			// else we need to allocate one.			
-			return createConnection();
-		}
-	}
-	
-
-	/**
-	 * Make a new connection.
-	 * @return
-	 * @throws IllegalStateException - Thrown if connection cannot be created.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected IREMConnection createConnection() throws IllegalStateException {
-		// If we have a server port, then the server is probably open. If we don't then there is no server.
-		if (fServerPort != 0) {
-			// We are putting it off into a thread because there are no timeout capabilities on getting a socket.
-			// So we need to allow for that.
-			final Socket[] scArray = new Socket[1];
-			final boolean[] waiting = new boolean[] {true};
-			Thread doIt = new Thread(new Runnable() {
-				public void run() {
-					try {
-						Socket sc = new Socket("localhost", fServerPort); //$NON-NLS-1$
-						synchronized (this) {
-							if (waiting[0])
-								scArray[0] = sc;
-							else
-								sc.close();	// We are no longer waiting on this thread so close the socket since no one will use it.
-						}
-					} catch (IOException e) {
-						ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));
-					}
-				}
-			});
-			
-			doIt.start();
-			while (true) {
-				try {
-					doIt.join(!fNoTimeouts ? 60000 : 0);
-					synchronized (doIt) {
-						waiting[0] = false;	// To let it know we are no longer waiting
-					}
-					break;
-				} catch (InterruptedException e) {
-				}
-			}
-			
-			if (scArray[0] == null)  {
-				// Log where we are at so we can know where it was we down.
-				ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", new RuntimeException("Connection creation failed.")));	//$NON-NLS-1$
-				throw new IllegalStateException("Could not create a socket connection to remote vm.");	// Couldn't get one, probably server is down.
-			}
-
-			REMConnection connection = new REMConnection(scArray[0], fNoTimeouts);
-			if (connection.isConnected())
-				return connection;
-				
-			// Failed, close the socket. 
-			try {
-				scArray[0].close();
-			} catch (IOException e) {
-			}
-		} else
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.INFO, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "No Server to retrieve a connection.", null));	///$NON-NLS-1$
-		
-		throw new IllegalStateException("Could not create a socket connection to remote vm.");
-	}
-		 
-	/**
-	 * Free the connection
-	 */
-	public void returnConnection(IREMConnection connection) {
-		if (connection.isConnected()) {
-			Thread thread = Thread.currentThread();
-			if (!(thread instanceof REMCallbackThread) || ((REMCallbackThread) thread).getConnection() != connection) {
-				// We are not a callback thread, or we are but the connection is not for the thread, then the connection
-				// can be returned.
-				synchronized (fConnectionPool) {
-					if (fConnectionPool.size() < NUMBER_FREE_CONNECTIONS)
-						fConnectionPool.push(connection);
-					else
-						connection.close();	// We don't need to maintain more than five free connections.
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Release this connection. This means close it out.
-	 */
-	public void closeConnection(IREMConnection connection) {
-		connection.close();
-	}
-	
-	
-	public int connectionCount() {
-		synchronized (fConnectionPool) {
-			return fConnectionPool.size();
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMRegistryController.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMRegistryController.java
deleted file mode 100644
index 10d23c0..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMRegistryController.java
+++ /dev/null
@@ -1,175 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMRegistryController.java,v $
- *  $Revision: 1.3 $  $Date: 2004/03/04 16:14:04 $ 
- */
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.Job;
-
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-
-/**
- * This class is a controller for all of the registries.
- * @author richkulp
- */
-public class REMRegistryController {
-	
-	private Map fActiveRegistries = new HashMap();
-	private static final long CLEANUP_INTERVAL = 60000l;	// The interval between clean up job execution.
-	
-	// Thread to clean up GC'd proxies. Runs as a daemon at the lowest priority
-	private Job processQueueJob= new Job(ProxyRemoteMessages.getString("CleanupJob.title")) {
-		public IStatus run(IProgressMonitor m) {
-				REMProxyFactoryRegistry[] registries = null;
-				synchronized (fActiveRegistries) {
-					// This list may be updated by others, so we need to make a copy
-					// or else we could get a failure.
-					registries = 
-						(REMProxyFactoryRegistry[]) fActiveRegistries.values().toArray(
-							new REMProxyFactoryRegistry[fActiveRegistries.size()]);
-				}
-				for (int i = 0; i < registries.length; i++) {
-					try {
-						((REMStandardBeanProxyFactory) registries[i].getBeanProxyFactory()).processQueue();					
-					} catch (RuntimeException e) {
-						// When debugging, getBeanProxyFactory can throw exception because it hasn't been initialized
-						// yet when the thread wakes up, though the registry has been registered. It has to do with it 
-						// can take significant time for the user to start up the debugger, and during that time this
-						// thread could kick in.
-					}
-				}
-			synchronized(this) {
-				if (!m.isCanceled())
-					this.schedule(CLEANUP_INTERVAL);	// Schedule to start again in one minute.
-			}
-			return Status.OK_STATUS;
-		}
-
-	}; //$NON-NLS-1$	
-	
-	public REMRegistryController() {
-
-		ProxyPlugin.getPlugin().addProxyShutdownListener(new ProxyPlugin.IProxyPluginShutdownListener() {
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jem.internal.proxy.core.ProxyPlugin.IProxyPluginShutdownListener#shutdown()
-			 */
-			public void shutdown() {
-				REMRegistryController.this.shutdown();
-			}
-		});
-
-		masterThread = new REMMasterServerThread(this);
-		masterThread.start();
-
-		processQueueJob.setSystem(true);	// So that it won't show processing in process view. Not of interest to general users.
-		processQueueJob.setPriority(Job.SHORT);
-		processQueueJob.schedule(CLEANUP_INTERVAL);
-
-	}
-	
-	/*
-	 * Add registry to list of active. Return a unique number to be the key.
-	 * Package-protected so that only locals can access it.
-	 */
-	synchronized Integer registerRegistry(REMProxyFactoryRegistry registry) {
-			
-		Integer hashcode = new Integer(registry.hashCode());
-		while (true) {
-			REMProxyFactoryRegistry existing = (REMProxyFactoryRegistry) fActiveRegistries.get(hashcode);
-			if (existing == null)
-				break;	// Not yet registered, use use the hashcode
-			else if (existing != registry)
-				hashcode = new Integer(hashcode.intValue()+1);						
-			else
-				return hashcode;	// Same guy, use the hashcode.
-		}
-		
-		fActiveRegistries.put(hashcode, registry);
-		return hashcode;
-	}
-	
-	/*
-	 * deregister the registry.
-	 */
-	synchronized void deregisterRegistry(Integer key) {
-		fActiveRegistries.remove(key);
-	}
-	
-	/*
-	 * Return the registry for the given key
-	 */
-	synchronized REMProxyFactoryRegistry getRegistry(Integer key) {
-		return (REMProxyFactoryRegistry) fActiveRegistries.get(key);
-	}
-	
-	/**
-	 * Master server thread. Handles keep-alive requests and register remote server threads.
-	 * It will be created when needed.
-	 */
-	protected REMMasterServerThread masterThread;
-
-	/*
-	 * Shuts down this plug-in and discards all plug-in state.
-	 *
-	 * In this case, terminate all of the active registries so that they can be shutdown.
-	 * Don't want them hanging around after termination of the desktop.
-	 */
-	void shutdown() {
-		
-		synchronized(processQueueJob) {
-			processQueueJob.cancel();
-		}
-			
-		REMProxyFactoryRegistry[] registries = null;
-		synchronized (fActiveRegistries) {
-			// This list will be updated in the terminateRegistry, so we need to make a copy
-			// or else we get a failure.
-			registries = 
-				(REMProxyFactoryRegistry[]) fActiveRegistries.values().toArray(
-					new REMProxyFactoryRegistry[fActiveRegistries.size()]);
-		}
-		for (int i = 0; i < registries.length; i++)
-			registries[i].terminateRegistry();
-			
-		if (masterThread != null) {
-			try {
-				masterThread.requestShutdown();
-				masterThread.join(20000);	// Wait 20 seconds for everything to go down.
-				masterThread = null;				
-			} catch (InterruptedException e) {
-			}
-		}
-		
-		try {
-			processQueueJob.join();
-		} catch(InterruptedException e) {
-		}
-		
-	}
-	
-	/**
-	 * Return the master socket port number.
-	 */
-	public int getMasterSocketPort() {
-		return masterThread != null ? masterThread.getMasterSocket().getLocalPort() : -1;
-	}	
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortClassBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortClassBeanProxy.java
deleted file mode 100644
index 8df2418..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortClassBeanProxy.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMShortClassBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Proxy for Short.class.
- */
-class REMShortClassBeanProxy extends REMNumberBeanProxy {
-
-REMShortClassBeanProxy(REMProxyFactoryRegistry aRegistry, Short aShort) {
-	super(aRegistry, aShort);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).shortClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set((Short) numberValue());
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortClassBeanTypeProxy.java
deleted file mode 100644
index cfe56a6..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortClassBeanTypeProxy.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMShortClassBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Short.class.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMShortClassBeanTypeProxy extends REMAbstractNumberBeanTypeProxy {
-// Some values are cache'd for speed
-	private final INumberBeanProxy zeroProxy;
-	private final INumberBeanProxy oneProxy;
-	private final INumberBeanProxy twoProxy;
-	private final INumberBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMShortClassBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy numberType) {
-	super(aRegistry, new Integer(Commands.SHORT_CLASS), Short.class.getName(), numberType);
-	
-	// Create the cached values
-	zeroProxy = new REMShortClassBeanProxy(aRegistry, new Short((short)0));	
-	oneProxy = new REMShortClassBeanProxy(aRegistry, new Short((short)1));
-	twoProxy = new REMShortClassBeanProxy(aRegistry, new Short((short)2));
-	threeProxy = new REMShortClassBeanProxy(aRegistry, new Short((short)3));		
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createShortBeanProxy(Short aShort) {
-	switch(aShort.shortValue()) {
-		case 0: return zeroProxy;
-		case 1: return oneProxy ;
-		case 2: return twoProxy ;
-		case 3: return threeProxy ;
-		default: return new REMShortClassBeanProxy(fRegistry, aShort);
-	}
-}
-
-/**
- * Generic way to create a Short proxy, however, the Number must be a Short.
- */
-protected INumberBeanProxy createNumberBeanProxy(Number aNumber) {
-	return createShortBeanProxy((Short) aNumber);
-}	
-
-/**
- * newInstance method. Number's don't have a default ctor, so the standard way won't work.
- * Return the zero proxy for this case.
- */
-public IBeanProxy newInstance() {
-	return zeroProxy;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createShortBeanProxy(new Short(value.aShort));
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortTypeBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortTypeBeanProxy.java
deleted file mode 100644
index ceec330..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortTypeBeanProxy.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMShortTypeBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Remote Implementation of INumberBeanProxy for the primitive "short".
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-class REMShortTypeBeanProxy extends REMConstantBeanProxy implements INumberBeanProxy {
-	private final short fShort;
-
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-REMShortTypeBeanProxy(REMProxyFactoryRegistry aRegistry, short aShort) {
-	super(aRegistry);
-	fShort = aShort;
-}
-/**
- * equals: Equal if:
- *         1) This proxy == (identity) to the other object
- *         2) Else if other is an IBeanProxy and not a constant one, then if
- *            equals on the server.
- *         3) If this is a constant proxy and the other is too or is a constant
- *            value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
-	if (this == anObject)
-		return true;	// Identity
-	if (anObject instanceof REMShortTypeBeanProxy)
-		return fShort == ((REMShortTypeBeanProxy) anObject).shortValue();
-	if (anObject instanceof Short)
-		return fShort == ((Short) anObject).shortValue();
-	return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
-public boolean sameAs(IBeanProxy aBeanProxy) {
-	if (this == aBeanProxy)
-		return true;	// Identity
-	if (aBeanProxy instanceof REMShortTypeBeanProxy)
-		return fShort == ((REMShortTypeBeanProxy) aBeanProxy).shortValue();
-	return false;
-}
-
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
-	return (byte) fShort;
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
-	return (double) fShort;
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
-	return (float) fShort;
-}
-/**
- * Return the int value
- */
-public int intValue() {
-	return (int) fShort;
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
-	return (long) fShort;
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
-	return new Short(fShort);
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
-	return fShort;
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
-	return String.valueOf(fShort);
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).shortType;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set(fShort);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortTypeBeanTypeProxy.java
deleted file mode 100644
index 75338e1..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMShortTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMShortTypeBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * Remote Implementation of IBeanTypeProxy for Short.TYPE.
- * Creation date: (2/6/00 9:01:40 AM)
- * @author: Joe Winchester
- */
-final class REMShortTypeBeanTypeProxy extends REMPrimitiveBeanTypeProxy {
-// Some values are cache'd for speed
-	private final INumberBeanProxy zeroProxy;
-	private final INumberBeanProxy oneProxy;
-	private final INumberBeanProxy twoProxy;
-	private final INumberBeanProxy threeProxy;
-/**
- * REMIntegerBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMShortTypeBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
-	super(aRegistry, new Integer(Commands.SHORT_TYPE), Short.TYPE.getName());
-	
-	// Create the cached values
-	zeroProxy = new REMShortTypeBeanProxy(aRegistry, (short) 0);	
-	oneProxy = new REMShortTypeBeanProxy(aRegistry, (short) 1);
-	twoProxy = new REMShortTypeBeanProxy(aRegistry, (short) 2);
-	threeProxy = new REMShortTypeBeanProxy(aRegistry, (short) 3);		
-}
-
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createShortBeanProxy(short aShort) {
-	switch(aShort) {
-		case 0: return zeroProxy;
-		case 1: return oneProxy ;
-		case 2: return twoProxy ;
-		case 3: return threeProxy ;
-		default: return new REMShortTypeBeanProxy(fRegistry, aShort);
-	}
-}
-
-/**
- * newInstance method. short is a primitive, so the standard way won't work.
- * Return the zeroProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
-	return zeroProxy;
-}	
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createShortBeanProxy(value.aShort);
-}
-
-/**
- * Short cut for newInstance where the string follows the
- * specific pattern we expect. That way it won't be necessary to ship over to the vm 
- * to process it.
- *
- * The pattern it can accept is:
- * 	1) (short) validNumber - number can be any number because (byte) explicitly casts it down.
- *	2) validNumber
- * It will use the decode function of short to determine the valid number.
- */
-public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
-	String trim = initializationString.trim();
-	if (trim.length() == 0)
-		return super.newInstance(initializationString);	
-	short aShort;
-	if (trim.startsWith("(short)")) { //$NON-NLS-1$
-		Number v = parseString(trim.substring("(short)".length()).trim()); //$NON-NLS-1$
-		if (v != null)
-			aShort = v.shortValue();
-		else
-			return super.newInstance(initializationString);	// Can't decode it, let full parser handle it.
-	} else {
-		try {
-			aShort = Short.decode(trim).shortValue();	// See if valid short format.
-		} catch (NumberFormatException e) {
-			return super.newInstance(initializationString);	// Can't decode it, let full parser handle it.
-		}
-	}
-
-	return getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(aShort);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyConstants.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyConstants.java
deleted file mode 100644
index c4635ed..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyConstants.java
+++ /dev/null
@@ -1,408 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMStandardBeanProxyConstants.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/12 21:44:26 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * REM Standard Proxy constants.
- *
- * Use the static accessor method (getConstants()) to get the appropriate 
- * constants instance for the registry. This is done so that until the
- * the constants are needed, they aren't registered.
- *
- * There are some standard utility functions too.
- *
- * This is final because this can't be extended. This specific one
- * will be registered with the factory for this key. Any extensions
- * must be done in their own constants and registry key.
- *
- * Creation date: (4/7/00 4:47:48 PM)
- * @author: Administrator
- */
-public final class REMStandardBeanProxyConstants {
-	public static final String REGISTRY_KEY = "REMSTANDARDPROXYCONSTANTS:"; //$NON-NLS-1$
-		
-	private final ProxyFactoryRegistry fRegistry;
-	
-	private IMethodProxy fClassNewInstance;
-	private IMethodProxy fClassGetField;
-	private IMethodProxy fClassGetConstructor;
-	private IMethodProxy fClassIsAssignableFrom;
-	
-	private IMethodProxy fObjectToString;
-	private IMethodProxy fObjectEquals;
-	
-	private IMethodProxy fThrowableLocalizedMessage;
-	private IMethodProxy fThrowableMessage;
-	
-	private IMethodProxy fMethodDeclaringClassMessage;
-	private IMethodProxy fMethodMethodNameMessage;
-	private IMethodProxy fMethodParameterTypesMessage;
-	private IMethodProxy fMethodReturnTypeMessage;
-	
-	private IMethodProxy fAccessibleIsAccessible;
-	private IMethodProxy fAccessibleSetAccessible;
-	
-	private IMethodProxy fFieldGet;
-	private IMethodProxy fFieldGetType;
-	private IMethodProxy fFieldGetByte;
-	private IMethodProxy fFieldGetBoolean;
-	private IMethodProxy fFieldGetChar;
-	private IMethodProxy fFieldGetDouble;
-	private IMethodProxy fFieldGetFloat;
-	private IMethodProxy fFieldGetInt;
-	private IMethodProxy fFieldGetShort;
-	private IMethodProxy fFieldGetLong;	
-	private IMethodProxy fFieldSet;
-	
-	private IMethodProxy fConstructorNewInstance;	
-	
-	private IMethodProxy fArrayNewInstanceOneDimension;
-	private IMethodProxy fArrayNewInstanceMultiDimensions;
-	private IMethodProxy fArrayGetLength;
-	private IMethodProxy fArrayGet;
-	private IMethodProxy fArrayGetByte;
-	private IMethodProxy fArrayGetBoolean;
-	private IMethodProxy fArrayGetChar;
-	private IMethodProxy fArrayGetDouble;
-	private IMethodProxy fArrayGetFloat;
-	private IMethodProxy fArrayGetInt;
-	private IMethodProxy fArrayGetShort;
-	private IMethodProxy fArrayGetLong;	
-	private IMethodProxy fArraySet;	
-	
-	private IMethodProxy fArrayHelperGet;
-	private IMethodProxy fArrayHelperGetByte;
-	private IMethodProxy fArrayHelperGetBoolean;
-	private IMethodProxy fArrayHelperGetChar;
-	private IMethodProxy fArrayHelperGetDouble;
-	private IMethodProxy fArrayHelperGetFloat;
-	private IMethodProxy fArrayHelperGetInt;
-	private IMethodProxy fArrayHelperGetShort;
-	private IMethodProxy fArrayHelperGetLong;	
-	private IMethodProxy fArrayHelperSet;			
-	
-/**
- * Get the constants instance for the specified registry.
- */
-public static REMStandardBeanProxyConstants getConstants(ProxyFactoryRegistry registry) {
-	REMStandardBeanProxyConstants constants = (REMStandardBeanProxyConstants) registry.getConstants(REGISTRY_KEY);
-	if (constants == null)
-		registry.registerConstants(REGISTRY_KEY, constants = new REMStandardBeanProxyConstants(registry));	
-	return constants;
-}
-
-
-private REMStandardBeanProxyConstants(ProxyFactoryRegistry registry) {
-	super();
-	fRegistry = registry;
-}
-
-public IMethodProxy getClassNewInstance() {
-	// We actually need a special new instance because we want to be able to access outside of security. For our purposes security doesn't matter for construction.
-	if (fClassNewInstance == null)
-		fClassNewInstance = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ClassHelper", "newInstance", new String[] {"java.lang.Class"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fClassNewInstance;
-}
-
-public IMethodProxy getClassGetField() {
-	if (fClassGetField == null)
-		fClassGetField = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Class", "getField", new String[] {"java.lang.String"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fClassGetField;
-}
-
-public IMethodProxy getClassConstructor() {
-	if (fClassGetConstructor == null)
-		fClassGetConstructor = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Class", "getConstructor", new String[] {"[Ljava.lang.Class;"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fClassGetConstructor;
-}
-
-public IMethodProxy getClassIsAssignableFrom() {
-	if (fClassIsAssignableFrom == null)
-		fClassIsAssignableFrom = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Class", "isAssignableFrom", new String[] {"java.lang.Class"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fClassIsAssignableFrom;
-}
-
-public IMethodProxy getObjectToString() {
-	if (fObjectToString == null)
-		fObjectToString = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Object", "toString", null); //$NON-NLS-1$ //$NON-NLS-2$
-	return fObjectToString;
-}
-
-public IMethodProxy getObjectEquals() {
-	if (fObjectEquals == null)
-		fObjectEquals = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Object", "equals", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fObjectEquals;
-}
-public IMethodProxy getThrowableLocalizedMessage() {
-	if (fThrowableLocalizedMessage == null)
-		fThrowableLocalizedMessage = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Throwable", "getLocalizedMessage", null); //$NON-NLS-1$ //$NON-NLS-2$
-	return fThrowableLocalizedMessage;
-}
-
-public IMethodProxy getThrowableMessage() {
-	if (fThrowableMessage == null)
-		fThrowableMessage = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.Throwable", "getMessage", null); //$NON-NLS-1$ //$NON-NLS-2$
-	return fThrowableMessage;
-}
-
-public IMethodProxy getMethodDeclaringClassMessage() {
-	if (fMethodDeclaringClassMessage == null)
-		fMethodDeclaringClassMessage = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Method", "getDeclaringClass", null); //$NON-NLS-1$ //$NON-NLS-2$
-	return fMethodDeclaringClassMessage;
-}
-
-public IMethodProxy getMethodMethodNameMessage() {
-	if (fMethodMethodNameMessage == null)
-		fMethodMethodNameMessage = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Method", "getName", null); //$NON-NLS-1$ //$NON-NLS-2$
-	return fMethodMethodNameMessage;
-}	
-
-public IMethodProxy getMethodParameterTypesMessage() {
-	if (fMethodParameterTypesMessage == null)
-		fMethodParameterTypesMessage = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Method", "getParameterTypes", null); //$NON-NLS-1$ //$NON-NLS-2$
-	return fMethodParameterTypesMessage;
-}
-
-public IMethodProxy getMethodReturnTypeMessage() {
-	if (fMethodReturnTypeMessage == null)
-		fMethodReturnTypeMessage = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Method", "getReturnType", null); //$NON-NLS-1$ //$NON-NLS-2$
-	return fMethodReturnTypeMessage;
-}
-
-public IMethodProxy getAccessibleIsAccessible() {
-	if (fAccessibleIsAccessible == null)
-		fAccessibleIsAccessible = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.AccessibleObject", "isAccessible", null); //$NON-NLS-1$ //$NON-NLS-2$
-	return fAccessibleIsAccessible;
-}
-
-public IMethodProxy getAccessibleSetAccessible() {
-	if (fAccessibleSetAccessible == null)
-		fAccessibleSetAccessible = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.AccessibleObject", "setAccessible", new String[] {"boolean"}); //$NON-NLS-1$ //$NON-NLS-2$
-	return fAccessibleSetAccessible;
-}
-
-public IMethodProxy getFieldGetType() {
-	if (fFieldGetType == null)
-		fFieldGetType = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getType", null); //$NON-NLS-1$ //$NON-NLS-2$
-	return fFieldGetType;
-}
-
-public IMethodProxy getFieldGet() {
-	if (fFieldGet == null)
-		fFieldGet = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "get", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fFieldGet;
-}
-
-public IMethodProxy getFieldGetByte() {
-	if (fFieldGetByte == null)
-		fFieldGetByte = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getByte", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fFieldGetByte;
-}
-
-public IMethodProxy getFieldGetBoolean() {
-	if (fFieldGetBoolean == null)
-		fFieldGetBoolean = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getBoolean", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fFieldGetBoolean;
-}
-
-public IMethodProxy getFieldGetChar() {
-	if (fFieldGetChar == null)
-		fFieldGetChar = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getChar", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fFieldGetChar;
-}
-
-public IMethodProxy getFieldGetDouble() {
-	if (fFieldGetDouble == null)
-		fFieldGetDouble = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getDouble", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fFieldGetDouble;
-}
-
-public IMethodProxy getFieldGetFloat() {
-	if (fFieldGetFloat == null)
-		fFieldGetFloat = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getFloat", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fFieldGetFloat;
-}
-
-public IMethodProxy getFieldGetInt() {
-	if (fFieldGetInt == null)
-		fFieldGetInt = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getInt", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fFieldGetInt;
-}
-
-public IMethodProxy getFieldGetLong() {
-	if (fFieldGetLong == null)
-		fFieldGetLong = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getLong", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fFieldGetLong;
-}
-
-public IMethodProxy getFieldGetShort() {
-	if (fFieldGetShort == null)
-		fFieldGetShort = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "getShort", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fFieldGetShort;
-}
-
-public IMethodProxy getFieldSet() {
-	if (fFieldSet == null)
-		fFieldSet = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Field", "set", new String[] {"java.lang.Object", "java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fFieldSet;
-}
-
-public IMethodProxy getConstructorNewInstance() {
-	if (fConstructorNewInstance == null)
-		fConstructorNewInstance = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Constructor", "newInstance", new String[] {"[Ljava.lang.Object;"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fConstructorNewInstance;
-}
-
-public IMethodProxy getArrayNewInstanceOneDimension() {
-	if (fArrayNewInstanceOneDimension == null)
-		fArrayNewInstanceOneDimension = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "newInstance", new String[] {"java.lang.Class", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayNewInstanceOneDimension;
-}
-
-public IMethodProxy getArrayNewInstanceMultiDimension() {
-	if (fArrayNewInstanceMultiDimensions == null)
-		fArrayNewInstanceMultiDimensions = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "newInstance", new String[] {"java.lang.Class", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayNewInstanceMultiDimensions;
-}
-
-public IMethodProxy getArrayGetLength() {
-	if (fArrayGetLength == null)
-		fArrayGetLength = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getLength", new String[] {"java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	return fArrayGetLength;
-}
-
-public IMethodProxy getArrayGet() {
-	if (fArrayGet == null)
-		fArrayGet = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "get", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayGet;
-}
-
-public IMethodProxy getArrayGetByte() {
-	if (fArrayGetByte == null)
-		fArrayGetByte = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getByte", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayGetByte;
-}
-
-public IMethodProxy getArrayGetBoolean() {
-	if (fArrayGetBoolean == null)
-		fArrayGetBoolean = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getBoolean", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayGetBoolean;
-}
-
-public IMethodProxy getArrayGetChar() {
-	if (fArrayGetChar == null)
-		fArrayGetChar = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getChar", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayGetChar;
-}
-
-public IMethodProxy getArrayGetDouble() {
-	if (fArrayGetDouble == null)
-		fArrayGetDouble = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getDouble", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayGetDouble;
-}
-
-public IMethodProxy getArrayGetFloat() {
-	if (fArrayGetFloat == null)
-		fArrayGetFloat = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getFloat", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayGetFloat;
-}
-
-public IMethodProxy getArrayGetInt() {
-	if (fArrayGetInt == null)
-		fArrayGetInt = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getInt", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayGetInt;
-}
-
-public IMethodProxy getArrayGetLong() {
-	if (fArrayGetLong == null)
-		fArrayGetLong = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getLong", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayGetLong;
-}
-
-public IMethodProxy getArrayGetShort() {
-	if (fArrayGetShort == null)
-		fArrayGetShort = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "getShort", new String[] {"java.lang.Object", "int"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayGetShort;
-}
-
-public IMethodProxy getArraySet() {
-	if (fArraySet == null)
-		fArraySet = fRegistry.getMethodProxyFactory().getMethodProxy("java.lang.reflect.Array", "set", new String[] {"java.lang.Object", "int", "java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	return fArraySet;
-}
-
-public IMethodProxy getArrayHelperGet() {
-	if (fArrayHelperGet == null)
-		fArrayHelperGet = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "get", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayHelperGet;
-}
-
-public IMethodProxy getArrayHelperGetByte() {
-	if (fArrayHelperGetByte == null)
-		fArrayHelperGetByte = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getByte", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayHelperGetByte;
-}
-
-public IMethodProxy getArrayHelperGetBoolean() {
-	if (fArrayHelperGetBoolean == null)
-		fArrayHelperGetBoolean = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getBoolean", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayHelperGetBoolean;
-}
-
-public IMethodProxy getArrayHelperGetChar() {
-	if (fArrayHelperGetChar == null)
-		fArrayHelperGetChar = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getChar", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayHelperGetChar;
-}
-
-public IMethodProxy getArrayHelperGetDouble() {
-	if (fArrayHelperGetDouble == null)
-		fArrayHelperGetDouble = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getDouble", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayHelperGetDouble;
-}
-
-public IMethodProxy getArrayHelperGetFloat() {
-	if (fArrayHelperGetFloat == null)
-		fArrayHelperGetFloat = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getFloat", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayHelperGetFloat;
-}
-
-public IMethodProxy getArrayHelperGetInt() {
-	if (fArrayHelperGetInt == null)
-		fArrayHelperGetInt = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getInt", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayHelperGetInt;
-}
-
-public IMethodProxy getArrayHelperGetLong() {
-	if (fArrayHelperGetLong == null)
-		fArrayHelperGetLong = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getLong", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayHelperGetLong;
-}
-
-public IMethodProxy getArrayHelperGetShort() {
-	if (fArrayHelperGetShort == null)
-		fArrayHelperGetShort = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "getShort", new String[] {"java.lang.Object", "[I"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	return fArrayHelperGetShort;
-}
-
-public IMethodProxy getArrayHelperSet() {
-	if (fArrayHelperSet == null)
-		fArrayHelperSet = fRegistry.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.ArrayHelper", "set", new String[] {"java.lang.Object", "[I", "java.lang.Object"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	return fArrayHelperSet;
-}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyFactory.java
deleted file mode 100644
index 9478ec0..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyFactory.java
+++ /dev/null
@@ -1,804 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMStandardBeanProxyFactory.java,v $
- *  $Revision: 1.5 $  $Date: 2004/03/04 16:14:04 $ 
- */
-
-
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.CommandErrorException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * The Remote VM Standard Bean Proxy Factory.
- * Creation date: (12/3/99 12:01:45 PM)
- * @author: Joe Winchester
- */
-public final class REMStandardBeanProxyFactory implements IStandardBeanProxyFactory {
-	protected final REMProxyFactoryRegistry fRegistry;
-	protected final REMStandardBeanTypeProxyFactory fBeanTypeProxyFactory;	// Convenience field.
-
-	
-	// We need a map for mapping object id's to the proxy. The entry will actually be
-	// a REMStandardBeanProxyFactory.WeakProxyReference. This is so that the
-	// proxy will not be held tightly by this map and can be GC'd if not referenced.
-	// Periodically, the reference queue will be processed to remove any of the
-	// entries that have been GC'd and the server will be told that it can release
-	// the ID on its side.
-	//
-	// This map will be used as synchronize object also for access to it.
-	//
-	// There will be a low priority job that will occasionally process the GC'd objects
-	// and remove them from the queue and the remote vm. It will not remove during lockedTransactions.
-	//
-	// NOTE: Certain proxies never get added to the map. They are the
-	// standard types/class (i.e. null, byte, int, long, short, double, float, byte, string). These
-	// always have the value saved in the proxy so that it can be retrieved without going back
-	// to the server. 
-	private final HashMap fIDToProxiesMap = new HashMap(1000);	// Map ID's to proxies. The proxies have their id's so we don't need a reverse map
-	private int transactionLockCount = 0;	// Count of transactions that have locked access. It is changed under sync control of fIDToProxies map.
-	
-	/**
-	 * The Weak reference used for the id to proxies map for the proxy
-	 * so that we can clean it up when the proxy has been garbage collected.
-	 *
-	 * It is important that all changes to the ProxyRef are done through sync on fIDToProxiesMap.
-	 */
-	private static class ProxyRef extends java.lang.ref.WeakReference {
-		private Integer id;	// We need the id because this reference will be on the value side
-					// and not the key side of the map, so we need to know the key
-					// so that the object can be removed from the map.
-					//
-					// If the ID is null, then this means this entry has been processed
-					// in some way and should not be released or removed from the table.
-		private int useCnt = 1;	// Usage/Ref count. Needed so that we don't get rid of too soon. Since we don't
-					// create a ProxyRef without a usage, we start it off with one. It will be incremented
-					// then on retrievals when needed by users outside of the remote factories themselves.
-					// It won't be physically released until either GC got rid of it, or it goes to 0 or less
-					// on a release request.
-					
-		public ProxyRef(Integer anID, Object proxy, java.lang.ref.ReferenceQueue q) {
-			super(proxy, q);
-			id = anID;
-		}
-		
-		public Integer getID() {
-			return id;
-		}
-		
-		public void clear() {
-			super.clear();
-			id = null;
-		}
-		
-		public synchronized int useCnt() {
-			return useCnt;
-		}
-		
-		public synchronized void incrUseCnt() {
-			useCnt++;
-		}
-		
-		public synchronized int decrUseCnt() {
-			if (--useCnt < 0)
-				useCnt = 0;
-			return useCnt;
-		}
-	}
-	
-	/* Reference queue for cleared Proxies */
-	private java.lang.ref.ReferenceQueue queue = new java.lang.ref.ReferenceQueue();	
-	
-	/**
-	 * Process the entries on the id to proxies map that have been garbage collected.
-	 * It is package-protected because only REMRegistryController should call it.
-	 */
-	void processQueue() {
-		ProxyRef pr;	
-		while (true) {
-			if (Thread.interrupted())
-				return;	// Maybe going down.	(This actually a kludge because the thread happens to be the master thread from the registry controller).
-				
-			synchronized (fIDToProxiesMap) {
-				if (queue == null || transactionLockCount > 0)
-					break;	// Either no queue (we are cleaning up) or in a transaction, stop processing and retry on next time slice.
-				if ((pr = (ProxyRef) queue.poll()) != null) {				
-					if (pr.getID() != null) {
-						// It hasn't been processed by some other means.				
-						fIDToProxiesMap.remove(pr.getID());						
-						releaseID(pr.getID().intValue());
-					}
-				} else
-					break;	// There are no more waiting, so leave.
-			}
-		}
-	}
-	
-	
-/**
- * REMBeanProxyFactory constructor comment.
- *
- * Note: It assumes the beantype factory has already been registered.
- */
-REMStandardBeanProxyFactory(REMProxyFactoryRegistry aRegistry) {
-	fRegistry = aRegistry;
-	aRegistry.registerBeanProxyFactory(this);
-	fBeanTypeProxyFactory = (REMStandardBeanTypeProxyFactory) aRegistry.getBeanTypeProxyFactory();
-	fBeanTypeProxyFactory.initialize(this);	// Now we're ready for the beantype factory to be initialized.
-	
-}
-
-
-/**
- * Register a collection of Proxies
- */
-public void registerProxies(Collection proxies) {
-	synchronized(fIDToProxiesMap) {
-		Iterator itr = proxies.iterator();
-		while (itr.hasNext()) {
-			IREMBeanProxy proxy = (IREMBeanProxy) itr.next();
-			if (proxy instanceof IBeanTypeProxy || !(proxy.getTypeProxy() instanceof IREMConstantBeanTypeProxy)) {
-				ProxyRef oldRef = (ProxyRef) fIDToProxiesMap.put(proxy.getID(), new ProxyRef(proxy.getID(), proxy, queue));
-				if (oldRef != null) {
-					// We've replaced it with a new one, so we will clear out the ref so that it won't later try to remove itself
-					oldRef.clear();
-				}
-			}
-		}		
-	}
-}
-
-/**
- * Register a single proxy
- */
-public void registerProxy(IREMBeanProxy proxy) {
-	if (proxy instanceof IBeanTypeProxy || !(proxy.getTypeProxy() instanceof IREMConstantBeanTypeProxy))
-		synchronized(fIDToProxiesMap) {
-			ProxyRef oldRef = (ProxyRef) fIDToProxiesMap.put(proxy.getID(), new ProxyRef(proxy.getID(), proxy, queue));
-			if (oldRef != null) {
-				// We've replaced it with a new one, so we will clear out the ref so that it won't later try to remove itself
-				oldRef.clear();
-			}							
-		}
-}
-
-/**
- * Release a proxy because no longer needed.
- */
-public void releaseProxy(IBeanProxy proxy) {
-	if (!proxy.isValid())
-		return;
-	if (proxy instanceof IBeanTypeProxy && !fBeanTypeProxyFactory.releaseProxy((IBeanTypeProxy) proxy))
-		return;	// BeanType and type factory won't allow release of it.
-	Integer id = ((IREMBeanProxy) proxy).getID();
-	synchronized(fIDToProxiesMap) {			
-		// Synced in here so that we will remove it before some one else from a different thread may try
-		// to access it again.
-		if (id.intValue() != Commands.NOT_AN_ID) {
-			ProxyRef ref = (ProxyRef) fIDToProxiesMap.remove(id);
-			if (ref == null || ref.decrUseCnt() <= 0) {
-				// No usage, so do actual release.
-				((IREMBeanProxy) proxy).release();
-				releaseID(id.intValue());
-				if (ref != null)
-					ref.clear();	// So the proxy will GC with out queuing up.
-			} 
-		} else {
-			((IREMBeanProxy) proxy).release();			
-		}
-	}
-}
-
-/**
- * Release a specific ID. This is used in case an ID has been sent
- * but we couldn't proxy it. In that case we only have an ID. It is
- * also used when a proxy has been released explicitly or through GC.
- * In that case it has already been de-registered.
- */
-private void releaseID(int anID) {
-	try {
-		IREMConnection connect = fRegistry.getFreeConnection();
-		try {
-			connect.releaseID(anID);
-		} finally {
-			fRegistry.returnConnection(connect);
-		}
-	} catch (IllegalStateException e) {
-		// Couldn't get connection, don't bother with a release.
-	}
-}
-
-/**
- * For the Remote Factory we will create an REMBeanProxy using the null constructor
- * Package protected so only REMBeanTypeProxies can create instances.
- */
- 
-IBeanProxy createBeanProxy(IREMBeanTypeProxy aTypeProxy) throws ThrowableProxy {
-	return REMStandardBeanProxyConstants.getConstants(fRegistry).getClassNewInstance().invoke(null, aTypeProxy);
-}
-
-/**
- * For the Remote Factory we will create a REMBeanProxy using the initializationString.
- * Package protected so only REMBeanTypeProxies can create instances. 
- */
-IBeanProxy createBeanProxy(IREMBeanTypeProxy aTypeProxy, String initializationString)
-	throws ThrowableProxy, CommandException, ClassCastException, InstantiationException, IllegalStateException {
-	IREMConnection connect = fRegistry.getFreeConnection();
-	startTransaction();
-	// Starting a transaction, we will be getting id's back and need to get data in a separate step, so we need to group it in a transaction.
-	try {
-		Commands.ValueObject newInstanceData = null;
-		try {
-			newInstanceData = getNewInstanceData(aTypeProxy, initializationString, connect);
-		} catch (CommandErrorException e) {
-			switch (e.getErrorCode()) {
-				case Commands.CLASS_CAST_EXCEPTION:
-					// The result was not of the correct type.
-					throw new ClassCastException(
-						MessageFormat.format(ProxyRemoteMessages.getString("Classcast_EXC_"), new Object[] {extractFirstLine(initializationString), aTypeProxy.getTypeName()})); //$NON-NLS-1$
-				case Commands.CANNOT_EVALUATE_STRING:
-					// Want to log the exception that caused it to not evaluate.
-					// Don't need to log this side, just log the RemoteVM side of the trace.
-					java.io.StringWriter s = new java.io.StringWriter();
-					java.io.PrintWriter w = new java.io.PrintWriter(s);
-					((ThrowableProxy) e.getErrorObject()).printProxyStackTrace(w);
-					ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, s.toString(), null));
-					throw new InstantiationException(
-						MessageFormat.format(ProxyRemoteMessages.getString("Instantiate_EXC_"), new Object[] {extractFirstLine(initializationString)})); //$NON-NLS-1$
-				default:
-					throw e; //$NON-NLS-1$
-			}
-		} catch (CommandException e) {
-			if (e.isRecoverable()) {
-				ProxyPlugin.getPlugin().getLogger().log( 
-					new Status(
-						IStatus.WARNING,
-						ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
-						0,
-						"", //$NON-NLS-1$
-						e));
-			} else {
-				// It failed in the command, try again.
-				fRegistry.closeConnection(connect);
-				connect = null;
-				connect = fRegistry.getFreeConnection();
-				try {
-					newInstanceData = getNewInstanceData(aTypeProxy, initializationString, connect);
-				} catch (CommandException eAgain) {
-					// It failed again. Close this connection and don't let it be returned.
-					fRegistry.closeConnection(connect);
-					connect = null; // This is so that it won't be returned.
-				}
-			}
-		} finally {
-			if (connect != null)
-				fRegistry.returnConnection(connect);
-		}
-
-		if (newInstanceData != null)
-			return getBeanProxy(newInstanceData); // Turn it into a proxy
-	} finally {
-		stopTransaction();	// Now we can release the transaction.
-	}
-
-return null;
-}
-
-private String extractFirstLine(String initString) {
-	// Need to extract the first line for the messageFormat not to barf.
-	int cr = initString.indexOf('\r');
-	int lf = initString.indexOf('\n');	
-	if (cr != -1 || lf != -1) {
-		if (cr == -1 || (lf != -1 && lf < cr))
-			return initString.substring(0, lf);
-		else
-			return initString.substring(0, cr);
-	} else
-		return initString;
-}
-	
-	
-/**
- * actually create it using a passed in connection. This allows retry capability.
- *
- * This will send the request over to the connection.
- *
- * If we get an OBJECT back, then the beantypeproxy that the classID in the
- * value points to must be of type IREMConstantBeanTypeProxy so that we can
- * send this new object to the correct beantype to create the correct proxy.
- *
- * If we get an OBJECT_ID back, then the beantypeproxy that the classID in
- * the value points to must be able to handle creating a proxy of that type. 
- */
-private Commands.ValueObject getNewInstanceData(IREMBeanTypeProxy aTypeProxy, String initializationString, IREMConnection connect) throws ThrowableProxy, CommandException {	
-	try {
-		Commands.ValueObject newInstanceData = new Commands.ValueObject();
-		connect.getNewInstance(aTypeProxy.getID().intValue(), initializationString, newInstanceData);
-		return newInstanceData;
-	} catch (CommandErrorException e) {
-		// TBD - Needs to handle error of not evaluatable and send over to the compilor.
-		processErrorReturn(e);	// Process this
-	}
-	return null;
-}
-
-/**
- * actually create it using a passed in connection. This allows retry capability.
- */
-private void getObjectInstanceData(IREMConnection connect, int objectID, Commands.ValueObject valueReturn) throws ThrowableProxy, CommandException {	
-	try {
-		connect.getObjectData(objectID, valueReturn);
-	} catch (CommandErrorException e) {
-		processErrorReturn(e);	// Process this
-	}
-}
-
-/**
- * Get a bean proxy from the value object passed in. If not yet created, create one.
- * NOTE: NULL type actually returns a true null. This is so that if people are casting
- * the returned proxy to a specific type (e.g IIntegerBeanProxy), then they won't get
- * a ClassCastException, they will get a null. This is easier for them to handle.
- * 
- * NOTE: This is public ONLY so that extension factories can create correct types of
- * proxies in consistent manner from a value object. 
- * 
- * It is important that this is called
- * from within a transaction only because otherwise the value could have invalid data
- * by the time we try to get the data out of it.
- */
-public IBeanProxy getBeanProxy(Commands.ValueObject value) throws ThrowableProxy, CommandException {
-	switch (value.type) {
-		// Null result.
-		case (byte) Commands.VOID_TYPE:
-			return null;
-		// A constant object was received.
-		case Commands.OBJECT:
-			IREMConstantBeanTypeProxy constantBeanType = null;
-			try {
-				constantBeanType = (IREMConstantBeanTypeProxy) getBeanType(value.classID);
-				if (constantBeanType == null)
-					return null;	// Cannot find the type to create it.
-			} catch (ClassCastException e) {
-				// It wasn't a constant type, so we can't create it. Return null.
-				ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e)); //$NON-NLS-1$
-				return null;
-			}
-			
-			return constantBeanType.newBeanProxy(value);
-		
-		// An existing object_id was returned, the object should exist. If it doesn't
-		// then submit the info command to try to recreate it correctly.
-		case Commands.OBJECT_ID:
-			Integer objectID = new Integer(value.objectID);
-			IBeanProxy proxy = retrieveProxy(objectID, true);
-			if (proxy != null)
-				return proxy;
-
-			// Not found, need to try to recreate it.
-			IREMConnection connect = fRegistry.getFreeConnection();
-			try {
-				getObjectInstanceData(connect, value.objectID, value); // Go and get the data
-			} catch (CommandErrorException e) {
-				if (e.isRecoverable()) {
-					ProxyPlugin.getPlugin().getLogger().log(
-						new Status(
-							IStatus.WARNING,
-							ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
-							0,
-							"", //$NON-NLS-1$
-							e));
-					return null;
-				} else {
-					// Try one more time.
-					fRegistry.closeConnection(connect);
-					connect = null;
-					connect = fRegistry.getFreeConnection();
-					try {
-						getObjectInstanceData(connect, value.objectID, value); // Go and get the data
-					} catch (CommandErrorException eAgain) {
-						fRegistry.closeConnection(connect);
-						connect = null;
-						throw eAgain;
-					}
-				}
-			} finally {
-				if (connect != null)
-					fRegistry.returnConnection(connect);
-			}
-
-			return getBeanProxy(value); // Now process it to create the new data.
-			
-		// An new object id. Need to get the class type and let it create it.
-		case Commands.NEW_OBJECT_ID:
-			try {
-				IREMBeanTypeProxy newBeanType = getBeanType(value.classID);
-				IREMBeanProxy newProxy = newBeanType.newBeanProxy(new Integer(value.objectID));
-				if (newProxy != null)
-					registerProxy(newProxy);
-				return newProxy;
-			} catch (CommandException e) {
-				// The server has created a new object, but we couldn't create/register a proxy for it.
-				// We need to release it so that the server can get rid of it. Otherwise it would hang
-				// around over there forever.
-				releaseID(value.objectID);
-				throw e;				
-			} catch (RuntimeException e) {
-				// The server has created a new object, but we couldn't create/register a proxy for it.
-				// We need to release it so that the server can get rid of it. Otherwise it would hang
-				// around over there forever.
-				releaseID(value.objectID);
-				throw e;
-			}			
-			
-		// An exception was thrown, create the ThrowableProxy and then throw it.
-		case Commands.THROW:
-			IREMBeanProxy newThrowProxy	= null;
-			try {
-				IREMBeanTypeProxy newThrowType = newThrowType = getBeanType(value.classID);
-				newThrowProxy = newThrowType.newBeanProxy(new Integer(value.objectID));
-				if (newThrowProxy != null)
-					registerProxy(newThrowProxy);
-			} catch (CommandException e) {
-				// The server has created a new object, but we couldn't create/register a proxy for it.
-				// We need to release it so that the server can get rid of it. Otherwise it would hang
-				// around over there forever.
-				releaseID(value.objectID);
-				throw e;				
-			} catch (RuntimeException e) {
-				// The server has created a new object, but we couldn't create/register a proxy for it.
-				// We need to release it so that the server can get rid of it. Otherwise it would hang
-				// around over there forever.
-				releaseID(value.objectID);
-				throw e;
-			}				
-			// It really should be a throwable, but if not, just return it.
-			if (newThrowProxy instanceof ThrowableProxy)
-				throw (ThrowableProxy) newThrowProxy;
-			else
-				return newThrowProxy;		
-		
-		// It is one of the standard kinds, which are Constant types
-		default:
-			IREMConstantBeanTypeProxy standardBeanType = null;
-			try {
-				standardBeanType = (IREMConstantBeanTypeProxy) getBeanType(value.type);
-				if (standardBeanType == null)
-					return null;	// Cannot find the type to create it.
-			} catch (ClassCastException e) {
-				// It wasn't a standard type, so we can't create it. Return null.
-				ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e)); //$NON-NLS-1$
-				return null;
-			}
-			return standardBeanType.newBeanProxy(value);
-	}						
-}
-
-/**
- * Process the error exception. Get the data from it and turn it into proxy data.
- * If it is a THROW, then it will throw the Throwable instead. 
- *
- * NOTE: It is public ONLY so that extension factories can process errors in
- * an consistent manner. 
- * 
- * It is important that this be called only within a transaction.
- */
-public void processErrorReturn(CommandErrorException e) throws CommandException, ThrowableProxy {
-	int code = e.getErrorCode();
-	Object data = null;
-	if (code == Commands.THROWABLE_SENT)
-		data = getBeanProxy(e.getValue());	// It is Throw sent, so let the throw from getBeanProxy continue on out. (But as a safety, we still try to get the data.
-	else {
-		try {
-			data = getBeanProxy(e.getValue());
-		} catch (ThrowableProxy t) {
-			// But we want to keep throwables in this case. They are just data for the command error.
-			data = t;
-		}
-	}
-	throw new CommandErrorException(MessageFormat.format(ProxyRemoteMessages.getString("RemoteCmd_EXC_"), new Object[] {new Integer(code)}), code, e.getValue(), data);	// Create a new one and throw it containing the proxied data. //$NON-NLS-1$
-}
-	 
-
-/**
- * Get a beantype where the id passed in is the classID of the beantype.
- * If not found, then go get it loaded. If it can't be found, then we will
- * release the id because it means we have an id from the server, but we
- * can't create a proxy for it, so don't keep the server holding it.
- * NOTE: This is public ONLY so that extension factories can create correct types
- * in a consistent manner from the id.
- * 
- * It is important that this be called only from within a transaction. 
- */
-public IREMBeanTypeProxy getBeanType(int id) throws CommandException {
-	IREMBeanTypeProxy beanType = null;
-	try {
-		Integer classID = new Integer(id);
-		beanType = (IREMBeanTypeProxy) retrieveProxy(classID, false);
-		if (beanType == null)
-			beanType = fBeanTypeProxyFactory.createBeanTypeProxy(classID);	// We don't have it, need to go to the factory so that it can go query what it needs
-		if (beanType == null)
-			return null;	// Cannot find the type to create it.
-	} catch (ClassCastException e) {
-		// It wasn't a bean type, so we can't create it. Return null.
-		ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e)); //$NON-NLS-1$
-	} finally {
-		if (beanType == null)
-			releaseID(id);	// Couldn't create a proxy, so release the id.
-	}
-	return beanType;
-}
-
-
-/**
- * Return a proxy wrapping the primitive integer
- */
-public IIntegerBeanProxy createBeanProxyWith(int aPrimitiveInteger) {
-
-	return fBeanTypeProxyFactory.intType.createIntegerBeanProxy(aPrimitiveInteger);
-}
-
-/**
- * Return a proxy wrapping the primitive byte
- */
-public INumberBeanProxy createBeanProxyWith(byte aPrimitiveByte) {
-
-	return fBeanTypeProxyFactory.byteType.createByteBeanProxy(aPrimitiveByte);
-}
-
-/**
- * Return a proxy wrapping the primitive char
- */
-public ICharacterBeanProxy createBeanProxyWith(char aPrimitiveChar) {
-
-	return fBeanTypeProxyFactory.charType.createCharacterBeanProxy(aPrimitiveChar);
-}
-
-/**
- * Return a proxy wrapping the primitive short
- */
-public INumberBeanProxy createBeanProxyWith(short aPrimitiveShort) {
-
-	return fBeanTypeProxyFactory.shortType.createShortBeanProxy(aPrimitiveShort);
-}
-
-/**
- * Return a proxy wrapping the primitive long
- */
-public INumberBeanProxy createBeanProxyWith(long aPrimitiveLong) {
-
-	return fBeanTypeProxyFactory.longType.createLongBeanProxy(aPrimitiveLong);
-}
-/**
- * Return a proxy wrapping the primitive double
- */
-public INumberBeanProxy createBeanProxyWith(double aPrimitiveDouble) {
-
-	return fBeanTypeProxyFactory.doubleType.createDoubleBeanProxy(aPrimitiveDouble);
-}
-/**
- * Return a proxy wrapping the primitive float
- */
-public INumberBeanProxy createBeanProxyWith(float aPrimitiveFloat) {
-
-	return fBeanTypeProxyFactory.floatType.createFloatBeanProxy(aPrimitiveFloat);
-}
-
-/**
- * createBeanProxyWith method comment.
- */
-public IBooleanBeanProxy createBeanProxyWith(Boolean aBoolean) {
-	return fBeanTypeProxyFactory.booleanClass.createBooleanBeanProxy(aBoolean);
-}
-/**
- * Return a proxy that wraps the Integer argument
- */
-public IIntegerBeanProxy createBeanProxyWith(Integer anInteger) {
-
-	return fBeanTypeProxyFactory.integerClass.createIntegerBeanProxy(anInteger);
-}
-/**
- * createBeanProxyWith method comment.
- */
-public INumberBeanProxy createBeanProxyWith(Number aNumber) {
-	REMAbstractNumberBeanTypeProxy type = (REMAbstractNumberBeanTypeProxy) fBeanTypeProxyFactory.getBeanTypeProxy(aNumber.getClass().getName());
-	return type.createNumberBeanProxy(aNumber);
-}
-/**
- * Return a proxy for the argument
- */
-public IStringBeanProxy createBeanProxyWith(String aString) {
-
-	return fBeanTypeProxyFactory.stringClass.createStringBeanProxy(aString);
-
-}
-/**
- * Return a proxy for the argument
- */
-public ICharacterBeanProxy createBeanProxyWith(Character aCharacter) {
-
-	return fBeanTypeProxyFactory.characterClass.createCharacterBeanProxy(aCharacter);
-
-}
-/**
- * createBeanProxyWith method comment.
- */
-public IBooleanBeanProxy createBeanProxyWith(boolean aPrimitiveBoolean) {
-	return fBeanTypeProxyFactory.booleanType.createBooleanBeanProxy(aPrimitiveBoolean);
-}
-
-/**
- * Create an array bean proxy.
- *
- *   - (int, new int[2] {3, 4}) will create:
- *      int [3] [4]
- *
- *   - (int[], new int[1] {1})
- *      int [1]
- *
- *   - (int[], new int[2] {2,3})
- *      int [2] [3]
- * 
- *
- *   - (int[], null) or (int[], new int[0]) or (int, null) or (int, new int[0])
- *      int [0]...
- *     or
- *     (int[][]..., null) or (int[][]..., new int[0])
- *      int[0][]...
- *     This is because an array instance with no specified dimensions is not valid. 
- *
- *   - (int[][], new int[1] {3})
- *      int[3][]
- */
-public IArrayBeanProxy createBeanProxyWith(IBeanTypeProxy type, int[] dimensions) throws ThrowableProxy {
-	if (type.isArray())
-		return ((REMArrayBeanTypeProxy) type).createBeanProxyWith(dimensions);	// Already an array type, just pass it on.
-	else {
-		// It is not an array type, so we need to get an array of this type and dimensions.
-		REMArrayBeanTypeProxy arrayType = (REMArrayBeanTypeProxy) fBeanTypeProxyFactory.getBeanTypeProxy(type.getTypeName(), dimensions.length);
-		return arrayType.createBeanProxyWith(dimensions);
-	}
-}
-/**
- * Create a one-dimensional array. 
- * The result will be the same as calling 
- *   createBeanProxyWith(IBeanTypeProxy type, new int[1] {x})
- * where 'x' is the value passed in as the dimension.
- */
-public IArrayBeanProxy createBeanProxyWith(IBeanTypeProxy type, int dimension) throws ThrowableProxy {
-	return createBeanProxyWith(type, new int[] {dimension});
-}
-
-/**
- * Retrieve the proxy from the mapping table. Handle already GC'd.
- * If this returns null, it is important that the caller tries to recreate
- * it since the id is still valid on the server.
- */
-private IBeanProxy retrieveProxy(Integer objectID, boolean incrementUseCnt) {
-	synchronized (fIDToProxiesMap) {
-		ProxyRef ref = (ProxyRef) fIDToProxiesMap.get(objectID);
-		if (ref != null) {
-			Object bp = ref.get();			
-			if (ref.isEnqueued() || bp == null) {
-				// It's waiting to be removed, or has been removed. i.e. GC'd, so just remove it from the map, next processQueue will remove it from the queue.
-				fIDToProxiesMap.remove(objectID);
-				ref.clear();		// This is so that when the processQueue see's it, 
-							// it won't send a release request to the server 
-							// since it will be recreated when this method returns.
-				return null;
-			} else {
-				if (incrementUseCnt)
-					ref.incrUseCnt();
-				return (IBeanProxy) bp;
-			}	
-		} else
-			return null;
-	}
-}
-
-/**
- * Start Transaction: During the time between start/stop transaction,
- * proxies will not be cleaned up. This prevents the case of a two step
- * transaction where the returned ID from the remote vm is for a proxy
- * that is about to be cleaned up, and then having that proxy disappear
- * when going for the data for it.
- * 
- * Note: It is IMPERITIVE that the start/stop is used in the following way:
- *     factory.startTransaction();
- *     try {
- *         do your stuff...
- *     } finally {
- *         factory.stopTransaction();
- *     }
- * 
- * This way it can never accidently leave it in a locked state.
- */
-public	void startTransaction()  {
-	synchronized (fIDToProxiesMap) {
-		transactionLockCount++;
-	}
-}
-
-/**
- * Stop Transaction: During the time between start/stop transaction,
- * proxies will not be cleaned up. This prevents the case of a two step
- * transaction where the returned ID from the remote vm is for a proxy
- * that is about to be cleaned up, and then having that proxy disappear
- * when going for the data for it.
- * 
- * Note: It is IMPERITIVE that the start/stop is used in the following way:
- *     factory.startTransaction();
- *     try {
- *         do your stuff...
- *     } finally {
- *         factory.stopTransaction();
- *     }
- * 
- * This way it can never accidently leave it in a locked state.
- */
-public	void stopTransaction()  {
-	synchronized (fIDToProxiesMap) {
-		if (--transactionLockCount < 0)
-			transactionLockCount = 0;	// Shouldn't occur, but just in case.
-	}
-}
-
-/**
- * Terminate the factory. If this is being terminated, then the server is being terminated too.
- * So just go through all of the proxies and release them, but don't send any notification to
- * the server since the server is subsequently just going to throw them away when it terminates.
- */
-public void terminateFactory() {
-	synchronized (fIDToProxiesMap) {
-		Iterator itr = fIDToProxiesMap.values().iterator();
-		while (itr.hasNext()) {
-			ProxyRef ref = (ProxyRef) itr.next();
-			if (ref != null) {
-				Object bp = ref.get();
-				// If not cleaned up and not enqueued, release it.
-				if (bp != null && !ref.isEnqueued())
-					((IREMBeanProxy) bp).release();
-			}
-		}
-		
-		fIDToProxiesMap.clear();
-		queue = null;	// Don't bother processing the queue, don't need to now.
-	}
-}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IStandardBeanProxyFactory#createExpression()
-	 */
-	public IExpression createExpression() {
-		return new REMExpression(this.fRegistry);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IStandardBeanProxyFactory#createBeanProxyFrom(java.lang.String)
-	 */
-	public IBeanProxy createBeanProxyFrom(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
-		try {
-			return createBeanProxy(fBeanTypeProxyFactory.voidType, initializationString);
-		} catch (CommandException e) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e)); //$NON-NLS-1$		}
-		}
-		return null;
-	}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanTypeProxyFactory.java
deleted file mode 100644
index 882e293..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,609 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMStandardBeanTypeProxyFactory.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.CommandErrorException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * We are a beanTypeProxyFactory for creating REMBeanTypeProxy objects
- * Primitive types as well as common types like String are cached for speed
- * of lookup.
- * We are the standard one that the VCE uses.
- * Creation date: (12/3/99 2:32:48 PM)
- * @author: Joe Winchester
- */
-public final class REMStandardBeanTypeProxyFactory implements IStandardBeanTypeProxyFactory {
-	
-	protected final REMProxyFactoryRegistry fFactoryRegistry;
-	protected REMStandardBeanProxyFactory fBeanFactory;
-	
-	
-	// Hashtable to cache proxies for classes so they are found on second and subsequent lookups
-	protected Map fBeanProxies = new HashMap(1000);
-	
-	// A Cache of bean type proxies that should not ever be released.	These are the standard ones
-	// that we create here. They are never released because they wouldn't be correctly re-created
-	// if they were. Also they are standard ones with standard ID's that don't change so they
-	// don't need to be re-created later.
-	protected Set fPermanentProxies = new HashSet(30);
-	
-	// Cache of requested but not found bean types. If not maintaining the list, this variable will be null.
-	// The values are strings (classnames in JNI format).
-	protected Set fNotFoundTypes = null; 
-
-	// Cached copy of a few typical bean type proxies.
-	REMBeanTypeProxy objectClass;
-	REMClassBeanTypeProxy classClass;	
-	REMVoidBeanTypeProxy voidType;
-	REMBooleanTypeBeanTypeProxy booleanType;
-	REMBooleanClassBeanTypeProxy booleanClass;
-	REMIntegerTypeBeanTypeProxy intType;
-	REMIntegerClassBeanTypeProxy integerClass;
-	REMByteTypeBeanTypeProxy byteType;
-	REMByteClassBeanTypeProxy byteClass;		
-	REMShortClassBeanTypeProxy shortClass;	
-	REMShortTypeBeanTypeProxy shortType;
-	REMLongClassBeanTypeProxy longClass;	
-	REMLongTypeBeanTypeProxy longType;	
-	REMDoubleClassBeanTypeProxy doubleClass;	
-	REMDoubleTypeBeanTypeProxy doubleType;	
-	REMFloatClassBeanTypeProxy floatClass;	
-	REMFloatTypeBeanTypeProxy floatType;	
-	REMBigDecimalBeanTypeProxy bigDecimalClass;		
-	REMBigIntegerBeanTypeProxy bigIntegerClass;		
-	REMCharacterTypeBeanTypeProxy charType;
-	REMCharacterClassBeanTypeProxy characterClass;	
-	REMStringBeanTypeProxy stringClass;
-
-/**
- * IDEBeanTypeProxyFactory constructor comment.
- */
-REMStandardBeanTypeProxyFactory(REMProxyFactoryRegistry aRegistry) {
-	fFactoryRegistry = aRegistry;
-	aRegistry.registerBeanTypeProxyFactory(this);
-
-	// Now initialize the cache.
-	objectClass = new REMBeanTypeProxy(fFactoryRegistry, new Integer(Commands.OBJECT_CLASS), Object.class.getName(), null);
-	classClass = new REMClassBeanTypeProxy(fFactoryRegistry, objectClass);		
-	voidType = new REMVoidBeanTypeProxy(fFactoryRegistry);
-	booleanType = new REMBooleanTypeBeanTypeProxy(fFactoryRegistry);
-	booleanClass = new REMBooleanClassBeanTypeProxy(fFactoryRegistry, objectClass);
-	IBeanTypeProxy numberClass = objectClass.newBeanTypeForClass(new Integer(Commands.NUMBER_CLASS), Number.class.getName(), true);
-	intType = new REMIntegerTypeBeanTypeProxy(fFactoryRegistry);
-	integerClass = new REMIntegerClassBeanTypeProxy(fFactoryRegistry, numberClass);
-	byteType = new REMByteTypeBeanTypeProxy(fFactoryRegistry);
-	byteClass = new REMByteClassBeanTypeProxy(fFactoryRegistry, numberClass);	
-	shortType = new REMShortTypeBeanTypeProxy(fFactoryRegistry);
-	shortClass = new REMShortClassBeanTypeProxy(fFactoryRegistry, numberClass);
-	longType = new REMLongTypeBeanTypeProxy(fFactoryRegistry);
-	longClass = new REMLongClassBeanTypeProxy(fFactoryRegistry, numberClass);
-	doubleType = new REMDoubleTypeBeanTypeProxy(fFactoryRegistry);
-	doubleClass = new REMDoubleClassBeanTypeProxy(fFactoryRegistry, numberClass);
-	floatType = new REMFloatTypeBeanTypeProxy(fFactoryRegistry);
-	floatClass = new REMFloatClassBeanTypeProxy(fFactoryRegistry, numberClass);					
-	bigDecimalClass = new REMBigDecimalBeanTypeProxy(fFactoryRegistry, numberClass);	
-	bigIntegerClass = new REMBigIntegerBeanTypeProxy(fFactoryRegistry, numberClass);		
-	charType = new REMCharacterTypeBeanTypeProxy(fFactoryRegistry);	
-	characterClass = new REMCharacterClassBeanTypeProxy(fFactoryRegistry, objectClass);
-	stringClass = new REMStringBeanTypeProxy(fFactoryRegistry, objectClass);
-	IBeanTypeProxy throwableClass = new REMThrowableBeanTypeProxy(fFactoryRegistry, new Integer(Commands.THROWABLE_CLASS), Throwable.class.getName(), objectClass);
-	IBeanTypeProxy threadClass = objectClass.newBeanTypeForClass(new Integer(Commands.THREAD_CLASS), Thread.class.getName(), false);
-
-	// Initialize the hashtable with the primitives, their lang equivalents, and also common classes like String
-
-	// Primitives
-	fBeanProxies.put(voidType.getTypeName(), voidType);
-	fBeanProxies.put(intType.getTypeName(), intType);
-	fBeanProxies.put(booleanType.getTypeName(), booleanType);
-	fBeanProxies.put(charType.getTypeName(), charType);
-	fBeanProxies.put(byteType.getTypeName(), byteType);
-	fBeanProxies.put(shortType.getTypeName(), shortType);
-	fBeanProxies.put(longType.getTypeName(), longType);
-	fBeanProxies.put(floatType.getTypeName(), floatType);
-	fBeanProxies.put(doubleType.getTypeName(), doubleType);
-
-	// java.lang primitive peers
-	// Note that special classes are used for some of these which allow the IDE to get the
-	// lang objects from the objects that are holding proxies
-	fBeanProxies.put(integerClass.getTypeName(), integerClass);
-	fBeanProxies.put(booleanClass.getTypeName(), booleanClass);
-	fBeanProxies.put(characterClass.getTypeName(), characterClass);
-	fBeanProxies.put(byteClass.getTypeName(), byteClass);
-	fBeanProxies.put(shortClass.getTypeName(), shortClass);
-	fBeanProxies.put(longClass.getTypeName(), longClass);
-	fBeanProxies.put(floatClass.getTypeName(), floatClass);
-	fBeanProxies.put(doubleClass.getTypeName(), doubleClass);
-	fBeanProxies.put(bigDecimalClass.getTypeName(), bigDecimalClass);
-	fBeanProxies.put(bigIntegerClass.getTypeName(), bigIntegerClass);
-	fBeanProxies.put(stringClass.getTypeName(), stringClass);
-	fBeanProxies.put(throwableClass.getTypeName(), throwableClass);
-	fBeanProxies.put(objectClass.getTypeName(), objectClass);
-	fBeanProxies.put(classClass.getTypeName(), classClass);
-	fBeanProxies.put(numberClass.getTypeName(), numberClass);	
-	fBeanProxies.put(threadClass.getTypeName(), threadClass);
-	
-	// Mark these as permanent.
-	fPermanentProxies.addAll(fBeanProxies.values());
-}
-
-/**
- * Initialize AFTER BeanProxyFactory has been created. This is REQUIRED!
- * NOTE: It is package protected so that only REMStandardBeanProxyFactory can call it when ready.
- */
-synchronized void initialize(REMStandardBeanProxyFactory proxyFactory) {
-	fBeanFactory = proxyFactory;
-	fBeanFactory.registerProxies(fBeanProxies.values());
-}
-	
-	
-/*
- * This is called when we know we don't have the class registered, so
- * we need to create the proxy. We have a connection passed in and will reuse it as necessary
- * 
- * It is important that this be called only from within a transaction.
- */
-private synchronized IREMBeanTypeProxy createBeanTypeProxy(String typeName, IREMConnection connection) throws CommandException {
-	
-	// We don't have the beantype proxy, so create it.	
-	IREMBeanTypeProxy beanTypeProxy = null;
-	Commands.GetClassReturn ret = null;
-	try {
-		ret = getClassReturn(connection, typeName);
-	} catch (ThrowableProxy ep) {
-		// Print out the trace and return proxy with init error.
-		ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", ep)); //$NON-NLS-1$
-		IREMBeanTypeProxy proxy = new REMInitErrorBeanTypeProxy(fFactoryRegistry, MessageFormat.format(ProxyRemoteMessages.getString("ExceptionErrorMsg_EXC_"), new Object[] {ep.getTypeProxy().getTypeName(), ep.getProxyLocalizedMessage()}), typeName); //$NON-NLS-1$
-		registerBeanTypeProxy(proxy, false);
-		return proxy;
-	}
-	if (ret == null) {
-		if (fNotFoundTypes != null)
-			fNotFoundTypes.add(typeName);
-		return null;	// The class doesn't even exist on the server.
-	}
-
-	if (typeName.charAt(0) != '[') {
-		// It is not an array.
-		IREMBeanTypeProxy superTypeProxy = null;
-		if (!ret.isInterface && ret.superClassname.length() != 0) {
-			// Get the beantype proxy of the superclass.
-			superTypeProxy = getBeanTypeProxy(ret.superClassname, connection);
-		}
-			
-		// First check with the factory for the package of the class.
-		// Inner classes have to use the dollar notation since if they didn't we couldn't tell where
-		// the package ended and the class started. This check is here in case the
-		// extension factory can handle this class but needs the id from the server to
-		// create it.
-		int packageIndex = typeName.lastIndexOf('.');
-		if (packageIndex != -1) {
-			String packageName = typeName.substring(0, packageIndex);
-			IREMBeanTypeProxyFactory packageFactory = (IREMBeanTypeProxyFactory) fFactoryRegistry.getBeanTypeProxyFactoryExtension(packageName);
-			if (packageFactory != null) {
-				beanTypeProxy = packageFactory.getExtensionBeanTypeProxy(typeName, new Integer(ret.classID), superTypeProxy);
-				if (beanTypeProxy != null) {
-					registerBeanTypeProxy(beanTypeProxy, false);
-					return beanTypeProxy;
-				}
-			}
-		}							
-		
-		if (ret.isInterface) {
-			// Interface never have a super type, so we will create a specific type.
-			beanTypeProxy = new REMInterfaceBeanTypeProxy(fFactoryRegistry, new Integer(ret.classID), typeName);
-		} else {		
-			// Ask the supertype
-			// to create a beantype proxy of the same beantype proxy class.
-			// This is so that any subclasses will get the same beantype proxy class
-			// for it if it is special.			
-			if (superTypeProxy != null)
-				beanTypeProxy = superTypeProxy.newBeanTypeForClass(new Integer(ret.classID), typeName, ret.isAbstract);
-		}
-	} else
-		beanTypeProxy = new REMArrayBeanTypeProxy(fFactoryRegistry, new Integer(ret.classID), typeName, objectClass);
-	 	
-	// Cache the instance so we can re-use it again
-	if (beanTypeProxy != null) 		
-		registerBeanTypeProxy(beanTypeProxy, false);
-	return beanTypeProxy;
-}
-/**
- * Using the helper class to find a class by name, then create the proxy.
- */
-public IBeanTypeProxy getBeanTypeProxy(String typeName) {
-	try {
-		return getBeanTypeProxy(getJNIFormatName(typeName), (IREMConnection) null);
-	} catch (CommandException e) {
-		// Try once more (we won't have received recoverable exceptions here, they were already caught and handled)
-		try {
-			return getBeanTypeProxy(typeName, (IREMConnection) null);
-		} catch (CommandException eAgain) {
-			// Failed again.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", eAgain)); //$NON-NLS-1$
-		}
-	}
-	return null;
-}
-	
-/**
- * One that internally allows that we already have a connection to work with.
- * If the connection is null, then one will be created.
- * 
- * It is important that if the connection is not null, then we are in a transaction.
- */
-private synchronized IREMBeanTypeProxy getBeanTypeProxy(String typeName, IREMConnection inConnect) throws CommandException {	
-
-	// See whether we already have the proxy for the argument name
-	IREMBeanTypeProxy beanTypeProxy = (IREMBeanTypeProxy) fBeanProxies.get(typeName);
-	if (beanTypeProxy != null) {
-		return beanTypeProxy;
-	}
-
-	// If not an array, then see if the package extension mechanism can find it.
-	// Do this here so that if it is found in the package extension we won't necessarily create an
-	// extra connection when not needed.
-	if (typeName.charAt(0) != '[') {
-		// It is not an array
-		// First check with the factory for the package of the class.
-		// Inner classes have to use the dollar notation since if they didn't we couldn't tell where
-		// the package ended and the class started.
-		int packageIndex = typeName.lastIndexOf('.');
-		if (packageIndex != -1) {
-			String packageName = typeName.substring(0, packageIndex);
-			IREMBeanTypeProxyFactory packageFactory = (IREMBeanTypeProxyFactory) fFactoryRegistry.getBeanTypeProxyFactoryExtension(packageName);
-			if (packageFactory != null) {
-				beanTypeProxy = (IREMBeanTypeProxy) packageFactory.getExtensionBeanTypeProxy(typeName);
-				if (beanTypeProxy != null) {
-					registerBeanTypeProxy(beanTypeProxy, false);
-					return beanTypeProxy;
-				}
-			}
-		}
-	}
-	
-	IREMConnection connect = inConnect != null ? inConnect : fFactoryRegistry.getFreeConnection();
-	if (inConnect == null)
-		fBeanFactory.startTransaction();	// Start a transation.
-	try {
-		return createBeanTypeProxy(typeName, connect);
-	} catch (CommandException e) {
-		if (inConnect == null) {
-			// Need to close the connection, not return it.
-			fFactoryRegistry.closeConnection(connect);
-			connect = null;	// So that it won't be returned.
-		}
-		throw e;	// Pass it on up
-	} finally {
-		if (inConnect == null)
-			fBeanFactory.stopTransaction();
-		if (inConnect == null && connect != null)
-			fFactoryRegistry.returnConnection(connect);
-	}
-}
-
-/*
- * It is important this be called only from within a transaction.
- */
-private Commands.GetClassReturn getClassReturn(IREMConnection connection, String className) throws CommandException, ThrowableProxy {
-	try {
-		return connection.getClass(className);
-	} catch (CommandErrorException e) {
-		fBeanFactory.processErrorReturn(e);	// Let proxy factory handle the error return
-	}
-	return null;
-}
-
-/**
- * Return an Array type proxy for the given class name of
- * the specified dimensions. This is a helper method. The
- * same result can be gotton from getBeanTypeProxy.
- * e.g.
- *      getBeanTypeProxy("java.lang.Object", 3)
- *    is the same as:
- *      getBeanTypeProxy("[[[Ljava.lang.Object;")
- *
- *    They both result in a type of:
- *      Object [][][]
- *
- *    or
- *      getBeanTypeProxy("[Ljava.langObject;", 3)
- *    becomes
- *      Object [][][][]
- */
-public IBeanTypeProxy getBeanTypeProxy(String componentClassName, int dimensions) {
-	String jniComponentClassName = getJNIFormatName(componentClassName);
-	String compType = jniComponentClassName;
-	if (jniComponentClassName.charAt(0) != '[') {
-		// We're not already an array, so create correct template.
-		compType = (String) Commands.MAP_TYPENAME_TO_SHORTSIG.get(jniComponentClassName);
-		if (compType == null) {
-			// It is a class, and not a type.
-			compType = "L"+jniComponentClassName+";"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-	
-	// Now create it with the appropriate number of '[' in front.
-	StringBuffer buffer = new StringBuffer(dimensions+compType.length());
-	for (int i=0; i<dimensions; i++)
-		buffer.append('[');
-	buffer.append(compType);
-	return getBeanTypeProxy(buffer.toString());
-}
-
-/*
- * convert formal type name for an array (i.e. java.lang.Object[]
- * to the jni format (i.e. [Ljava.lang.Object;)
- * This is used when a name is passed in from the IDE side.
- * The VM side uses the jni format, and all of proxy uses the jni format.
- */
-protected String getJNIFormatName(String classname) {
-	if (classname.length() == 0 || !classname.endsWith("]")) //$NON-NLS-1$
-		return classname;	// Not an array,or invalid
-	
-	StringBuffer jni = new StringBuffer(classname.length());
-	int firstOpenBracket = classname.indexOf('[');
-	int ob = firstOpenBracket;
-	while (ob > -1) {
-		int cb = classname.indexOf(']', ob);
-		if (cb == -1)
-			break;
-		jni.append('[');
-		ob = classname.indexOf('[', cb);
-	}
-	
-	IBeanTypeProxy finalType = getBeanTypeProxy(classname.substring(0, firstOpenBracket).trim());
-	if (finalType != null)
-		if (!finalType.isPrimitive()) {
-			jni.append('L');
-			jni.append(finalType.getTypeName());
-			jni.append(';');
-		} else {
-			jni.append(Commands.MAP_TYPENAME_TO_SHORTSIG.get(finalType.getTypeName()));
-		}
-	
-	return jni.toString();
-}
-
-	
-
-/**
- * Get the bean type proxy from a class id. This means that a new class id
- * was sent back from the server that we don't have yet. We need to go ask
- * the server for information on this type so that we can create it.
- *
- * NOTE: This is package protected so that only the standard bean proxy factory
- * can call it. 
- * 
- * It is important that this has been called within a transaction.
- */
-IREMBeanTypeProxy createBeanTypeProxy(Integer classID) {
-	IREMConnection connect = fFactoryRegistry.getFreeConnection();	
-	try {
-		return createBeanTypeProxy(classID, connect);
-	} catch (CommandException e) {
-		if (e.isRecoverable()) {
-			// It is recoverable, print message, keep connection live and return it.
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e)); //$NON-NLS-1$
-		} else {
-			// Try again, close connection, get a new one.
-			fFactoryRegistry.closeConnection(connect);
-			connect = null;
-			connect = fFactoryRegistry.getFreeConnection();
-			try {
-				return createBeanTypeProxy(classID, connect);
-			} catch (CommandException eAgain) {
-				// Failed again. Close connection, don't return it.
-				ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", eAgain)); //$NON-NLS-1$
-				fFactoryRegistry.closeConnection(connect);
-				connect = null;
-			}
-		}
-	} finally {
-		if (connect != null)
-			fFactoryRegistry.returnConnection(connect);
-	}
-	return null;
-}
-
-/*
- * One that internally allows that we already have a connection to work with.
- * If the connection is null, then one will be created.
- * 
- * It is important this be called only from within a transaction.
- */
-private synchronized IREMBeanTypeProxy createBeanTypeProxy(Integer classID, IREMConnection connect) throws CommandException {	
-	// We don't have the beantype proxy, so create it.
-	IREMBeanTypeProxy beanTypeProxy = null;
-
-	Commands.GetClassIDReturn ret = null;
-	try {
-		ret = getClassIDReturn(connect, classID);
-	} catch (ThrowableProxy ep) {
-		// Just print out the trace and return proxy not found.
-		ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", ep)); //$NON-NLS-1$
-		return null;
-	}
-	
-	// If the signature is that of a class.
-	if (ret.className.charAt(0) != '[') {
-		// It is not an array.
-		IREMBeanTypeProxy superTypeProxy = null;
-		if (!ret.isInterface && ret.superClassname.length() != 0) {
-			// Get the beantype proxy of the superclass.
-			superTypeProxy = getBeanTypeProxy(ret.superClassname, connect);
-		}
-		
-		// First check with the factory for the package of the class.
-		// Inner classes have to use the dollar notation since if they didn't we couldn't tell where
-		// the package ended and the class started.
-		int packageIndex = ret.className.lastIndexOf('.');
-		if (packageIndex != -1) {
-			String packageName = ret.className.substring(0, packageIndex);
-			IREMBeanTypeProxyFactory packageFactory = (IREMBeanTypeProxyFactory) fFactoryRegistry.getBeanTypeProxyFactoryExtension(packageName);
-			if (packageFactory != null) {
-				beanTypeProxy = packageFactory.getExtensionBeanTypeProxy(ret.className, classID, superTypeProxy);
-				if (beanTypeProxy != null) {
-					registerBeanTypeProxy(beanTypeProxy, false);
-					return beanTypeProxy;
-				}
-			}
-		}	
-			
-		if (ret.isInterface) {
-			// Interface never have a super type, so we will let the object class do it for us.
-			beanTypeProxy = new REMInterfaceBeanTypeProxy(fFactoryRegistry, classID, ret.className);	
-		} else {		
-			// Ask the beantype proxy of the superclass 
-			// to create a beantype proxy of the same beantype proxy class.
-			// This is so that any subclasses will get the same beantype proxy class
-			// for it if it is special.			
-			if (superTypeProxy != null)
-				beanTypeProxy = superTypeProxy.newBeanTypeForClass(classID, ret.className, ret.isAbstract);
-		}
- 
-		// Cache the instance so we can re-use it again
-		if (beanTypeProxy != null)		
-			registerBeanTypeProxy(beanTypeProxy, false);
-		return beanTypeProxy;
-	} else {		
-		// It is an array.
-		beanTypeProxy = new REMArrayBeanTypeProxy(fFactoryRegistry, classID, ret.className, objectClass );
-		registerBeanTypeProxy(beanTypeProxy, false);
-		return beanTypeProxy;
-	}	
-}
-
-/*
- * It is important that this be called only from within a transaction.
- */
-private Commands.GetClassIDReturn getClassIDReturn(IREMConnection connection, Integer classID) throws CommandException, ThrowableProxy {
-	try {
-		return connection.getClassFromID(classID.intValue());
-	} catch (CommandErrorException e) {
-		fBeanFactory.processErrorReturn(e);	// Let proxy factory handle the error return
-	}
-	return null;
-}
-
-
-
-/**
- * registerBeanTypeProxy.
- * Register this bean type proxy on behalf of the
- * custom factory. This is so that during initializations,
- * the custom factory can cache specific bean type proxies
- * ahead of time. 
- *
- * The permanent flag indicates whether this bean type should never be
- * released (i.e. not even explicitly released).
- */
-public synchronized void registerBeanTypeProxy(IBeanTypeProxy aBeanTypeProxy, boolean permanent) {
-	fBeanProxies.put(aBeanTypeProxy.getTypeName(), aBeanTypeProxy);
-	fBeanFactory.registerProxy((IREMBeanProxy) aBeanTypeProxy);
-	if (permanent)
-		fPermanentProxies.add(aBeanTypeProxy);
-}
-
-/**
- * A beantype proxy is asked to be released. We can only
- * release ones that were not in the permanent set that we 
- * initialized with. Those in the permanent set can't be changed
- * so we can't release them. 
- *
- * Answer whether it can be released from the server
- * too.
- *
- * NOTE: Package protected since only REMStandardBeanProxyFactory should call it.
- */
-boolean releaseProxy(IBeanTypeProxy proxy) {
-/** Currently we won't allow any bean type proxies to be released. We don't have a good
- *  strategy for handling that there may be hard refs from subtypes. One thought is that
- *  beanproxies table should store SoftReferences so that only when space is needed, 
- *  that any beantype that doesn't have a subtype (since subtypes hold a strong ref) or,
- *  is in the permanent table (since that is hardref) could be GC'd. Then what would happen
- *  is on releaseProxy we don't actually release, we change it to a WeakRef so that it would
- *  definitely be released on a GC. These are complicated arch. and we're not sure if it
- *  should be allowed or not. So for now, we don't allow them to be released.
-	if (!fPermanentProxies.contains(proxy)) {
-		// We can release it. It is not one of the permanent ones.
-		synchronized(this) {
-			fBeanProxies.remove(proxy.getTypeName());
-			return true;
-		}
-	}
-*/	
-	return false;
-}
-
-/**
- * Terminate this factory. Since all of the proxies are registered in the
- * proxy factory, there is no need to release them here. There is no
- * need to clear out any fields since this factory will not be held onto
- * by anything and so it will be GC'd.
- */
-public void terminateFactory() {
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#isBeanTypeRegistered(String)
- */
-public synchronized boolean isBeanTypeRegistered(String className) {
-	return fBeanProxies.containsKey(getJNIFormatName(className));
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#registeredTypes()
- */
-public Set registeredTypes() {
-	return fBeanProxies.keySet();
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#isBeanTypeNotFound(String)
- */
-public synchronized boolean isBeanTypeNotFound(String className) {
-	return fNotFoundTypes != null && fNotFoundTypes.contains(getJNIFormatName(className));
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#isMaintainNotFoundTypes()
- */
-public synchronized boolean isMaintainNotFoundTypes() {
-	return fNotFoundTypes != null;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#setMaintainNotFoundTypes(boolean)
- */
-public synchronized void setMaintainNotFoundTypes(boolean maintain) {
-	if (maintain) {
-		if (fNotFoundTypes == null)
-			fNotFoundTypes = new HashSet();
-	} else
-		fNotFoundTypes = null;
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStringBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStringBeanProxy.java
deleted file mode 100644
index eee1a7f..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStringBeanProxy.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMStringBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-
-/**
- * Remote VM Implementation of IStringBeanProxy
- * Creation date: (2/6/00 9:02:42 AM)
- * @author: Joe Winchester
- */
-final class REMStringBeanProxy extends REMConstantBeanProxy implements IStringBeanProxy {
-	private final String fString;
-
-/**
- * Store the bean in the string field to save re-casting each time it is asked for.
- * It is package protected because they are created
- * in a special way and no one else should create them.
- */
-REMStringBeanProxy(REMProxyFactoryRegistry aRegistry, String value) {
-	super(aRegistry);
-	fString = value;
-}
-/**
- * equals: Equal if:
- *         1) This proxy == (identity) to the other object
- *         2) Else if other is an IBeanProxy and not a constant one, then if
- *            equals on the server.
- *         3) If this is a constant proxy and the other is too or is a constant
- *            value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
-	if (this == anObject)
-		return true;	// Identity
-	if (anObject instanceof IStringBeanProxy)
-		return fString.equals(((IStringBeanProxy) anObject).stringValue());
-	if (anObject instanceof String)
-		return fString.equals((String) anObject);
-	return false;
-}
-/**
- * Return the cache'd string that is a java.lang.String that the IDE can use
- */
-public String stringValue() {
-	return fString;
-}
-
-/**
- * Return the toString value from the bean.
- */
-public String toBeanString() {
-	return fString.toString();
-}
-
-/**
- * Get the beantype
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((REMStandardBeanTypeProxyFactory) fFactory.getBeanTypeProxyFactory()).stringClass;
-}
-
-/**
- * Render the bean into value object.
- */
-public void renderBean(Commands.ValueObject value) {
-	value.set(fString);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStringBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStringBeanTypeProxy.java
deleted file mode 100644
index 7ef307c..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStringBeanTypeProxy.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMStringBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Remote Implementation of the BeanType proxy for java.lang.String
- * Creation date: (2/6/00 9:01:23 AM)
- * @author: Joe Winchester
- */
-final class REMStringBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMConstantBeanTypeProxy {
-	// Cache a proxy to an empty string for speed
-	protected final IStringBeanProxy emptyStringProxy;
-/**
- * IDEStringBeanTypeProxy constructor comment.
- * @param aClass java.lang.Class
- */
-REMStringBeanTypeProxy(REMProxyFactoryRegistry aRegistry, IBeanTypeProxy objectTypeProxy) {
-	super(aRegistry, new Integer(Commands.STRING_CLASS), String.class.getName(), objectTypeProxy);
-
-	// Cache a proxy to an empty string for speed
-	emptyStringProxy = new REMStringBeanProxy(aRegistry, "");	//$NON-NLS-1$
-}
-/**
- * Helper to create string beans
- * Package protected because no-one else outside the package should use this, they
- * must go through the API where you look up a factory first.
- */
-IStringBeanProxy createStringBeanProxy(String aString){
-	if ( aString.equals("") ) {//$NON-NLS-1$
-		return emptyStringProxy;
-	} else {
-		return new REMStringBeanProxy(fRegistry, aString);
-	}
-}
-
-/**
- * Create a new bean proxy with the specified id.
- *
- * For all of the primitive wrapper types, this is an invalid operation. They are created
- * explicitly through the appropriate create method.
- */
-public IREMBeanProxy newBeanProxy(Integer anID) {
-	throw new UnsupportedOperationException();
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For all of the primitive wrapper types, they are final classes, so you can't create a newBeanType 
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-	throw new UnsupportedOperationException();
-}
-
-/**
- * newInstance method. String has a default ctor, but it results in the emptyStringProxy,
- * so return the zeroProxy for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
-	return emptyStringProxy;
-}
-
-/**
- * newInstance method comment. Put a short cut in for strings so we don't need to go to the remote
- * vm just to create a string.
- */
-public IBeanProxy newInstance(String initializationString) throws ThrowableProxy, ClassCastException, InstantiationException {
-	if (initializationString.length() <= 1)
-		return super.newInstance(initializationString);	// Not large enough for two quotes, so let default handle it.
-	// Need a quick check that it is only one quoted string. Anything else needs to be passed on up.
-	String s = initializationString.trim();
-	int sl = s.length()-1;	
-	if (s.charAt(0) != '"' || s.charAt(sl) != '"')
-		return super.newInstance(initializationString);	// No leading and trailing quote.
-
-	StringBuffer sb = new StringBuffer(sl);
-	boolean escape = false;		
-	for (int i=1; i<sl; i++) {
-		char c = s.charAt(i);
-		if (c == '\\') {
-			escape = true;
-			continue;
-		}
-		if (!escape && c == '"')
-			return super.newInstance(initializationString);	// Had a quote in the middle without an escape. This means an expression, send on up.
-		escape = false;
-		sb.append(c);
-	}
-	
-	return getProxyFactoryRegistry().getBeanProxyFactory().createBeanProxyWith(sb.toString());
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return createStringBeanProxy((String) value.anObject);
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMThrowableBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMThrowableBeanProxy.java
deleted file mode 100644
index 6ca8ec9..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMThrowableBeanProxy.java
+++ /dev/null
@@ -1,196 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMThrowableBeanProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.*;
-/**
- * Exception Proxy for exception on Remote.
- * NOTE: This one is unusual in that it doesn't inherit from
- *       IDEBeanProxy because it needs to be an exception, and
- *       exceptions are not an interface.
- */
-public class REMThrowableBeanProxy extends ThrowableProxy implements IREMBeanProxy {
-
-	private Integer fID;
-	protected final REMProxyFactoryRegistry fFactory;
-	private IBeanTypeProxy fTypeProxy;
-
-	/**
-	 * Set the bean we are proxying.  We are a proxy for a bean running on the remote VM. 
-	 */
-	protected REMThrowableBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anID, IBeanTypeProxy aType){
-		fFactory = aRegistry;
-		fID = anID;
-		fTypeProxy = aType;
-	}
-	
-	/**
-	 * equals: Equal if:
-	 *         1) This proxy == (identity) to the other object
-	 *         2) Else if other is an IBeanProxy and not a constant one, then if
-	 *            equals on the server.
-	 *         3) If this is a constant proxy and the other is too or is a constant
-	 *            value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
-	 */
-	public boolean equals(Object anObject) {
-		if (super.equals(anObject))
-			return true;	// Identity
-		if (anObject instanceof IBeanProxy && !(anObject instanceof IREMConstantBeanProxy))
-			try {
-				// The other is a bean proxy and is not a constant one, let the server do the check.
-				return ((IBooleanBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getObjectEquals().invoke(this, (IBeanProxy) anObject)).booleanValue();
-			} catch (ThrowableProxy e) {
-			}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
-	 */
-	public boolean sameAs(IBeanProxy aBeanProxy) {
-		return this == aBeanProxy;	// We can be assured in Remote Proxy that identity of proxy and identity of object are the same.
-	}
-	
-	
-	/**
-	 * Get ID. An internal method to be used only within the ProxyFactory family.
-	 */
-	public Integer getID() {
-		return fID;
-	}
-	
-	/**
-	 * isValid - has this bean been released.
-	 */
-	public boolean isValid() {
-		return fID != null;
-	}
-	
-	/**
-	 * release - The bean is being released.
-	 */
-	public void release() {
-		fID = null;
-		fTypeProxy = null;
-	} 
-		
-	/**
-	 * Return the registry this proxy was created with.
-	 */
-	public ProxyFactoryRegistry getProxyFactoryRegistry() {
-		return fFactory;
-	}
-	
-	/**
-	 * Return the proxied class of the bean
-	 * Creation date: (12/3/99 11:37:01 AM)
-	 * @author: Joe Winchester
-	 */
-	public IBeanTypeProxy getTypeProxy() {
-		return fTypeProxy;
-	}
-	
-	/**
-	 * Return the toString of the actual bean on the remote side.
-	 */
-	public String toBeanString() {
-		IStringBeanProxy string = (IStringBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getObjectToString().invokeCatchThrowableExceptions(this);
-		return (string != null) ? string.stringValue() : null;
-	}
-	
-	public String getProxyLocalizedMessage() {
-		IStringBeanProxy msg = (IStringBeanProxy) REMStandardBeanProxyConstants.getConstants(fFactory).getThrowableLocalizedMessage().invokeCatchThrowableExceptions(this);
-		return msg != null ? msg.stringValue() : null;
-	}
-	
-	public String getProxyMessage() {
-		IStringBeanProxy msg = (IStringBeanProxy)  REMStandardBeanProxyConstants.getConstants(fFactory).getThrowableMessage().invokeCatchThrowableExceptions(this);
-		return msg != null ? msg.stringValue() : null;
-	}
-	
-	/**
-	 * Temporary way to get the string value of the stacktrace.
-	 */
-	private String getProxyStackTrace() {
-		IMethodProxy tempGetStackTrace = fFactory.getMethodProxyFactory().getMethodProxy("org.eclipse.jem.internal.proxy.vm.remote.StackTraceUtility", "printStackTrace", new String[] {"java.lang.Throwable"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		IStringBeanProxy trace = (IStringBeanProxy) tempGetStackTrace.invokeCatchThrowableExceptions(null, this);
-		return trace != null ? trace.stringValue() : ""; //$NON-NLS-1$
-	}
-		
-	public void printProxyStackTrace(java.io.PrintWriter writer) {
-		String trace = getProxyStackTrace();
-		synchronized(writer) {
-			writer.print(trace);
-		}
-	}
-	
-	public void printProxyStackTrace(java.io.PrintStream stream) {
-		String trace = getProxyStackTrace();
-		synchronized(stream) {
-			stream.print(trace);
-		}
-
-	}
-	
-	public void printProxyStackTrace() {
-		String trace = getProxyStackTrace();
-		synchronized(System.err) {
-			System.err.print(trace);
-		}
-	}
-
-
-	/**
-	 * Below are the actual printStackTrace. They are set up to first call
-	 * the proxy trace so that it can show where it occurred on the server,
-	 * and then it will do a super to show where it occurred on this side.
-	 */
-	public void printStackTrace() { 
-		synchronized (System.err) {
-			System.err.println(ProxyRemoteMessages.getString(ProxyRemoteMessages.REMOTE_VM_TRACE_HEADER));
-			printProxyStackTrace();
-			System.err.println(ProxyRemoteMessages.getString(ProxyRemoteMessages.REMOVE_VM_LOCAL_TRACE_HEADER));
-			super.printStackTrace();
-		}
-	}
-
-	public void printStackTrace(java.io.PrintWriter s) { 
-		synchronized (s) {
-			s.println(ProxyRemoteMessages.getString(ProxyRemoteMessages.REMOTE_VM_TRACE_HEADER));
-			printProxyStackTrace(s);
-			s.println(ProxyRemoteMessages.getString(ProxyRemoteMessages.REMOVE_VM_LOCAL_TRACE_HEADER));
-			super.printStackTrace(s);
-		}
-	}
-
-	public void printStackTrace(java.io.PrintStream s) { 
-		synchronized (s) {
-			s.println(ProxyRemoteMessages.getString(ProxyRemoteMessages.REMOTE_VM_TRACE_HEADER));
-			printProxyStackTrace(s);
-			s.println(ProxyRemoteMessages.getString(ProxyRemoteMessages.REMOVE_VM_LOCAL_TRACE_HEADER));
-			super.printStackTrace(s);
-		}
-	}
-
-	/**
-	 * Render the bean into value object.
-	 */
-	public void renderBean(Commands.ValueObject value) {
-		value.setObjectID(getID().intValue());
-	}
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMThrowableBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMThrowableBeanTypeProxy.java
deleted file mode 100644
index e8f245d..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMThrowableBeanTypeProxy.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMThrowableBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * The Remote implementation of a Throwable bean type.
- */
-public class REMThrowableBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMSpecialBeanTypeProxy {
-	
-	protected REMThrowableBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType) {
-		super(aRegistry, anID, aClassname, aSuperType);
-	}	
-	
-	/**
-	 * Helper to create a bean proxy
-	 * Package protected because everyone should go through the factory API
-	 * that is defined as part of IBeanProxyFactory
-	 */
-	REMThrowableBeanProxy createThrowableBeanProxy(Integer objectID) {
-		return new REMThrowableBeanProxy(fRegistry, objectID, this);
-	}
-	
-	/**
-	 * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
-	 * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
-	 * This is because subclasses, unless explicitly overridden, should use the same kind
-	 * of beantype proxy. This way if anything special is needed for a specific type, then
-	 * that can be done.
-	 *
-	 * NOTE: All subclasses must override this to return the correct type of BeanTypeProxy.
-	 */
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-		return newBeanTypeForClass(anID, aClassname, anAbstract, this);
-	}
-
-	/**
-	 * The special method to handle subclassing from an abstract).
-	 */		
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract, IBeanTypeProxy superType) {
-		// We can never have an interface of type Throwable since that doesn't exist.
-		if (!anAbstract)
-			return new REMThrowableBeanTypeProxy(fRegistry, anID, aClassname, superType);
-		else
-			return new REMAnAbstractBeanTypeProxy(fRegistry, anID, aClassname, superType, this);
-	}
-	
-	/**
-	 * Specialized from REMAbstractBeanTypeProxy to ensure ExceptionBeanProxies are created correctly.
-	 */
-	public IREMBeanProxy newBeanProxy(Integer objectID) {
-		return createThrowableBeanProxy(objectID);
-	}	
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMVoidBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMVoidBeanTypeProxy.java
deleted file mode 100644
index d18b7d5..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMVoidBeanTypeProxy.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMVoidBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-/**
- * BeanTypeProxy for representing the "void" type value, and a value of this type is "null".
- * Creation date: (2/11/00 2:26:47 PM)
- * @author: Richard Lee Kulp
- */
-final class REMVoidBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMConstantBeanTypeProxy {
-
-	
-protected REMVoidBeanTypeProxy(REMProxyFactoryRegistry aRegistry) {
-	super(aRegistry, new Integer(Commands.VOID_TYPE), Void.TYPE.getName(), null);
-}
-
-/**
- * Return the supertype for us
- * null/void has no superclass.
- * This is required as part of the interface
- */
-public IBeanTypeProxy getSuperBeanTypeProxy() {
-	return null;
-}
-
-/**
- * Create a new bean proxy with the specified id.
- *
- * For void, this is an invalid operation. They are created
- * explicitly through the appropriate create method.
- */
-public IREMBeanProxy newBeanProxy(Integer anID) {
-	throw new UnsupportedOperationException();
-}
-
-/**
- * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
- * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
- * This is because subclasses, unless explicitly overridden, should use the same kind
- * of beantype proxy. This way if anything special is needed for a specific type, then
- * that can be done.
- *
- * For void is a final class, so you can't create a newBeanType 
- * for subclasses.
- */
-public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-	throw new UnsupportedOperationException();
-}
-
-/**
- * newInstance method. void represents "null",
- * so return the null for this case because that is the default value.
- */
-public IBeanProxy newInstance() {
-	return null;
-}
-
-/**
- * Create a new bean proxy the ValueObject passed in.
- * We will assume the object is correct type.
- */
-public IBeanProxy newBeanProxy(Commands.ValueObject value) {
-	return newInstance();
-}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMDimensionBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMDimensionBeanProxy.java
deleted file mode 100644
index 9a343ab..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMDimensionBeanProxy.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMDimensionBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import org.eclipse.jem.internal.proxy.remote.*;
-import org.eclipse.jem.internal.proxy.awt.*;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * The REM Bean Proxy for java.awt.Dimension.
- */
-public class REMDimensionBeanProxy extends REMBeanProxy implements IDimensionBeanProxy {
-	
-	protected REMDimensionBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anID, IBeanTypeProxy aType) {	
-		super(aRegistry, anID, aType);
-	}
-	
-	public int getHeight() {
-		try {
-			IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getDimensionHeightFieldProxy().get(this);
-			return h.intValue();
-		} catch (ThrowableProxy e) {
-			return 0;
-		}
-	}
-	
-	public int getWidth() {
-		try {
-			IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getDimensionWidthFieldProxy().get(this);
-			return h.intValue();
-		} catch (ThrowableProxy e) {
-			return 0;
-		}
-	}
-	
-	public void setHeight(int height) {
-		try {
-			JavaStandardAwtBeanConstants.getConstants(fFactory).getDimensionHeightFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(height));
-		} catch (ThrowableProxy e) {
-		}
-	}
-	
-	public void setWidth(int width) {
-		try {
-			JavaStandardAwtBeanConstants.getConstants(fFactory).getDimensionWidthFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(width));
-		} catch (ThrowableProxy e) {
-		}
-	}
-	
-	public void setSize(int width, int height) {
-		JavaStandardAwtBeanConstants.getConstants(fFactory).getDimensionSetSizeHWProxy().invokeCatchThrowableExceptions(this, new IBeanProxy[] {fFactory.getBeanProxyFactory().createBeanProxyWith(width), fFactory.getBeanProxyFactory().createBeanProxyWith(height)});
-	}
-	
-	public void setSize(IDimensionBeanProxy fromDimensionProxy) {
-		JavaStandardAwtBeanConstants.getConstants(fFactory).getDimensionSetSizeDProxy().invokeCatchThrowableExceptions(this, fromDimensionProxy);
-	}	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMDimensionBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMDimensionBeanTypeProxy.java
deleted file mode 100644
index 96b8b0bc..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMDimensionBeanTypeProxy.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMDimensionBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import org.eclipse.jem.internal.proxy.remote.*;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-/**
- * Beantype proxy for java.awt.Dimension
- */
-public class REMDimensionBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMSpecialBeanTypeProxy {
-	
-	protected REMDimensionBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType) {
-		super(aRegistry, anID, aClassname, aSuperType);
-	}
-		
-	/**
-	 * Helper to create a bean proxy
-	 * Package protected because everyone should go through the factory API
-	 * that is defined as part of IBeanProxyFactory
-	 */
-	REMDimensionBeanProxy createDimensionBeanProxy(Integer objectID) {
-		return new REMDimensionBeanProxy(fRegistry, objectID, this);
-	}
-	
-	/**
-	 * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
-	 * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
-	 * This is because subclasses, unless explicitly overridden, should use the same kind
-	 * of beantype proxy. This way if anything special is needed for a specific type, then
-	 * that can be done.
-	 *
-	 * NOTE: All subclasses must override this to return the correct type of BeanTypeProxy.
-	 */
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-		return newBeanTypeForClass(anID, aClassname, anAbstract, this);
-	}
-
-	/**
-	 * The special method to handle subclassing from an abstract).
-	 */		
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract, IBeanTypeProxy superType) {
-		if (!anAbstract)
-			return new REMDimensionBeanTypeProxy(fRegistry, anID, aClassname, superType);
-		else
-			return new REMAnAbstractBeanTypeProxy(fRegistry, anID, aClassname, superType, this);
-	}
-	
-	/**
-	 * Specialized from REMAbstractBeanTypeProxy to ensure ExceptionBeanProxies are created correctly.
-	 */
-	public IREMBeanProxy newBeanProxy(Integer objectID) {
-		return createDimensionBeanProxy(objectID);
-	}	
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMPointBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMPointBeanProxy.java
deleted file mode 100644
index bc861d8..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMPointBeanProxy.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMPointBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import org.eclipse.jem.internal.proxy.remote.*;
-import org.eclipse.jem.internal.proxy.awt.*;
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * The REM Bean Proxy for java.awt.Point.
- */
-public class REMPointBeanProxy extends REMBeanProxy implements IPointBeanProxy {
-	
-	protected REMPointBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anID, IBeanTypeProxy aType) {	
-		super(aRegistry, anID, aType);
-	}
-	
-	public int getX() {
-		try {
-			IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getPointXFieldProxy().get(this);
-			return h.intValue();
-		} catch (ThrowableProxy e) {
-			return 0;
-		}
-	}
-	
-	public int getY() {
-		try {
-			IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getPointYFieldProxy().get(this);
-			return h.intValue();
-		} catch (ThrowableProxy e) {
-			return 0;
-		}
-	}
-	
-	public void setX(int x) {
-		try {
-			JavaStandardAwtBeanConstants.getConstants(fFactory).getPointXFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(x));
-		} catch (ThrowableProxy e) {
-		}
-	}
-	
-	public void setY(int y) {
-		try {
-			JavaStandardAwtBeanConstants.getConstants(fFactory).getPointYFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(y));
-		} catch (ThrowableProxy e) {
-		}
-	}
-	
-	public void setLocation(int x, int y) {
-		JavaStandardAwtBeanConstants.getConstants(fFactory).getPointSetLocationXYProxy().invokeCatchThrowableExceptions(this, new IBeanProxy[] {fFactory.getBeanProxyFactory().createBeanProxyWith(x), fFactory.getBeanProxyFactory().createBeanProxyWith(y)});
-	}
-	
-	public void setLocation(IPointBeanProxy fromPointProxy) {
-		JavaStandardAwtBeanConstants.getConstants(fFactory).getPointSetLocationPProxy().invokeCatchThrowableExceptions(this, fromPointProxy);
-	}	
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMPointBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMPointBeanTypeProxy.java
deleted file mode 100644
index 6977c76..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMPointBeanTypeProxy.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMPointBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import org.eclipse.jem.internal.proxy.remote.*;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-/**
- * Beantype proxy for java.awt.Dimension
- */
-public class REMPointBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMSpecialBeanTypeProxy {
-	
-	protected REMPointBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType) {
-		super(aRegistry, anID, aClassname, aSuperType);
-	}
-		
-	/**
-	 * Helper to create a bean proxy
-	 * Package protected because everyone should go through the factory API
-	 * that is defined as part of IBeanProxyFactory
-	 */
-	REMPointBeanProxy createPointBeanProxy(Integer objectID) {
-		return new REMPointBeanProxy(fRegistry, objectID, this);
-	}
-	
-	/**
-	 * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
-	 * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
-	 * This is because subclasses, unless explicitly overridden, should use the same kind
-	 * of beantype proxy. This way if anything special is needed for a specific type, then
-	 * that can be done.
-	 *
-	 * NOTE: All subclasses must override this to return the correct type of BeanTypeProxy.
-	 */
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-		return newBeanTypeForClass(anID, aClassname, anAbstract, this);
-	}
-
-	/**
-	 * The special method to handle subclassing from an abstract).
-	 */		
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract, IBeanTypeProxy superType) {
-		if (!anAbstract)
-			return new REMPointBeanTypeProxy(fRegistry, anID, aClassname, superType);
-		else
-			return new REMAnAbstractBeanTypeProxy(fRegistry, anID, aClassname, superType, this);
-	}
-	
-	/**
-	 * Specialized from REMAbstractBeanTypeProxy to ensure ExceptionBeanProxies are created correctly.
-	 */
-	public IREMBeanProxy newBeanProxy(Integer objectID) {
-		return createPointBeanProxy(objectID);
-	}	
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRectangleBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRectangleBeanProxy.java
deleted file mode 100644
index a50401d..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRectangleBeanProxy.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMRectangleBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.remote.*;
-import org.eclipse.jem.internal.proxy.awt.*;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * The REM Bean Proxy for java.awt.Rectangle.
- */
-public class REMRectangleBeanProxy extends REMBeanProxy implements IRectangleBeanProxy {
-	
-	protected REMRectangleBeanProxy(REMProxyFactoryRegistry aRegistry, Integer anID, IBeanTypeProxy aType) {	
-		super(aRegistry, anID, aType);
-	}
-	
-	public int getX() {
-		try {
-			IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleXFieldProxy().get(this);
-			return h.intValue();
-		} catch (ThrowableProxy e) {
-			return 0;
-		}
-	}
-	
-	public int getY() {
-		try {
-			IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleYFieldProxy().get(this);
-			return h.intValue();
-		} catch (ThrowableProxy e) {
-			return 0;
-		}
-	}
-	
-	public void setX(int x) {
-		try {
-			JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleXFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(x));
-		} catch (ThrowableProxy e) {
-		}
-	}
-	
-	public void setY(int y) {
-		try {
-			JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleYFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(y));
-		} catch (ThrowableProxy e) {
-		}
-	}
-	
-	public void setLocation(int x, int y) {
-		JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleSetLocationXYProxy().invokeCatchThrowableExceptions(this, new IBeanProxy[] {fFactory.getBeanProxyFactory().createBeanProxyWith(x), fFactory.getBeanProxyFactory().createBeanProxyWith(y)});
-	}
-	
-	public void setLocation(IPointBeanProxy fromPointProxy) {
-		JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleSetLocationPProxy().invokeCatchThrowableExceptions(this, fromPointProxy);
-	}
-	
-	
-	public int getHeight() {
-		try {
-			IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleHeightFieldProxy().get(this);
-			return h.intValue();
-		} catch (ThrowableProxy e) {
-			return 0;
-		}
-	}
-	
-	public int getWidth() {
-		try {
-			IIntegerBeanProxy h = (IIntegerBeanProxy) JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleWidthFieldProxy().get(this);
-			return h.intValue();
-		} catch (ThrowableProxy e) {
-			return 0;
-		}
-	}
-	
-	public void setHeight(int height) {
-		try {
-			JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleHeightFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(height));
-		} catch (ThrowableProxy e) {
-		}
-	}
-	
-	public void setWidth(int width) {
-		try {
-			JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleWidthFieldProxy().set(this, fFactory.getBeanProxyFactory().createBeanProxyWith(width));
-		} catch (ThrowableProxy e) {
-		}
-	}
-	
-	public void setSize(int width, int height) {
-		JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleSetSizeHWProxy().invokeCatchThrowableExceptions(this, new IBeanProxy[] {fFactory.getBeanProxyFactory().createBeanProxyWith(width), fFactory.getBeanProxyFactory().createBeanProxyWith(height)});
-	}
-	
-	public void setSize(IDimensionBeanProxy fromDimensionProxy) {
-		JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleSetSizeDProxy().invokeCatchThrowableExceptions(this, fromDimensionProxy);
-	}
-	
-	public void setBounds(int x, int y, int width, int height) {
-		JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleSetBoundsXYHWProxy().invokeCatchThrowableExceptions(this, new IBeanProxy[] {fFactory.getBeanProxyFactory().createBeanProxyWith(x), fFactory.getBeanProxyFactory().createBeanProxyWith(y), fFactory.getBeanProxyFactory().createBeanProxyWith(width), fFactory.getBeanProxyFactory().createBeanProxyWith(height)});
-	}
-	
-	public void setBounds(IRectangleBeanProxy fromRectangleProxy) {
-		JavaStandardAwtBeanConstants.getConstants(fFactory).getRectangleSetBoundsRProxy().invokeCatchThrowableExceptions(this, fromRectangleProxy);
-	}			
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRectangleBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRectangleBeanTypeProxy.java
deleted file mode 100644
index 5bea8b0..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRectangleBeanTypeProxy.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMRectangleBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import org.eclipse.jem.internal.proxy.remote.*;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-/**
- * Beantype proxy for java.awt.Dimension
- */
-public class REMRectangleBeanTypeProxy extends REMAbstractBeanTypeProxy implements IREMSpecialBeanTypeProxy {
-	
-	protected REMRectangleBeanTypeProxy(REMProxyFactoryRegistry aRegistry, Integer anID, String aClassname, IBeanTypeProxy aSuperType) {
-		super(aRegistry, anID, aClassname, aSuperType);
-	}
-		
-	/**
-	 * Helper to create a bean proxy
-	 * Package protected because everyone should go through the factory API
-	 * that is defined as part of IBeanProxyFactory
-	 */
-	REMRectangleBeanProxy createRectangleBeanProxy(Integer objectID) {
-		return new REMRectangleBeanProxy(fRegistry, objectID, this);
-	}
-	
-	/**
-	 * newBeanTypeForClass: Create a new beantypeproxy of this kind for the given class.
-	 * This is used by beantype proxy factory when creating a beantype proxy for a subclass.
-	 * This is because subclasses, unless explicitly overridden, should use the same kind
-	 * of beantype proxy. This way if anything special is needed for a specific type, then
-	 * that can be done.
-	 *
-	 * NOTE: All subclasses must override this to return the correct type of BeanTypeProxy.
-	 */
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract) {
-		return newBeanTypeForClass(anID, aClassname, anAbstract, this);
-	}
-
-	/**
-	 * The special method to handle subclassing from an abstract).
-	 */		
-	public IREMBeanTypeProxy newBeanTypeForClass(Integer anID, String aClassname, boolean anAbstract, IBeanTypeProxy superType) {
-		if (!anAbstract)
-			return new REMRectangleBeanTypeProxy(fRegistry, anID, aClassname, superType);
-		else
-			return new REMAnAbstractBeanTypeProxy(fRegistry, anID, aClassname, superType, this);
-	}
-	
-	/**
-	 * Specialized from REMAbstractBeanTypeProxy to ensure ExceptionBeanProxies are created correctly.
-	 */
-	public IREMBeanProxy newBeanProxy(Integer objectID) {
-		return createRectangleBeanProxy(objectID);
-	}	
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRegisterAWT.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRegisterAWT.java
deleted file mode 100644
index db2faf1..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMRegisterAWT.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMRegisterAWT.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import org.eclipse.jem.internal.proxy.remote.REMProxyFactoryRegistry;
-/**
- * This class is used to register the AWT factories. It is not
- * meant to be called by anyone other than ProxyVMStarter.
- */
-public final class REMRegisterAWT {
-	public static void registerAWT(REMProxyFactoryRegistry registry) {
-		new REMStandardAWTBeanTypeProxyFactory(registry);
-		new REMStandardAWTBeanProxyFactory(registry);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanProxyFactory.java
deleted file mode 100644
index f52c59d..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanProxyFactory.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMStandardAWTBeanProxyFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import org.eclipse.jem.internal.proxy.awt.*;
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Standard AWT Bean Proxy Factory.
- * Package protected because it should not referenced
- * outside of the package other than through the interface.
- */
-class REMStandardAWTBeanProxyFactory implements IStandardAwtBeanProxyFactory {
-
-	final IStandardBeanTypeProxyFactory fBeanTypeFactory;
-	
-	public REMStandardAWTBeanProxyFactory(ProxyFactoryRegistry factory) {
-		factory.registerBeanProxyFactory(IStandardAwtBeanProxyFactory.REGISTRY_KEY, this);
-		fBeanTypeFactory = factory.getBeanTypeProxyFactory();
-	}
-	
-	public IDimensionBeanProxy createDimensionBeanProxyWith(int width, int height){
-		try {
-			return (IDimensionBeanProxy) fBeanTypeFactory.getBeanTypeProxy("java.awt.Dimension").newInstance("new java.awt.Dimension("+width+","+height+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		} catch (ThrowableProxy e) {
-			return null;
-		} catch (InstantiationException e) {
-			return null;	// Shouldn't occur
-		}
-	}
-	
-	public IPointBeanProxy createPointBeanProxyWith(int x, int y){
-		try {
-			return (IPointBeanProxy) fBeanTypeFactory.getBeanTypeProxy("java.awt.Point").newInstance("new java.awt.Point("+x+","+y+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		} catch (ThrowableProxy e) {
-			return null;
-		} catch (InstantiationException e) {
-			return null;	// Shouldn't occur
-		}
-
-	}
-	
-	public IRectangleBeanProxy createBeanProxyWith(int x, int y, int width, int height){
-		try {
-			return (IRectangleBeanProxy) fBeanTypeFactory.getBeanTypeProxy("java.awt.Rectangle").newInstance("new java.awt.Rectangle("+x+","+y+","+width+","+height+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-		} catch (ThrowableProxy e) {
-			return null;
-		} catch (InstantiationException e) {
-			return null;	// Shouldn't occur
-		}
-
-	}
-	
-	/**
-	 * Terminate this factory. Since it doesn't hold onto anything other than the beantype factory,
-	 * and nothing will be holding onto this factory, nothing needs to be done. It will be GC'd.
-	 */
-	public void terminateFactory() {
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanTypeProxyFactory.java
deleted file mode 100644
index 926d938..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.jem.internal.proxy.remote.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: REMStandardAWTBeanTypeProxyFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-import org.eclipse.jem.internal.proxy.remote.*;
-/**
- * BeanType factory standard AWT bean types.
- * This is package protected because it shouldn't be
- * referenced outside the package. It should only be accessed through
- * the interface.
- */
-class REMStandardAWTBeanTypeProxyFactory implements IREMBeanTypeProxyFactory {
-
-	static final String BEAN_TYPE_FACTORY_KEY = "java.awt"; //$NON-NLS-1$
-	
-	protected final REMProxyFactoryRegistry fFactoryRegistry;
-	
-	REMStandardAWTBeanTypeProxyFactory(REMProxyFactoryRegistry aRegistry) {
-		fFactoryRegistry = aRegistry;	
-		fFactoryRegistry.registerBeanTypeProxyFactory(BEAN_TYPE_FACTORY_KEY, this);
-	}
-	
-	/**
-	 * We don't pre-cache any types. We need to have the
-	 * id from the server to create types.
-	 */
-	public IREMBeanTypeProxy getExtensionBeanTypeProxy(String className){
-		return null;
-	}
-	
-	/**
-	 * Create the correct beantype from the class and id passed in.
-	 */
-	public IREMBeanTypeProxy getExtensionBeanTypeProxy(String className, Integer classID, IBeanTypeProxy superType){
-		
-		if ("java.awt.Dimension".equals(className)) //$NON-NLS-1$
-			return new REMDimensionBeanTypeProxy(fFactoryRegistry, classID, className, superType);
-		else if ("java.awt.Point".equals(className)) //$NON-NLS-1$
-			return new REMPointBeanTypeProxy(fFactoryRegistry, classID, className, superType);			
-		else if ("java.awt.Rectangle".equals(className)) //$NON-NLS-1$
-			return new REMRectangleBeanTypeProxy(fFactoryRegistry, classID, className, superType);
-		else 
-			return null;
-	}
-	
-	/**
-	 * Terminate this factory. Since it doesn't hold onto anything other than the registry,
-	 * and nothing will be holding onto this factory, nothing needs to be done. It will be GC'd.
-	 */
-	public void terminateFactory() {
-	}	
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/messages.properties b/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/messages.properties
deleted file mode 100644
index f755988..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/messages.properties
+++ /dev/null
@@ -1,62 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/messages.properties,v $
-# $Revision: 1.4 $  $Date: 2004/03/04 16:14:04 $
-#
-
-
-
-# Exception message - {0} is the name of a project within Eclipse.
-NO_OUTPUT_FOLDER_EXC_            = IWAV0071E No output folder for project "{0}."
-
-# These are lines that are placed into a log file listing the outputs from the two different streams.
-VM_TERMINATED_INFO_              = IWAV0072I Remote VM terminated before any commands can be sent. Following are the error and output streams.
-VM_TERMINATED_LINE1              = -- Error Stream --
-VM_TERMINATED_LINE2              = -- Output Stream --
-VM_TERMINATED_LINE3              = -- End of Stream Output --
-
-# These are the headers for two parts of a stack trace of an exception. The first one is the trace from the remote system.
-# The second is the trace from the local system.
-REMOTE_VM_TRACE_INFO_            = IWAV0073I *** RemoteVM Exception - Trace from Remote VM:
-REMOTE_VM_LOCAL_TRACE_INFO_      = IWAV0074I *** Local StackTrace:
-
-# In the two below, {0} is a string that is a java creation string, e.g. "new Integer(3)", so they don't participate in translation.
-# In Classcast, {1} is a java type name, e.g. java.lang.Integer.
-Classcast_EXC_                   = IWAV0124E "{0}" does not evaluate to an object of type {1}
-Instantiate_EXC_                 = IWAV0125E "{0}" is too complicated to be evaluated
-
-# {0} is a number, e.g. 1, 2, ...
-RemoteCmd_EXC_                   = IWAV0126E Remote command error {0}
-
-# The following is an exception error where {0} is the name of the class of the exception and {1} is the message from the exception
-# The message {1} has already been localized (if it supplied it localized). It comes from somewhere outside of our project.
-ExceptionErrorMsg_EXC_           = IWAV0135E {0}({1})
-OK_7                             = OK
-Proxy_NoVM_ERROR_                = IWAV0136E Could not find an installed VM to launch for \"{0}\".
-Proxy_NoRunner_ERROR_            = IWAV0137E Could not find a Run type runner to launch for \"{0}\".
-Proxy_Error_Title                = Error:
-Proxy_Terminated_too_soon_ERROR_ = IWAV0138E Remote VM terminated too soon. See .log file for trace of output. For VM \"{0}\".
-PRoxy_NoLaunch_ERROR_            = IWAV0139E Could not launch for \"{0}\".
-
-# This is a launch name for a given project name ({0}).
-# WARNING for the ProxyRemoteVMName and ProxyRemoteVMNameWithComment do not use double-quote ("). It will cause problems.
-ProxyRemoteVMName=Project ({0})
-# This is a launch name that has a comment ({0} is project name, {1} is the comment for this project launch)
-ProxyRemoteVMNameWithComment=Project ({0})-{1}
-
-ProxyRemoteNoLaunchKey=Cannot launch local proxy registry. Not launched from valid launcher.
-
-# {0} is the appropriate VMName from the above two entries.
-ProxyRemoteLaunchVM=Launching remote vm "{0}"
-
-CleanupJob.title=Remote VM Cleanup GC'd Proxies Job
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEAccessibleObjectProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEAccessibleObjectProxy.java
deleted file mode 100644
index 37e59e1..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEAccessibleObjectProxy.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEAccessibleObjectProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-package org.eclipse.jem.internal.proxy.ide;
-
-import java.lang.reflect.AccessibleObject;
-
-import org.eclipse.jem.internal.proxy.core.*;
- 
-/**
- * 
- * @since 1.0.0
- */
-public class IDEAccessibleObjectProxy extends IDEBeanProxy implements IAccessibleObjectProxy {
-
-	protected IDEAccessibleObjectProxy(IDEProxyFactoryRegistry aProxyFactoryRegistry) {
-		super(aProxyFactoryRegistry);
-	}
-
-	protected IDEAccessibleObjectProxy(IDEProxyFactoryRegistry aProxyFactoryRegistry, Object anObject) {
-		super(aProxyFactoryRegistry, anObject);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IAccessibleObjectProxy#isAccessible()
-	 */
-	public boolean isAccessible() throws ThrowableProxy {
-		return ((AccessibleObject) getBean()).isAccessible();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IAccessibleObjectProxy#setAccessible(boolean)
-	 */
-	public void setAccessible(boolean flag) throws ThrowableProxy {
-		((AccessibleObject) getBean()).setAccessible(flag);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#getTypeProxy()
-	 */
-	public IBeanTypeProxy getTypeProxy() {
-		return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).accessibleType;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEArrayBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEArrayBeanProxy.java
deleted file mode 100644
index f7e769f..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEArrayBeanProxy.java
+++ /dev/null
@@ -1,231 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEArrayBeanProxy.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import java.lang.reflect.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-/**
- * IDE VM version of the Array proxy
- */
-
-public final class IDEArrayBeanProxy extends IDEObjectBeanProxy implements IArrayBeanProxy {
-
-	private IDEStandardBeanTypeProxyFactory fBeanTypeProxyFactory;
-	
-IDEArrayBeanProxy(IDEProxyFactoryRegistry aRegistry, Object array,IBeanTypeProxy aType) {
-	super(aRegistry, array ,aType);
-	fBeanTypeProxyFactory = (IDEStandardBeanTypeProxyFactory)aRegistry.getBeanTypeProxyFactory();
-}
-/**
- * Get the object at the specified index.
- */
-public IBeanProxy get(int index) throws ThrowableProxy {
-	// If the component type is primitive, we need to use the correct getter so that a valid value is returned,
-	// if we just used the standard get, if the type was "int" the value returned would be an java.lang.Integer.
-	IBeanTypeProxy compType = ((IArrayBeanTypeProxy) getTypeProxy()).getComponentType();
-	if (!compType.isPrimitive()) {
-		// Use standard getter.
-		Object result = Array.get(fBean,index);
-		if ( result == null ) return null;
-		return ((IDEBeanTypeProxy)fBeanTypeProxyFactory.getBeanTypeProxy(result.getClass())).newBeanProxy(result);
-	} else {
-		// Use the correct primitive getter.
-		int id = ((IDEPrimitiveBeanTypeProxy)compType).getPrimitiveType();
-		switch (id) {
-			case IDEPrimitiveBeanTypeProxy.BYTE:
-				return fBeanTypeProxyFactory.byteType.createByteBeanProxy(Array.getByte(fBean,index));
-			case IDEPrimitiveBeanTypeProxy.BOOLEAN:
-				return fBeanTypeProxyFactory.booleanType.createBooleanBeanProxy(Array.getBoolean(fBean,index));
-			case IDEPrimitiveBeanTypeProxy.CHAR:
-				return fBeanTypeProxyFactory.charType.createCharBeanProxy(Array.getChar(fBean,index));
-			case IDEPrimitiveBeanTypeProxy.DOUBLE:
-				return fBeanTypeProxyFactory.doubleType.createDoubleBeanProxy(Array.getDouble(fBean,index));
-			case IDEPrimitiveBeanTypeProxy.FLOAT:
-				return fBeanTypeProxyFactory.floatType.createFloatBeanProxy(Array.getFloat(fBean,index));
-			case IDEPrimitiveBeanTypeProxy.INTEGER:
-				return fBeanTypeProxyFactory.intType.createIntegerBeanProxy(Array.getInt(fBean,index));
-			case IDEPrimitiveBeanTypeProxy.LONG:
-				return fBeanTypeProxyFactory.longType.createLongBeanProxy(Array.getLong(fBean,index));
-			case IDEPrimitiveBeanTypeProxy.SHORT:
-				return fBeanTypeProxyFactory.shortType.createShortBeanProxy(Array.getShort(fBean,index));
-			default :
-				return null; // Shouldn't get here, said it was primitive, but not one we understand				
-		}
-	}		
-}
-/**
- * Get the object at the specified multi-dimensional index.
- * The array must be at least the number of dimensions specified,
- * and each index along the way must exist.
- * The number of dimensions can't be greater than the number
- * of dimensions of the real object.
- */
-public IBeanProxy get(int[] indexes) throws ThrowableProxy {
-	if (indexes.length == 1)
-		return get(indexes[0]);
-	int dims = ((IArrayBeanTypeProxy) getTypeProxy()).getDimensions();
-	if (dims < indexes.length)
-		throw new IllegalArgumentException(); // Too many dimensions
-	// Get up to the next to last dimension so that we can do the appropriate final get depending upon primitive or not.
-	Object array = fBean;
-	int lastArrayDim = indexes.length - 1;
-	for (int i = 0; i < lastArrayDim; i++)
-		array = Array.get(array, indexes[i]);
-
-	int index = indexes[lastArrayDim];	// Final array dim to retrieve
-	
-	if (dims == indexes.length) {
-		IBeanTypeProxy finalCompType = ((IArrayBeanTypeProxy) getTypeProxy()).getFinalComponentType();
-		if (finalCompType.isPrimitive()) {
-			// If the component type at the specified dimension is primitive, we need to use the correct getter so that a valid value is returned,
-			// if we just used the standard get, if the type was "int" the value returned would be an java.lang.Integer.
-			int id = ((IDEPrimitiveBeanTypeProxy) finalCompType).getPrimitiveType();
-			switch (id) {
-				case IDEPrimitiveBeanTypeProxy.BYTE :
-					return fBeanTypeProxyFactory.byteType.createByteBeanProxy(Array.getByte(array, index));
-				case IDEPrimitiveBeanTypeProxy.BOOLEAN :
-					return fBeanTypeProxyFactory.booleanType.createBooleanBeanProxy(Array.getBoolean(array, index));
-				case IDEPrimitiveBeanTypeProxy.CHAR :
-					return fBeanTypeProxyFactory.charType.createCharBeanProxy(Array.getChar(array, index));
-				case IDEPrimitiveBeanTypeProxy.DOUBLE :
-					return fBeanTypeProxyFactory.doubleType.createDoubleBeanProxy(Array.getDouble(array, index));
-				case IDEPrimitiveBeanTypeProxy.FLOAT :
-					return fBeanTypeProxyFactory.floatType.createFloatBeanProxy(Array.getFloat(array, index));
-				case IDEPrimitiveBeanTypeProxy.INTEGER :
-					return fBeanTypeProxyFactory.intType.createIntegerBeanProxy(Array.getInt(array, index));
-				case IDEPrimitiveBeanTypeProxy.LONG :
-					return fBeanTypeProxyFactory.longType.createLongBeanProxy(Array.getLong(array, index));
-				case IDEPrimitiveBeanTypeProxy.SHORT :
-					return fBeanTypeProxyFactory.shortType.createShortBeanProxy(Array.getShort(array, index));
-				default :
-					return null; // Shouldn't get here, said it was primitive, but not one we understand
-			}
-		}
-	}
-
-	// Won't be returning a primitive, so use standard accessor
-	Object result = Array.get(array, index);
-	if (result == null)
-		return null;
-	return ((IDEBeanTypeProxy) fBeanTypeProxyFactory.getBeanTypeProxy(result.getClass())).newBeanProxy(
-		result);
-}
-
-/**
- * Set the object at the specified index.
- */
-public void set(IBeanProxy valueProxy, int index) throws ThrowableProxy {
-	// If the component type is primitive, we need to use the correct getter so that a valid value is returned,
-	// if we just used the standard get, if the type was "int" the value returned would be an java.lang.Integer.
-	Object value = ((IIDEBeanProxy)valueProxy).getBean();
-	Class valueClass = value.getClass();
-	if (!valueClass.isPrimitive()) {
-		// Use standard getter.
-		Array.set(fBean,index,value);
-	} else if (valueClass == Byte.TYPE ) {
-		Array.setByte(fBean,index,((Byte)value).byteValue());
-	} else if (valueClass == Boolean.TYPE ){
-		Array.setBoolean(fBean,index,((Boolean)value).booleanValue());			
-	} else if (valueClass == Character.TYPE) {
-		Array.setChar(fBean,index,((Character)value).charValue());
-	} else if (valueClass == Double.TYPE) {
-		Array.setDouble(fBean,index,((Double)value).doubleValue());
-	} else if (valueClass == Float.TYPE) {
-		Array.setFloat(fBean,index,((Float)value).floatValue());		
-	} else if (valueClass == Integer.TYPE) {
-		Array.setInt(fBean,index,((Integer)value).intValue());		
-	} else if (valueClass == Long.TYPE ) {
-		Array.setLong(fBean,index,((Long)value).longValue());		
-	} else if (valueClass == Short.TYPE ) {
-		Array.setShort(fBean,index,((Short)value).shortValue());		
-	}
-}
-/**
- * Set the object at the specified multi-dimensional index.
- * The array must be at least the number of dimensions specified,
- * and each index along the way must exist.
- * The number of dimensions can't be greater than the number
- * of dimensions of the real object.
- */
-public void set(IBeanProxy valueProxy, int[] indexes) throws ThrowableProxy {
-
-	Object subArray = fBean;
-	int upTo = indexes.length - 1;
-	for (int i = 0; i < upTo; i++)
-		subArray = Array.get(subArray, indexes[i]);
-	int index = indexes[upTo];
-
-	// Now set the appropriate value in
-	// If the component type is primitive, we need to use the correct getter so that a valid value is returned,
-	// if we just used the standard get, if the type was "int" the value returned would be an java.lang.Integer.
-	Object value = ((IIDEBeanProxy) valueProxy).getBean();
-	Class valueClass = value.getClass();
-	if (!valueClass.isPrimitive()) {
-		// Use standard getter.
-		Array.set(subArray, index, value);
-	} else if (valueClass == Byte.TYPE) {
-		Array.setByte(subArray, index, ((Byte) value).byteValue());
-	} else if (valueClass == Boolean.TYPE) {
-		Array.setBoolean(subArray, index, ((Boolean) value).booleanValue());
-	} else if (valueClass == Character.TYPE) {
-		Array.setChar(subArray, index, ((Character) value).charValue());
-	} else if (valueClass == Double.TYPE) {
-		Array.setDouble(subArray, index, ((Double) value).doubleValue());
-	} else if (valueClass == Float.TYPE) {
-		Array.setFloat(subArray, index, ((Float) value).floatValue());
-	} else if (valueClass == Integer.TYPE) {
-		Array.setInt(subArray, index, ((Integer) value).intValue());
-	} else if (valueClass == Long.TYPE) {
-		Array.setLong(subArray, index, ((Long) value).longValue());
-	} else if (valueClass == Short.TYPE) {
-		Array.setShort(subArray, index, ((Short) value).shortValue());
-	}
-
-}
-/**
- * Get the length of the first dimension of this array.
- * If there are multi-dimensions, you must get the appropriate
- * dimension from the get method to see the size of that dimension.
- *
- * e.g.
- *    int [3] returns 3
- *    int [3][2] returns 3
- *
- *    ((IArrayBeanProxy) get(1)).getLength() returns 2
- *    Since arrays do not have to be homogenous, there could
- *    be a different length array for each of the arrays 
- *    returned from the first dimension, the returned length
- *    from get(2) and get(3) could result in a different value
- *    from get(1).
- */
-public int getLength() {
-	return Array.getLength(fBean);
-}	
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IArrayBeanProxy#getCatchThrowableException(int)
-	 */
-	public IBeanProxy getCatchThrowableException(int index) {
-		try {
-			return get(index);
-		} catch ( ThrowableProxy exc ) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", exc));			
-			return null;
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEArrayBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEArrayBeanTypeProxy.java
deleted file mode 100644
index 6a16e13..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEArrayBeanTypeProxy.java
+++ /dev/null
@@ -1,226 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEArrayBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import java.lang.reflect.*;
-/**
- * Array Type Proxy for the IDE VM.
- *
- * The class is final because array's are special and shouldn't have
- * any subclasses since the factory would never call it.
- */
-
-public final class IDEArrayBeanTypeProxy extends IDEBeanTypeProxy implements IArrayBeanTypeProxy {
-	
-	IBeanTypeProxy fFinalComponentType;
-	IBeanTypeProxy fComponentType;
-	String fTypeName;
-/**
- * Create with a registry and a class. It is package so that only 
- * the factory with this IDE package can call it.
- */
-IDEArrayBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, String aTypeName, Class aClass) {
-	// The class of an Array is always Object
-	super(aRegistry,aClass);
-	fTypeName = aTypeName;
-}
-/**
- * This is an array type!
- */
-public boolean isArray() {
-	return true;
-}
-public String getTypeName(){
-	return fTypeName;
-}
-/**
- * Return the final component type.
- */
-public IBeanTypeProxy getFinalComponentType() {
-	if ( fFinalComponentType == null ) {
-		// Component type is strip off all '[' and return class name (if we ever add classLoader support, this won't work).
-		// However, if the type is a primitive we need to go through the change table).
-		int typeStart = getTypeName().lastIndexOf('[')+1;
-		if (getTypeName().charAt(typeStart) == 'L') {
-			// It is a class.
-			// Strip off up to the 'L', and the trailing ';'. That is the class name.
-			fFinalComponentType = fProxyFactoryRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(getTypeName().substring(typeStart+1, getTypeName().length()-1));
-		} else {
-			// It is a type. Need to map it.
-			Class aType = (Class) IDEStandardBeanTypeProxyFactory.MAP_SHORTSIG_TO_TYPE.get(getTypeName().substring(typeStart, typeStart+1));
-			fFinalComponentType = aType != null ? fProxyFactoryRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(aType.getName()) : null;
-		}
-	}
-	return fFinalComponentType;
-}
-/**
- * Return the component type.
- */
-public IBeanTypeProxy getComponentType() {
-	if ( fComponentType == null ) {
-		// Component type is strip off first '[' and return class name (if we ever add classLoader support, this won't work).
-		// However, if the type is a primitive we need to go through the change table).
-		if (getTypeName().charAt(1) != '[') {
-			// It is a one dimensional array, just send to getFinalComponentType to figure out the type.
-			fComponentType = getFinalComponentType();
-		} else {
-			// It is a multi-dimensional array. Just strip off one '[' and send that to the bean type factory.
-			fComponentType = fProxyFactoryRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(getTypeName().substring(1));
-		}
-	} 
-	return fComponentType;
-}
-/**
- * Return the number of dimensions.
- */
-public int getDimensions() {
-	return getTypeName().lastIndexOf('[')+1;
-}
-/**
- * Return the null ctor proxy for this method with these arguments.
- * For all of the array types, this is an invalid operation.	 
- */		
-public IConstructorProxy getNullConstructorProxy() {	
-	throw new UnsupportedOperationException();
-}
-	
-/**
- * Return a proxy to the constructor for the target VM being the same as the REM
- * For all of the array types, this is an invalid operation.	 
- */
-public IConstructorProxy getConstructorProxy(String[] argumentClassNames) {	
-	throw new UnsupportedOperationException();
-}
-/**
- * Return a proxy to the constructor for the target VM being the same as the REM
- * For all of the array types, this is an invalid operation.	 
- */
-public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] argumentTypes) {	
-	throw new UnsupportedOperationException();
-}	
-/**
- * Return a proxy to the field for the target VM being the same as the REM
- * For all of the array types, this is an invalid operation.	 
- */	
-public IFieldProxy getFieldProxy(String fieldName) {	
-	throw new UnsupportedOperationException();
-}
-/**
- * Return the method proxy for this method with these arguments.
- * For all of the array types, this is an invalid operation.	 
- */
-public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
-	throw new UnsupportedOperationException();
-}
-/**
- * Return the method proxy for this method with these arguments.
- * For all of the array types, this is an invalid operation.	 
- */
-public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames) {
-	throw new UnsupportedOperationException();
-}
-/**
- * Return the method proxy for this method with these arguments.
- * For all of the array types, this is an invalid operation.	 
- */	
-public IMethodProxy getMethodProxy(String methodName, String argumentQualifiedTypeName) {
-	throw new UnsupportedOperationException();
-}
-/**
- * Return the method proxy for this method with these arguments.
- * For all of the array types, this is an invalid operation.	 
- */		
-public IMethodProxy getMethodProxy(String methodName) {	
-	throw new UnsupportedOperationException();
-}
-/**
- * Create an array bean proxy.
- *
- *   - (int, new int[2] {3, 4}) will create:
- *      int [3] [4]
- *
- *   - (int[], new int[1] {1})
- *      int [1]
- *
- *   - (int[], new int[2] {2,3})
- *      int [2] [3]
- * 
- *
- *   - (int[], null) or (int[], new int[0]) or (int, null) or (int, new int[0])
- *      int [0]
- *     (int[][], null) or (int[][], new int[0])
- *      int[0][]
- *     This is because an array instance with no dimensions specified is not valid. 
- *
- *   - (int[][], new int[1] {3})
- *      int[3][]
- *
- * It is package protected so that only the REM Factory can call it.
- */
-IDEArrayBeanProxy  createBeanProxyWith(int[] dimensions) throws ThrowableProxy {
-	// If the dimensions is null or zero length, then create the
-	// array as a 0 sized array one dimensional array.
-	if (dimensions == null || dimensions.length == 0)
-		return createBeanProxyWith(new int[] {0});
-		
-	// Remove from this type the number of dimensions specified
-	// coming in, up to but no further than the final component.
-	// From here we can then use the appropriate java.lang.reflect.Array
-	// method to create the array.
-	IBeanTypeProxy compType = null;	// The type of array to create (it may be different number of dimensions).
-	int numDims = getDimensions();
-	if (numDims <= dimensions.length)
-		compType = getFinalComponentType();	// There are the same or more requested dimensions, so use final component type
-	else {
-		// There are fewer requested dimensions, so strip off that many
-		String compClass = getTypeName().substring(dimensions.length);
-		compType = fProxyFactoryRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(compClass);
-	}
-	
-	if (dimensions.length == 1) {
-		// Use the one dimension call
-		Object array = Array.newInstance(((IDEBeanTypeProxy)compType).fClass,dimensions[0]);
-		return new IDEArrayBeanProxy(fProxyFactoryRegistry,array,null);
-	} else {
-		// Use the multi dimension call
-		Object array = Array.newInstance(((IDEBeanTypeProxy)compType).fClass,dimensions);
-		return new IDEArrayBeanProxy(fProxyFactoryRegistry,array,null);
-	}
-}
-/**
- * Create a new bean proxy with the specified object
- */
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
-	return new IDEArrayBeanProxy(fProxyFactoryRegistry, anObject, this);
-
-}	
-
-/**
- * @see IBeanTypeProxy#getFormalTypeName()
- */
-public String getFormalTypeName() {
-	String name = getTypeName();
-	int dims = name.lastIndexOf('[') + 1;
-	String type = getFinalComponentType().getTypeName();
-	StringBuffer formalType = new StringBuffer(type.length()+("[]".length()*dims)); //$NON-NLS-1$
-	formalType.append(type);
-	for (int i=0; i<dims; i++)
-		formalType.append("[]"); //$NON-NLS-1$
-	return formalType.toString();
-}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanProxy.java
deleted file mode 100644
index d6ea334..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanProxy.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEBeanProxy.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-public abstract class IDEBeanProxy implements IBeanProxy, IIDEBeanProxy {
-
-	protected Object fBean;
-	protected final IDEProxyFactoryRegistry fProxyFactoryRegistry;
-
-	protected IDEBeanProxy(IDEProxyFactoryRegistry aProxyFactoryRegistry) {
-		fProxyFactoryRegistry = aProxyFactoryRegistry;
-	}
-	protected IDEBeanProxy(IDEProxyFactoryRegistry aProxyFactoryRegistry, Object anObject) {
-		fProxyFactoryRegistry = aProxyFactoryRegistry;
-		fBean = anObject;
-	}
-	public boolean isValid() {
-		return true;
-	}
-	public ProxyFactoryRegistry getProxyFactoryRegistry() {
-		return fProxyFactoryRegistry;
-	}
-	/**
-	 * USE with extreme care
-	 */
-	public final Object getBean() {
-		return fBean;
-	}
-	/**
-	 * Return the toString() of the bean
-	 */
-	public String toBeanString() {
-		return (fBean != null ? fBean.toString() : "null"); //$NON-NLS-1$
-	}
-	/**
-	 Append the bean's to string to our own name if we have one
-	 */
-	public String toString() {
-
-		if (fBean == null)
-			return super.toString();
-		else
-			return super.toString() + "(" + fBean.toString() + ")"; //$NON-NLS-2$//$NON-NLS-1$
-
-	}
-	/**
-	 * equals: If there are identical or if they wrapper the same bean. In the IDE VM this
-	 * can happen if bean proxies are created from a Bean, since proxies aren't cached in
-	 * the beanproxy factory, more than one proxy can be created for the same bean.
-	 */
-	public boolean equals(Object obj) {
-		if (super.equals(obj))
-			return true;
-		if (obj instanceof IIDEBeanProxy) {
-			return fBean.equals(((IIDEBeanProxy) obj).getBean());
-		}
-		return false;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
-	 */
-	public boolean sameAs(IBeanProxy aBeanProxy) {
-		if (this == aBeanProxy)
-			return true;
-		if (aBeanProxy instanceof IIDEBeanProxy)
-			return getBean() == ((IIDEBeanProxy) aBeanProxy).getBean();
-		return false;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanTypeProxy.java
deleted file mode 100644
index 0562337..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanTypeProxy.java
+++ /dev/null
@@ -1,227 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEBeanTypeProxy.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import java.lang.reflect.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-public class IDEBeanTypeProxy extends IDEBeanProxy implements IBeanTypeProxy {
-	
-	protected IDEProxyFactoryRegistry fProxyFactoryRegistry;
-	Class fClass;
-	
-protected IDEBeanTypeProxy(IDEProxyFactoryRegistry aRegistry,Class aClass){
-	super(aRegistry,aClass);
-	fProxyFactoryRegistry = aRegistry;
-	fClass = aClass;
-}
-/**
- * Get Type Proxy. The type proxy of a BeanType is Class.
- */
-public IBeanTypeProxy getTypeProxy() {
-	return ((IDEStandardBeanTypeProxyFactory)fProxyFactoryRegistry.getBeanTypeProxyFactory()).classClass;
-}
-
-public Class getTypeClass() {
-	return fClass;
-}
-
-public String toBeanString(){
-	return fClass.toString();
-}
-public ProxyFactoryRegistry getProxyFactoryRegistry(){
-	return fProxyFactoryRegistry;
-}
-public String getTypeName(){
-	return fClass.getName();
-}
-
-public boolean isKindOf(IBeanTypeProxy aBeanTypeProxy){
-	return ((IDEBeanTypeProxy)aBeanTypeProxy).fClass.isAssignableFrom(fClass);
-}
-public boolean isInterface(){
-	return fClass.isInterface();
-}
-public boolean isPrimitive(){
-	return fClass.isPrimitive();
-}
-public boolean isArray(){
-	return fClass.isArray();
-}
-/**
- We can use reflection on our class to find the java.reflect.Method instance and create the
- IDEMethodProxy directly
- */
-public IMethodProxy getMethodProxy(String methodName) {
-
-	try {	
-		Method aMethod = fClass.getMethod( methodName , new Class[0] );
-		return ((IDEMethodProxyFactory)fProxyFactoryRegistry.getMethodProxyFactory()).getMethodProxy(aMethod);
-	} catch ( Exception exc ) {
-		ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", exc));
-	}
-	return null;
-	
-}
-public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames){
-	return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getMethodProxy(this, methodName, argumentClassNames);
-}
-public IMethodProxy getMethodProxy(String methodName, String firstArgClass){
-	return getMethodProxy(methodName, new String[] { firstArgClass });
-}
-public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] args){
-	Class[] argClasses = new Class[args.length];
-	for(int i=0;i<args.length;i++){
-		argClasses[i] = ((IDEBeanTypeProxy)args[i]).fClass;
-	}
-	return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getMethodProxy(fClass,methodName,argClasses);
-}
-public IConstructorProxy getConstructorProxy(String[] argTypeNames){
-	Class[] argClasses = new Class[argTypeNames.length];
-	try {
-		for(int i=0;i<argTypeNames.length;i++){
-			argClasses[i] = Class.forName(argTypeNames[i]);
-		}
-	} catch ( ClassNotFoundException exc ) {
-		ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "Constructor not found - " + fClass.getName() + " args=" + argTypeNames, exc));
-		return null;
-	}
-	return ((IDEMethodProxyFactory)fProxyFactoryRegistry.getMethodProxyFactory()).getConstructorProxy(fClass,argClasses);
-}
-public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] args){
-	Class[] argClasses = new Class[args.length];
-	for(int i=0;i<args.length;i++){
-		argClasses[i] = ((IDEBeanTypeProxy)args[i]).fClass;
-	}
-	return ((IDEMethodProxyFactory)fProxyFactoryRegistry.getMethodProxyFactory()).getConstructorProxy(fClass,argClasses);
-}
-/**
- * Return the supertype for us
- * Use the factory to get it rather than create it directly so that the factory has the
- * chance to cache classes if required
- * This is required as part of the interface
- */
-public IBeanTypeProxy getSuperBeanTypeProxy(){
-
-	if ( fClass.isInterface() )
-		return null;
-	else
-		return fProxyFactoryRegistry.getBeanTypeProxyFactory().getBeanTypeProxy(fClass.getSuperclass().getName());
-
-}
-public IFieldProxy getFieldProxy(String fieldName){
-	try {
-		Field field = fClass.getField(fieldName);
-		return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).getFieldProxy(field);
-	} catch ( NoSuchFieldException exc ) {
-		ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "Field not found " + fClass.getName() + " - " + fieldName, exc));
-		return null;
-	}
-}
-/**
- * Return a proxy to the constructor for the target VM being the same as the IDE
- * We can use the package protected contstructor on IDEConstructorProxy
- */
-IConstructorProxy getConstructorProxy(Class[] parameterTypes) {
-
-	Constructor aConstructor = null;
-
-// Use reflection to try and find a constructor.  The argumentClassNames must be converted to classes
-	try {
-		aConstructor = fClass.getConstructor(parameterTypes);
-	} catch ( Exception e ) {
-		ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));
-	}
-	// If we have a constructor return it
-	if ( aConstructor != null ){
-		return getNewConstructorProxy(aConstructor);
-	} else {
-		return null;
-	}
-	
-}
-/**
- * Factored into its own method so subclass can override
- */
-protected IConstructorProxy getNewConstructorProxy(Constructor aConstructor){
-
-	return ((IDEMethodProxyFactory)fProxyFactoryRegistry.getMethodProxyFactory()).getConstructorProxy(aConstructor);
-	
-}
-/**
- * Return a proxy to the null constructor for the target VM being the same as the IDE
- * We can use the package protected contstructor on IDEConstructorProxy
- */
-public IConstructorProxy getNullConstructorProxy() {
-
-	Constructor aConstructor = null;
-
-	// Use reflection to try and find a constructor.  The argumentClassNames must be converted to classes
-	try {
-		aConstructor = fClass.getConstructor(null);
-		return ((IDEMethodProxyFactory)fProxyFactoryRegistry.getMethodProxyFactory()).getConstructorProxy(aConstructor);
-	} catch ( Exception e ) {
-		ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));
-		return null;
-	}
-
-}
-
-public IBeanProxy newInstance(String initializationString) {
-	return ((IDEStandardBeanProxyFactory)fProxyFactoryRegistry.getBeanProxyFactory()).createBeanProxy(this, initializationString);
-}
-public IBeanProxy newInstance() {
-	return ((IDEStandardBeanProxyFactory)fProxyFactoryRegistry.getBeanProxyFactory()).createBeanProxy(this);
-}
-/**
- * Create a new bean proxy with the specified object
- * Use the constructor that allows the type proxy to be set as well as the bean
- * because we are the type and by setting it now we might avoid it being lookup for in the
- * factory the first time it is asked for
- *
- * NOTE: All subclasses need to override this to return the appropriate IDEBeanProxy.
- */
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
-	return new IDEObjectBeanProxy(fProxyFactoryRegistry, anObject, this);
-
-}
-
-/**
- * Create a subclass beantype proxy.
- */
-public IDEBeanTypeProxy newBeanTypeForClass(Class type) {
-	// Default is just another instance of this same class.
-	return new IDEBeanTypeProxy(fProxyFactoryRegistry, type);
-}
-
-/**
- * @see IBeanTypeProxy#getFormalTypeName()
- */
-public String getFormalTypeName() {
-	return getTypeName();
-}
-
-/**
- * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInitializationError()
- */
-public String getInitializationError() {
-	return null;	// By default none have an initialization error. There is a special instance for init errors.
-}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBigDecimalBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBigDecimalBeanTypeProxy.java
deleted file mode 100644
index d927b73..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBigDecimalBeanTypeProxy.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEBigDecimalBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import java.math.*;
-
-final class IDEBigDecimalBeanTypeProxy extends IDENumberBeanTypeProxy {
-// Some values are cache'd for speed
-IDEBigDecimalBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass,new BigDecimal((double)0));
-}
-/**
- * Static helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createBigDecimalBeanProxy(BigDecimal aBigDecimal) {
-	if ( aBigDecimal == null || aBigDecimal.intValue() == 0 ) {
-		return zeroProxy;
-	} else {
-		return new IDENumberBeanProxy(fProxyFactoryRegistry,aBigDecimal,this);
-	}
-}
-}
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBigIntegerBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBigIntegerBeanTypeProxy.java
deleted file mode 100644
index c04e8ce..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBigIntegerBeanTypeProxy.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEBigIntegerBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import java.math.*;
-/**
- * IDE Implementation of IIntegerBeanTypeProxy
- */
-final class IDEBigIntegerBeanTypeProxy extends IDENumberBeanTypeProxy {
-// Some values are cache'd for speed
-IDEBigIntegerBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass, new BigInteger("0")); //$NON-NLS-1$
-}
-/**
- * Static helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createBigIntegerBeanProxy(BigInteger aBigInteger) {
-	if ( aBigInteger == null || aBigInteger.intValue() == 0 ) {
-		return zeroProxy;
-	} else {
-		return new IDENumberBeanProxy(fProxyFactoryRegistry,aBigInteger,this);
-	}
-}
-}
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanBeanProxy.java
deleted file mode 100644
index e80055d..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanBeanProxy.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEBooleanBeanProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * IDE Implementation of IBooleanBeanProxy..
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-class IDEBooleanBeanProxy extends IDEObjectBeanProxy implements IBooleanBeanProxy {
-	protected Boolean fBooleanValue;
-/**
- * As well as storing the bean store the boolean value so that we can return the booleanValue faster
- * without the need for repeated re-casting. It is package protected because it is created in
- * special way, so no one else should create these.
- * @param aBean java.lang.Object
- */
-IDEBooleanBeanProxy(IDEProxyFactoryRegistry aRegistry, Object aBean, IBeanTypeProxy aBeanTypeProxy) {
-	super(aRegistry, aBean,aBeanTypeProxy);
-	fBooleanValue = (Boolean)aBean;
-}
-public boolean booleanValue() {
-	return fBooleanValue.booleanValue();
-}
-public Boolean getBooleanValue() {
-	return fBooleanValue;
-}
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanBeanTypeProxy.java
deleted file mode 100644
index a017de5..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanBeanTypeProxy.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Created on Sep 15, 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.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-
-/**
- * @author richkulp
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class IDEBooleanBeanTypeProxy extends IDEBooleanBeanProxy {
-
-	/**
-	 * @param aRegistry
-	 * @param aBean
-	 * @param aBeanTypeProxy
-	 */
-	public IDEBooleanBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Object aBean, IBeanTypeProxy aBeanTypeProxy) {
-		super(aRegistry, aBean, aBeanTypeProxy);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
-	 */
-	public boolean sameAs(IBeanProxy aBeanProxy) {
-		return (aBeanProxy instanceof IDEBooleanBeanTypeProxy) ? getBooleanValue() == ((IDEBooleanBeanTypeProxy) aBeanProxy).getBooleanValue() : false;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanClassBeanTypeProxy.java
deleted file mode 100644
index 70a1975..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanClassBeanTypeProxy.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEBooleanClassBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-final public class IDEBooleanClassBeanTypeProxy extends IDEBeanTypeProxy {
-
-	// Cache these instances. Since the BeanType proxies are cached also, only one instance
-	// of true/false will be in system.
-	protected final IDEBooleanBeanProxy trueProxy;
-	protected final IDEBooleanBeanProxy falseProxy;
-
-IDEBooleanClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-
-	super(aRegistry, aClass);
-	trueProxy = new IDEBooleanBeanProxy( fProxyFactoryRegistry, Boolean.TRUE, this );
-	falseProxy = new IDEBooleanBeanProxy( fProxyFactoryRegistry, Boolean.FALSE, this);	
-}
-IBooleanBeanProxy createBooleanBeanProxy(Boolean aBoolean) {
-	if ( aBoolean.booleanValue() ){
-		return trueProxy;
-	} else {
-		return falseProxy;
-	}
-}
-/* Specialized from IDEBeanTypeProxy to ensure IBooleanBeanProxies are created correctly
- */
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
-	if ( anObject == null || anObject == Boolean.FALSE ) {
-		return falseProxy;
-	} else {
-		return trueProxy;
-	}
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanTypeBeanTypeProxy.java
deleted file mode 100644
index 691ca65..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBooleanTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEBooleanTypeBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-final public class IDEBooleanTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-
-	// Cache these instances. Since the BeanType proxies are cached also, only one instance
-	// of true/false will be in system.
-	protected final IDEBooleanBeanProxy trueProxy;
-	protected final IDEBooleanBeanProxy falseProxy;
-
-IDEBooleanTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-
-	super(aRegistry, aClass);
-	trueProxy = new IDEBooleanBeanTypeProxy( fProxyFactoryRegistry, Boolean.TRUE, this );
-	falseProxy = new IDEBooleanBeanTypeProxy( fProxyFactoryRegistry, Boolean.FALSE, this );
-	
-	// TODO Need to go through all of the primitives, separate them out into a separate classes so
-	// that sameAs can work with them correctly. Currently only boolean type will do sameAs correctly.
-	// Should also look into storing the primitive in the proxy instead of creating a new wrapper object
-	// for each for the non-boolean primitives.	
-}
-/**
- * Static helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-IBooleanBeanProxy createBooleanBeanProxy(boolean aBoolean) {
-	if ( aBoolean ){
-		return trueProxy;
-	} else {
-		return falseProxy;
-	}
-}
-/* Specialized from IDEBeanTypeProxy to ensure IBooleanBeanProxies are created correctly
- */
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
-	return (IIDEBeanProxy)createBooleanBeanProxy( anObject != null ? ((Boolean)anObject).booleanValue() : false );
-
-}
-int getPrimitiveType(){
-	return BOOLEAN;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEByteClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEByteClassBeanTypeProxy.java
deleted file mode 100644
index edb2e51..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEByteClassBeanTypeProxy.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEByteClassBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Byte BeanType Proxy.
- */
-final class IDEByteClassBeanTypeProxy extends IDENumberBeanTypeProxy {
-		
-protected IDEByteClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass, new Byte((byte)0));
-}
-INumberBeanProxy createByteBeanProxy(Byte aByte){
-	return new IDENumberBeanProxy(fProxyFactoryRegistry,aByte,this);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEByteTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEByteTypeBeanTypeProxy.java
deleted file mode 100644
index d908d7f..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEByteTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEByteTypeBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Byte BeanType Proxy.
- */
-final class IDEByteTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-protected IDEByteTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass);
-}
-INumberBeanProxy createByteBeanProxy(byte aByte){
-	return new IDENumberBeanProxy(fProxyFactoryRegistry,new Byte(aByte),this);
-}
-int getPrimitiveType(){
-	return BYTE;
-}
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-	Number n = anObject instanceof Character ? new Byte((byte)((Character) anObject).charValue()) : (Number) anObject;
-	return new IDENumberBeanProxy(fProxyFactoryRegistry, n, this);
-}
-}
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECallbackRegistry.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECallbackRegistry.java
deleted file mode 100644
index cb69b59..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECallbackRegistry.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDECallbackRegistry.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-import java.io.*;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-public class IDECallbackRegistry implements ICallbackRegistry {
-	
-	IDEVMServer fVMServer;
-	int fNextCallbackID;
-	IDEProxyFactoryRegistry fProxyFactoryRegistry;
-	Map fCallbackIDToCallback = new HashMap(25);
-	Map fBeanProxyToCallbackID = new HashMap(25);
-	Map fCallbackIDToStream = new HashMap(25);
-	
-IDECallbackRegistry(IDEProxyFactoryRegistry aRegistry){
-	fProxyFactoryRegistry = aRegistry;
-	fVMServer = new IDEVMServer(this);
-}
-/**
- * Add a callback.  aBeanProxy is running on the target VM and ICallback runs on our VM
- * aBeanProxy will implement ICallback on the target side
- */	
-public void registerCallback(IBeanProxy aBeanProxy, ICallback aCallback){
-
-	// Get a handle to the remote VM callback	
-	org.eclipse.jem.internal.proxy.common.ICallback vmCallback = (org.eclipse.jem.internal.proxy.common.ICallback) ((IIDEBeanProxy)aBeanProxy).getBean(); 
-	fNextCallbackID = fNextCallbackID + 1;
-	int callbackID = fNextCallbackID;
-	vmCallback.initializeCallback(
-		fVMServer,
-		callbackID);
-	Integer callbackIntegerID = new Integer(callbackID);
-	fCallbackIDToCallback.put(callbackIntegerID,aCallback);
-	fBeanProxyToCallbackID.put(aBeanProxy,callbackIntegerID);
-
-}
-
-OutputStream requestStream(final int aCallbackID, final int aMsgID){
-	final PipedOutputStream result = new PipedOutputStream();
-	PipedInputStream tempStream = null;
-	try {
-		tempStream = new PipedInputStream(result);	
-	} catch ( IOException exc ) {
-		ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", exc));
-		return null;
-	}
-	final PipedInputStream inputStream = tempStream;
-	Thread streamProcessor = new Thread(){
-		public void run(){
-			ICallback ideCallback = (ICallback)fCallbackIDToCallback.get(new Integer(aCallbackID));
-			if (ideCallback != null) {
-				try {
-					ideCallback.calledBackStream(aMsgID, inputStream);
-				} finally {
-					try {
-						inputStream.close();	// Make sure it's closed.
-					} catch ( IOException  exc ){
-						ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", exc));
-					}
-				}			
-			}
-		}
-	};
-	streamProcessor.start();
-	return result;	
-}
-
-Object vmCallback(int aCallbackID ,int aMsgID, Object[] parms){
-	// Find the bean proxy that registered with the ID
-	ICallback ideCallback = (ICallback) fCallbackIDToCallback.get(new Integer(aCallbackID));
-	Object callbackResult = null;
-	if ( parms.length == 1 ) {
-		callbackResult = ideCallback.calledBack(aMsgID,(IBeanProxy)parms[0]);
-	} else {
-		callbackResult = ideCallback.calledBack(aMsgID,parms);
-	}
-	return callbackResult;
-}
-
-Object vmCallback(int aCallbackID ,int aMsgID, Object parm){
-	// Find the bean proxy that registered with the ID
-	ICallback ideCallback = (ICallback) fCallbackIDToCallback.get(new Integer(aCallbackID));
-	return ideCallback.calledBack(aMsgID,parm);
-}
-
-public void deregisterCallback(IBeanProxy aBeanProxy){
-	// Remove the callback from both maps.  The actual unregistering of the callback
-	// on the target VM is done separately by the object that added the event handler on the target VM
-	Integer callbackID = (Integer) fBeanProxyToCallbackID.get(aBeanProxy);
-	fBeanProxyToCallbackID.remove(aBeanProxy);
-	fCallbackIDToCallback.remove(callbackID);
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharTypeBeanTypeProxy.java
deleted file mode 100644
index 41003bc..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDECharTypeBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * char BeanType Proxy.
- */
-final class IDECharTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-protected IDECharTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass);
-}
-ICharacterBeanProxy createCharBeanProxy(char aChar){
-	return new IDECharacterBeanProxy(fProxyFactoryRegistry,new Character(aChar),this);
-}
-int getPrimitiveType(){
-	return CHAR;
-}
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-	Character c = anObject instanceof Character ? (Character) anObject : new Character((char)((Number) anObject).intValue());
-	return new IDECharacterBeanProxy(fProxyFactoryRegistry, c, this);
-	
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharacterBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharacterBeanProxy.java
deleted file mode 100644
index fdd23e7..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharacterBeanProxy.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/***************************************************************************************************
- * Copyright (c) 2001, 2003 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
- **************************************************************************************************/
-/*
- * $RCSfile: IDECharacterBeanProxy.java,v $ $Revision: 1.2 $ $Date: 2004/02/03 23:18:36 $
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * IDE Implementation of ICharacterBeanBeanProxy..
- */
-class IDECharacterBeanProxy extends IDEObjectBeanProxy implements ICharacterBeanProxy {
-	protected Character fCharacterValue;
-	IDECharacterBeanProxy(IDEProxyFactoryRegistry aRegistry, Object aBean, IBeanTypeProxy aBeanTypeProxy) {
-		super(aRegistry, aBean, aBeanTypeProxy);
-		fCharacterValue = (Character) aBean;
-	}
-	public char charValue() {
-		return fCharacterValue.charValue();
-	}
-	public Character characterValue() {
-		return fCharacterValue;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.IIntegerBeanProxy#intValue()
-	 */
-	public int intValue() {
-		return (int) charValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#byteValue()
-	 */
-	public byte byteValue() {
-		return (byte) charValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#doubleValue()
-	 */
-	public double doubleValue() {
-		return (double) charValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#floatValue()
-	 */
-	public float floatValue() {
-		return (float) charValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#longValue()
-	 */
-	public long longValue() {
-		return (long) charValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#numberValue()
-	 */
-	public Number numberValue() {
-		// This is a kludge. Need to new one up.
-		return new Integer(charValue());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.INumberBeanProxy#shortValue()
-	 */
-	public short shortValue() {
-		return (short) charValue();
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharacterClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharacterClassBeanTypeProxy.java
deleted file mode 100644
index 7128e31..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDECharacterClassBeanTypeProxy.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDECharacterClassBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Char BeanType Proxy.
- */
-final class IDECharacterClassBeanTypeProxy extends IDEBeanTypeProxy {
-	
-protected IDECharacterClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass);
-}
-ICharacterBeanProxy createCharacterBeanProxy(Character aChar){
-	return new IDECharacterBeanProxy(fProxyFactoryRegistry,aChar,this);
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEClassBeanTypeProxy.java
deleted file mode 100644
index e4dd200..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEClassBeanTypeProxy.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEClassBeanTypeProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2004/02/03 23:18:36 $ 
- */
-package org.eclipse.jem.internal.proxy.ide;
-
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
- 
-/**
- * For java.lang.Class type.
- * @since 1.0.0
- */
-public class IDEClassBeanTypeProxy extends IDEBeanTypeProxy {
-
-	/**
-	 * @param aRegistry
-	 * @param aClass
-	 * 
-	 * @since 1.0.0
-	 */
-	public IDEClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-		super(aRegistry, aClass);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.ide.IDEBeanTypeProxy#newBeanProxy(java.lang.Object)
-	 */
-	protected IIDEBeanProxy newBeanProxy(Object anObject) {
-		return (IIDEBeanProxy) ((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy((Class) anObject);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.ide.IDEBeanTypeProxy#newBeanTypeForClass(java.lang.Class)
-	 */
-	public IDEBeanTypeProxy newBeanTypeForClass(Class type) {
-		throw new UnsupportedOperationException();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#newInstance()
-	 */
-	public IBeanProxy newInstance() {
-		throw new UnsupportedOperationException();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#newInstance(java.lang.String)
-	 */
-	public IBeanProxy newInstance(String initializationString) {
-		throw new UnsupportedOperationException();
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEConstructorProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEConstructorProxy.java
deleted file mode 100644
index a620c13..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEConstructorProxy.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEConstructorProxy.java,v $
- *  $Revision: 1.4 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-import java.lang.reflect.Constructor;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * This is an implementation of IConstructorProxy where the target VM is the same as
- * the IDE.  The java.lang.reflect.Constructor instance is held in a field
- */
-class IDEConstructorProxy extends IDEAccessibleObjectProxy implements IConstructorProxy {
-
-	/**
-	 * package protected constructor where the instance of java.lang.reflect.Constructor
-	 * can be passed in directly
-	 */
-	IDEConstructorProxy(IDEProxyFactoryRegistry aRegistry, Constructor aConstructor) {
-		super(aRegistry, aConstructor);
-	}
-	/**
-	 * The type proxy is constant proxy out of the method factory.
-	 */
-	public IBeanTypeProxy getTypeProxy() {
-		return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).constructorType;
-	}
-
-	/**
-	 * This is factored into a special method so that subclasses can override
-	 * if they wish.
-	 */
-	protected IBeanProxy getNewIDEBeanProxy(Object aBean) {
-
-		return IDEStandardBeanProxyFactory.createBeanProxy(fProxyFactoryRegistry, aBean); // Use local helper method to do this.
-	}
-	/**
-	 * Invoke the constructor and return an IDEBeanProxy with the result
-	 */
-	public IBeanProxy newInstance() {
-
-		// Invoke the constructor
-		try {
-			Object result = ((Constructor) getBean()).newInstance(null);
-			return getNewIDEBeanProxy(result);
-		} catch (Exception e) {
-			ProxyPlugin.getPlugin().getLogger().log(
-				new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));
-			return null;
-		}
-
-	}
-	public IBeanProxy newInstanceCatchThrowableExceptions() {
-		return newInstance();
-	}
-	public IBeanProxy newInstanceCatchThrowableExceptions(IBeanProxy[] args) {
-		return newInstance(args);
-	}
-	/**
-	 * Invoke the constructor and return an IDEBeanProxy with the result
-	 */
-	public IBeanProxy newInstance(IBeanProxy[] creationArguments) {
-
-		// Get an array of bean objects from the bean proxy arguments
-		Object result = null;
-		Object[] creationObjects = new Object[creationArguments.length];
-		for (int i = 0; i < creationArguments.length; i++) {
-			// It is possible the arguments are null which is perfectly valid
-			if (creationArguments[i] != null)
-				creationObjects[i] = ((IIDEBeanProxy) creationArguments[i]).getBean();
-		}
-
-		// Invoke the constructor
-		try {
-			result = ((Constructor) getBean()).newInstance(creationObjects);
-		} catch (Exception e) {
-			ProxyPlugin.getPlugin().getLogger().log(
-				new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));
-		}
-
-		// If we have a non-null result create an IDEBeanProxy and return it
-		if (result != null) {
-			return getNewIDEBeanProxy(result);
-		} else {
-			return null;
-		}
-
-	}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEConstructorTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEConstructorTypeProxy.java
deleted file mode 100644
index 895e883..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEConstructorTypeProxy.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEConstructorTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-
-/**
- * @version 	1.0
- * @author
- */
-public class IDEConstructorTypeProxy extends IDEBeanTypeProxy {
-	
-	IDEConstructorTypeProxy(IDEProxyFactoryRegistry registry) {
-		super(registry, java.lang.reflect.Constructor.class);
-	}
-
-	/*
-	 * @see IDEBeanTypeProxy#newBeanProxy(Object)
-	 */
-	protected IIDEBeanProxy newBeanProxy(Object anObject) {
-		return new IDEConstructorProxy(fProxyFactoryRegistry, (java.lang.reflect.Constructor) anObject);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEDoubleClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEDoubleClassBeanTypeProxy.java
deleted file mode 100644
index 3d04b0b..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEDoubleClassBeanTypeProxy.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEDoubleClassBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Double BeanType Proxy.
- */
-final class IDEDoubleClassBeanTypeProxy extends IDENumberBeanTypeProxy {
-
-protected IDEDoubleClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass, new Double(0));
-}
-INumberBeanProxy createDoubleBeanProxy(Double aDouble){
-	return new IDENumberBeanProxy(fProxyFactoryRegistry,aDouble,this);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEDoubleTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEDoubleTypeBeanTypeProxy.java
deleted file mode 100644
index 77907dd..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEDoubleTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEDoubleTypeBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * double BeanType Proxy.
- */
-final class IDEDoubleTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-protected IDEDoubleTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass);
-}
-INumberBeanProxy createDoubleBeanProxy(double aDouble){
-	return new IDENumberBeanProxy(fProxyFactoryRegistry,new Double(aDouble),this);
-}
-int getPrimitiveType(){
-	return DOUBLE;
-}
-
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-	Number n = anObject instanceof Character ? new Double(((Character) anObject).charValue()) : (Number) anObject;
-	return new IDENumberBeanProxy(fProxyFactoryRegistry, n, this);
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEExpression.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEExpression.java
deleted file mode 100644
index e2af1cf..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEExpression.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: IDEExpression.java,v $ $Revision: 1.1 $ $Date: 2004/02/03 23:18:36 $
- */
-package org.eclipse.jem.internal.proxy.ide;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.initParser.EvaluationException;
-import org.eclipse.jem.internal.proxy.initParser.MethodHelper;
-import org.eclipse.jem.internal.proxy.initParser.tree.ExpressionProcesser;
-
-/**
- * IDE expression processing.
- * 
- * @since 1.0.0
- */
-public class IDEExpression extends Expression {
-
-	private final IDEStandardBeanTypeProxyFactory beantypefactory;
-	protected final ExpressionProcesser eproc = new ExpressionProcesser();
-
-	/**
-	 * Create the IDEExpression
-	 * 
-	 * @param registry
-	 * 
-	 * @since 1.0.0
-	 */
-	public IDEExpression(ProxyFactoryRegistry registry) {
-		super(registry);
-		beantypefactory = (IDEStandardBeanTypeProxyFactory) registry.getBeanTypeProxyFactory();
-	}
-
-	protected final IDEProxyFactoryRegistry getIDERegistry() {
-		return (IDEProxyFactoryRegistry) registry;
-	}
-
-	protected final IDEStandardBeanTypeProxyFactory getIDEBeanTypeFactory() {
-		return beantypefactory;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushToProxy(org.eclipse.jem.internal.proxy.core.IBeanProxy)
-	 */
-	protected void pushToProxy(IBeanProxy proxy) throws ThrowableProxy {
-		if (proxy == null)
-			eproc.pushExpression(null, MethodHelper.NULL_TYPE);
-		else
-			eproc.pushExpression(((IDEBeanProxy) proxy).getBean(), ((IDEBeanTypeProxy) proxy.getTypeProxy()).getTypeClass());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#closeProxy()
-	 */
-	protected void closeProxy() {
-		eproc.close();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pullProxyValue()
-	 */
-	protected IBeanProxy pullProxyValue() throws NoExpressionValueException {
-		Object result[] = new Object[2];
-		eproc.pullValue(result);
-		return getIDERegistry().getBeanProxy((Class) result[1], result[0]);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushCastToProxy(java.lang.Object)
-	 */
-	protected void pushCastToProxy(Object type) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			eproc.pushCast(getBeanTypeProxy(type).getTypeClass());
-		} catch (ClassCastException e) {
-			throw new IDEThrowableProxy(e, getIDEBeanTypeFactory().getBeanTypeProxy(e.getClass()));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushInstanceofToProxy(java.lang.Object)
-	 */
-	protected void pushInstanceofToProxy(Object type) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			eproc.pushInstanceof(getBeanTypeProxy(type).getTypeClass());
-		} catch (RuntimeException e) {
-			throw new IDEThrowableProxy(e, getIDEBeanTypeFactory().getBeanTypeProxy(e.getClass()));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushTypeLiteralToProxy(java.lang.String)
-	 */
-	protected void pushTypeLiteralToProxy(String type) throws ThrowableProxy {
-		eproc.pushExpression(getBeanTypeProxy(type).getTypeClass(), Class.class);
-	}
-	
-	/**
-	 * Get the BeanType proxy and test if valid. Throw ThrowableProxy if not valid.
-	 * 
-	 * @param type Must be either String or an IDEBeanTypeProxy. If String, it will look it up.
-	 * @return 
-	 * @throws ThrowableProxy
-	 * 
-	 * @since 1.0.0
-	 */
-	protected IDEBeanTypeProxy getBeanTypeProxy(Object type) throws ThrowableProxy {
-		IDEBeanTypeProxy typeProxy = null;
-		if (type instanceof String)		
-			typeProxy = (IDEBeanTypeProxy) registry.getBeanTypeProxyFactory().getBeanTypeProxy((String) type);
-		else
-			typeProxy = (IDEBeanTypeProxy) type;
-		if (!typeProxy.isValid()) {
-			throw new IDEThrowableProxy(
-					new Exception(typeProxy.getInitializationError()),
-					getIDEBeanTypeFactory().getBeanTypeProxy(Exception.class));
-		} else
-			return typeProxy;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushPrefixToProxy(int)
-	 */
-	protected void pushPrefixToProxy(int operator) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			eproc.pushPrefix(operator);
-		} catch (RuntimeException e) {
-			throw new IDEThrowableProxy(e, getIDEBeanTypeFactory().getBeanTypeProxy(e.getClass()));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushInfixToProxy(int, int)
-	 */
-	protected void pushInfixToProxy(int operator, int operandType) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			eproc.pushInfix(operator, operandType);
-		} catch (RuntimeException e) {
-			throw new IDEThrowableProxy(e, getIDEBeanTypeFactory().getBeanTypeProxy(e.getClass()));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushArrayAccessToProxy(int)
-	 */
-	protected void pushArrayAccessToProxy(int indexCount) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			eproc.pushArrayAccess(indexCount);
-		} catch (RuntimeException e) {
-			throw new IDEThrowableProxy(e, getIDEBeanTypeFactory().getBeanTypeProxy(e.getClass()));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushArrayCreationToProxy(java.lang.Object, int)
-	 */
-	protected void pushArrayCreationToProxy(Object type, int dimensionCount) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			eproc.pushArrayCreation(getBeanTypeProxy(type).getTypeClass(), dimensionCount);
-		} catch (RuntimeException e) {
-			throw new IDEThrowableProxy(e, getIDEBeanTypeFactory().getBeanTypeProxy(e.getClass()));
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushArrayInitializerToProxy(java.lang.Object, int)
-	 */
-	protected void pushArrayInitializerToProxy(Object type, int expressionCount) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			eproc.pushArrayInitializer(getBeanTypeProxy(type).getTypeClass(), expressionCount);
-		} catch (RuntimeException e) {
-			throw new IDEThrowableProxy(e, getIDEBeanTypeFactory().getBeanTypeProxy(e.getClass()));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushClassInstanceCreationToProxy(java.lang.Object, int)
-	 */
-	protected void pushClassInstanceCreationToProxy(Object type, int argumentCount) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			eproc.pushClassInstanceCreation(getBeanTypeProxy(type).getTypeClass(), argumentCount);
-		} catch (InvocationTargetException e) {
-			throw new IDEThrowableProxy(e.getTargetException(), getIDEBeanTypeFactory().getBeanTypeProxy(e.getTargetException().getClass()));
-		} catch (NoExpressionValueException e) {
-			throw e;
-		} catch (ThrowableProxy e) {
-			throw e;
-		} catch (EvaluationException e) {
-			throw new IDEThrowableProxy(e.getOriginalException(), getIDEBeanTypeFactory().getBeanTypeProxy(e.getOriginalException().getClass()));
-		} catch (Exception e) {
-			throw new IDEThrowableProxy(e, getIDEBeanTypeFactory().getBeanTypeProxy(e.getClass()));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pustTypeReceiverToProxy(java.lang.Object)
-	 */
-	protected void pushTypeReceiverToProxy(Object type) throws ThrowableProxy {
-		Class c = getBeanTypeProxy(type).getTypeClass();
-		// The expressionType is used for receivers in field/method invocation to find the field/method. So we want the type to be type we have.
-		// Also then the receiver to invoke against is the expression value, which is the type.
-		eproc.pushExpression(c, c);	
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushFieldAccessToProxy(java.lang.String, boolean)
-	 */
-	protected void pushFieldAccessToProxy(String fieldName, boolean hasReceiver) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			eproc.pushFieldAccess(fieldName, hasReceiver);
-		} catch (RuntimeException e) {
-			throw new IDEThrowableProxy(e, getIDEBeanTypeFactory().getBeanTypeProxy(e.getClass()));
-		} catch (NoExpressionValueException e) {
-			throw e;
-		} catch (NoSuchFieldException e) {
-			throw new IDEThrowableProxy(e, getIDEBeanTypeFactory().getBeanTypeProxy(e.getClass()));
-		} catch (IllegalAccessException e) {
-			throw new IDEThrowableProxy(e, getIDEBeanTypeFactory().getBeanTypeProxy(e.getClass()));
-		}		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushMethodInvocationToProxy(java.lang.String, boolean, int)
-	 */
-	protected void pushMethodInvocationToProxy(String methodName, boolean hasReceiver, int argCount)
-		throws ThrowableProxy, NoExpressionValueException {
-		try {
-			eproc.pushMethodInvocation(methodName, hasReceiver, argCount);
-		} catch (RuntimeException e) {
-			throw new IDEThrowableProxy(e, getIDEBeanTypeFactory().getBeanTypeProxy(e.getClass()));
-		} catch (NoExpressionValueException e) {
-			throw e;
-		} catch (EvaluationException e) {
-			throw new IDEThrowableProxy(e.getOriginalException(), getIDEBeanTypeFactory().getBeanTypeProxy(e.getOriginalException().getClass()));
-		} catch (IllegalAccessException e) {
-			throw new IDEThrowableProxy(e, getIDEBeanTypeFactory().getBeanTypeProxy(e.getClass()));
-		} catch (InvocationTargetException e) {
-			throw new IDEThrowableProxy(e.getTargetException(), getIDEBeanTypeFactory().getBeanTypeProxy(e.getTargetException().getClass()));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushConditionalToProxy(int)
-	 */
-	protected void pushConditionalToProxy(int expressionType) throws ThrowableProxy, NoExpressionValueException {
-		try {
-			eproc.pushConditional(expressionType);
-		} catch (RuntimeException e) {
-			throw new IDEThrowableProxy(e, getIDEBeanTypeFactory().getBeanTypeProxy(e.getClass()));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.Expression#pushInvoke()
-	 */
-	protected void pushInvoke() {
-		// In the IDE case do nothing. Nothing is pending.
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEExtensionBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEExtensionBeanTypeProxyFactory.java
deleted file mode 100644
index 979373f..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEExtensionBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEExtensionBeanTypeProxyFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-public interface IDEExtensionBeanTypeProxyFactory extends IBeanTypeProxyFactory {
-
-public IDEBeanTypeProxy getExtensionBeanTypeProxy(String className);
-
-public IDEBeanTypeProxy getExtensionBeanTypeProxy(String typeName, IBeanTypeProxy superType);	
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFieldProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFieldProxy.java
deleted file mode 100644
index 51c6d8d..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFieldProxy.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEFieldProxy.java,v $
- *  $Revision: 1.4 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-import java.lang.reflect.Field;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Implementation of IFieldProxy where the bean vm is the same as the IDE
- * Therefore we hold the instance of a java.lang.reflect.Field in a field
- * directly and have a package protected constructor to set this
- * Creation date: (1/17/00 12:32:24 PM)
- * @author: Joe Winchester
- */
-public class IDEFieldProxy extends IDEAccessibleObjectProxy implements IFieldProxy {
-	protected IBeanTypeProxy fFieldType;
-	/**
-	 * Package protected constructor that takes the field directly
-	 * This is package protected because only classes in the IDE package can construct
-	 * this.  Everyone else must go via the typeProxy
-	 */
-	IDEFieldProxy(IDEProxyFactoryRegistry aRegistry, Field aField) {
-		super(aRegistry, aField);
-	}
-	/**
-	 * Get the value of the field and return it wrapped in a bean proxy
-	 */
-	public IBeanProxy get(IBeanProxy aSubject) {
-
-		Object result = null;
-		// Get the field value and catch any errors	
-		try {
-			result = ((Field) getBean()).get(aSubject != null ? ((IIDEBeanProxy) aSubject).getBean() : null);
-		} catch (Exception e) {
-			ProxyPlugin.getPlugin().getLogger().log(
-				new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));
-		}
-
-		// If we have a non null result wrap it in an IBeanProxy and return it
-		if (result != null) {
-			return fProxyFactoryRegistry.getBeanProxy(((Field) getBean()).getType(), result);
-		} else {
-			return null;
-		}
-
-	}
-	/**
-	 * Get the beans from both of the proxies and invoke the field set method
-	 * Cast to IDEBeanProxy and use package protected method
-	 */
-	public void set(IBeanProxy aSubject, IBeanProxy argument) {
-
-		// Set the field value and catch any errors	
-		try {
-			((Field) getBean()).set(
-				aSubject != null ? ((IIDEBeanProxy) aSubject).getBean() : null,
-				argument != null ? ((IIDEBeanProxy) argument).getBean() : null);
-		} catch (Exception e) {
-			ProxyPlugin.getPlugin().getLogger().log(
-				new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));
-		}
-	}
-	/**
-	 * The type proxy is constant proxy out of the method factory.
-	 */
-	public IBeanTypeProxy getTypeProxy() {
-		return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).fieldType;
-	}
-	/**
-	 * Return the type of the field.
-	 */
-	public IBeanTypeProxy getFieldType() {
-		if (fFieldType == null) {
-			fFieldType =
-				((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(
-					((Field) getBean()).getType());
-		}
-		return fFieldType;
-	}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFieldTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFieldTypeProxy.java
deleted file mode 100644
index 350eb5a..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFieldTypeProxy.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEFieldTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-/**
- * @version 	1.0
- * @author
- */
-public class IDEFieldTypeProxy extends IDEBeanTypeProxy {
-	
-	IDEFieldTypeProxy(IDEProxyFactoryRegistry registry) {
-		super(registry, java.lang.reflect.Field.class);
-	}
-
-	/*
-	 * @see IDEBeanTypeProxy#newBeanProxy(Object)
-	 */
-	protected IIDEBeanProxy newBeanProxy(Object anObject) {
-		return new IDEFieldProxy(fProxyFactoryRegistry, (java.lang.reflect.Field) anObject);
-	}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFloatClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFloatClassBeanTypeProxy.java
deleted file mode 100644
index 28e87e0..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFloatClassBeanTypeProxy.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEFloatClassBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Float BeanType Proxy.
- */
-final class IDEFloatClassBeanTypeProxy extends IDENumberBeanTypeProxy {
-
-protected IDEFloatClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass, new Float(0));
-}
-INumberBeanProxy createFloatBeanProxy(Float aFloat){
-	return new IDENumberBeanProxy(fProxyFactoryRegistry,aFloat,this);
-}
-}
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFloatTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFloatTypeBeanTypeProxy.java
deleted file mode 100644
index 910b36a..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEFloatTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEFloatTypeBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Float BeanType Proxy.
- */
-final class IDEFloatTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-protected IDEFloatTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass);
-}
-INumberBeanProxy createFloatBeanProxy(float aFloat){
-	return new IDENumberBeanProxy(fProxyFactoryRegistry,new Float(aFloat),this);
-}
-int getPrimitiveType(){
-	return FLOAT;
-}
-
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-	Number n = anObject instanceof Character ? new Float(((Character) anObject).charValue()) : (Number) anObject;
-	return new IDENumberBeanProxy(fProxyFactoryRegistry, n, this);
-
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEInitErrorBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEInitErrorBeanTypeProxy.java
deleted file mode 100644
index 31fd63d..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEInitErrorBeanTypeProxy.java
+++ /dev/null
@@ -1,179 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEInitErrorBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * @author richkulp
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class IDEInitErrorBeanTypeProxy extends IDEBeanTypeProxy {
-
-	protected String classname;
-	protected String initializationError;
-	
-	protected IDEInitErrorBeanTypeProxy(IDEProxyFactoryRegistry registry, String classname, String initializationError) {
-		super(registry, null);
-		this.classname = classname;
-		this.initializationError = initializationError;
-	}
-	
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(String[])
-	 */
-	public IConstructorProxy getConstructorProxy(String[] argumentClassNames) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getConstructorProxy(IBeanTypeProxy[])
-	 */
-	public IConstructorProxy getConstructorProxy(IBeanTypeProxy[] argumentTypes) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getFieldProxy(String)
-	 */
-	public IFieldProxy getFieldProxy(String fieldName) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(String)
-	 */
-	public IMethodProxy getMethodProxy(String methodName) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(String, String[])
-	 */
-	public IMethodProxy getMethodProxy(String methodName, String[] argumentClassNames) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(String, String)
-	 */
-	public IMethodProxy getMethodProxy(String methodName, String argumentClassName) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getMethodProxy(String, IBeanTypeProxy[])
-	 */
-	public IMethodProxy getMethodProxy(String methodName, IBeanTypeProxy[] argumentTypes) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getNullConstructorProxy()
-	 */
-	public IConstructorProxy getNullConstructorProxy() {
-		return null;
-	}
-
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getSuperBeanTypeProxy()
-	 */
-	public IBeanTypeProxy getSuperBeanTypeProxy() {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getTypeName()
-	 */
-	public String getTypeName() {
-		return classname;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getFormalTypeName()
-	 */
-	public String getFormalTypeName() {
-		return getTypeName();
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isArray()
-	 */
-	public boolean isArray() {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isInterface()
-	 */
-	public boolean isInterface() {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isPrimitive()
-	 */
-	public boolean isPrimitive() {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#isKindOf(IBeanTypeProxy)
-	 */
-	public boolean isKindOf(IBeanTypeProxy aBeanProxyType) {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#newInstance()
-	 */
-	public IBeanProxy newInstance() {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#newInstance(String)
-	 */
-	public IBeanProxy newInstance(String initializationString) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanTypeProxy#getInitializationError()
-	 */
-	public String getInitializationError() {
-		return initializationError;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#toBeanString()
-	 */
-	public String toBeanString(){
-		return classname;
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#isValid()
-	 */
-	public boolean isValid() {
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerBeanProxy.java
deleted file mode 100644
index 14fd4d1..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerBeanProxy.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEIntegerBeanProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * IDE Proxy for Integers. Since Integers were first implemented
- * in the VCE, and because they are often referenced, we've created
- * a subclass to handle them. That way we wouldn't need to change
- * everyone that was using the IIntegerProxy interface and we
- * can store the int value to speed up access.
- */
-public class IDEIntegerBeanProxy extends IDENumberBeanProxy implements IIntegerBeanProxy {
-	protected int fIntValue;
-IDEIntegerBeanProxy(IDEProxyFactoryRegistry aRegistry, Number anInteger, IBeanTypeProxy aBeanTypeProxy) {
-	super(aRegistry, anInteger , aBeanTypeProxy);
-	fIntValue = anInteger.intValue();
-}
-/**
- * Return the int value
- */
-public int intValue() {
-	return fIntValue;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerClassBeanTypeProxy.java
deleted file mode 100644
index ae09656..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerClassBeanTypeProxy.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEIntegerClassBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.IIntegerBeanProxy;
-
-/**
- * IDE Implementation of IIntegerBeanTypeProxy
- */
-final class IDEIntegerClassBeanTypeProxy extends IDENumberBeanTypeProxy {
-// Some values are cache'd for speed
-	private final IDEIntegerBeanProxy zeroIntProxy;
-	private final IDEIntegerBeanProxy oneIntProxy;
-	private final IDEIntegerBeanProxy twoIntProxy;
-	private final IDEIntegerBeanProxy threeIntProxy;
-IDEIntegerClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass, new Integer(0));
-	// Create the cached values
-	zeroIntProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(0), this );	
-	oneIntProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(1), this );
-	twoIntProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(2), this );
-	threeIntProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(3), this );
-		
-}
-/**
- * Static helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-IIntegerBeanProxy createIntegerBeanProxy(Integer anInteger) {
-	switch(anInteger.intValue()){
-		case 0: return zeroIntProxy ;
-		case 1: return oneIntProxy ;
-		case 2: return twoIntProxy ;
-		case 3: return threeIntProxy ;
-		default: return new IDEIntegerBeanProxy(fProxyFactoryRegistry,anInteger,this);
-	}
-}
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
-	return (IIDEBeanProxy)createIntegerBeanProxy((Integer)anObject);
-
-}
-}
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerTypeBeanTypeProxy.java
deleted file mode 100644
index 825407a..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEIntegerTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEIntegerTypeBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.IIntegerBeanProxy;
-
-/**
- * IDE Implementation of IIntegerBeanTypeProxy
- */
-final class IDEIntegerTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-// Some values are cache'd for speed
-	private final IDEIntegerBeanProxy zeroProxy;
-	private final IDEIntegerBeanProxy oneProxy;
-	private final IDEIntegerBeanProxy twoProxy;
-	private final IDEIntegerBeanProxy threeProxy;
-IDEIntegerTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass);
-	// Create the cached values
-	zeroProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(0), this );
-	oneProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(1), this );
-	twoProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(2), this );
-	threeProxy = new IDEIntegerBeanProxy(aRegistry, new Integer(3), this );
-		
-}
-/**
- * Static helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-IIntegerBeanProxy createIntegerBeanProxy(int anInt) {
-	switch(anInt){
-		case 0: return zeroProxy ;
-		case 1: return oneProxy ;
-		case 2: return twoProxy ;
-		case 3: return threeProxy ;
-		default: return new IDEIntegerBeanProxy(fProxyFactoryRegistry,new Integer(anInt),this);
-	}
-}
-/* Specialized from IDEBeanTypeProxy to ensure IIntegerBeanProxies are created correctly
- */
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-	Number n = anObject instanceof Character ? new Integer(((Character) anObject).charValue()) : (Number) anObject;
-	switch(n.intValue()){
-		case 0: return zeroProxy ;
-		case 1: return oneProxy ;
-		case 2: return twoProxy ;
-		case 3: return threeProxy ;
-		default: return new IDEIntegerBeanProxy(fProxyFactoryRegistry, n, this);
-	}
-	
-	
-}
-int getPrimitiveType(){
-	return INTEGER;
-}
-}
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDELongClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDELongClassBeanTypeProxy.java
deleted file mode 100644
index ae4fd29..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDELongClassBeanTypeProxy.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDELongClassBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Long BeanType Proxy.
- */
-final class IDELongClassBeanTypeProxy extends IDENumberBeanTypeProxy {
-		
-protected IDELongClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass, new Long(0));
-}
-INumberBeanProxy createLongBeanProxy(Long aLong){
-	return new IDENumberBeanProxy(fProxyFactoryRegistry,aLong,this);
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDELongTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDELongTypeBeanTypeProxy.java
deleted file mode 100644
index e4f88da..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDELongTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDELongTypeBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Long BeanType Proxy.
- */
-final class IDELongTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-	
-protected IDELongTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass);
-}
-INumberBeanProxy createLongBeanProxy(long aLong){
-	return new IDENumberBeanProxy(fProxyFactoryRegistry,new Long(aLong),this);
-}
-int getPrimitiveType(){
-	return LONG;
-}
-
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-	Number n = anObject instanceof Character ? new Long(((Character) anObject).charValue()) : (Number) anObject;
-	return new IDENumberBeanProxy(fProxyFactoryRegistry, n, this);
-}
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodProxy.java
deleted file mode 100644
index 4532dae..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodProxy.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEMethodProxy.java,v $
- *  $Revision: 1.4 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-public class IDEMethodProxy extends IDEAccessibleObjectProxy implements IMethodProxy {
-
-	protected IDEMethodProxy(IDEProxyFactoryRegistry aRegistry, Method aMethod) {
-		super(aRegistry, aMethod);
-	}
-
-	public IBeanTypeProxy getClassType() {
-		return ((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(
-			((Method) getBean()).getDeclaringClass());
-	}
-	public IBeanTypeProxy getReturnType() {
-		return ((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(
-			((Method) getBean()).getReturnType());
-	}
-	public IBeanTypeProxy[] getParameterTypes() {
-		Class[] parmClasses = ((Method) getBean()).getParameterTypes();
-		IBeanTypeProxy[] parmTypes = new IBeanTypeProxy[parmClasses.length];
-		IDEStandardBeanTypeProxyFactory factory = (IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory();
-		for (int i = 0; i < parmClasses.length; i++) {
-			parmTypes[i] = factory.getBeanTypeProxy(parmClasses[i]);
-		}
-		return parmTypes;
-	}
-	public String getName() {
-		return ((Method) getBean()).getName();
-	}
-
-	/**
-	 * The type proxy is constant proxy out of the method factory.
-	 */
-	public IBeanTypeProxy getTypeProxy() {
-		return ((IDEMethodProxyFactory) fProxyFactoryRegistry.getMethodProxyFactory()).methodType;
-	}
-
-	/**
-	 * Invoke the method directly.  Because we are an IDEMethodProxy we can assume that IBeanProxy
-	 * is an IDEBeanProxy and we can get its bean directly
-	 */
-	public IBeanProxy invoke(IBeanProxy subject) throws ThrowableProxy {
-		try {
-			Object result = ((Method) getBean()).invoke(subject != null ? ((IIDEBeanProxy) subject).getBean() : null, new Object[0]);
-			if (result == null) {
-				return null;
-			} else {
-				// The result may be a java.lang.Integer when we really want to create an int
-				// Reflection always give you the big object
-				Class returnType = ((Method) getBean()).getReturnType();
-				return getBeanProxy(returnType, result);
-			}
-		} catch (InvocationTargetException e) {
-			// This is a wrappered exception. Return the wrappered one so it looks like
-			// it was the real one.
-			IBeanTypeProxy exceptionTypeProxy =
-				((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(
-					e.getTargetException().getClass());
-			throw new IDEThrowableProxy(e.getTargetException(), exceptionTypeProxy);
-		} catch (Exception exc) {
-			IBeanTypeProxy exceptionTypeProxy =
-				((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(exc.getClass());
-			throw new IDEThrowableProxy(exc, exceptionTypeProxy);
-		}
-	}
-	/**
-	 * Do not throw an exception
-	 */
-	public IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject) {
-		try {
-			return invoke(subject);
-		} catch (ThrowableProxy exc) {
-			ProxyPlugin.getPlugin().getLogger().log(
-				new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", exc));
-		}
-		return null;
-	}
-	/**
-	 * Invoke the method with argument.  The argument will be an IDEBeanProxy 
-	 * ( because we are an IDEMethodProxy ) so we can cast to it and get the actual bean
-	 * itself and use this to invoke against method which is the actual
-	 * java.lang.Reflect instance
-	 */
-	public IBeanProxy invoke(IBeanProxy subject, IBeanProxy argument) throws ThrowableProxy {
-		try {
-			Object result =
-				((Method) getBean()).invoke(
-					subject != null ? ((IIDEBeanProxy) subject).getBean() : null,
-					new Object[] { argument != null ? ((IIDEBeanProxy) argument).getBean() : null });
-			if (result == null) {
-				return null;
-			} else {
-				Class returnType = ((Method) getBean()).getReturnType();
-				return getBeanProxy(returnType, result);
-			}
-		} catch (InvocationTargetException e) {
-			// This is a wrappered exception. Return the wrappered one so it looks like
-			// it was the real one.
-			IBeanTypeProxy exceptionTypeProxy =
-				((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(
-					e.getTargetException().getClass());
-			throw new IDEThrowableProxy(e.getTargetException(), exceptionTypeProxy);
-		} catch (Exception exc) {
-			IBeanTypeProxy exceptionTypeProxy =
-				((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(exc.getClass());
-			throw new IDEThrowableProxy(exc, exceptionTypeProxy);
-		}
-	}
-	/**
-	 * Invoke without throwing an exception
-	 */
-	public IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject, IBeanProxy argument) {
-		try {
-			return invoke(subject, argument);
-		} catch (ThrowableProxy exc) {
-			ProxyPlugin.getPlugin().getLogger().log(
-				new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", exc));
-		}
-		return null;
-	}
-	/**
-	 * Invoke the method with arguments.  The arguments will be IDEBeanProxy objects
-	 * ( because we are an IDEMethodProxy ) so we can cast to them and get the actual bean
-	 * objects themselves and use these to invoke against method which is the actual
-	 * java.lang.Reflect instance
-	 */
-	public IBeanProxy invoke(IBeanProxy subject, IBeanProxy[] arguments) throws ThrowableProxy {
-		Object[] beanArguments = new Object[arguments.length];
-		for (int i = 0; i < arguments.length; i++) {
-			if (arguments[i] != null) {
-				beanArguments[i] = ((IIDEBeanProxy) arguments[i]).getBean();
-			}
-		}
-		try {
-			Object result = ((Method) getBean()).invoke(subject != null ? ((IIDEBeanProxy) subject).getBean() : null, beanArguments);
-			if (result == null) {
-				return null;
-			} else {
-				Class returnType = ((Method) getBean()).getReturnType();
-				return getBeanProxy(returnType, result);
-			}
-		} catch (InvocationTargetException e) {
-			// This is a wrappered exception. Return the wrappered one so it looks like
-			// it was the real one.
-			IBeanTypeProxy exceptionTypeProxy =
-				((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(
-					e.getTargetException().getClass());
-			throw new IDEThrowableProxy(e.getTargetException(), exceptionTypeProxy);
-		} catch (Exception exc) {
-			IBeanTypeProxy exceptionTypeProxy =
-				((IDEStandardBeanTypeProxyFactory) fProxyFactoryRegistry.getBeanTypeProxyFactory()).getBeanTypeProxy(exc.getClass());
-			throw new IDEThrowableProxy(exc, exceptionTypeProxy);
-		}
-	}
-	/**
-	 * Invoke without throwing an exception
-	 */
-	public IBeanProxy invokeCatchThrowableExceptions(IBeanProxy subject, IBeanProxy[] arguments) {
-		try {
-			return invoke(subject, arguments);
-		} catch (ThrowableProxy exc) {
-			ProxyPlugin.getPlugin().getLogger().log(
-				new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", exc));
-		}
-		return null;
-	}
-	IBeanProxy getBeanProxy(Class returnType, Object bean) {
-		return fProxyFactoryRegistry.getBeanProxy(returnType, bean);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodProxyFactory.java
deleted file mode 100644
index df80a2e..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodProxyFactory.java
+++ /dev/null
@@ -1,153 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEMethodProxyFactory.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-import java.lang.reflect.*;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-public class IDEMethodProxyFactory implements IMethodProxyFactory {
-
-	final protected IDEProxyFactoryRegistry fProxyFactoryRegistry;
-	final protected static Map primLookup = new HashMap();
-	IDEBeanTypeProxy accessibleType, fieldType, methodType, constructorType;
-	// Cached copy of a few typical method type proxies.
-	static {
-		primLookup.put("int", Integer.TYPE); //$NON-NLS-1$
-		primLookup.put("char", Character.TYPE); //$NON-NLS-1$
-		primLookup.put("long", Long.TYPE); //$NON-NLS-1$
-		primLookup.put("short", Short.TYPE); //$NON-NLS-1$
-		primLookup.put("double", Double.TYPE); //$NON-NLS-1$
-		primLookup.put("boolean", Boolean.TYPE); //$NON-NLS-1$
-		primLookup.put("byte", Byte.TYPE); //$NON-NLS-1$
-		primLookup.put("float", Float.TYPE); //$NON-NLS-1$
-	}
-	IDEMethodProxyFactory(IDEProxyFactoryRegistry aRegistry) {
-		fProxyFactoryRegistry = aRegistry;
-		fProxyFactoryRegistry.registerMethodProxyFactory(this);
-		accessibleType = new IDEBeanTypeProxy(aRegistry, AccessibleObject.class);
-		fieldType = new IDEFieldTypeProxy(aRegistry);
-		methodType = new IDEMethodTypeProxy(aRegistry);
-		constructorType = new IDEConstructorTypeProxy(aRegistry);
-		fProxyFactoryRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(accessibleType, true);
-		fProxyFactoryRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(fieldType, true);
-		fProxyFactoryRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(methodType, true);
-		fProxyFactoryRegistry.getBeanTypeProxyFactory().registerBeanTypeProxy(constructorType, true);
-	}
-	/**
-	 * Return an instance of an IDEConstructorProxy
-	 * This is package protected because the only people who can use this are priveledge objects that
-	 * have the aMethod instance.  These are part of the idevm package only.
-	 * If you have to make this method public you are doing things incorrectly.  To get a method proxy
-	 * you must use the interface methods on IMethodProxyFactory to do lookup by string
-	 * or else on IBeanTypeProxy that has getMethod(String) as well
-	 */
-	IConstructorProxy getConstructorProxy(Constructor aConstructor) {
-
-		return (IConstructorProxy) constructorType.newBeanProxy(aConstructor);
-
-	}
-	IConstructorProxy getConstructorProxy(Class aClass, Class[] args) {
-
-		try {
-			Constructor ctor = aClass.getConstructor(args);
-			return getConstructorProxy(ctor);
-		} catch (NoSuchMethodException exc) {
-			return null;
-		}
-	}
-	/**
-	 * Return an instance of an IDEFieldProxy
-	 * This is package protected because the only people who can use this are priveledge objects that
-	 * have the aField instance.  These are part of the idevm package only.
-	 * If you have to make this method public you are doing things incorrectly.  To get a field proxy
-	 * you must use the interface methods on IBeanTypeProxy that has getField(String) as well
-	 */
-	IFieldProxy getFieldProxy(Field aField) {
-
-		return (IFieldProxy) fieldType.newBeanProxy(aField);
-
-	}
-	/**
-	 * Return an instance of an IDEMethodProxy
-	 * This is package protected because the only people who can use this are priveledge objects that
-	 * have the aMethod instance.  These are part of the idevm package only.
-	 * If you have to make this method public you are doing things incorrectly.  To get a method proxy
-	 * you must use the interface methods on IMethodProxyFactory to do lookup by string
-	 * or else on IBeanTypeProxy that has getMethod(String) as well
-	 */
-	IMethodProxy getMethodProxy(Method aMethod) {
-
-		return (IMethodProxy) methodType.newBeanProxy(aMethod);
-
-	}
-	public IMethodProxy getMethodProxy(String className, String methodName, String[] parameterTypes) {
-		try {
-			Class aClass = fProxyFactoryRegistry.loadClass(className);
-			return getMethodProxy(aClass, methodName, parameterTypes);
-		} catch (ClassNotFoundException exc) {
-			ProxyPlugin.getPlugin().getLogger().log(
-				new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", exc));
-			return null;
-		}
-	}
-	public IMethodProxy getMethodProxy(Class cls, String methodName, String[] parameterTypes) {
-		try {
-			Class[] parmClasses = null;
-			if (parameterTypes != null) {
-				parmClasses = new Class[parameterTypes.length];
-				for (int i = 0; i < parmClasses.length; i++) {
-					Class temp = (Class) primLookup.get(parameterTypes[i]);
-					if (temp == null)
-						temp = fProxyFactoryRegistry.loadClass(parameterTypes[i]);
-					parmClasses[i] = temp;
-				}
-			}
-			return getMethodProxy(cls.getMethod(methodName, parmClasses));
-		} catch (ClassNotFoundException e) {
-			ProxyPlugin.getPlugin().getLogger().log(
-				new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));
-		} catch (NoSuchMethodException e) {
-			ProxyPlugin.getPlugin().getLogger().log(
-				new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));
-		}
-		return null;
-	}
-	IMethodProxy getMethodProxy(Class aClass, String methodName, Class[] args) {
-		try {
-			Method method = aClass.getMethod(methodName, args);
-			return getMethodProxy(method);
-		} catch (NoSuchMethodException exc) {
-			ProxyPlugin.getPlugin().getLogger().log(
-				new Status(
-					IStatus.WARNING,
-					ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
-					0,
-					"Unable to find method " + aClass.getName() + ":" + methodName + " args=" + args,
-					exc));
-			return null;
-		}
-	}
-	IMethodProxy getMethodProxy(IDEBeanTypeProxy aTypeProxy, String methodName, String[] parameterTypes) {
-		return getMethodProxy(aTypeProxy.fClass, methodName, parameterTypes);
-	}
-	public void terminateFactory() {
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodTypeProxy.java
deleted file mode 100644
index 8e2c4aa..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEMethodTypeProxy.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEMethodTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-
-/**
- * @version 	1.0
- * @author
- */
-public class IDEMethodTypeProxy extends IDEBeanTypeProxy {
-	
-	IDEMethodTypeProxy(IDEProxyFactoryRegistry registry) {
-		super(registry, java.lang.reflect.Method.class);
-	}
-
-	/*
-	 * @see IDEBeanTypeProxy#newBeanProxy(Object)
-	 */
-	protected IIDEBeanProxy newBeanProxy(Object anObject) {
-		return new IDEMethodProxy(fProxyFactoryRegistry, (java.lang.reflect.Method) anObject);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDENumberBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDENumberBeanProxy.java
deleted file mode 100644
index 48f173c..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDENumberBeanProxy.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDENumberBeanProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * IDE Implementation of INumberBeanProxy for any Number (i.e. the non-primitives)
- * It can answer all of the primitive number types (int, long, short, byte, double, float).
- * Creation date: (2/6/00 9:02:54 AM)
- * @author: Joe Winchester
- */
-public class IDENumberBeanProxy extends IDEBeanProxy implements INumberBeanProxy {
-	private final Number fNumberValue;
-	protected IBeanTypeProxy fBeanTypeProxy;
-	
-/**
- * It is package protected because they are created
- * in a special way and no one else should create them.
- * @param aBean java.lang.Object
- */
-IDENumberBeanProxy(IDEProxyFactoryRegistry aRegistry, Number aNumber , IBeanTypeProxy aBeanTypeProxy) {
-	super(aRegistry,aNumber);
-	fNumberValue = aNumber;
-	fBeanTypeProxy = aBeanTypeProxy;
-}
-/**
- * equals: Equal if:
- *         1) This proxy == (identity) to the other object
- *         2) Else if other is an IBeanProxy and not a constant one, then if
- *            equals on the server.
- *         3) If this is a constant proxy and the other is too or is a constant
- *            value (e.g. IStringBeanProxy.equals(String), then true if values are equals.
- */
-public boolean equals(Object anObject) {
-	if (this == anObject)
-		return true;	// Identity
-	if (anObject instanceof IDENumberBeanProxy)
-		return fNumberValue.equals(((IDENumberBeanProxy) anObject).numberValue());
-	if (anObject instanceof Number)
-		return fNumberValue.equals((Number) anObject);
-	return false;
-}
-/**
- * byteValue method comment.
- */
-public byte byteValue() {
-	return fNumberValue.byteValue();
-}
-/**
- * doubleValue method comment.
- */
-public double doubleValue() {
-	return fNumberValue.doubleValue();
-}
-/**
- * floatValue method comment.
- */
-public float floatValue() {
-	return fNumberValue.floatValue();
-}
-/**
- * Return the int value
- */
-public int intValue() {
-	return fNumberValue.intValue();
-}
-/**
- * longValue method comment.
- */
-public long longValue() {
-	return fNumberValue.longValue();
-}
-/**
- * numberValue method comment.
- */
-public Number numberValue() {
-	return fNumberValue;
-}
-/**
- * shortValue method comment.
- */
-public short shortValue() {
-	return fNumberValue.shortValue();
-}
-
-/**
- * The bean's toString.
- */
-public String toBeanString() {
-	return fNumberValue.toString();
-}
-public IBeanTypeProxy getTypeProxy(){
-	return fBeanTypeProxy;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDENumberBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDENumberBeanTypeProxy.java
deleted file mode 100644
index aadd6af..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDENumberBeanTypeProxy.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDENumberBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Number BeanType Proxy.
- */
-public abstract class IDENumberBeanTypeProxy extends IDEBeanTypeProxy {
-	protected final IDENumberBeanProxy zeroProxy;
-/**
- * IDENumberBeanTypeProxy constructor comment.
- * @param aRegistry com.ibm.etools.vce.proxy.ProxyFactoryRegistry
- * @param aClass java.lang.Class
- */
-protected IDENumberBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass, Number zeroNumber) {
-	super(aRegistry, aClass);
-	// Cache a zero proxy of this type (though the number will be Long).
-	zeroProxy = new IDENumberBeanProxy(aRegistry, zeroNumber , this);
-}
-/**
- * Helper to create a bean proxy
- * Package protected because everyone should go through the factory API
- * that is defined as part of IBeanProxyFactory
- */
-INumberBeanProxy createNumberBeanProxy(Number aNumber) {
-	if (aNumber == null || zeroProxy.fBean.equals(aNumber))
-		return zeroProxy;
-	return new IDENumberBeanProxy(fProxyFactoryRegistry, aNumber, this);
-}
-/**
- * Specialized from IDEBeanTypeProxy to ensure INumberBeanProxies are created correctly.
- */
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
-	return (IIDEBeanProxy)createNumberBeanProxy((Number) anObject);
-
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEObjectBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEObjectBeanProxy.java
deleted file mode 100644
index 41140cb..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEObjectBeanProxy.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEObjectBeanProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-public class IDEObjectBeanProxy extends IDEBeanProxy {
-
-	protected IBeanTypeProxy fBeanTypeProxy; // Cache the type proxy for speed
-	
-protected IDEObjectBeanProxy(IDEProxyFactoryRegistry aRegistry){
-	super(aRegistry);
-}
-/**
- * Constructor that lets the bean type be set on creation.
- * This saves the overhead of it being looked up the first time it is asked for.
- *
- * This is protected because the only person
- * who should use it is the IDEBeanTypeProxy or a subclass.  Making it package protected stops people from
- * writing bogus code and doing casts and slamming new beans in without going through the proper API
- * that is based around any kind of VM artifact being proxied to support target VMs and pluggable JDK
- * levels 
- */
-protected IDEObjectBeanProxy(IDEProxyFactoryRegistry aRegistry, Object aBean, IBeanTypeProxy aBeanTypeProxy){
-	
-	this(aRegistry, aBean);
-	fBeanTypeProxy = aBeanTypeProxy;
-	
-}
-/**
- * Set the bean we are proxying.  We are a proxy for a bean running on the same IDE
- * so we hold the bean directly and can return it. 
- */
-protected IDEObjectBeanProxy(IDEProxyFactoryRegistry aRegistry, Object aBean){
-	this(aRegistry);
-	
-	fBean = aBean;
-	
-}
-/**
- * The type proxy is got from our class name
- * If we have the type return it, otherwise go the factory for it
- * Don't new it up because the factory must be responsible for creating type proxies as it
- * has to perform instance management on them
- */
-public IBeanTypeProxy getTypeProxy() {
-
-	if ( fBeanTypeProxy == null ) {	
-		fBeanTypeProxy = fProxyFactoryRegistry.getBeanTypeProxyFactory().getBeanTypeProxy( fBean.getClass().getName() );
-	}
-	return fBeanTypeProxy;
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEPrimitiveBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEPrimitiveBeanTypeProxy.java
deleted file mode 100644
index 86bf426..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEPrimitiveBeanTypeProxy.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEPrimitiveBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-
-public abstract class IDEPrimitiveBeanTypeProxy extends IDEBeanTypeProxy {
-	
-	static final int BOOLEAN = 1;
-	static final int BYTE = 2;
-	static final int CHAR = 3;
-	static final int DOUBLE = 4;
-	static final int FLOAT = 5;
-	static final int INTEGER = 6;
-	static final int LONG = 7;
-	static final int SHORT = 8;
-	
-public IDEPrimitiveBeanTypeProxy(IDEProxyFactoryRegistry aRegistry,Class aClass){
-	super(aRegistry,aClass);
-}
-public boolean isPrimitive() {
-	return true;
-}
-abstract int getPrimitiveType();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEProxyFactoryRegistry.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEProxyFactoryRegistry.java
deleted file mode 100644
index c942d35..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEProxyFactoryRegistry.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEProxyFactoryRegistry.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import java.net.URL;
-import java.net.URLClassLoader;
-
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * This implementation runs the Beans inside the Eclipse IDE
- * It should only be used by plugins that can guarantee their their beans do
- * not change during the lifetime of the IDE and can run at the same JDK level
- * that the Eclipse IDE is running
- */
-
-public class IDEProxyFactoryRegistry extends org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry {
-
-	protected String fName;
-	protected ClassLoader fClassLoader;
-	protected IDECallbackRegistry fCallbackRegistry;
-
-/**
- * Create a special loader that has the plugin classloader of the passed in plugin
- * as the parent loader, plus all of the urls, plus the remotevm.jar file that is
- * needed by IDE Proxy to work.
- */	
-public static ClassLoader createSpecialLoader(String pluginName, URL[] otherURLs) {
-	IPluginRegistry registry = Platform.getPluginRegistry();
-	// Get the class loader from the plugin.  This is because Class.forName
-	// does not work in Eclipse
-	ClassLoader loader = null;
-	if (pluginName != null && registry.getPluginDescriptor(pluginName) != null ) {
-		loader = registry.getPluginDescriptor(pluginName).getPluginClassLoader();
-	}
-	
-	URL[] mustHaveUrls = ProxyPlugin.getPlugin().urlLocalizeFromPluginDescriptorAndFragments(ProxyPlugin.getPlugin().getDescriptor(), "vm/remotevm.jar"); //$NON-NLS-1$
-	
-	URL[] urls = null;
-	if (otherURLs != null) {
-		urls = new URL[otherURLs.length+mustHaveUrls.length];
-		System.arraycopy(mustHaveUrls, 0, urls, 0, mustHaveUrls.length);
-		System.arraycopy(otherURLs, 0, urls, mustHaveUrls.length, otherURLs.length);
-	} else 
-		urls = mustHaveUrls;
-		
-	loader = loader != null ? 
-		new URLClassLoader(urls, loader) : new URLClassLoader(urls);
-	
-	return loader;
-}
-
-public IDEProxyFactoryRegistry(String aName, ClassLoader loader) {
-	fName = aName;
-	fClassLoader = loader;
-}
-
-ClassLoader getPluginClassLoader(){
-	return fClassLoader;
-}
-
-public void registryTerminated(){	
-}
-Class loadClass(String aClassName) throws ClassNotFoundException, ExceptionInInitializerError, LinkageError {
-	return fClassLoader.loadClass(aClassName);
-}
-
-public ICallbackRegistry getCallbackRegistry(){
-	if ( fCallbackRegistry == null ){
-		fCallbackRegistry = new IDECallbackRegistry(this);
-	}
-	return fCallbackRegistry;
-}
-
-
-/**
- * Get a bean proxy from the bean of the correct type.
- * 
- * @param returnType
- * @param bean
- * @return
- * 
- * @since 1.0.0
- */
-IBeanProxy getBeanProxy(Class returnType, Object bean) {
-	IDEStandardBeanTypeProxyFactory proxyFactory = (IDEStandardBeanTypeProxyFactory) this.getBeanTypeProxyFactory();
-	if (!returnType.isPrimitive()) {
-		return IDEStandardBeanProxyFactory.createBeanProxy(this, bean);
-	} else if (returnType == Integer.TYPE) {
-		return proxyFactory.intType.newBeanProxy(bean);
-	} else if (returnType == Boolean.TYPE) {
-		return proxyFactory.booleanType.newBeanProxy(bean);
-	} else if (returnType == Float.TYPE) {
-		return proxyFactory.floatType.newBeanProxy(bean);
-	} else if (returnType == Long.TYPE) {
-		return proxyFactory.longType.newBeanProxy(bean);
-	} else if (returnType == Short.TYPE) {
-		return proxyFactory.shortType.newBeanProxy(bean);
-	} else if (returnType == Double.TYPE) {
-		return proxyFactory.doubleType.newBeanProxy(bean);
-	} else if (returnType == Byte.TYPE) {
-		return proxyFactory.byteType.newBeanProxy(bean);
-	} else if (returnType == Character.TYPE) {
-		return proxyFactory.charType.newBeanProxy(bean);
-	} else {
-		throw new RuntimeException("Unknown primitive type " + returnType.getName()); //$NON-NLS-1$
-	}
-}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDERegistration.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDERegistration.java
deleted file mode 100644
index c1b2a89..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDERegistration.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDERegistration.java,v $
- *  $Revision: 1.4 $  $Date: 2004/03/07 17:21:42 $ 
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.JavaRuntime;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.ide.awt.IDERegisterAWT;
-import org.eclipse.jem.internal.proxy.remote.LocalFileConfigurationContributorController;
-/**
- * This is the registration class for starting an IDERemote VM.
- */
-
-public class IDERegistration {
-	
-	public static ProxyFactoryRegistry startAnImplementation(
-		IConfigurationContributor[] contributors,
-		boolean attachAWT,
-		IProject project,
-		String vmName,
-		String pluginName,
-		IProgressMonitor pm) throws CoreException {
-			IDERegistration idereg = new IDERegistration(pluginName);
-			return idereg.startImplementation(contributors, attachAWT, project, vmName, pm); 
-		}
-	
-	public IDERegistration() {
-	}
-	
-	private IDERegistration(String pluginName) {
-		this.pluginName = pluginName;
-	}
-	private String pluginName;	
-
-	/**
-	 * This will create a remote VM and return an initialized REMProxyFactoryRegistry.
-	 * Passed in are:
-	 *      project: The project this is being started on. Must not be null and must be a JavaProject. (Currently ignored for IDE).
-	 *      attachAWT: Should AWT be attached to this implementation.
-	 *      contributors: Contributors to the configuration. Can be null.
-	 *      pm: ProgressMonitor to use. Must not be null.
-	 *      vmName: Name for the vm. Can be null.
-	 */
-	public ProxyFactoryRegistry startImplementation(
-		IConfigurationContributor[] contributors,
-		boolean attachAWT,
-		IProject project,
-		String vmName,
-		IProgressMonitor pm)
-		throws CoreException {
-
-		String[] classPaths = null;
-		IJavaProject javaProject = null;
-		if (project != null) {
-			javaProject = JavaCore.create(project);
-			// Add in the paths for the project	 	
-			classPaths = JavaRuntime.computeDefaultRuntimeClassPath(javaProject);
-		} else
-			classPaths = new String[0];
-
-		final IJavaProject jp = javaProject;
-
-		// Add in any classpaths the contributors want to add.
-		if (contributors != null) {
-			ProxyLaunchSupport.LaunchInfo launchInfo = new ProxyLaunchSupport.LaunchInfo();
-			LocalFileConfigurationContributorController controller = new LocalFileConfigurationContributorController(jp, classPaths, new String[3][], launchInfo);
-			for (int i = 0; i < contributors.length; i++) {
-				contributors[i].contributeClasspaths(controller);
-			}
-			classPaths = controller.getFinalClasspath();
-		}
-
-		URL[] othersURLs = new URL[classPaths.length];
-		for (int i = 0; i < othersURLs.length; i++) {
-			String path = (String) classPaths[i];
-			// These are paths to file system, so just put "file:" on front to turn into URL.
-			try {
-				othersURLs[i] = new URL("file:" + path);
-			} catch (MalformedURLException e) {
-				e.printStackTrace();
-			}
-		}
-		ProxyFactoryRegistry registry = createIDEProxyFactoryRegistry(vmName, pluginName, othersURLs);
-		// Contribute to the registry from contributors.
-		if (contributors != null) {
-			for (int i = 0; i < contributors.length; i++) {
-				contributors[i].contributeToRegistry(registry);
-			}
-		}
-
-		return registry;
-	}
-
-	public static ProxyFactoryRegistry createIDEProxyFactoryRegistry(String aName, String aPluginName, URL[] otherURLs) {
-		// Create the registry.
-		IDEProxyFactoryRegistry registry =
-			new IDEProxyFactoryRegistry(aName, IDEProxyFactoryRegistry.createSpecialLoader(aPluginName, otherURLs));
-		initRegistry(registry);
-		return registry;
-	}
-
-	public static ProxyFactoryRegistry createIDEProxyFactoryRegistry(String aName, ClassLoader loader) {
-		// Create the registry.
-		IDEProxyFactoryRegistry registry = new IDEProxyFactoryRegistry(aName, loader);
-		initRegistry(registry);
-		return registry;
-	}
-
-	private static void initRegistry(IDEProxyFactoryRegistry registry) {
-		new IDEStandardBeanTypeProxyFactory(registry);
-		new IDEStandardBeanProxyFactory(registry);
-		new IDEMethodProxyFactory(registry);
-		// Always support AWT for now
-		IDERegisterAWT.registerAWT(registry);
-	}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEShortClassBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEShortClassBeanTypeProxy.java
deleted file mode 100644
index 06a57ef..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEShortClassBeanTypeProxy.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEShortClassBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Short BeanType Proxy.
- */
-final class IDEShortClassBeanTypeProxy extends IDENumberBeanTypeProxy {
-protected IDEShortClassBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass, new Short((short)0));
-}
-INumberBeanProxy createShortBeanProxy(Short aShort){
-	return new IDENumberBeanProxy(fProxyFactoryRegistry,aShort,this);
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEShortTypeBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEShortTypeBeanTypeProxy.java
deleted file mode 100644
index eddaf6c..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEShortTypeBeanTypeProxy.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEShortTypeBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Short BeanType Proxy.
- */
-final class IDEShortTypeBeanTypeProxy extends IDEPrimitiveBeanTypeProxy {
-protected IDEShortTypeBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass);
-}
-INumberBeanProxy createShortBeanProxy(short aShort){
-	return new IDENumberBeanProxy(fProxyFactoryRegistry,new Short(aShort),this);
-}
-int getPrimitiveType(){
-	return SHORT;
-}
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-	Number n = anObject instanceof Character ? new Short((short) ((Character) anObject).charValue()) : (Number) anObject;
-	return new IDENumberBeanProxy(fProxyFactoryRegistry, n, this);
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanProxyFactory.java
deleted file mode 100644
index 737ba45..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanProxyFactory.java
+++ /dev/null
@@ -1,219 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/***************************************************************************************************
- * Copyright (c) 2001, 2003 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
- **************************************************************************************************/
-/*
- * $RCSfile: IDEStandardBeanProxyFactory.java,v $ $Revision: 1.3 $ $Date: 2004/02/20 00:44:05 $
- */
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.initParser.InitializationStringParser;
-
-public class IDEStandardBeanProxyFactory implements IStandardBeanProxyFactory {
-
-	protected IDEProxyFactoryRegistry fRegistry;
-	protected IDEStandardBeanTypeProxyFactory fBeanTypeProxyFactory;
-	
-	/*
-	 * Return a bean proxy for the argument. To do this create through the correct BeanTypeProxy
-	 * Which ensures that special subclasses of IDEBeanProxy are created. This is just a local
-	 * helper method.
-	 */
-	static IIDEBeanProxy createBeanProxy(ProxyFactoryRegistry aRegistry, Object anObject) {
-
-		return ((IDEStandardBeanProxyFactory) aRegistry.getBeanProxyFactory()).createIDEBeanProxyWith(anObject);
-	}
-	
-	IDEStandardBeanProxyFactory(IDEProxyFactoryRegistry aRegistry) {
-		fRegistry = aRegistry;
-		fRegistry.registerBeanProxyFactory(this);
-		fBeanTypeProxyFactory = (IDEStandardBeanTypeProxyFactory) aRegistry.getBeanTypeProxyFactory();
-	}
-	
-	public IStringBeanProxy createBeanProxyWith(String aString) {
-		return fBeanTypeProxyFactory.stringClass.createStringBeanProxy(aString);
-	}
-	
-	public INumberBeanProxy createBeanProxyWith(float aFloat) {
-		return fBeanTypeProxyFactory.floatType.createFloatBeanProxy(aFloat);
-	}
-	
-	public INumberBeanProxy createBeanProxyWith(short aShort) {
-		return fBeanTypeProxyFactory.shortType.createShortBeanProxy(aShort);
-	}
-	
-	public ICharacterBeanProxy createBeanProxyWith(char aChar) {
-		return fBeanTypeProxyFactory.charType.createCharBeanProxy(aChar);
-	}
-	
-	public ICharacterBeanProxy createBeanProxyWith(Character aCharacter) {
-		return fBeanTypeProxyFactory.charClass.createCharacterBeanProxy(aCharacter);
-	}
-	
-	public IIntegerBeanProxy createBeanProxyWith(int anInt) {
-		return fBeanTypeProxyFactory.intType.createIntegerBeanProxy(anInt);
-	}
-	
-	public IIntegerBeanProxy createBeanProxyWith(Integer anInteger) {
-		return fBeanTypeProxyFactory.integerClass.createIntegerBeanProxy(anInteger);
-	}
-	
-	public INumberBeanProxy createBeanProxyWith(long aLong) {
-		return fBeanTypeProxyFactory.longType.createLongBeanProxy(aLong);
-	}
-	
-	public INumberBeanProxy createBeanProxyWith(Number aNumber) {
-		IDENumberBeanTypeProxy numberTypeProxy = (IDENumberBeanTypeProxy) fBeanTypeProxyFactory.getBeanTypeProxy(aNumber.getClass());
-		return numberTypeProxy.createNumberBeanProxy(aNumber);
-	}
-	
-	public IBooleanBeanProxy createBeanProxyWith(boolean aBoolean) {
-		return fBeanTypeProxyFactory.booleanType.createBooleanBeanProxy(aBoolean);
-	}
-	
-	public IBooleanBeanProxy createBeanProxyWith(Boolean aBoolean) {
-		return fBeanTypeProxyFactory.booleanClass.createBooleanBeanProxy(aBoolean);
-	}
-	
-	public INumberBeanProxy createBeanProxyWith(byte aByte) {
-		return fBeanTypeProxyFactory.byteType.createByteBeanProxy(aByte);
-	}
-	
-	public INumberBeanProxy createBeanProxyWith(double aDouble) {
-		return fBeanTypeProxyFactory.doubleType.createDoubleBeanProxy(aDouble);
-	}
-
-	/**
-	 * Create a one-dimensional array. The result will be the same as calling
-	 * createBeanProxyWith(IBeanTypeProxy type, new int[1] {x}) where 'x' is the value passed in as
-	 * the dimension.
-	 */
-	public IArrayBeanProxy createBeanProxyWith(IBeanTypeProxy type, int dimension) throws ThrowableProxy {
-		return createBeanProxyWith(type, new int[] { dimension });
-	}
-	
-	/**
-	 * Create an array bean proxy.
-	 *  - (int, new int[2] {3, 4}) will create: int [3] [4]
-	 *  - (int[], new int[1] {1}) int [1]
-	 *  - (int[], new int[2] {2,3}) int [2] [3]
-	 * 
-	 *  - (int[], null) or (int[], new int[0]) or (int, null) or (int, new int[0]) int [0]... or
-	 * (int[][]..., null) or (int[][]..., new int[0]) int[0][]... This is because an array instance
-	 * with no specified dimensions is not valid.
-	 *  - (int[][], new int[1] {3}) int[3][]
-	 */
-	public IArrayBeanProxy createBeanProxyWith(IBeanTypeProxy type, int[] dimensions) throws ThrowableProxy {
-		if (type.isArray())
-			return ((IDEArrayBeanTypeProxy) type).createBeanProxyWith(dimensions); // Already an
-																				   // array type,
-																				   // just pass it
-																				   // on.
-		else {
-			// It is not an array type, so we need to get an array of this type and dimensions.
-			IDEArrayBeanTypeProxy arrayType =
-				(IDEArrayBeanTypeProxy) fBeanTypeProxyFactory.getBeanTypeProxy(type.getTypeName(), dimensions.length);
-			return arrayType.createBeanProxyWith(dimensions);
-		}
-	}
-	
-	public void releaseProxy(IBeanProxy aProxy) {
-		// Do nothing. This is more for remote proxies
-	}
-	
-	/**
-	 * createIDEBeanProxyWith method comment. This is not part of the IStandardBeanProxyFactory
-	 * interface. It is available only from IDEBeanProxyFactory so that IDE registered extensions
-	 * can wrapper a bean. They will need to get current and explicitly cast to
-	 * IDEBeanProxyFactory, so they should only be IDE types themselves.
-	 */
-	public IIDEBeanProxy createIDEBeanProxyWith(Object anObject) {
-		if (anObject == null)
-			return null;
-		return ((IDEBeanTypeProxy) fBeanTypeProxyFactory.getBeanTypeProxy(anObject.getClass())).newBeanProxy(anObject);
-	}
-	
-	/**
-	 * For the IDE Factory we will create an IDEBeanProxy using the initializationString. If the
-	 * format of the string is not one we understand, pass it onto the evaluator. The
-	 * initStringParser is passed to allow shortcut evaluation. Package protected so only
-	 * IDEBeanTypeProxies can create instances.
-	 */
-	IBeanProxy createBeanProxy(IDEBeanTypeProxy aTypeProxy, String initializationString) {
-		if (initializationString.equals("null")) //$NON-NLS-1$
-			return null; // Value is initialized as null.
-		// We have to evaluate the result of the initializationString
-		try {
-			ClassLoader pluginClassLoader = fRegistry.getPluginClassLoader();
-			Object newValue = InitializationStringParser.evaluate(initializationString, pluginClassLoader);
-			return newValue != null ? aTypeProxy.newBeanProxy(newValue) : null;
-		} catch (Exception exc) {
-			ProxyPlugin.getPlugin().getLogger().log(
-				new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", exc));
-			return null;
-		}
-	}
-	
-	/**
-	 * For the IDE Factory we will create an IDEBeanProxy using the null constructor Package
-	 * protected so only IDEBeanTypeProxies can create instances.
-	 */
-	IBeanProxy createBeanProxy(IDEBeanTypeProxy aTypeProxy) {
-
-		Class beanType = aTypeProxy.fClass;
-
-		// If the beanType is a primitive, the creation will fail because you can't
-		// create a primitive without a value.
-		try {
-			return aTypeProxy.newBeanProxy(!(aTypeProxy.isPrimitive()) ? beanType.newInstance() : null);
-		} catch (Exception exc) {
-			ProxyPlugin.getPlugin().getLogger().log(
-				new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", exc));
-			return null;
-		}
-	}
-	
-	public void terminateFactory() {
-		// Nothing really to do here - more applicable to remote proxy factories
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.core.IStandardBeanProxyFactory#createExpression()
-	 */
-	public IExpression createExpression() {
-		return new IDEExpression(this.fRegistry);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IStandardBeanProxyFactory#createBeanProxyFrom(java.lang.String)
-	 */
-	public IBeanProxy createBeanProxyFrom(String initializationString) throws ThrowableProxy {
-		if (initializationString.equals("null")) //$NON-NLS-1$
-			return null; // Value is initialized as null.
-		// We have to evaluate the result of the initializationString
-		try {
-			ClassLoader pluginClassLoader = fRegistry.getPluginClassLoader();
-			InitializationStringParser parser = InitializationStringParser.createParser(initializationString, pluginClassLoader);
-			Object newValue = parser.evaluate();
-			if (newValue != null) {
-				return fRegistry.getBeanProxy(parser.getExpectedType(), newValue);
-			} else 
-				return null;
-		} catch (Exception exc) {
-			ProxyPlugin.getPlugin().getLogger().log(
-					new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", exc));
-			return null;
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanTypeProxyFactory.java
deleted file mode 100644
index 70d3dab..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,363 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEStandardBeanTypeProxyFactory.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/20 00:44:05 $ 
- */
-
-import java.lang.reflect.Array;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-public class IDEStandardBeanTypeProxyFactory implements IStandardBeanTypeProxyFactory {
-	
-	protected final IDEProxyFactoryRegistry fFactoryRegistry;
-
-	// Hashtable to cache proxies for classes so they are found on second and subsequent lookups
-	protected Map beanProxies;
-			
-	public static Map MAP_SHORTSIG_TO_TYPE = new HashMap(8);
-	public static Map MAP_TYPENAME_TO_SHORTSIG = new HashMap(8);	
-	
-	static {
-		MAP_SHORTSIG_TO_TYPE.put("B", Byte.TYPE); //$NON-NLS-1$
-		MAP_SHORTSIG_TO_TYPE.put("C", Character.TYPE); //$NON-NLS-1$
-		MAP_SHORTSIG_TO_TYPE.put("D", Double.TYPE);		 //$NON-NLS-1$
-		MAP_SHORTSIG_TO_TYPE.put("F", Float.TYPE); //$NON-NLS-1$
-		MAP_SHORTSIG_TO_TYPE.put("I", Integer.TYPE); //$NON-NLS-1$
-		MAP_SHORTSIG_TO_TYPE.put("J", Long.TYPE); //$NON-NLS-1$
-		MAP_SHORTSIG_TO_TYPE.put("S", Short.TYPE); //$NON-NLS-1$
-		MAP_SHORTSIG_TO_TYPE.put("Z", Boolean.TYPE); //$NON-NLS-1$
-		
-		MAP_TYPENAME_TO_SHORTSIG.put("byte","B"); //$NON-NLS-1$ //$NON-NLS-2$
-		MAP_TYPENAME_TO_SHORTSIG.put("char","C"); //$NON-NLS-1$ //$NON-NLS-2$
-		MAP_TYPENAME_TO_SHORTSIG.put("double","D"); //$NON-NLS-1$ //$NON-NLS-2$
-		MAP_TYPENAME_TO_SHORTSIG.put("float","F"); //$NON-NLS-1$ //$NON-NLS-2$
-		MAP_TYPENAME_TO_SHORTSIG.put("int","I"); //$NON-NLS-1$ //$NON-NLS-2$
-		MAP_TYPENAME_TO_SHORTSIG.put("long","J"); //$NON-NLS-1$ //$NON-NLS-2$
-		MAP_TYPENAME_TO_SHORTSIG.put("short","S"); //$NON-NLS-1$ //$NON-NLS-2$
-		MAP_TYPENAME_TO_SHORTSIG.put("boolean","Z"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-	// Cached copy of a few typical bean type proxies.
-	IDEBeanTypeProxy objectClass;
-	IDEBooleanTypeBeanTypeProxy booleanType;
-	IDEBooleanClassBeanTypeProxy booleanClass;
-	IDEIntegerTypeBeanTypeProxy intType;
-	IDEIntegerClassBeanTypeProxy integerClass;
-	IDEFloatTypeBeanTypeProxy floatType;
-	IDEFloatClassBeanTypeProxy floatClass;	
-	IDELongTypeBeanTypeProxy longType;
-	IDELongClassBeanTypeProxy longClass;
-	IDEShortTypeBeanTypeProxy shortType;
-	IDEShortClassBeanTypeProxy shortClass;
-	IDEByteTypeBeanTypeProxy byteType;
-	IDEByteClassBeanTypeProxy byteClass;	
-	IDECharTypeBeanTypeProxy charType;
-	IDECharacterClassBeanTypeProxy charClass;	
-	IDEDoubleTypeBeanTypeProxy doubleType;
-	IDEDoubleClassBeanTypeProxy doubleClass;	
-	
-	IDEStringBeanTypeProxy stringClass;
-	IDEClassBeanTypeProxy classClass;
-	IDEBeanTypeProxy voidType;
-
-public IDEStandardBeanTypeProxyFactory(IDEProxyFactoryRegistry aRegistry) {
-	fFactoryRegistry = aRegistry;
-	aRegistry.registerBeanTypeProxyFactory(this);
-
-	// Now initialize the cache.
-	objectClass = new IDEBeanTypeProxy(fFactoryRegistry,Object.class);
-	booleanType = new IDEBooleanTypeBeanTypeProxy(fFactoryRegistry, Boolean.TYPE);
-	booleanClass = new IDEBooleanClassBeanTypeProxy(fFactoryRegistry, Boolean.class);	
-	intType = new IDEIntegerTypeBeanTypeProxy(fFactoryRegistry, Integer.TYPE);
-	integerClass = new IDEIntegerClassBeanTypeProxy(fFactoryRegistry, Integer.class);
-	floatType = new IDEFloatTypeBeanTypeProxy(fFactoryRegistry,Float.TYPE);
-	floatClass = new IDEFloatClassBeanTypeProxy(fFactoryRegistry,Float.class);
-	longType = new IDELongTypeBeanTypeProxy(fFactoryRegistry,Long.TYPE);
-	longClass = new IDELongClassBeanTypeProxy(fFactoryRegistry,Long.class);
-	shortType = new IDEShortTypeBeanTypeProxy(fFactoryRegistry,Short.TYPE);
-	shortClass = new IDEShortClassBeanTypeProxy(fFactoryRegistry,Short.class);
-	byteType = new IDEByteTypeBeanTypeProxy(fFactoryRegistry,Byte.TYPE);
-	byteClass = new IDEByteClassBeanTypeProxy(fFactoryRegistry,Byte.class);
-	charType = new IDECharTypeBeanTypeProxy(fFactoryRegistry,Character.TYPE);
-	charClass = new IDECharacterClassBeanTypeProxy(fFactoryRegistry,Character.class);
-	doubleType = new IDEDoubleTypeBeanTypeProxy(fFactoryRegistry,Double.TYPE);
-	doubleClass = new IDEDoubleClassBeanTypeProxy(fFactoryRegistry,Double.class);
-	stringClass = new IDEStringBeanTypeProxy(fFactoryRegistry, String.class);
-	classClass = new IDEClassBeanTypeProxy(fFactoryRegistry,java.lang.Class.class);
-	voidType = new IDEBeanTypeProxy(fFactoryRegistry, Void.TYPE);
-
-	// Initialize the hashtable with the primitives, their lang equivalents, and also common classes like String
-	beanProxies = new HashMap(20);
-
-	// Primitives
-	beanProxies.put(intType.getTypeName(), intType);
-	beanProxies.put(booleanType.getTypeName(), booleanType);
-	beanProxies.put(charType.getTypeName(), charType); 
-	beanProxies.put(byteType.getTypeName(), byteType); 
-	beanProxies.put(shortType.getTypeName(), shortType); 
-	beanProxies.put(longType.getTypeName(), longType); 
-	beanProxies.put(floatType.getTypeName(), floatType); 
-	beanProxies.put(doubleType.getTypeName(), doubleType); 
-
-	// java.lang primitive peers
-	// Note that special classes are used for some of these which allow the IDE to get the
-	// lang objects from the objects that are holding proxies
-	beanProxies.put(integerClass.getTypeName(), integerClass);
-	beanProxies.put(booleanClass.getTypeName(), booleanClass);
-	beanProxies.put(charClass.getTypeName(), charClass); 
-	beanProxies.put(byteClass.getTypeName(), byteClass); 
-	beanProxies.put(shortClass.getTypeName(), shortClass);
-	beanProxies.put(longClass.getTypeName(), longClass); 
-	beanProxies.put(floatClass.getTypeName(), floatClass); 
-	beanProxies.put(doubleClass.getTypeName(), doubleClass);
-	beanProxies.put(BigDecimal.class.getName(), new IDEBigDecimalBeanTypeProxy(fFactoryRegistry, BigDecimal.class));//$NON-NLS-1$
-	beanProxies.put(BigInteger.class.getName(), new IDEBigIntegerBeanTypeProxy(fFactoryRegistry, BigInteger.class));//$NON-NLS-1$		
-	beanProxies.put(stringClass.getTypeName(), stringClass);
-	
-	beanProxies.put(classClass.getTypeName(), classClass); 
-	beanProxies.put(voidType.getTypeName(), voidType); 
-}
-/**
- * We are an IDE proxy and know that the type is in the same VM as the IDE.
- * the IDEBeanTypeProxy object
- * NOTE This is package protected because the only person who can call it are priveledged classes
- * that are also creating things in an IDEProxy environment.
- * If anyone needs to make this method public they are doing the wrong thing as they should use the
- * public method getBeanTypeProxy(String) that is on the interface.  The only other object that can
- * guarantee that they have the class for the argument are those that are part of the idevm package
- */
-IBeanTypeProxy getBeanTypeProxy(Class anIDEClass) {
-	return getBeanTypeProxy(anIDEClass.getName());
-
-}
-/**
- * We are an IDE proxy and know that the type is in the same VM as the IDE.
- * the IDEBeanTypeProxy object
- */
-public synchronized IBeanTypeProxy getBeanTypeProxy(String typeName) {
-	typeName = getJNIFormatName(typeName);
-
-	// See whether we already have the proxy for the argument name
-	IBeanTypeProxy beanTypeProxy = (IBeanTypeProxy) beanProxies.get(typeName);
-	if (beanTypeProxy != null) {
-		return beanTypeProxy;
-	}
-	
-	// If not an array, then see if the package extension mechanism can find it.
-	// Do this here so that if it is found in the package extension we won't necessarily create an
-	// extra connection when not needed.
-	if (typeName.charAt(0) != '[') {
-		// It is not an array
-		// First check with the factory for the package of the class.
-		// Inner classes have to use the dollar notation since if they didn't we couldn't tell where
-		// the package ended and the class started.
-		int packageIndex = typeName.lastIndexOf('.');
-		if (packageIndex != -1) {
-			String packageName = typeName.substring(0, packageIndex);
-			IDEExtensionBeanTypeProxyFactory packageFactory = (IDEExtensionBeanTypeProxyFactory)fFactoryRegistry.getBeanTypeProxyFactoryExtension(packageName);
-			if (packageFactory != null) {
-				beanTypeProxy = packageFactory.getExtensionBeanTypeProxy(typeName);
-				if (beanTypeProxy != null) {
-					registerBeanTypeProxy(beanTypeProxy, false);
-					return beanTypeProxy;
-				}
-			}
-		}
-		// There was not a registered factory that dealt with the class.  Load it using the factory
-		// registry which has the plugin's class loader
-		try {
-			Class ideClass = fFactoryRegistry.loadClass(typeName);
-			IDEBeanTypeProxy superTypeProxy = null;
-			if (ideClass.getSuperclass() != null) {
-				// Get the beantype proxy of the superclass.
-				superTypeProxy = (IDEBeanTypeProxy) getBeanTypeProxy(ideClass.getSuperclass());
-			}
-			
-			// Ask the supertype
-			// to create a beantype proxy of the same beantype proxy class.
-			// This is so that any subclasses will get the same beantype proxy class
-			// for it if it is special.			
-			if (superTypeProxy != null)
-				beanTypeProxy = superTypeProxy.newBeanTypeForClass(ideClass);
-			
-			if (beanTypeProxy == null) 
-				beanTypeProxy = new IDEBeanTypeProxy(fFactoryRegistry, ideClass);
-		} catch (ClassNotFoundException e) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.INFO, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));
-			String msg = MessageFormat.format("{0}({1})", new Object[] {e.getClass(), e.getMessage()}); //$NON-NLS-1$
-			beanTypeProxy = new IDEInitErrorBeanTypeProxy(fFactoryRegistry, typeName, msg);
-		} catch (ExceptionInInitializerError e) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));
-			String msg = MessageFormat.format("{0}({1})", new Object[] {e.getClass(), e.getMessage()}); //$NON-NLS-1$
-			beanTypeProxy = new IDEInitErrorBeanTypeProxy(fFactoryRegistry, typeName, msg);
-		} catch (LinkageError e) {
-			ProxyPlugin.getPlugin().getLogger().log(new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), 0, "", e));
-			String msg = MessageFormat.format("{0}({1})", new Object[] {e.getClass(), e.getMessage()}); //$NON-NLS-1$
-			beanTypeProxy = new IDEInitErrorBeanTypeProxy(fFactoryRegistry, typeName, msg);
-		}
-
-		// Cache the instance so we can re-use it again
-		beanProxies.put(typeName, beanTypeProxy);
-		return beanTypeProxy;
-	} else {
-		// need to create a array of this many dimensions so that we can get the appropriate class for it.
-		int dims = typeName.lastIndexOf('[')+1;
-		Class finalComponentType = null;
-		if (typeName.charAt(dims) == 'L') {
-			// It is a class.
-			// Strip off up to the 'L', and the trailing ';'. That is the class name.
-			IDEBeanTypeProxy finalType = (IDEBeanTypeProxy) getBeanTypeProxy(typeName.substring(dims+1, typeName.length()-1));
-			if (finalType != null)
-				finalComponentType = finalType.fClass;
-		} else {
-			// It is a type. Need to map it.
-			finalComponentType = (Class) IDEStandardBeanTypeProxyFactory.MAP_SHORTSIG_TO_TYPE.get(typeName.substring(dims, dims+1));
-		}
-		
-		if (finalComponentType != null) {
-			Object dummyArray = Array.newInstance(finalComponentType, new int[dims]);
-			beanTypeProxy = new IDEArrayBeanTypeProxy(fFactoryRegistry, typeName, dummyArray.getClass());
-			beanProxies.put(typeName,beanTypeProxy);
-		}
-		return beanTypeProxy;
-	}
-}
-/**
- * Return an Array type proxy for the given class name of
- * the specified dimensions. This is a helper method. The
- * same result can be gotton from getBeanTypeProxy.
- * e.g.
- *      getBeanTypeProxy("java.lang.Object", 3)
- *    is the same as:
- *      getBeanTypeProxy("[[[Ljava.lang.Object;")
- *
- *    They both result in a type of:
- *      Object [][][]
- *
- *    or
- *      getBeanTypeProxy("[Ljava.langObject;", 3)
- *    becomes
- *      Object [][][][]
- */
-public IBeanTypeProxy getBeanTypeProxy(String componentClassName, int dimensions) {
-	String jniComponentTypeName = getJNIFormatName(componentClassName);
-	String compType = jniComponentTypeName;
-	if (jniComponentTypeName.charAt(0) != '[') {
-		// We're not already an array, so create correct template.
-		compType = (String) MAP_TYPENAME_TO_SHORTSIG.get(componentClassName);
-		if (compType == null) {
-			// It is a class, and not a type.
-			compType = "L"+jniComponentTypeName+";"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}	
-	// Now create it with the appropriate number of '[' in front.
-	StringBuffer buffer = new StringBuffer(dimensions+compType.length());
-	for (int i=0; i<dimensions; i++)
-		buffer.append('[');
-	buffer.append(compType);
-	return getBeanTypeProxy(buffer.toString());
-}
-
-/*
- * convert formal type name for an array (i.e. java.lang.Object[]
- * to the jni format (i.e. [Ljava.lang.Object;)
- * This is used when a name is passed in from the IDE side.
- * The VM side uses the jni format, and all of proxy uses the jni format.
- */
-protected String getJNIFormatName(String classname) {
-	if (classname.length() == 0 || !classname.endsWith("]")) //$NON-NLS-1$
-		return classname;	// Not an array,or invalid
-	
-	StringBuffer jni = new StringBuffer(classname.length());
-	int firstOpenBracket = classname.indexOf('[');
-	int ob = firstOpenBracket;
-	while (ob > -1) {
-		int cb = classname.indexOf(']', ob);
-		if (cb == -1)
-			break;
-		jni.append('[');
-		ob = classname.indexOf('[', cb);
-	}
-	
-	IBeanTypeProxy finalType = getBeanTypeProxy(classname.substring(0, firstOpenBracket).trim());
-	if (finalType != null)
-		if (!finalType.isPrimitive()) {
-			jni.append('L');
-			jni.append(finalType.getTypeName());
-			jni.append(';');
-		} else {
-			jni.append(MAP_TYPENAME_TO_SHORTSIG.get(finalType.getTypeName()));
-		}
-	
-	return jni.toString();
-}
-public void terminateFactory(){
-}
-/**
- * registerBeanTypeProxy.
- * Register this bean type proxy on behalf of the
- * custom factory. This is so that during initializations,
- * the custom factory can cache specific bean type proxies
- * ahead of time. 
- */
-public synchronized void registerBeanTypeProxy(IBeanTypeProxy aBeanTypeProxy,boolean permanent){
-	beanProxies.put(aBeanTypeProxy.getTypeName(), aBeanTypeProxy);
-}
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#isBeanTypeRegistered(String)
- */
-public synchronized boolean isBeanTypeRegistered(String className) {
-	return beanProxies.containsKey(getJNIFormatName(className));
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#registeredTypes()
- */
-public Set registeredTypes() {
-	return beanProxies.keySet();
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#isBeanTypeNotFound(String)
- */
-public boolean isBeanTypeNotFound(String className) {
-	// Do nothing. No need for it in IDE system because there will always be a proxy, even when not found. 
-	// In that case an IDEInitErrorBeanTypeProxy will be created.
-	return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#isMaintainNotFoundTypes()
- */
-public boolean isMaintainNotFoundTypes() {
-	// Do nothing. No need for it in IDE system because there will always be a proxy, even when not found. 
-	// In that case an IDEInitErrorBeanTypeProxy will be created.
-	return false;
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory#setMaintainNotFoundTypes(boolean)
- */
-public void setMaintainNotFoundTypes(boolean maintain) {
-	// Do nothing. No need for it in IDE system because there will always be a proxy, even when not found. 
-	// In that case an IDEInitErrorBeanTypeProxy will be created.
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStringBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStringBeanProxy.java
deleted file mode 100644
index 3e50dc5..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStringBeanProxy.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEStringBeanProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * IDE Implementation of IStringBeanProxy
- * Creation date: (2/6/00 9:02:42 AM)
- * @author: Joe Winchester
- */
-final class IDEStringBeanProxy extends IDEObjectBeanProxy implements IStringBeanProxy {
-	protected String fString;
-/**
- * Store the bean in the string field to save re-casting each time it is asked for.
- * It is package protected because they are created
- * in a special way and no one else should create them.
- */
-IDEStringBeanProxy(IDEProxyFactoryRegistry aRegistry, Object aBean, IBeanTypeProxy aBeanTypeProxy) {
-	super(aRegistry, aBean,aBeanTypeProxy);
-	fString = (String)aBean;
-}
-/**
- * Return the cache'd string that is a java.lang.String that the IDE can use
- */
-public String stringValue() {
-	return fString;
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStringBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStringBeanTypeProxy.java
deleted file mode 100644
index f977735..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStringBeanTypeProxy.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEStringBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.IStringBeanProxy;
-/**
- * IDE Implementation of the BeanType proxy for java.lang.String
- */
-final class IDEStringBeanTypeProxy extends IDEBeanTypeProxy {
-	// Cache a proxy to an empty string for speed
-	protected final IDEStringBeanProxy emptyStringProxy;
-
-IDEStringBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class aClass) {
-	super(aRegistry, aClass);
-	// Cache a proxy to an empty string for speed
-	emptyStringProxy = new IDEStringBeanProxy(aRegistry, "",this);	//$NON-NLS-1$
-}
-/**
- * Helper to create string beans
- * Package protected because no-one else outside the package should use this, they
- * must go through the API where you look up a factory first.
- */
-IStringBeanProxy createStringBeanProxy(String aString){
-	if ( aString.equals("") ) {//$NON-NLS-1$
-		return emptyStringProxy;
-	} else {
-		return new IDEStringBeanProxy(fProxyFactoryRegistry,aString,this);
-	}
-}
-/* Specialized from IDEBeanTypeProxy to ensure IStringBeanProxies are created correctly
- */
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
-	return (IIDEBeanProxy)createStringBeanProxy( (String)anObject );
-
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEThrowableProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEThrowableProxy.java
deleted file mode 100644
index 3533ff4..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEThrowableProxy.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEThrowableProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-
-public class IDEThrowableProxy extends ThrowableProxy implements IIDEBeanProxy {
-
-	protected Throwable fExc;
-	protected IBeanTypeProxy fBeanTypeProxy;
-
-	protected IDEThrowableProxy(Throwable exc, IBeanTypeProxy aBeanTypeProxy) {
-		fExc = exc;
-		fBeanTypeProxy = aBeanTypeProxy;
-	}
-
-	public boolean equals(Object obj) {
-		if (super.equals(obj))
-			return true;
-		if (obj instanceof IIDEBeanProxy) {
-			return fExc.equals(((IIDEBeanProxy) obj).getBean());
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.proxy.core.IBeanProxy#sameAs(org.eclipse.jem.internal.proxy.core.IBeanProxy)
-	 */
-	public boolean sameAs(IBeanProxy aBeanProxy) {
-		if (this == aBeanProxy)
-			return true;
-		if (aBeanProxy instanceof IIDEBeanProxy)
-			return fExc == ((IIDEBeanProxy) aBeanProxy).getBean();
-		return false;
-	}
-
-	public String getProxyLocalizedMessage() {
-		return fExc.getLocalizedMessage();
-	}
-	public String getProxyMessage() {
-		return fExc.getMessage();
-	}
-	public void printProxyStackTrace(java.io.PrintWriter writer) {
-		fExc.printStackTrace(writer);
-	}
-	public void printProxyStackTrace(java.io.PrintStream stream) {
-		fExc.printStackTrace(stream);
-	}
-	public void printProxyStackTrace() {
-		fExc.printStackTrace();
-	}
-	public IBeanTypeProxy getTypeProxy() {
-		return fBeanTypeProxy;
-	}
-	public ProxyFactoryRegistry getProxyFactoryRegistry() {
-		return fBeanTypeProxy.getProxyFactoryRegistry();
-	}
-	public String toBeanString() {
-		return fExc.toString();
-	}
-	public boolean isValid() {
-		return true;
-	}
-	/**
-	 * Return the exception which is the live bean
-	 */
-	public Object getBean() {
-		return fExc;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEVMServer.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEVMServer.java
deleted file mode 100644
index dce6949..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEVMServer.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEVMServer.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/04 21:25:37 $ 
- */
-
-import java.io.OutputStream;
-
-import org.eclipse.jem.internal.proxy.common.*;
-
-public class IDEVMServer implements IVMServer {
-	
-	IDECallbackRegistry fCallbackRegistry;
-	IDEStandardBeanProxyFactory fBeanProxyFactory;
-	
-IDEVMServer(IDECallbackRegistry aCallbackRegistry){
-	fCallbackRegistry = aCallbackRegistry;
-	fBeanProxyFactory = (IDEStandardBeanProxyFactory)fCallbackRegistry.fProxyFactoryRegistry.getBeanProxyFactory();
-	
-}	
-public Object doCallback(ICallbackRunnable aRunnable){
-	try {
-		return aRunnable.run(new ICallbackHandler(){
-			public Object callbackWithParms(int callbackID, int msgID, Object[] parms){
-				// We are running in the same IDE so just call the registry directly
-				// although we must convert the parms to bean proxies
-				Object[] proxyParms = null;
-				// If we have any parms then convert them to bean proxies
-				if ( parms != null ) {
-					proxyParms = new Object[parms.length];
-					for ( int i=0;i<parms.length;i++){
-						Object p = parms[i];
-						proxyParms[i] = createNextParm(p);
-					}
-				}
-				return fCallbackRegistry.vmCallback(callbackID,msgID,proxyParms);
-			}
-
-			private Object createNextParm(Object p) {
-				if (!(p instanceof ICallbackHandler.TransmitableArray)) {
-					return fBeanProxyFactory.createIDEBeanProxyWith(p);
-				} else {
-					Object[] array = ((ICallbackHandler.TransmitableArray) p).getArray();
-					Object[] parm = new Object[array.length];
-					for (int i = 0; i < array.length; i++) {
-						parm[i] = createNextParm(array[i]);
-					}
-					return parm;
-				}
-			}
-			
-			/* (non-Javadoc)
-			 * @see org.eclipse.jem.internal.proxy.common.ICallbackHandler#callbackAsConstants(int, int, java.lang.Object)
-			 */
-			public Object callbackAsConstants(int callbackID, int msgID, Object parm) throws CommandException {
-				return fCallbackRegistry.vmCallback(callbackID,msgID,parm);
-			}
-		});
-		
-	} catch ( CommandException exc ) {
-		return null;	
-	}
-}
-
-public OutputStream requestStream(int callbackID, int msgID) throws CommandException {
-	return fCallbackRegistry.requestStream(callbackID,msgID);
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IIDEBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IIDEBeanProxy.java
deleted file mode 100644
index 453c5f9..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IIDEBeanProxy.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IIDEBeanProxy.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-
-
-/**
- * Interface that allows the IDE VM to get the actual bean.
- */
-public interface IIDEBeanProxy extends IBeanProxy {
-/**
- * Get the actual live bean. 
- * USE with extreme care.
- */
-public Object getBean();
-}
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEDimensionBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEDimensionBeanProxy.java
deleted file mode 100644
index 79235aa..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEDimensionBeanProxy.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEDimensionBeanProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.ide.*;
-import org.eclipse.jem.internal.proxy.awt.*;
-import java.awt.Dimension;
-
-public class IDEDimensionBeanProxy extends IDEObjectBeanProxy implements IDimensionBeanProxy {
-	
-	protected Dimension fDimension;
-
-IDEDimensionBeanProxy(IDEProxyFactoryRegistry aRegistry,Object aDimension, IBeanTypeProxy aBeanTypeProxy){
-	super(aRegistry,aDimension,aBeanTypeProxy);
-	fDimension = (Dimension)aDimension;
-}
-public int getWidth(){
-	return fDimension.width;
-}
-public void setWidth(int aWidth){
-	fDimension.width = aWidth;
-}
-public int getHeight(){
-	return fDimension.height;
-}
-public void setHeight(int aHeight){
-	fDimension.height = aHeight;
-}
-public void setSize(IDimensionBeanProxy aBeanProxy){
-	fDimension.setSize(new Dimension(aBeanProxy.getWidth(),aBeanProxy.getHeight()));
-}
-public void setSize(int width, int height){
-	fDimension.width = width;
-	fDimension.height = height;
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEDimensionBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEDimensionBeanTypeProxy.java
deleted file mode 100644
index 63e9ad6..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEDimensionBeanTypeProxy.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEDimensionBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import java.awt.Dimension;
-
-import org.eclipse.jem.internal.proxy.ide.*;
-
-public class IDEDimensionBeanTypeProxy extends IDEBeanTypeProxy {
-
-IDEDimensionBeanTypeProxy(IDEProxyFactoryRegistry aRegistry){
-	this(aRegistry,Dimension.class);
-}
-
-private IDEDimensionBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class type){
-	super(aRegistry, type);
-}
-
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
-	return new IDEDimensionBeanProxy(fProxyFactoryRegistry, anObject, this);
-
-}
-IDEDimensionBeanProxy createDimensionBeanProxy(int width, int height){
-	return new IDEDimensionBeanProxy(fProxyFactoryRegistry,new Dimension(width,height),this);
-}
-	/*
-	 * @see IDEBeanTypeProxy#newBeanTypeForClass(Class)
-	 */
-	public IDEBeanTypeProxy newBeanTypeForClass(Class type) {
-		return new IDEDimensionBeanTypeProxy(fProxyFactoryRegistry, type);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEPointBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEPointBeanProxy.java
deleted file mode 100644
index fb2460a..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEPointBeanProxy.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEPointBeanProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.ide.*;
-import org.eclipse.jem.internal.proxy.awt.*;
-import java.awt.Point;
-
-public class IDEPointBeanProxy extends IDEObjectBeanProxy implements IPointBeanProxy {
-	
-	protected Point fPoint;
-
-IDEPointBeanProxy(IDEProxyFactoryRegistry aRegistry,Object aPoint, IBeanTypeProxy aBeanTypeProxy){
-	super(aRegistry,aPoint,aBeanTypeProxy);
-	fPoint = (Point)aPoint;
-}
-public int getX(){
-	return fPoint.x;
-}
-public void setX(int anX){
-	fPoint.x = anX;
-}
-public int getY(){
-	return fPoint.y;
-}
-public void setY(int aY){
-	fPoint.y = aY;
-}
-public void setLocation(IPointBeanProxy aBeanProxy){
-	fPoint.setLocation(new Point(aBeanProxy.getX(),aBeanProxy.getY()));
-}
-public void setLocation(int anX, int aY){
-	fPoint.x = anX;
-	fPoint.y = aY;
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEPointBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEPointBeanTypeProxy.java
deleted file mode 100644
index d69e250..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEPointBeanTypeProxy.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEPointBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import java.awt.Point;
-
-import org.eclipse.jem.internal.proxy.ide.*;
-
-public class IDEPointBeanTypeProxy extends IDEBeanTypeProxy {
-
-IDEPointBeanTypeProxy(IDEProxyFactoryRegistry aRegistry){
-	this(aRegistry,Point.class);
-}
-private IDEPointBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class type){
-	super(aRegistry,type);
-}
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
-	return new IDEPointBeanProxy(fProxyFactoryRegistry, anObject, this);
-
-}
-IDEPointBeanProxy createPointBeanProxy(int x, int y){
-	return new IDEPointBeanProxy(fProxyFactoryRegistry,new Point(x,y),this);
-}
-	/*
-	 * @see IDEBeanTypeProxy#newBeanTypeForClass(Class)
-	 */
-	public IDEBeanTypeProxy newBeanTypeForClass(Class type) {
-		return new IDEPointBeanTypeProxy(fProxyFactoryRegistry, type);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERectangleBeanProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERectangleBeanProxy.java
deleted file mode 100644
index 5c9441c..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERectangleBeanProxy.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDERectangleBeanProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.ide.*;
-import org.eclipse.jem.internal.proxy.awt.*;
-import java.awt.Rectangle;
-
-public class IDERectangleBeanProxy extends IDEObjectBeanProxy implements IRectangleBeanProxy {
-	
-	protected Rectangle fRectangle;
-
-IDERectangleBeanProxy(IDEProxyFactoryRegistry aRegistry,Object aRectangle, IBeanTypeProxy aBeanTypeProxy){
-	super(aRegistry,aRectangle,aBeanTypeProxy);
-	fRectangle = (Rectangle)aRectangle;
-}
-public int getX(){
-	return fRectangle.x;
-}
-public void setX(int anX){
-	fRectangle.x = anX;
-}
-public int getY(){
-	return fRectangle.y;
-}
-public void setY(int aY){
-	fRectangle.y = aY;
-}
-public int getHeight(){
-	return fRectangle.height;
-}
-public void setHeight(int aHeight){
-	fRectangle.height = aHeight;
-}
-public void setWidth(int aWidth){
-	fRectangle.width = aWidth;
-}
-public int getWidth(){
-	return fRectangle.width;
-}
-public void setBounds(IRectangleBeanProxy aBeanProxy){
-	fRectangle.setBounds(aBeanProxy.getX(),aBeanProxy.getY(),aBeanProxy.getWidth(),aBeanProxy.getHeight());
-}
-public void setBounds(int x, int y, int width, int height){
-	fRectangle.setBounds(x,y,width,height);
-}
-public void setSize(IDimensionBeanProxy aBeanProxy){
-	fRectangle.setSize(aBeanProxy.getWidth(),aBeanProxy.getWidth());
-}
-public void setLocation(IPointBeanProxy aBeanProxy){
-	fRectangle.setLocation(aBeanProxy.getX(),aBeanProxy.getY());
-}
-public void setLocation(int x, int y){
-	fRectangle.setLocation(x,y);
-}
-public void setSize(int width, int height){
-	fRectangle.setSize(width,height);
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERectangleBeanTypeProxy.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERectangleBeanTypeProxy.java
deleted file mode 100644
index 95278dc..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERectangleBeanTypeProxy.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDERectangleBeanTypeProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:36 $ 
- */
-
-import java.awt.Rectangle;
-
-import org.eclipse.jem.internal.proxy.ide.*;
-
-public class IDERectangleBeanTypeProxy extends IDEBeanTypeProxy {
-
-IDERectangleBeanTypeProxy(IDEProxyFactoryRegistry aRegistry){
-	this(aRegistry,Rectangle.class);
-}
-
-private IDERectangleBeanTypeProxy(IDEProxyFactoryRegistry aRegistry, Class type){
-	super(aRegistry,type);
-}
-protected IIDEBeanProxy newBeanProxy(Object anObject){
-
-	return new IDERectangleBeanProxy(fProxyFactoryRegistry, anObject, this);
-
-}
-IDERectangleBeanProxy createRectangleBeanProxy(int x, int y, int width, int height){
-	return new IDERectangleBeanProxy(fProxyFactoryRegistry,new Rectangle(x,y,width,height),this);
-}
-	/*
-	 * @see IDEBeanTypeProxy#newBeanTypeForClass(Class)
-	 */
-	public IDEBeanTypeProxy newBeanTypeForClass(Class type) {
-		return new IDERectangleBeanTypeProxy(fProxyFactoryRegistry, type);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERegisterAWT.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERegisterAWT.java
deleted file mode 100644
index 53d1cc1..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDERegisterAWT.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDERegisterAWT.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.ide.IDEProxyFactoryRegistry;
-/**
- * This class is used to register the AWT factories.
- */
-public final class IDERegisterAWT {
-	public static void registerAWT(IDEProxyFactoryRegistry registry) {
-		new IDEStandardAWTBeanTypeProxyFactory(registry);
-		new IDEStandardAWTBeanProxyFactory(registry);
-	}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEStandardAWTBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEStandardAWTBeanProxyFactory.java
deleted file mode 100644
index ba6896b..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEStandardAWTBeanProxyFactory.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEStandardAWTBeanProxyFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import org.eclipse.jem.internal.proxy.awt.*;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * Standard AWT Bean Proxy Factory.
- * Package protected because it should not referenced
- * outside of the package other than through the interface.
- */
-class IDEStandardAWTBeanProxyFactory implements IStandardAwtBeanProxyFactory {
-
-	final IDEStandardAWTBeanTypeProxyFactory fAWTBeanTypeFactory;
-	
-public IDEStandardAWTBeanProxyFactory(ProxyFactoryRegistry factory) {
-	factory.registerBeanProxyFactory(IStandardAwtBeanProxyFactory.REGISTRY_KEY, this);
-	fAWTBeanTypeFactory = (IDEStandardAWTBeanTypeProxyFactory)factory.getBeanTypeProxyFactoryExtension(IDEStandardAWTBeanTypeProxyFactory.BEAN_TYPE_FACTORY_KEY);
-}
-public IDimensionBeanProxy createDimensionBeanProxyWith(int width, int height){
-	return fAWTBeanTypeFactory.dimensionType.createDimensionBeanProxy(width,height);
-}
-
-public IPointBeanProxy createPointBeanProxyWith(int x, int y){
-	return fAWTBeanTypeFactory.pointType.createPointBeanProxy(x,y);
-}
-public IRectangleBeanProxy createBeanProxyWith(int x, int y, int width, int height){
-	return fAWTBeanTypeFactory.rectangleType.createRectangleBeanProxy(x,y,width,height);
-}
-/**
- * Terminate this factory. Since it doesn't hold onto anything other than the beantype factory,
- * and nothing will be holding onto this factory, nothing needs to be done. It will be GC'd.
- */
-public void terminateFactory() {
-}
-}
-
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEStandardAWTBeanTypeProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEStandardAWTBeanTypeProxyFactory.java
deleted file mode 100644
index 3830f43..0000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEStandardAWTBeanTypeProxyFactory.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.jem.internal.proxy.ide.awt;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IDEStandardAWTBeanTypeProxyFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import org.eclipse.jem.internal.proxy.ide.*;
-import org.eclipse.jem.internal.proxy.core.*;
-/**
- * BeanType factory standard AWT bean types.
- * This is package protected because it shouldn't be
- * referenced outside the package. It should only be accessed through
- * the interface.
- */
-class IDEStandardAWTBeanTypeProxyFactory implements IDEExtensionBeanTypeProxyFactory {
-
-	static final String BEAN_TYPE_FACTORY_KEY = "java.awt"; //$NON-NLS-1$
-	
-	protected final IDEProxyFactoryRegistry fFactoryRegistry;
-	protected final IDEDimensionBeanTypeProxy dimensionType;
-	protected final IDEPointBeanTypeProxy pointType;
-	protected final IDERectangleBeanTypeProxy rectangleType;
-	
-IDEStandardAWTBeanTypeProxyFactory(IDEProxyFactoryRegistry aRegistry) {
-	fFactoryRegistry = aRegistry;	
-	fFactoryRegistry.registerBeanTypeProxyFactory(BEAN_TYPE_FACTORY_KEY, this);
-	dimensionType = new IDEDimensionBeanTypeProxy(fFactoryRegistry);
-	pointType = new IDEPointBeanTypeProxy(fFactoryRegistry);
-	rectangleType = new IDERectangleBeanTypeProxy(fFactoryRegistry);
-}
-/**
- * Create the correct beantype from the class and id passed in.
- */
-public IDEBeanTypeProxy getExtensionBeanTypeProxy(String className){
-	
-	if ("java.awt.Dimension".equals(className)) //$NON-NLS-1$
-		return dimensionType;
-	else if ("java.awt.Point".equals(className)) //$NON-NLS-1$
-		return pointType;
-	else if ("java.awt.Rectangle".equals(className)) //$NON-NLS-1$
-		return rectangleType;
-	else 
-		return null;
-}
-
-/**
- * Create the correct beantype from the class and id passed in.
- */
-public IDEBeanTypeProxy getExtensionBeanTypeProxy(String className, IBeanTypeProxy beanTypeProxy){
-
-	return getExtensionBeanTypeProxy(className);
-}
-
-public void terminateFactory(){
-}
-}
diff --git a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/CommandErrorException.java b/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/CommandErrorException.java
deleted file mode 100644
index 11a57b1..0000000
--- a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/CommandErrorException.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.eclipse.jem.internal.proxy.common.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: CommandErrorException.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/06 20:43:52 $ 
- */
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-/**
- * An error return from a command. This is clean return in that
- * the connection is still valid and alive.
- * After it has been processed the data will be the value retrieved
- * out of the valueobject and made into a proxy.
- */
-public class CommandErrorException extends CommandException {
-	private final Object fErrorObject;
-	private final int fErrorCode;
-	
-	public CommandErrorException(int errorCode, Commands.ValueObject errorData) {
-		super(errorData.clone());	// Clone it because typically these get reused and cleared out. This way we have our own.
-		fErrorObject = null;
-		fErrorCode = errorCode;
-	}
-	
-	public CommandErrorException(String msg, int errorCode, Commands.ValueObject errorData, Object errorObject) {
-		super(msg, errorData);
-		fErrorObject = errorObject;
-		fErrorCode = errorCode;		
-	}
-	
-	public Commands.ValueObject getValue() {
-		return (Commands.ValueObject) getExceptionData();
-	}
-		
-	public boolean isRecoverable() {
-		return true;	// Command errors are recoverable.
-	}
-	
-	/**
-	 * Return the error code.
-	 */
-	public int getErrorCode() {
-		return fErrorCode;
-	}
-	
-	/**
-	 * Return the error object after conversion to proxy format.
-	 */
-	public Object getErrorObject() {
-		return fErrorObject;
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return super.toString() + "-- Error code:"+getErrorCode() + (getValue() != null ? " Value data:\"" + getValue().getAsObject() + "\"" : " ") + (fErrorObject != null ? " Error object:\""+fErrorObject.toString()+"\"" : " ");
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/Commands.java b/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/Commands.java
deleted file mode 100644
index 6bbbc0b..0000000
--- a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/Commands.java
+++ /dev/null
@@ -1,1234 +0,0 @@
-package org.eclipse.jem.internal.proxy.common.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Commands.java,v $
- *  $Revision: 1.4 $  $Date: 2004/03/04 20:30:21 $ 
- */
-
-import java.io.*;
-import java.util.HashMap;
-import org.eclipse.jem.internal.proxy.common.CommandException;
-/**
- * The commands that can be passed back and forth between
- * client and server. And other constants.
- *
- * - Contains helper methods for reading/writing commands.
- */
-public class Commands {
-	public final static HashMap MAP_SHORTSIG_TO_TYPE = new HashMap(8);
-	public final static HashMap MAP_TYPENAME_TO_SHORTSIG = new HashMap(8);
-	
-	static {
-		MAP_SHORTSIG_TO_TYPE.put("B", Byte.TYPE); //$NON-NLS-1$
-		MAP_SHORTSIG_TO_TYPE.put("C", Character.TYPE); //$NON-NLS-1$
-		MAP_SHORTSIG_TO_TYPE.put("D", Double.TYPE);		 //$NON-NLS-1$
-		MAP_SHORTSIG_TO_TYPE.put("F", Float.TYPE); //$NON-NLS-1$
-		MAP_SHORTSIG_TO_TYPE.put("I", Integer.TYPE); //$NON-NLS-1$
-		MAP_SHORTSIG_TO_TYPE.put("J", Long.TYPE); //$NON-NLS-1$
-		MAP_SHORTSIG_TO_TYPE.put("S", Short.TYPE); //$NON-NLS-1$
-		MAP_SHORTSIG_TO_TYPE.put("Z", Boolean.TYPE); //$NON-NLS-1$
-		
-		MAP_TYPENAME_TO_SHORTSIG.put("byte","B"); //$NON-NLS-1$ //$NON-NLS-2$
-		MAP_TYPENAME_TO_SHORTSIG.put("char","C"); //$NON-NLS-1$ //$NON-NLS-2$
-		MAP_TYPENAME_TO_SHORTSIG.put("double","D"); //$NON-NLS-1$ //$NON-NLS-2$
-		MAP_TYPENAME_TO_SHORTSIG.put("float","F"); //$NON-NLS-1$ //$NON-NLS-2$
-		MAP_TYPENAME_TO_SHORTSIG.put("int","I"); //$NON-NLS-1$ //$NON-NLS-2$
-		MAP_TYPENAME_TO_SHORTSIG.put("long","J"); //$NON-NLS-1$ //$NON-NLS-2$
-		MAP_TYPENAME_TO_SHORTSIG.put("short","S"); //$NON-NLS-1$ //$NON-NLS-2$
-		MAP_TYPENAME_TO_SHORTSIG.put("boolean","Z"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-	// The stream between server and clients are Data...Streams.
-	// If someone gets out of sync and can't determine where the
-	// start/end of a command is, then simply close the connection
-	// and open up a fresh one. This should work because there
-	// should never be more than one command on the pipe at a
-	// time since the client shouldn't send a new one until
-	// it has received a response to the previous one, if the
-	// command has a response.
-	
-	// The commands will be written in writeByte format .
-	public final static byte
-		GET_CLASS = 1,		// Get the class object,
-		VALUE = 2,		// Returning a value
-		QUIT_CONNECTION = 4,	// Close this connection
-		TERMINATE_SERVER = 5,	// Terminate the entire server.
-		ERROR = 6,		// Returning an error
-		RELEASE_OBJECT = 7,	// An object is no longer needed on the client side, so
-					// it can be removed from the server id table and released.
-		GET_CLASS_RETURN = 8,	// The return command from GET_CLASS
-		GET_METHOD = 9,	// Return the id for a method
-		GET_CTOR = 10,		// Return the id for a constructor		
-		NEW_INIT_STRING = 11,	// Create a new bean using the init string
-		GET_CLASS_FROM_ID = 12,	// We have an ID, return the class info for this id.
-		GET_CLASS_ID_RETURN = 13,	// The return command from GET_CLASS_FROM_ID
-		GET_OBJECT_DATA = 14,	// We have an ID, but we don't have the info, return it. This is a 
-					// corrective command only. This would happen if for some strange
-					// reason the proxy has been removed but has not been released. This
-					// really shouldn't happen except as a possible race condition between
-					// GC and returning id from the server.
-		INVOKE = 15,		// Invoke a method.
-	
-	
-		// These commands are to the Master Server thread in the IDE.
-		ALIVE = 16,	// Are you alive?
-		REMOTE_STARTED = 17,	// Remote VM has started.
-		ATTACH_CALLBACK = 18,	// Attach to a callback thread on the IDE side. The remote vm will use its socket as the callback socket.
-								// it will return boolean <code>true</code> if attach worked or <code>false</code> if it failed.
-
-		// These are more regular commands. They were historically added after the master server thread commands, so
-		// they are shown here after them and with numbers greater than them.
-		EXPRESSION_TREE_COMMAND = 19;	// An expression tree subcommand has come in.
-	
-		
-	// Callback commands
-	public final static byte
-		CALLBACK = (byte) 255,	// A callback has come in.
-		CALLBACK_DONE = (byte) 254,	// A callback done command, sent to the remote vm upon callback completion.
-		CALLBACK_STREAM = (byte) 253,	// A callback for a byte stream has come in.
-								// This is a special callback. When this comes in a special
-								// input stream will be created that will take over control of
-								// the connection until the stream is terminated on the remote
-								// side. At this time the connection will be returned.
-		CALLBACK_STREAM_TERMINATE = (byte) 252;	// A callback stream is asked to terminate early.
-		
-	// The error values from the command on the server.
-	public final static int
-		NO_ERROR = 0,				// No error status.
-		UNKNOWN_COMMAND_SENT = 1,	// An unknown command was sent to the server. Value is void.
-		GET_CLASS_NOT_FOUND = 2,	// The class was not found in GetClass. Value is void.
-		CANNOT_EVALUATE_STRING = 3,	// Evaluator couldn't evaluate the init string. Too complicated. Value is a throwable of the wrappered Init string error.
-		CLASS_CAST_EXCEPTION = 4,	// The result is not assignable to the expected type. Value is void.
-		GET_METHOD_NOT_FOUND = 5,	// Method requested wasn't found. Value is void.
-		THROWABLE_SENT = 6,			// A Throwable is being sent back as the error, not as just data for the error. Value is the Throwable.
-		CALLBACK_RUNTIME_EXCEPTION = 7,	// A runtime exception occurred during a callback. The data is the message.
-		CALLBACK_NOT_REGISTERED = 8,
-		MAX_ERROR_CODE = CALLBACK_NOT_REGISTERED;	// This is just the max code. Not actually sent. Used as a flag.
-		
-	// Predefined standard id's for standard classes/objects. Both sides will assume these id's have been assigned
-	// to these classes/types/objects
-	public final static int
-		NOT_AN_ID = -1,	// This value means it is not an id. It is never a valid id.
-		VOID_TYPE = 0,
-		BOOLEAN_TYPE = 1,
-		BOOLEAN_CLASS = 2,
-		INTEGER_TYPE = 3,
-		INTEGER_CLASS = 4,
-		BYTE_TYPE = 5,
-		BYTE_CLASS = 6,
-		CHARACTER_TYPE = 7,
-		CHARACTER_CLASS = 8,
-		DOUBLE_TYPE = 9,
-		DOUBLE_CLASS = 10,
-		FLOAT_TYPE = 11,
-		FLOAT_CLASS = 12,
-		SHORT_TYPE = 13,
-		SHORT_CLASS = 14,
-		LONG_TYPE = 15,
-		LONG_CLASS = 16,
-		STRING_CLASS = 17,
-		BIG_DECIMAL_CLASS = 18,
-		BIG_INTEGER_CLASS = 19,
-		NUMBER_CLASS = 20,
-		THROWABLE_CLASS = 21,
-		CLASS_CLASS = 22,
-		OBJECT_CLASS = 23,
-		ACCESSIBLEOBJECT_CLASS = 24,
-		METHOD_CLASS = 25,
-		FIELD_CLASS = 26,
-		CONSTRUCTOR_CLASS = 27,
-		GET_METHOD_ID = 28,	// Class.getMethod(...) predefined id.
-		IVMSERVER_CLASS = 29,	// IVMServer.class
-		ICALLBACK_CLASS = 30,	// ICallback.class
-		REMOTESERVER_ID = 31,	// id of RemoteVMServerThread instance.
-		REMOTEVMSERVER_CLASS = 32,	// RemoteVMServer.class
-		INITIALIZECALLBACK_METHOD_ID = 33,	// ICallback.initializeCallback method.
-		THREAD_CLASS = 34,
-		FIRST_FREE_ID = 35;
-				
-	// The type flags written in writeByte format
-	public final static byte
-		VOID = VOID_TYPE,	// null - nothing follows
-		BYTE = BYTE_TYPE,	// byte - writeByte
-		L_BYTE = BYTE_CLASS,	// java.lang.Byte - writeByte
-		CHAR = CHARACTER_TYPE,	// char - writeChar
-		L_CHAR = CHARACTER_CLASS,	// java.lang.Character - writeChar
-		DOUBLE = DOUBLE_TYPE,	// double - writeDouble
-		L_DOUBLE = DOUBLE_CLASS,	// java.lang.Double - writeDouble
-		FLOAT = FLOAT_TYPE,	// float - writeFloat
-		L_FLOAT = FLOAT_CLASS,	// java.lang.Float - writeFloat
-		INT = INTEGER_TYPE,	// int - writeInt
-		L_INT = INTEGER_CLASS,	// java.lang.Integer - writeInt
-		LONG = LONG_TYPE,	// long - writeLong
-		L_LONG = LONG_CLASS,	// java.lang.Long - writeLong
-		SHORT = SHORT_TYPE,	// short - writeShort
-		L_SHORT = SHORT_CLASS,	// java.lang.Short - writeShort
-		BOOL = BOOLEAN_TYPE,	// boolean - writeBoolean
-		L_BOOL = BOOLEAN_CLASS,	// java.lang.Boolean - writeBoolean
-		STRING = STRING_CLASS,	// java.lang.String - writeUTF
-		OBJECT = OBJECT_CLASS,	// Object - special, see below (Object can be used to return an array (except if the array contains any object_ids, that has a special type)
-		OBJECT_ID = 50,	// Object identity key - writeInt
-		NEW_OBJECT_ID = 51,	// New Object identity (this is a new object that didn't exist before)
-		THROW = 52,	// An exception occured. The value is a throwable, it is of the same format as NEW_OBJECT_ID.
-		ARRAY_IDS = 53;	// An array of values, where there are at least one ID in the array. If there were no
-						// ID's (i.e. all just values), then use OBJECT type intead and have it written as
-						// writeObject.
-				
-		
-		
-	// Unless specified below, the commands are one byte long.
-	// Also, unless specified below, the commands do not return a confirmation response.
-	//
-	// NOTE: VERY IMPORTANT, after every command, flush() should be used so that the
-	// the data is immediately sent to the server. 	
-	//
-	// n means int (e.g. 1)
-	// nb means byte (e.g. 1b)
-	// 'x' means Unicode char (i.e. writeChar())
-	// "xxx" means UTF8 string (i.e. writeUTF)
-	// bool means a one byte boolean value
-	//
-	// The commas aren't actually written, they are used as separaters in the comments below
-	//
-	// GET_CLASS: 1b, "classname"
-	//		Will return on the output stream GET_CLASS_RETURN command:
-	//		8b, n1, bool1, bool2, "superclassname"
-	//		The "n1" is the class id.
-	//		The bool1 is whether this class is an interface (true if it is).
-	//		The bool2 is whether this class is abstract (true if it is).	
-	//		The "superclassname" is the class name of the super class (0 length if no superclass)
-	//		If the class is not found, then it will return an error with a value for the error.
-	//
-	// GET_CLASS_FROM_ID: 12b, n
-	//		Where "n" is the class id.
-	//		Will return on the output stream GET_CLASS_ID_RETURN command:	
-	//		13b, "classname", bool1, bool2, "superclassname"
-	//		The bool1 is whether this class is an interface (true if it is).
-	//		The bool2 is whether this class is abstract (true if it is).	
-	//
-	// VALUE: 2b, tb, value
-	//		Where tb is the type in byte, and value is the appropriate value shown in
-	//		table above.
-	//		OBJECT_ID: 50b, n
-	//			Where "n" is the object id.
-	//		NEW_OBJECT_ID: 51b, n1, n2
-	//			Where "n1" is class ObjectID of the object that the object_id ("n2") is made of.
-	//		OBJECT: 19b, n, writeObject
-	//			Where "n" is the classObjectID of the class of the type of the object.
-	//			NOTE: Object should be used only very rarely. Identity is lost, i.e.
-	//			a copy is made each time and it can't be referenced back on the remote
-	//			VM.
-	//		ARRAY_IDS: 52b, id, n, [tb, value, ...]
-	//			This is a very special array. It contains at least one ID. Therefor all of the 
-	//			First level entries are value objects. 
-	//			"id" is the id of the component type of the array(e.g. id for Object, or if multi-dimensional String[] (this will produce String[][]).
-	//			"n" is the number of entries in the array. Followed by the values, one of the
-	//			values could be an ARRAY_IDS too. The reading/writing of these are special because
-	//			there is a callback mechanism to process the individual entries. This is so that
-	//			temp arrays of ValueObjects won't need to be created to handle this, so it can
-	//			go directly from the array to/from the stream.
-	//		
-	// RELEASE_OBJECT: 7b, n
-	//		Where the n is the object id to release. There is no confirmation to read back.
-	//
-	// ERROR: 6b, n, tb, ...
-	//      n is the error code for this error.
-	//		tb is a type flag, followed by the value. The value is dependent upon
-	//		the command that this is error is from. If a THROW, then the THROW is ALWAYS a new
-	//		ID, it can never be an existing id.
-	//      
-	//
-	// TO_BEAN_STRING: 9b, n
-	//		Where n is the object id to produce the bean string for.
-	//		It will return a VALUE command where the type is String.
-	//
-	// NEW_INSTANCE: 10b, n
-	//		Where n is the class object id of the class to create a new instance of using the default ctor.
-	//		It will return either a VALUE command containing the new value (of type OBJECT_ID/NEW_OBJECT_ID if not
-	//		one of the constant types with the true classID in it) or an ERROR command. (The ERROR could
-	//		be a THROW type). If the object created is not assignable to the type passed in, then
-	//		an ERROR is returned with CLASS_CAST_EXCEPTION flag.
-	//
-	// NEW_INIT_STRING: 11b, n, "initstring"
-	//		Where n is the class object id of the class this initstring is supposed to create for.
-	//		It will return either a VALUE command containing the new value (of type OBJECT_ID/NEW_OBJECT_ID if not
-	//		one of the constant types with the true classID in it) or an ERROR command. (The ERROR could
-	//		be a THROW type). The error could also be CANNOT_EVALUATE_STRING. This means that the string was too
-	//		complicated for the evaluator and needs to be compiled and tried again. (TBD)
- 	//		If the object created is not assignable to the type passed in, then
-	//		an ERROR is returned with CLASS_CAST_EXCEPTION flag.
-	//
-	// GET_OBJECT_DATA: 14b, n
-	//		Where n is the id of the object being requested. It will return a NEW_OBJECT_ID value with the info.
-	//
-	// GET_METHOD: 9b, classId, "methodName", n1, [n2]...
-	//		Where classID is the id of the class the method should be found in.
-	//		Where n1 is the number of parm types following, and n2 is replicated that many times,
-	//		each entry is the id of class for the parm type. (0 is valid which means there are no parms).
-	//		The return will be a VALUE command containing the OBJECT_ID of the method.
-	//
-	// GET_CTOR: 10b, classId, n1, [n2]...
-	//		Where classID is the id of the class the method should be found in.
-	//		Where n1 is the number of parm types following, and n2 is replicated that many times,
-	//		each entry is the id of class for the parm type. (0 is valid which means there are no parms).
-	//		The return will be a VALUE command containing the OBJECT_ID of the method.
-	//	
-	// GET_FIELD:
-	//
-	// GET_CTOR:
-	//
-	// INVOKE: 15b, n1, tb, value1, value2
-	//		Where "n1" is the id of the method to invoke.
-	//		tb, value1 is the value of who to invoke against (it is usually an OBJECT_ID for tb)
-	//		n2 is the number of parms
-	//      value2 is an ARRAY_IDS type or an OBJECT array of values if all constants.
-	//		What is returned is a VALUE command containing the return value, (the value will be null (VOID) if
-	//		there is no return type (i.e. the method was void). So null can be returned either if the value
-	//		was null or if the return type was void.
-	//
-	// EXPRESSION_TREE_COMMAND: 20b, b
-	//		Receiving an expression tree subcommand. Where "b" is byte code, defined in ExpressionCommands, that
-	//		determines the type of expression tree commands.
-	//		There can be more data following, but it is read by the 
-	//		ExpressionProcesserController, not by the connection. See the controller for the subcommands.
-	//		@see ExpressionProcessController
-	//
-	//
-	// Callback commands:
-	//
-	// CALLBACK: 255b, n1, n2, value1
-	//      Where
-	//        "n1" is the id of callback type (these are registered with the callback server)
-	//        "n2" is the msgId for the callback (These are entirely callback dependent and are maintained by the callback developer)
-	//        value1 is an ARRAY_IDS type or an OBJECT array of values if all constants. These are
-	//          parms to send to the callback msg.
-	//      It will return a CALLBACK_DONE.
-	//
-	// CALLBACK_DONE: 254b, value command.
-	//		What comes back is a value command (i.e. Commands.VALUE followed by value). This allows
-	//		ERRORS to be sent back too.
-	//
-	// CALLBACK_STREAM: 253b, n1, n2
-	//      Where
-	//        "n1" is the id of callback type (these are registered with the callback server)
-	//        "n2" is the msgId for the callback (These are entirely callback dependent and are maintained by the callback developer)
-	//		It will create a CallbackInputStream and notify the registered callback that the
-	//		stream is available. It will send a callback_done when it has accepted the request
-	//		but before it notifies the registered callback with the stream. This lets the remote
-	//		vm know that it can start sending data.
-	
-
-	// To the MasterServer socket:
-	// The MasterServer socket will expect input in DataInputStream format, and DataOutputStream for return.
-	// The socket will be short-lived. It will be for one transaction only. Each request will return a new socket.
-	//
-	// ALIVE: 16b, n1
-	//      Where
-	//        "n1" is the id of the registry this is asking to test for aliveness
-	//      Will return bool, where false if registry is not alive, true if it is alive.
-	// REMOTE_STARTED: 17b, n1, n2
-	//      Where
-	//        "n1" is the id of the registry this is telling that it is started
-	//        "n2" is the serversocket port number of the server socket in this remote vm.
-	//      Will return bool, where false if registry is not alive, true if it is alive. If false, then terminate the server because nothing to talk to.
-	// GET_CALLBACK_PORT: 18b, n1
-	//      Where
-	//        "n1" is the id of the registry this is asking for the callback server port.
-	//      Will return int, where the value is the callback server port number. -1 if there is no callback server port.		
-	
-	/**
-	 * This class is the return from a read value. It contains the
-	 * type of the value and the value itself. Since primitives can be
-	 * returned also, there is a slot for each one and the type should
-	 * be checked to see which one is set.
-	 *
-	 * Also, if the type is OBJECT, then the anObject has the object in it, AND
-	 * the classID field has the object_id of the class of the object so that the
-	 * appropriate beantypeproxy can be found to use that object. Also, only
-	 * IREMConstantBeanTypeProxies can be of type OBJECT. That is because those
-	 * are the only ones that know how to take the value object and interpret it.
-	 *
-	 * If the type is OBJECT_ID or NEW_OBJECT_ID, then the objectID field will be set with
-	 * the id.
-	 * If the type is NEW_OBJECT_ID, then the classID field will
-	 * have the class objectID of the class of the object for which object_id proxies.
-	 *
-	 * THROW is treated like NEW_OBJECT_ID in what fields are set since it is a new object.
-	 *
-	 * Note: so as not to create unnecessary objects, if the Object type of the primitive is being
-	 * sent, then the primitive field will be set instead, though the type
-	 * will still be the Object type (i.e. if type = L_BYTE, the aByte will
-	 * have the value in it).
-	 */
-	public static class ValueObject implements Cloneable {
-		public byte type;	// Same as the types above
-		public byte aByte;
-		public char aChar;
-		public double aDouble;
-		public float aFloat;
-		public int anInt;
-		public short aShort;
-		public long aLong;
-		public boolean aBool;
-		public int objectID;	// The object id for either OBJECT_ID or NEW_OBJECT_ID.
-		public int classID;		// The class object id of the value in Object if the type is Object
-		public Object anObject;	// String also will be in here
-		
-		public ValueObject() {
-			type = VOID;
-		}
-		
-		public Object clone() {
-			try {
-				return (ValueObject) super.clone();
-			} catch (CloneNotSupportedException e) {
-				return null;
-			}
-		}
-		
-		/**
-		 * Return whether the value stored here is a primitive.
-		 * 
-		 * @return <code>true</code> if value is a primitive type.
-		 * 
-		 * @since 1.0.0
-		 */
-		public boolean isPrimitive() {
-			return getPrimitiveType().isPrimitive();
-		}
-		
-		/**
-		 * Get the primitive type of the value. 
-		 * @return The primitive type, or if not primitive, it returns simply <code>Object.class</code>.
-		 * 
-		 * @since 1.0.0
-		 */
-		public Class getPrimitiveType() {
-			switch (type) {
-				case BYTE:
-					return Byte.TYPE;
-				case CHAR:
-					return Character.TYPE;
-				case DOUBLE:
-					return Double.TYPE;
-				case FLOAT:
-					return Float.TYPE;
-				case INT:
-					return Integer.TYPE;
-				case SHORT:
-					return Short.TYPE;
-				case LONG:
-					return Long.TYPE;
-				case BOOL:
-					return Boolean.TYPE;
-				default:
-					return Object.class;
-			}	
-			
-		}
-		
-		/**
-		 * Special getter to get the type as an Object, this is used by invoke for example.
-		 */
-		public Object getAsObject() {
-			switch (type) {
-				case VOID:
-					return null;
-				case BYTE:
-				case L_BYTE:
-					return new Byte(aByte);
-				case CHAR:
-				case L_CHAR:
-					return new Character(aChar);
-				case DOUBLE:
-				case L_DOUBLE:
-					return new Double(aDouble);
-				case FLOAT:
-				case L_FLOAT:
-					return new Float(aFloat);
-				case INT:
-				case L_INT:
-					return new Integer(anInt);
-				case SHORT:
-				case L_SHORT:
-					return new Short(aShort);
-				case LONG:
-				case L_LONG:
-					return new Long(aLong);
-				case BOOL:
-				case L_BOOL:
-					return aBool ? Boolean.TRUE : Boolean.FALSE;
-				case STRING:
-					return (String) anObject;
-				case OBJECT:
-					return anObject;
-				
-				default: 
-					return null;	// Can't handle others. Those need to be checked before calling.
-			}
-		}
-		
-		/**
-		 * Special setter to set the value depending upon the type.
-		 */
-		public void setAsObject(Object value, int valueClassID) {
-			switch (valueClassID) {
-				case VOID:
-					set();
-					break;
-				case BYTE_CLASS:
-					set((Byte) value);
-					break;
-				case CHARACTER_CLASS:
-					set((Character) value);
-					break;
-				case DOUBLE_CLASS:
-					set((Double) value);
-					break;
-				case FLOAT_CLASS:
-					set((Float) value);
-					break;
-				case INTEGER_CLASS:
-					set((Integer) value);
-					break;
-				case SHORT_CLASS:
-					set((Short) value);
-					break;
-				case LONG_CLASS:
-					set((Long) value);
-					break;
-				case BOOLEAN_CLASS:
-					set((Boolean) value);
-					break;
-				case STRING_CLASS:
-					set((String) value);
-					break;
-				default:
-					set(value, valueClassID);
-					break;
-			}
-		}
-			
-		public void set() {
-			type = VOID;
-			anObject = null;
-		}
-		public void set(byte value) {
-			type = BYTE;
-			aByte = value;
-			anObject = null;
-		}
-		public void set(Byte value) {
-			type = L_BYTE;
-			aByte = value.byteValue();
-			anObject = null;
-		}
-		public void set(char value) {
-			type = CHAR;
-			aChar = value;
-			anObject = null;
-		}
-		public void set(Character value) {
-			type = L_CHAR;
-			aChar = value.charValue();
-			anObject = null;
-		}
-		public void set(double value) {
-			type = DOUBLE;
-			aDouble = value;
-			anObject = null;
-		}
-		public void set(Double value) {
-			type = L_DOUBLE;
-			aDouble = value.doubleValue();
-			anObject = null;
-		}
-		public void set(float value) {
-			type = FLOAT;
-			aFloat = value;
-			anObject = null;
-		}
-		public void set(Float value) {
-			type = L_FLOAT;
-			aFloat = value.floatValue();
-			anObject = null;
-		}
-		public void set(int value) {
-			type = INT;
-			anInt = value;
-			anObject = null;
-		}
-		public void set(Integer value) {
-			type = L_INT;
-			anInt = value.intValue();
-			anObject = null;
-		}
-		public void set(short value) {
-			type = SHORT;
-			aShort = value;
-			anObject = null;
-		}
-		public void set(Short value) {
-			type = L_SHORT;
-			aShort = value.shortValue();
-			anObject = null;
-		}
-		public void set(long value) {
-			type = LONG;
-			aLong = value;
-			anObject = null;
-		}
-		public void set(Long value) {
-			type = L_LONG;
-			aLong = value.longValue();
-			anObject = null;
-		}
-		public void set(boolean value) {
-			type = BOOL;
-			aBool = value;
-			anObject = null;
-		}
-		public void set(Boolean value) {
-			type = L_BOOL;
-			aBool = value.booleanValue();
-			anObject = null;
-		}
-		public void set(String value) {
-			type = STRING;
-			anObject = value;
-		}				
-		public void set(Object value, int classObjectID) {
-			type = OBJECT;
-			classID = classObjectID;
-			anObject = value;
-		}
-		public void setObjectID(int value) {
-			type = OBJECT_ID;
-			objectID = value;
-			anObject = null;
-		}
-		
-		// Use this if the object is an array containing IDs. The retriever
-		// will be used to get the next value to write to the stream.
-		public void setArrayIDS(ValueRetrieve retriever, int arraySize, int componentType) {
-			type = ARRAY_IDS;
-			classID = componentType;
-			anInt = arraySize;
-			anObject = retriever;
-		}
-		
-		
-		// Use this if this is a new object so that we can get the correct class type.
-		public void setObjectID(int value, int classObjectID) {
-			type = NEW_OBJECT_ID;
-			objectID = value;
-			classID = classObjectID;
-			anObject = null;
-		}									
-		
-		// Use this to indicate an exception occured.
-		public void setException(int throwID, int throwClassID) {
-			type = THROW;
-			objectID = throwID;
-			classID = throwClassID;
-			anObject = null;
-		}
-	}
-	
-	/************************
-	 * Helpful commands.
-	 * - If a command throws any exception except CommandErrorException, or
-	 *   UnexpectedCommandException with recoverable true, then the connection is in a bad state
-	 *   and needs to be closed.
-	 ************************/
-	
-	/**
-	 * Use this to read a value (inputstream should be pointing to the type byte as the next byte to read).
-	 * The primitive fields of "value" will not be changed if they are not the
-	 * type of the value being read. However, anObject will be set to null.
-	 */
-	 
-	/**
-	 * Error flags for UnexpectedCommandExceptions that can be thrown.
-	 */
-	public static final Object UNKNOWN_READ_TYPE = "UNKNOWN_READ_TYPE";		// The read type byte was not a valid type //$NON-NLS-1$
-	public static final Object UNKNOWN_WRITE_TYPE = "UNKNOWN_WRITE_TYPE";		// The write type byte was not a valid type	 //$NON-NLS-1$
-	public static final Object TYPE_INVALID_FOR_COMMAND = "TYPE_INVALID_FOR_COMMAND";		// The data type read is not valid for this command //$NON-NLS-1$
-	public static final Object UNKNOWN_COMMAND = "UNKNOWN_COMMAND";			// The command flag is unknown //$NON-NLS-1$
-	public static final Object SOME_UNEXPECTED_EXCEPTION = "SOME_UNEXPECTED_EXCEPTION";	// There was some kind of exception that wasn't expected. The data will be the exception. //$NON-NLS-1$
-	public static final Object TOO_MANY_BYTES = "TOO_MANY_BYTES";			// Too many bytes were sent on a writeBytes. It was //$NON-NLS-1$
-																		// more than could be read into the buffer. The data will be the size sent.
-	
-	
-	public static void readValue(DataInputStream is, ValueObject value) throws CommandException {
-		try {
-			value.anObject = null;
-			value.type = is.readByte();
-			switch (value.type) {
-				case BYTE:
-				case L_BYTE:
-					value.aByte = is.readByte();
-					break;
-				case CHAR:
-				case L_CHAR:
-					value.aChar = is.readChar();
-					break;
-				case DOUBLE:
-				case L_DOUBLE:
-					value.aDouble = is.readDouble();
-					break;
-				case FLOAT:
-				case L_FLOAT:
-					value.aFloat = is.readFloat();
-					break;
-				case INT:
-				case L_INT:
-					value.anInt = is.readInt();
-					break;
-				case OBJECT_ID:
-					value.objectID = is.readInt();
-					break;					
-				case NEW_OBJECT_ID:
-					value.classID = is.readInt();
-					value.objectID = is.readInt();
-					break;
-				case THROW:
-					value.classID = is.readInt();
-					value.objectID = is.readInt();
-					break;				
-				case SHORT:
-				case L_SHORT:
-					value.aShort = is.readShort();
-					break;
-				case LONG:
-				case L_LONG:
-					value.aLong = is.readLong();
-					break;
-				case BOOL:
-				case L_BOOL:
-					value.aBool = is.readBoolean();
-					break;
-				case STRING:
-					value.anObject = is.readUTF();
-					break;
-				case OBJECT:
-					value.classID = is.readInt();	// Read the class id
-					ObjectInputStream oi = new ObjectInputStream(is);
-					value.anObject = oi.readObject();	// Read the object itself
-					oi = null;	// Don't close it, that would close the stream itself.
-					break;
-				case ARRAY_IDS:
-					// The header for an array of ids.
-					value.classID = is.readInt();	// The component type of the array
-					value.anInt = is.readInt();	// The size of the array.
-					// At this point, it is the responsibility of the caller to use readArray to read in the array.
-					break;
-				case VOID:
-					break;
-				default:
-					throw new UnexpectedCommandException(UNKNOWN_READ_TYPE, false, new Byte(value.type));
-			}
-		} catch (CommandException e) {
-			// rethrow this exception since we want these to go on out.
-			throw e;
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}
-	}
-	
-	/**
-	 * Special interface used to read back arrays. It will be called when 
-	 */
-	public static interface ValueSender {
-		// This is called for each entry from the array. It is assumed that the ValueSender has
-		// the array that is being built.
-		public void sendValue(ValueObject value);
-		
-		// This is called when an ARRAY_IDS is found within the reading of the array (i.e. nested arrays)
-		// It is asking for a new ValueSender to use while this nested array. The arrayValue contains
-		// the valueobject for the array header (i.e. the class id of the array and the number of elements).
-		// It is the responsibility of the ValueSender to store this array in the array that is being built.
-		public ValueSender nestedArray(ValueObject arrayValue);
-		
-	}	
-	
-	/*
-	 * NOTE: It is important that on the IDE side that this is called within a transaction. 
-	 * If not, there could be some corruption if proxy cleanup occurs in the middle.
-	 */
-	public static void readArray(DataInputStream is, int arraySize, ValueSender valueSender, ValueObject value) throws CommandException {
-		// Anything exception other than a CommandException, we will try to flush the input so that
-		// it can continue with the next command and not close the connection.
-		RuntimeException exception = null;
-		for (int i=0; i<arraySize; i++) {
-			readValue(is, value);
-			if (exception == null) 
-				try {
-					if (value.type != ARRAY_IDS)
-						valueSender.sendValue(value);
-					else {
-						// We have a nested array.
-						ValueSender nestedSender = null;
-						try {
-							nestedSender = valueSender.nestedArray(value);
-						} catch (RuntimeException e) {
-							// We still need to read in the array to flush. Create
-							// a dummy sender that accepts everything sent to it.
-							exception = e;
-							nestedSender = new ValueSender() {
-								public void sendValue(ValueObject value) {
-								}
-								public ValueSender nestedArray(ValueObject arrayValue) {
-									return this;
-								}
-							};
-						}
-						readArray(is, value.anInt, nestedSender, value);
-						if (exception != null)
-							throw exception;	// An exception ocurred in new sender request.
-					}
-				} catch (RuntimeException e) {
-					// We want to flush the queue, so save the exception for later.
-					exception = e;
-				}
-		}
-		if (exception != null)
-			throw exception;
-	}
-				
-	
-	/**
-	 * Special interface to handle writing the ARRAY_IDS type.
-	 * An instance of this object will be in the valueObject sent to writeValue when the type of the value
-	 * is ARRAY_IDS. Then write value will know to call this interface to write out the values.
-	 */
-	public static interface ValueRetrieve {
-		// This interface is used to retreive the next value object so that it can be written to the output stream.
-		// Return null when there are no more.
-		public ValueObject nextValue() throws EOFException;
-	}	
-	
-	public static void writeValue(DataOutputStream os, ValueObject value, boolean asValueCommand) throws CommandException  {
-		try {
-			if (asValueCommand)
-				os.writeByte(VALUE);
-			switch (value.type) {
-				case BYTE:
-				case L_BYTE:
-					os.writeByte(value.type);
-					os.writeByte(value.aByte);
-					break;
-				case CHAR:
-				case L_CHAR:
-					os.writeByte(value.type);			
-					os.writeChar(value.aChar);
-					break;
-				case DOUBLE:
-				case L_DOUBLE:
-					os.writeByte(value.type);			
-					os.writeDouble(value.aDouble);
-					break;
-				case FLOAT:
-				case L_FLOAT:
-					os.writeByte(value.type);			
-					os.writeFloat(value.aFloat);
-					break;
-				case INT:
-				case L_INT:
-					os.writeByte(value.type);			
-					os.writeInt(value.anInt);
-					break;
-				case OBJECT_ID:
-					os.writeByte(value.type);
-					os.writeInt(value.objectID);
-					break;					
-				case NEW_OBJECT_ID:
-					os.writeByte(value.type);
-					os.writeInt(value.classID);
-					os.writeInt(value.objectID);
-					break;
-				case THROW:
-					os.writeByte(value.type);
-					os.writeInt(value.classID);
-					os.writeInt(value.objectID);
-					break;
-				case SHORT:
-				case L_SHORT:
-					os.writeByte(value.type);			
-					os.writeShort(value.aShort);
-					break;
-				case LONG:
-				case L_LONG:
-					os.writeByte(value.type);			
-					os.writeLong(value.aLong);
-					break;
-				case BOOL:
-				case L_BOOL:
-					os.writeByte(value.type);			
-					os.writeBoolean(value.aBool);
-					break;
-				case STRING:
-					os.writeByte(value.type);			
-					os.writeUTF((String) value.anObject);
-					break;
-				case OBJECT:
-					os.writeByte(value.type);
-					os.writeInt(value.classID);	// Write the class ID.
-					ObjectOutputStream oos = new ObjectOutputStream(os);
-					oos.writeObject(value.anObject);
-					oos.flush();
-					oos = null;	// Don't close it, that would close the stream itself.
-					break;					
-				case ARRAY_IDS:
-					// We are writing out an array with ID's in it. The fields of the vale object will be:
-					// 	classID: The class id of the component type of the array.
-					//  anObject: Contains the ValueRetriever to get the next value.
-					os.writeByte(value.type);
-					os.writeInt(value.classID);
-					os.writeInt(value.anInt);
-					// Now comes the kludgy part, writing the values.
-					ValueRetrieve retriever = (ValueRetrieve) value.anObject;
-					ValueObject nextEntry = null;
-					while ((nextEntry = retriever.nextValue()) != null)
-						writeValue(os, nextEntry, false);
-					break;
-				case VOID:
-					os.writeByte(value.type);			
-					break;
-				default:
-					os.writeByte(VOID);
-					throw new UnexpectedCommandException(UNKNOWN_WRITE_TYPE, true, value);					
-			}
-			if (asValueCommand)
-				os.flush();
-		} catch (CommandException e) {
-			// rethrow this exception since we want these to go on out.
-			throw e;
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}		
-	}	
-	
-	/**
-	 * For reading a large number of bytes. This is a value type, not a command. The command 
-	 * needs to be handled separately. It returns the number of bytes read. -1 if there
-	 * is no more data to send and the stream should closed. If read something but not all,
-	 * then just what it could read will be returned. The next read will return -1 for EOF.
-	 *
-	 * It will read from the format:
-	 *   int - number of bytes to read (retrieved from the stream).
-	 *   bytes - the actual bytes.
-	 *
-	 * Note: A command exception will be thrown if the number of bytes to read
-	 *       is larger than the size of the byte array.
-	 */
-	public static int readBytes(DataInputStream is, byte[] bytes) throws CommandException  {
-		try {
-			int bytesToRead = -1;
-			try {
-				bytesToRead = is.readInt();
-			} catch (EOFException e) {
-			}
-			if (bytesToRead == -1)
-				return -1;
-			if (bytesToRead > bytes.length)
-				throw new UnexpectedCommandException(TOO_MANY_BYTES, false, new Integer(bytesToRead));
-			int start = 0;
-			int toRead = bytesToRead;
-			while (toRead > 0) {
-				int bytesRead = is.read(bytes, start, toRead);
-				if (bytesRead == -1)
-					return bytesToRead != toRead ? bytesToRead-toRead : -1;	// Actual number read, or if none read, then EOF
-				start+=bytesRead;
-				toRead-=bytesRead;
-			}
-			return bytesToRead;
-		} catch (CommandException e) {
-			// rethrow this exception since we want these to go on out.
-			throw e;
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}		
-	}
-		
-	/**
-	 * For writing a large number of bytes. This is a value type, not a command. The command 
-	 * needs to be handled separately.
-	 *
-	 * It will write it in the format:
-	 *   int - number of bytes
-	 *   bytes - the actual bytes.
-	 *
-	 */
-	public static void writeBytes(DataOutputStream os, byte[] bytes, int bytesToWrite) throws CommandException  {
-		try {
-			os.writeInt(bytesToWrite);
-			os.write(bytes, 0, bytesToWrite);
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}		
-	}	
-		
-	/************************
-	 * Send command helpers
-	 ************************/
-	 
-	public static void sendQuitCommand(DataOutputStream os) throws IOException {
-		os.writeByte(QUIT_CONNECTION);
-		os.flush();
-			
-	}
-	
-	public static void sendTerminateCommand(DataOutputStream os) throws IOException {
-		os.writeByte(TERMINATE_SERVER);
-		os.flush();
-	}
-	
-	
-	public static void releaseObjectCommand(DataOutputStream os, int id) throws IOException {
-		os.writeByte(Commands.RELEASE_OBJECT);
-		os.writeInt(id);
-		os.flush();
-	}
-
-	/**
-	 * Send a callback request. The value is to be send separately.
-	 */
-	public static void sendCallbackCommand(DataOutputStream os, int callbackID, int msgID) throws CommandException {
-		try {
-			os.writeByte(CALLBACK);
-			os.writeInt(callbackID);
-			os.writeInt(msgID);
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}		
-	}
-		
-	public static void sendCallbackDoneCommand(DataOutputStream os, ValueObject value, int errorCode) throws CommandException {
-		try {
-			os.writeByte(CALLBACK_DONE);
-			if (errorCode == NO_ERROR) {
-				writeValue(os, value, true);
-				os.flush();
-			} else
-				sendErrorCommand(os, errorCode, value);
-		} catch (CommandException e) {
-			// rethrow this exception since we want these to go on out.
-			throw e;
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}		
-	}
-	
-	/**
-	 * Send a start callback stream request. The data will be written separately.
-	 * There will not be a callback done command. It will return as soon as the command
-	 * is sent.
-	 */
-	public static void sendCallbackStreamCommand(DataOutputStream os, int callbackID, int msgID) throws CommandException {
-		try {
-			os.writeByte(CALLBACK_STREAM);
-			os.writeInt(callbackID);
-			os.writeInt(msgID);
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}		
-	}
-		
-	/**
-	 * Read back command, expecting either a VALUE or an ERROR. You can request that
-	 * it be of a specific type (if any type can be accepted then enter -1 for the type).
-	 */
-	public static final byte NO_TYPE_CHECK = -1;
-	public static void readBackValue(DataInputStream is, ValueObject value, byte expectedType) throws CommandException {
-		try {		
-			byte v = is.readByte();
-			switch (v) {
-				case VALUE:
-					readValue(is, value);
-					if (expectedType != NO_TYPE_CHECK && 
-							!(expectedType == value.type || (expectedType == Commands.OBJECT_ID && value.type == NEW_OBJECT_ID)))
-						throw new UnexpectedCommandException(TYPE_INVALID_FOR_COMMAND, true, value);
-					break;
-				case ERROR:
-					int code = is.readInt();
-					readValue(is, value);
-					throw new CommandErrorException(code, value);
-				default:
-					throw new UnexpectedCommandException(UNKNOWN_COMMAND, false, new Byte(v));
-			}
-		} catch (CommandException e) {
-			// rethrow this exception since we want these to go on out.
-			throw e;
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}				
-	}
-		
-	
-	/**
-	 * GetClass command returns a GetClassReturn object.
-	 */
-	public static class GetClassReturn {
-		public int classID;
-		public boolean isInterface;
-		public boolean isAbstract;
-		public String superClassname;
-	}
-	
-	public static GetClassReturn sendGetClassCommand(DataOutputStream os, DataInputStream is, String className) throws CommandException {
-		try {
-			os.writeByte(GET_CLASS);
-			os.writeUTF(className);
-			os.flush();
-			
-			GetClassReturn ret = new GetClassReturn();
-			byte v = is.readByte();
-			switch (v) {
-				case GET_CLASS_RETURN:
-					ret.classID = is.readInt();	// Get the new class id.
-					ret.isInterface = is.readBoolean();	// Get the isInterface flag
-					ret.isAbstract = is.readBoolean();	// Get the isAbstract flag.					
-					ret.superClassname = is.readUTF();	// Get the super class name.
-					return ret;
-				case ERROR:
-					int code = is.readInt();
-					ValueObject value = new ValueObject();
-					readValue(is, value);
-					throw new CommandErrorException(code, value);
-				default:
-					throw new UnexpectedCommandException(UNKNOWN_COMMAND, false, new Byte(v));
-			}
-		} catch (CommandException e) {
-			// rethrow this exception since we want these to go on out.
-			throw e;
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}		
-	}
-	
-	/**
-	 * GetClassFromID command returns a GetClassIDReturn object.
-	 */
-	public static class GetClassIDReturn {
-		public String className;
-		public boolean isInterface;
-		public boolean isAbstract;
-		public String superClassname;
-	}
-		
-	public static GetClassIDReturn sendGetClassFromIDCommand(DataOutputStream os, DataInputStream is, int classID) throws CommandException {
-		try {
-			os.writeByte(GET_CLASS_FROM_ID);
-			os.writeInt(classID);
-			os.flush();
-			
-			GetClassIDReturn ret = new GetClassIDReturn();
-			byte v = is.readByte();
-			switch (v) {
-				case GET_CLASS_ID_RETURN:
-					ret.className = is.readUTF();	// Get the new class name.
-					ret.isInterface = is.readBoolean();	// Get the isInterface flag
-					ret.isAbstract = is.readBoolean();	// Get the isAbstract flag.
-					ret.superClassname = is.readUTF();	// Get the super class name.
-					return ret;
-				case ERROR:
-					int code = is.readInt();
-					ValueObject value = new ValueObject();
-					readValue(is, value);
-					throw new CommandErrorException(code, value);
-				default:
-					throw new UnexpectedCommandException(UNKNOWN_COMMAND, false, new Byte(v));
-			}
-		} catch (CommandException e) {
-			// rethrow this exception since we want these to go on out.
-			throw e;
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}		
-	}
-		
-	public static void sendGetObjectData(DataOutputStream os, DataInputStream is, int objectID, ValueObject valueReturn) throws CommandException {
-		try {
-			os.writeByte(GET_OBJECT_DATA);
-			os.writeInt(objectID);
-			os.flush();
-			readBackValue(is, valueReturn, NEW_OBJECT_ID);
-		} catch (CommandException e) {
-			// rethrow this exception since we want these to go on out.
-			throw e;
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}		
-	}		
-	
-	public static void sendErrorCommand(DataOutputStream os, int code, ValueObject errorValue) throws CommandException {
-		try {
-			os.writeByte(ERROR);
-			os.writeInt(code);
-			writeValue(os, errorValue, false);
-			os.flush();
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}		
-	}		
-	
-	public static void sendNewInstance(DataOutputStream os, DataInputStream is, int classId, String initializationString, ValueObject newValueReturn) throws CommandException {
-		try {
-			os.writeByte(NEW_INIT_STRING);
-			os.writeInt(classId);
-			os.writeUTF(initializationString);
-			os.flush();
-			readBackValue(is, newValueReturn, NO_TYPE_CHECK);
-		} catch (CommandException e) {
-			// rethrow this exception since we want these to go on out.
-			throw e;
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}		
-	}	
-	
-	
-	public static void sendInvokeMethodCommand(DataOutputStream os, DataInputStream is, int methodID, ValueObject invokeOn, ValueObject parms, ValueObject valueReturn) throws CommandException {
-		try {
-			os.writeByte(INVOKE);
-			os.writeInt(methodID);
-			writeValue(os, invokeOn, false);
-			writeValue(os, parms, false);
-			os.flush();
-			readBackValue(is, valueReturn, NO_TYPE_CHECK);
-		} catch (CommandException e) {
-			// rethrow this exception since we want these to go on out.
-			throw e;
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}		
-	}
-	
-	private Commands() {
-		// Never intended to be instantiated.
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/ExpressionCommands.java b/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/ExpressionCommands.java
deleted file mode 100644
index ba9f66a..0000000
--- a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/ExpressionCommands.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: ExpressionCommands.java,v $
- *  $Revision: 1.1 $  $Date: 2004/02/03 23:18:36 $ 
- */
-package org.eclipse.jem.internal.proxy.common.remote;
-
-import java.io.*;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-
- 
-/**
- * 
- * @since 1.0.0
- */
-public class ExpressionCommands {
-
-	// These are the sub-commands under EXPRESSION_TREE_COMMANDS that can be send.
-	public static final byte
-		START_EXPRESSION_TREE_PROCESSING = 0,
-		PUSH_EXPRESSION = 1,
-		END_EXPRESSION_TREE_PROCESSING = 2,
-		SYNC_REQUEST = 3,
-		PULL_VALUE_REQUEST = 4;
-	
-	// These are the expression specific error codes (it can also send back general ones. See SYNC_REQUEST docs lower down).
-	public static final int
-		ExpressionNoExpressionValueException = Commands.MAX_ERROR_CODE+1;	// No expression value occurred.
-	
-	/*
-	 * The format of the commands are:
-	 * 		Note: Most of the commands will not being doing a os.flush() at the end. We are just going to
-	 * 		be streaming the data over the line. At the end we will flush and then catch up. That way
-	 * 		we aren't waiting for the other side as we send the data.
-	 * 
-	 * START_EXPRESSION_TREE_PROCESSING: 0b
-	 * 	Start processing.
-	 * 
-	 * PUSH_EXPRESSION: 1b, b
-	 * 	Push an expression. Where "b" is the expression type from IInternalExpressionConstants. 
-	 * 	The actual data that follows is expression type dependent and will be
-	 * 	sent in a following call to ExpressionCommands as it builds up the actual command.
-	 * 	See REMExpression and each type of push call method within it to see the actual
-	 * 	sent data.
-	 * 
-	 * END_EXPRESSION_TREE_PROCESSING: 2b
-	 * 	End the processing and clean up.
-	 * 
-	 * SYNC_REQUEST: 3b
-	 * 	This will return the current status. The reason it is called sync is because the
-	 * 	IDE will wait for it to complete and read back the value. It will send back:
-	 * 		1: VALUE command with boolean true as the value.
-	 * 		2: ERROR command with code of ExpressionClassNotFound, with value of String with message from exception.
-	 * 		3: ERROR command with code of ExpressionNoExpressionValueException, with value of String with message from exception.
-	 * 		4: THROWABLE command with the actual exception that occurred.
-	 * 
-	 *
-	 * PULL_VALUE_REQUEST: 4b
-	 * 	This will do a sync up and return the value from the expression.
-	 * 	IDE will wait for it to compleate and read back the value. It will send back:
-	 * 		1: VALUE command with the result as the value.
-	 * 		2: ERROR or EXCEPTION if there were errors, see SYNC_REQUEST with the format they are sent back.
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.initParser.tree.IInternalExpressionConstants
-	 * @see org.eclipse.jem.internal.proxy.remote.REMExpression
-	 * 
-	 */
-	
-	/**
-	 * Send the start expression processing command.
-	 * 
-	 * @param os
-	 * @throws IOException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void sendStartExpressionProcessingCommand(DataOutputStream os) throws IOException {
-		os.writeByte(Commands.EXPRESSION_TREE_COMMAND);
-		os.writeByte(START_EXPRESSION_TREE_PROCESSING);
-	}
-	
-	/**
-	 * Send the end expression processing command.
-	 * 
-	 * @param os
-	 * @throws IOException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void sendEndExpressionProcessingCommand(DataOutputStream os) throws IOException {
-		os.writeByte(Commands.EXPRESSION_TREE_COMMAND);
-		os.writeByte(END_EXPRESSION_TREE_PROCESSING);
-		os.flush();	// Flushing because we are done and want to make sure everything goes out.
-	}
-	
-	/**
-	 * Send an expression subcommand.
-	 * 
-	 * @param os
-	 * @param subcommand
-	 * @throws IOException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void sendExpressionCommand(DataOutputStream os, byte subcommand) throws IOException {
-		os.writeByte(Commands.EXPRESSION_TREE_COMMAND);
-		os.writeByte(PUSH_EXPRESSION);
-		os.writeByte(subcommand);
-	}
-	
-	/**
-	 * Send just a byte.
-	 * 
-	 * @param os
-	 * @param aByte
-	 * @throws IOException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void sendByte(DataOutputStream os, byte aByte) throws IOException {
-		os.writeByte(aByte);
-	}
-	
-	/**
-	 * Send just an int.
-	 * 
-	 * @param os
-	 * @param anInt
-	 * @throws IOException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void sendInt(DataOutputStream os, int anInt) throws IOException {
-		os.writeInt(anInt);
-	}
-	
-	/**
-	 * Send just a string.
-	 * 
-	 * @param os
-	 * @param aString
-	 * @throws IOException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void sendString(DataOutputStream os, String aString) throws IOException {
-		os.writeUTF(aString);
-	}
-	
-	/**
-	 * Send just a boolean.
-	 * 
-	 * @param os
-	 * @param aBool
-	 * @throws IOException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void sendBoolean(DataOutputStream os, boolean aBool) throws IOException {
-		os.writeBoolean(aBool);
-	}
-	
-	/**
-	 * Send the pull value command. Return either the value or an error (NoValueExpressionException or a Throwable)>
-	 * @param os
-	 * @param is
-	 * @param valueReturn
-	 * @throws CommandException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void sendPullValueCommand(DataOutputStream os, DataInputStream is, Commands.ValueObject valueReturn) throws CommandException {
-		try {
-			os.writeByte(Commands.EXPRESSION_TREE_COMMAND);
-			os.writeByte(PULL_VALUE_REQUEST);
-			os.flush();
-			Commands.readBackValue(is, valueReturn, Commands.NO_TYPE_CHECK);
-		} catch (CommandException e) {
-			// rethrow this exception since we want these to go on out.
-			throw e;
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}		
-	}
-	
-	/**
-	 * Send a sync command. This does a synchronize with the remote expression processor. It makes sure that the
-	 * stream is caught and doesn't return until everything on the stream has been processed. It will then return a
-	 * value. The value should <code>true</code> if everything is OK, it could be an error return,
-	 * 
-	 * @param os
-	 * @param is
-	 * @param returnValue
-	 * @throws CommandException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void sendSyncCommand(DataOutputStream os, DataInputStream is, Commands.ValueObject returnValue) throws CommandException {
-		try {
-			os.writeByte(Commands.EXPRESSION_TREE_COMMAND);
-			os.writeByte(SYNC_REQUEST);
-			os.flush();
-			Commands.readBackValue(is, returnValue, Commands.NO_TYPE_CHECK);
-		} catch (CommandException e) {
-			// rethrow this exception since we want these to go on out.
-			throw e;
-		} catch (Exception e) {
-			// Wrapper this one.
-			throw new UnexpectedExceptionCommandException(false, e);
-		}		
-	}	
-	
-	private ExpressionCommands() {
-		// Never intended to be instantiated.
-	}
-	
-}
diff --git a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/IOCommandException.java b/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/IOCommandException.java
deleted file mode 100644
index 14ce872..0000000
--- a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/IOCommandException.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.jem.internal.proxy.common.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IOCommandException.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import java.io.IOException;
-import org.eclipse.jem.internal.proxy.common.CommandException;
-
-/**
- * A command exception occured while processing an io request
- * in a callback stream. This exception wrappers the command exception.
- */
-
-public class IOCommandException extends IOException {
-	protected CommandException fException;
-	
-	public IOCommandException(CommandException e) {
-		fException = e;
-	}
-	
-	public CommandException getException() {
-		return fException;
-	}
-	
-	public String getMessage() {
-		return fException.getMessage();
-	}
-	
-	public void printStackTrace() {
-		fException.printStackTrace();
-	}
-	
-	public void printStackTrace(java.io.PrintStream p) {
-		fException.printStackTrace(p);
-	}
-
-	public void printStackTrace(java.io.PrintWriter p) {
-		fException.printStackTrace(p);
-	}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/TransmitableArray.java b/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/TransmitableArray.java
deleted file mode 100644
index 5c74d53..0000000
--- a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/TransmitableArray.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.jem.internal.proxy.common.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: TransmitableArray.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * A value can be a TransmitableArray. This means this value is an array that
- * needs to have a ValueRetriever created for it. This is used if the array has ID's in
- * it and is not an existing array on the server or all constant values.
- *
- * NOTE: It is assumed that all IBeanTypeProxies of the parms have already been retrieved.
- *       It should still work, but it could be asking for them in the middle of the request
- *       if they are not first gotton. And this could throw a non-recoverable exception if not found.
- */
-public final class TransmitableArray {
-	public int componentTypeID;	// The id of the type of the component type of the array.
-	public Object[] array;	// The array it self.
-	public TransmitableArray(int typeID, Object[] anArray) {
-		componentTypeID = typeID;
-		array = anArray;
-	}
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/UnexpectedCommandException.java b/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/UnexpectedCommandException.java
deleted file mode 100644
index 60e0d74..0000000
--- a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/UnexpectedCommandException.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.jem.internal.proxy.common.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: UnexpectedCommandException.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-/**
- * This is an exception that is thrown when the processing
- * of data was invalid for the command. 
- * There will be a flag indicting error type, and a flag
- * indicating whether the connection is recoverable or not.
- * If not recoverable, then the connection needs to be closed.
- *
- */
-public class UnexpectedCommandException extends CommandException {
-	private final Object fErrorType;
-	private final boolean fRecoverable;
-	
-	public UnexpectedCommandException(Object errorType, boolean recoverable) {
-		fErrorType = errorType;
-		fRecoverable = recoverable;
-	}		
-	
-	public UnexpectedCommandException(Object errorType, boolean recoverable, Object data) {
-		super(data);
-		fErrorType = errorType;
-		fRecoverable = recoverable;
-	}
-	
-	public UnexpectedCommandException(Object errorType, boolean recoverable, String msg, Object data) {
-		super(msg, data);
-		fErrorType = errorType;
-		fRecoverable = recoverable;
-	}
-
-	public Object getErrorType() {
-		return fErrorType;
-	}
-	
-	public boolean isRecoverable() {
-		return fRecoverable;
-	}
-	
-	public String getMessage() {
-		String m = super.getMessage();
-		if (fErrorType != null) {
-			String dataMsg = getExceptionData() != null ? " Errordata="+getExceptionData().toString() : "";	//$NON-NLS-1$ //$NON-NLS-2$
-			if (m == null)
-				return "Errortype="+fErrorType.toString() + dataMsg; //$NON-NLS-1$
-			else
-				return m + ':' + "Errortype="+fErrorType.toString() + dataMsg; //$NON-NLS-1$
-		} else
-			return m;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/UnexpectedExceptionCommandException.java b/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/UnexpectedExceptionCommandException.java
deleted file mode 100644
index d746370..0000000
--- a/plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/UnexpectedExceptionCommandException.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.jem.internal.proxy.common.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: UnexpectedExceptionCommandException.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-/**
- * Wrapper an unexpected exception in a Command Exception.
- */
-public class UnexpectedExceptionCommandException extends UnexpectedCommandException {
-
-	public UnexpectedExceptionCommandException(boolean recoverable, Throwable data) {
-		super(Commands.SOME_UNEXPECTED_EXCEPTION, recoverable, data);
-	}
-	
-	public UnexpectedExceptionCommandException(boolean recoverable, String msg, Throwable data) {
-		super(Commands.SOME_UNEXPECTED_EXCEPTION, recoverable, msg, data);
-	}
-	
-	public Throwable getException() {
-		return (Throwable) getExceptionData();
-	}
-	
-	public String getMessage() {
-		String localMsg = super.getMessage();
-		if (getException() != null)
-			if (localMsg == null || localMsg.length() == 0)
-				return getException().getLocalizedMessage();
-			else
-				return localMsg + ": " + getException().getLocalizedMessage(); //$NON-NLS-1$
-		return
-			localMsg;
-	}
-	
-	public void printExceptionStackTrace() {
-		getException().printStackTrace();
-	}
-	
-	public void printStackTrace() {
-		printExceptionStackTrace();
-	}
-	
-	public void printStackTrace(java.io.PrintStream p) {
-		getException().printStackTrace(p);
-	}
-
-	public void printStackTrace(java.io.PrintWriter p) {
-		getException().printStackTrace(p);
-	}	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/schema/contributor.exsd b/plugins/org.eclipse.jem.proxy/schema/contributor.exsd
deleted file mode 100644
index 89954ee..0000000
--- a/plugins/org.eclipse.jem.proxy/schema/contributor.exsd
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.jem.proxy">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.jem.proxy" id="contributor" name="Proxy Configuration Contributor"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to supply configuration contributors for proxy support. You can supply a contributor for a specific classpath container or for a plugin.
-&lt;p&gt;
-The way configuration contributors work is that when a proxy vm is started, it first runs through all of the explicit contributors that were given to it. It then goes through the classpath of the project and finds the containers. If the container implements IConfigurationContributor, it will be called as a contributor. Then all of the extensions of this extension point will be searched for those have the same container id, and if so they will be called as a contributor.
-&lt;p&gt;
-The extensions will be called in plugin order. In other words if plugin A depends on plugin B, the contribution in plugin A will not be called before the contribution in plugin B.
-&lt;p&gt;
-If a plugin is in the classpath of the project (in other words the project is PDE plugin development project and requires a plugin) then the contributor with the given plugin id will be called.
-&lt;p&gt;
-Both container and plugin can be specified, but at least one of them must be specified. If both are specified, then this entry will be used if either the container or the plugin is found in the classpath.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="contributor" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="contributor">

-      <annotation>

-         <documentation>

-            A contributor. Either the container or the plugin attributes must be set.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="container" type="string">

-            <annotation>

-               <documentation>

-                  contributor is for a container. The value is the container id (e.g. &quot;JRE_CONTAINER&quot;).

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="plugin" type="string">

-            <annotation>

-               <documentation>

-                  contributor is for a plugin. The value is the plugin id (e.g. &quot;org.eclipse.swt&quot;).

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the class that implements this contributor. The class must implement IConfigurationContributor.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         1.0.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of a contributor: 
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.jem.proxy.contributor&quot;&gt;
-  &lt;contributor
-   class=&quot;com.example.ContributorImplementation&quot;
-   container=&quot;MY_CONTAINER&quot;&gt;
-  &lt;contributor&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The &lt;samp&gt;class&lt;/samp&gt; attribute must be a fully-qualified class that implements the &lt;samp&gt;org.eclipse.jem.internal.proxy.core.IConfigurationContributor&lt;/samp&gt; interface.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         There are no implementations of the IConfigurationContributor available for general use.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2004 IBM Corporation and others.&lt;br&gt;
-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 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ArrayHelper.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ArrayHelper.java
deleted file mode 100644
index 2146630..0000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ArrayHelper.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ArrayHelper.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * This class provides similiar function as the java.lang.reflect.Array class but
- * it handles multi-dimensional arrays. Without this helper, the client would have
- * to walk down through each dimension executing a get command. This would mean
- * many transactions instead of one provided by this helper.
- *
- * It also provides some other helper functions for arrays that Array doesn't provide.
- */
-
-public final class ArrayHelper {
-	// It can never be instantiated.
-	private ArrayHelper() {
-	}
-	
-	public static Object get(Object array, int[] indexes) {
-		Object answer = array;
-		for (int i=0; i<indexes.length; i++)
-			answer = java.lang.reflect.Array.get(answer, indexes[i]);
-		return answer;
-	}
-	
-	public static byte getByte(Object array, int[] indexes) {
-		return ((Byte) get(array, indexes)).byteValue();
-	}
-	public static boolean getBoolean(Object array, int[] indexes) {
-		return ((Boolean) get(array, indexes)).booleanValue();
-	}
-	public static char getChar(Object array, int[] indexes) {
-		return ((Character) get(array, indexes)).charValue();
-	}	
-	public static double getDouble(Object array, int[] indexes) {
-		return ((Double) get(array, indexes)).doubleValue();
-	}
-	public static float getFloat(Object array, int[] indexes) {
-		return ((Float) get(array, indexes)).floatValue();
-	}
-	public static int getInt(Object array, int[] indexes) {
-		return ((Integer) get(array, indexes)).intValue();
-	}
-	public static long getLong(Object array, int[] indexes) {
-		return ((Long) get(array, indexes)).longValue();
-	}
-	public static short getShort(Object array, int[] indexes) {
-		return ((Short) get(array, indexes)).shortValue();
-	}
-	
-	public static void set(Object array, int[] indexes, Object value) {
-		Object subArray = array;
-		int upTo = indexes.length-1;
-		for (int i=0; i<upTo; i++)
-			subArray = java.lang.reflect.Array.get(subArray, indexes[i]);
-		java.lang.reflect.Array.set(subArray, indexes[upTo], value);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/CallbackHandler.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/CallbackHandler.java
deleted file mode 100644
index 3cd1976..0000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/CallbackHandler.java
+++ /dev/null
@@ -1,184 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: CallbackHandler.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/06 20:43:52 $ 
- */
-
-import java.net.Socket;
-import java.io.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.UnexpectedExceptionCommandException;
-import org.eclipse.jem.internal.proxy.common.*;
-/**
- * This is a handler for doing callbacks to the
- * client.
- *
- * This is package protected because no one should
- * use it from the outside. It is too critical that
- * callback's work only in this specified way.
- */
-class CallbackHandler extends ConnectionHandler implements ICallbackHandler {
-	public CallbackHandler(Socket sc, RemoteVMServerThread svr) {
-		super(sc, svr, null);
-	}		
-	
-	/**
-	 * Initiate a stream callback request.
-	 */
-	public void initiateCallbackStream(int callbackID, int msgID) throws CommandException {
-		try {
-			Commands.sendCallbackStreamCommand(out, callbackID, msgID);
-			out.flush();
-		} catch (CommandException e) {
-			throw e;
-		} catch (Exception e) {
-			throw new UnexpectedExceptionCommandException(false, e);
-		}
-		run();	// Now run and wait for return. If no command exeception thrown, then it signals to continue.
-	}
-	
-	/**
-	 * Write bytes to the client. If bytesToWrite is -1, then this is end and
-	 * no bytes are being written. Just write the -1 then.
-	 */
-	public void writeBytes(byte[] bytes, int bytesToWrite) throws CommandException {
-		try {
-			if (bytesToWrite != -1)
-				Commands.writeBytes(out, bytes, bytesToWrite);
-			else
-				out.writeInt(-1);
-		} catch (CommandException e) {
-			throw e;
-		} catch (Exception e) {
-			throw new UnexpectedExceptionCommandException(false, e);
-		}
-	}
-
-		
-	/**
-	 * Callback, but send the parm as an object, ie. it must
-	 * be nothing but constants, e.g. String, Integer, or an
-	 * array of constants. Constants should not be things like
-	 * regular objects. This is because only standard java.lang
-	 * type constants can be assured to be available on the other
-	 * client. Also you don't want to send big objects, except
-	 * maybe something like an array of bytes or strings. It must
-	 * be constants that don't need to be sent back for any reason
-	 * since their identity will be lost in the transfer.
-	 *
-	 * This should be used if there are no parms (i.e. it is null).
-	 */
-	public Object callbackAsConstants(int callbackID, int msgID, Object parm) throws CommandException {
-
-		try {
-			Commands.sendCallbackCommand(out, callbackID, msgID);
-			Commands.ValueObject v = new Commands.ValueObject();
-			sendObject(parm, SEND_AS_IS, v, out, false);
-			out.flush();
-		} catch (CommandException e) {
-			throw e;
-		} catch (Exception e) {
-			throw new UnexpectedExceptionCommandException(false, e);
-		}
-		return run();	// Now run and wait for return.
-	}
-	
-	
-	// A retriever is what handles the array part.
-	private class Retriever implements Commands.ValueRetrieve {
-		int index=0;
-		Object[] array;
-		Commands.ValueObject worker = new Commands.ValueObject();
-		
-		
-		public Retriever(Object[] anArray) {
-			array = anArray;
-		}
-		
-		public Commands.ValueObject nextValue() {
-			if (index < array.length) {
-				Object parm = array[index++];
-				if (parm != null) {
-					if (parm instanceof ICallbackHandler.TransmitableArray) {
-						// It is another array, create a new retriever.
-						worker.setArrayIDS(new Retriever(((ICallbackHandler.TransmitableArray) parm).getArray()), ((ICallbackHandler.TransmitableArray) parm).getArray().length, Commands.OBJECT_CLASS);
-					} else {
-						// They may add some new ID's and if there is an error, they
-						// won't get released, but that is a slight chance we will have
-						// to take because we don't know which ones were new and which
-						// ones weren't.
-						fillInValue(parm, NOT_A_PRIMITIVE, worker);
-					}
-				} else
-					worker.set();
-				return worker;
-			} else
-				return null;
-		}
-	};
-		
-	private static final Object[] NULL_SENT = new Object[1];
-	/**
-	 * Callback, but send the parm as IDs so that proxies
-	 * will be created for the objects and can be referenced.
-	 *
-	 * This should be used even if there is only one parm.
-	 */
-	public Object callbackWithParms(int callbackID, int msgID, Object[] parms) throws CommandException {
-		try {
-			if (parms == null)
-				parms = NULL_SENT;
-				
-			Commands.ValueObject v = new Commands.ValueObject();
-							
-			v.setArrayIDS(new Retriever(parms), parms.length, Commands.OBJECT_CLASS);
-			Commands.sendCallbackCommand(out, callbackID, msgID);
-			Commands.writeValue(out, v, false);
-			out.flush();
-		} catch (CommandException e) {
-			throw e;
-		} catch (Exception e) {
-			throw new UnexpectedExceptionCommandException(false, e);
-		}
-		return run();	// Now run and wait for return.
-	}	
-	
-	/**
-	 * A closeHandler has been requested. This is called when
-	 * not waiting within a loop, so we need to do the cleanup ourselves.
-	 */
-	public void closeHandler() {
-		if (isConnected()) {
-			try {
-				Commands.sendQuitCommand(out);
-			} catch (IOException e) {
-			} finally {
-				if (in != null)
-					try {
-						in.close();
-					} catch (Exception e) {
-					}
-				if (out != null)
-					try {
-						out.close();
-					} catch (Exception e) {
-					}
-				close();
-				in = null;
-				out = null;
-				socket = null;
-			}
-		}
-	}
-			
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/CallbackOutputStream.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/CallbackOutputStream.java
deleted file mode 100644
index 6d4fbb0..0000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/CallbackOutputStream.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: CallbackOutputStream.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import java.io.OutputStream;
-import java.io.IOException;
-import java.io.InterruptedIOException;
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.IOCommandException;
-/**
- * This is the special stream used to buffer and write a lot
- * of bytes to callback into the client.
- *
- * Before writing any bytes to the client, it will see if the
- * client has sent anything back. If it has, this is an indication
- * that that client has requested that the stream be closed. In that
- * case an InterruptedIOException is raised to indicate that
- * the stream will be closed and no more data will be sent.
- */
-public class CallbackOutputStream extends OutputStream {
-	
-	protected CallbackHandler fHandler;
-	protected RemoteVMServerThread fSvr;
-	protected byte[] fBuffer;
-	protected int fNextByte = 0;
-	
-	public CallbackOutputStream(CallbackHandler handler, RemoteVMServerThread svr) {
-		fHandler = handler;
-		fSvr = svr;
-		
-		Integer bufSize = Integer.getInteger("proxyvm.bufsize"); //$NON-NLS-1$
-		if (bufSize == null)
-			bufSize = new Integer(5000);
-		fBuffer = new byte[bufSize.intValue()];
-	}
-	
-	protected void clearStream() {
-		fSvr.returnCallbackHandler(fHandler);
-		fSvr = null;
-		fHandler = null;
-		fBuffer = null;
-	}
-	
-	protected void processException(CommandException e) throws IOException {
-		clearStream();
-		throw new IOCommandException(e);
-	}
-	
-	public void flush() throws IOException {
-		flushBuffer();
-		fHandler.out.flush();
-	}
-
-	protected void flushBuffer() throws IOException {
-		if (fHandler == null)
-			throw new IOException("Stream closed. No more operations permitted."); //$NON-NLS-1$
-		if (fNextByte > 0) {
-			try {
-				if (fHandler.in.available() > 0) {
-					// There was something waiting. This means a cancel has been requested.
-					fHandler.in.skip(fHandler.in.available());
-					close(false);	// Now close the stream. We need to have the close indicator sent so that the remote side, but we don't need to wait because the terminate response has already been sent.
-					throw new InterruptedIOException();
-				}
-				fHandler.writeBytes(fBuffer, fNextByte);
-				fNextByte = 0;
-			} catch (CommandException e) {
-				processException(e);
-			}
-		}
-	}
-	
-	/**
-	 * Closes this output stream and releases any system resources 
-	 * associated with this stream. The general contract of <code>close</code> 
-	 * is that it closes the output stream. A closed stream cannot perform 
-	 * output operations and cannot be reopened.
-	 * <p>
-	 * Close will send a -1 to the client and set to indicate it is closed.
-	 *
-	 * @exception  IOException  if an I/O error occurs.
-	 */
-	public void close() throws IOException {
-		close(true);
-	}
-	
-
-	protected void close(boolean wait) throws IOException {
-		if (fHandler != null) {
-			try {
-				flushBuffer();
-				try {				
-					fHandler.writeBytes(null, -1);
-					fHandler.out.flush();
-					if (wait) {
-						// Wait means wait for the remote side to send the terminated response.
-						// A normal close will do this. If the remote side sent a cancel request, then it has already
-						// sent the terminated response and it is waiting for us to send the end-of-file command.
-						
-						fHandler.in.readByte();	// Block and wait until the terminate request. There shouldn't be anything else in the pipeline.
-						if (fHandler.in.available() > 0)
-							// There was something else waiting. Let's just clear it out to be safe.
-							fHandler.in.skip(fHandler.in.available());
-					}
-				} catch (CommandException e) {
-					processException(e);
-				}
-			} finally {
-				clearStream();
-			}
-		}
-	}
-	
-	public void write(int b) throws IOException {
-		fBuffer[fNextByte++] = (byte) b;
-		if (fNextByte >= fBuffer.length)
-			flushBuffer();
-	}
-	
-	public void write(byte b[], int off, int len) throws IOException {
-		if (b == null) {
-		    throw new NullPointerException();
-		} else if ((off < 0) || (off > b.length) || (len < 0) ||
-			   ((off + len) > b.length) || ((off + len) < 0)) {
-		    throw new IndexOutOfBoundsException();
-		} else if (len == 0) {
-		    return;
-		}
-		
-		while (len > 0) {
-			int move = fBuffer.length-fNextByte;
-			if (len < move)
-				move = len;
-			System.arraycopy(b, off, fBuffer, fNextByte, move);
-			len -= move;
-			off += move;
-			fNextByte += move;
-			if (fNextByte >= fBuffer.length)
-				flushBuffer();
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ClassHelper.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ClassHelper.java
deleted file mode 100644
index 062a422..0000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ClassHelper.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ClassHelper.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-
-/**
- * This class is a helper for Class accessing functions.
- * Its main function is to bypass security. This is because
- * we don't care about security for remote vm. Security is
- * handled by the IDE and compilor over there. We do what
- * we're told.
- * 
- * @author richkulp
- */
-public class ClassHelper {
-
-	/**
-	 * Constructor for ClassHelper.
-	 */
-	private ClassHelper() {
-		super();
-	}
-	
-	private static final Class[] EMPTY_CLASS_ARRAY = new Class[0];
-	private static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];	
-	public static Object newInstance(Class targetClass) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, InstantiationException {
-		// We want to get the default ctor, which is in the declared list. No need
-		// to worry about inheritance because ctors are never virtual.
-		Constructor ctor = targetClass.getDeclaredConstructor(EMPTY_CLASS_ARRAY);
-		ctor.setAccessible(true);
-		return ctor.newInstance(EMPTY_OBJECT_ARRAY);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ConnectionHandler.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ConnectionHandler.java
deleted file mode 100644
index a94a500..0000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ConnectionHandler.java
+++ /dev/null
@@ -1,730 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ConnectionHandler.java,v $
- *  $Revision: 1.4 $  $Date: 2004/02/06 20:43:52 $ 
- */
-
-
-import java.io.*;
-import java.net.Socket;
-import java.net.SocketException;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.*;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.UnexpectedExceptionCommandException;
-import org.eclipse.jem.internal.proxy.initParser.*;
-
-/**
- * This handles one connection.
- */
-
-public class ConnectionHandler {	
-		
-	protected Socket socket;
-	final protected RemoteVMServerThread server;
-	final protected Thread connectionThread;
-	protected DataInputStream in;
-	protected DataOutputStream out;
-	
-	// Kludge: Bug in Linux 1.3.xxx of JVM. Closing a socket while the socket is being read/accept will not interrupt the
-	// wait. Need to timeout to the socket read/accept before the socket close will be noticed. This has been fixed
-	// in Linux 1.4. So on Linux 1.3 need to put timeouts in on those sockets that can be separately closed while reading/accepting.
-	static boolean LINUX_1_3 = "linux".equalsIgnoreCase(System.getProperty("os.name")) && System.getProperty("java.version","").startsWith("1.3");	 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	
-	/**
-	 * This may be running as a callback, in that case there is no connectionThread.
-	 */
-	public ConnectionHandler(Socket sc, RemoteVMServerThread svr, Thread connectionThread) {
-		socket = sc;
-		server = svr;
-		this.connectionThread = connectionThread;
-		
-		Integer bufSize = Integer.getInteger("proxyvm.bufsize"); //$NON-NLS-1$
-		if (bufSize == null)
-			bufSize = new Integer(5000);
-			
-		try {
-			out = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream(), bufSize.intValue()));
-			in = new DataInputStream(new BufferedInputStream(socket.getInputStream(), bufSize.intValue()));
-		} catch (IOException e) {
-		}
-			
-	}
-	
-	/**
-	 * Did this construct correctly.
-	 * This is needed because an exception could be thrown in the ctor and
-	 * that's not a good thing to do.
-	 */
-	public boolean isConnected() {
-		return socket != null;
-	}	
-	
-	/**
-	 * Request the thread to close down.
-	 */
-	public void close() {
-		if (socket != null) {
-			try {
-				Socket s = socket;
-				socket = null;
-				s.close();
-			} catch (Exception e) {
-			}
-		}
-	}
-	
-	/*
-	 * The current expression controller. Since the same connection will be kept live
-	 * for an expression tree, and any new expression trees that occur will use a different connection,
-	 * this is kept here so that it can be found on sub-expression commands. 
-	 */
-	private ExpressionProcesserController exp = null;
-	
-	/**
-	 * Process and loop until told to stop. A callback_done will stop
-	 * the loop and will return a result. Otherwise null is returned.
-	 */
-	public Object run() throws CommandException {
-		Object result = null;		
-		boolean shutdown = false;
-		boolean closeWhenDone = true;
-		Commands.ValueObject valueObject = new Commands.ValueObject();	// Working value object so not continually recreated.
-		InvokableValueSender valueSender = new InvokableValueSender();	// Working valuesender so not continually recreated. 
-		try {
-			boolean doLoop = true;
-
-			/**
-			 * Note: In the cases below you will see a lot of finally clauses that null variables out.
-			 * This is because this is a long running loop, and variables declared within blocks are not
-			 * garbage collected until the method is terminated, so these variables once set would never
-			 * be GC'd. The nulling at the end of the case makes sure that any of those objects set are
-			 * now available for garbage collection when necessary.
-			 */		
-			while(doLoop && isConnected()) {
-				byte cmd = 0;
-				try {
-					if (LINUX_1_3)
-						socket.setSoTimeout(1000);	// Linux 1.3 bug, see comment on LINUX_1_3
-					cmd = in.readByte();
-					if (LINUX_1_3 && isConnected())
-						socket.setSoTimeout(0);	// Linux 1.3 bug, see comment on LINUX_1_3
-				} catch (InterruptedIOException e) {
-					continue;	// Timeout, try again
-				}
-				switch (cmd) {
-					case Commands.QUIT_CONNECTION:				
-						doLoop = false;	
-						break;	// Close this connection
-						
-					case Commands.TERMINATE_SERVER:
-						doLoop = false;		
-						shutdown = true;	// Shutdown everything
-						break;
-						
-					case Commands.GET_CLASS:
-						String className = in.readUTF();
-						Class aClass = null;
-						Class superClass = null;
-						String superClassName = null;
-						boolean added = false;
-						try {
-							aClass = Class.forName(className);	// Turns out using JNI format for array type will work fine.
-								
-							added = server.getIdentityID(aClass, valueObject);
-							boolean isInterface = aClass.isInterface();
-							boolean isAbstract = java.lang.reflect.Modifier.isAbstract(aClass.getModifiers());
-							superClass = aClass.getSuperclass();
-							superClassName = (superClass != null) ? superClass.getName() : ""; //$NON-NLS-1$
-							out.writeByte(Commands.GET_CLASS_RETURN);
-							out.writeInt(valueObject.objectID);
-							out.writeBoolean(isInterface);
-							out.writeBoolean(isAbstract);
-							out.writeUTF(superClassName);
-							out.flush();
-						} catch (ClassNotFoundException e) {
-							valueObject.set();
-							Commands.sendErrorCommand(out, Commands.GET_CLASS_NOT_FOUND, valueObject);						
-						} catch (ExceptionInInitializerError e) {
-							sendException(e.getException(), valueObject, out);								
-						} catch (LinkageError e) {
-							sendException(e, valueObject, out);								
-						} catch (Throwable e) {
-							// Something bad, did we add a class? If we did remove it from the table.
-							if (added)
-								server.removeObject(server.getObject(valueObject.objectID));
-							throw e;
-						} finally {
-							// clear out for GC to work.
-							className = null;
-							aClass = null;
-							superClass = null;
-							superClassName = null;
-							valueObject.set();
-						}
-						break;
-						
-					case Commands.GET_CLASS_FROM_ID:
-						int classID = in.readInt();
-						try {
-							aClass = (Class) server.getObject(classID);
-							boolean isInterface = aClass.isInterface();
-							boolean isAbstract = java.lang.reflect.Modifier.isAbstract(aClass.getModifiers());							
-							superClass = aClass.getSuperclass();
-							superClassName = (superClass != null) ? superClass.getName() : ""; //$NON-NLS-1$
-							out.writeByte(Commands.GET_CLASS_ID_RETURN);
-							out.writeUTF(aClass.getName());
-							out.writeBoolean(isInterface);
-							out.writeBoolean(isAbstract);
-							out.writeUTF(superClassName);
-							out.flush();
-						} catch (ClassCastException e) {
-							valueObject.set();
-							Commands.sendErrorCommand(out, Commands.CLASS_CAST_EXCEPTION, valueObject);
-						} finally {	
-							// clear out for GC to work.
-							aClass = null;
-							superClass = null;
-							superClassName = null;
-							valueObject.set();							
-						}
-						break;
-
-					case Commands.GET_OBJECT_DATA:
-						int objectID = in.readInt();
-						Object anObject = null;
-						try {
-							anObject = server.getObject(objectID);
-							valueObject.setObjectID(objectID, server.getIdentityID(anObject.getClass()));
-							Commands.writeValue(out, valueObject, true);
-						} catch (ClassCastException e) {
-							valueObject.set();
-							Commands.sendErrorCommand(out, Commands.CLASS_CAST_EXCEPTION, valueObject);
-						} finally {
-							anObject = null;	// Clear out for GC to work
-							valueObject.set();							
-						}
-						break;												
-						
-					case Commands.RELEASE_OBJECT:
-						int id = in.readInt();
-						server.removeObject(server.getObject(id));
-						break;						
-
-					case Commands.NEW_INIT_STRING:
-						classID = in.readInt();	// ID Of class to do new upon.
-						String initString = in.readUTF();	// The init string.
-						Object newValue = null;
-						Class theClass = null;
-						try {
-							theClass = (Class) server.getObject(classID);
-							if (theClass == null) {
-								// The class wasn't found. So imply ClassNotFound exception.
-								throw new ClassNotFoundException();
-							}
-							
-							InitializationStringParser parser = null;
-							try {
-								parser = InitializationStringParser.createParser(initString);
-								newValue = parser.evaluate();								
-								boolean primitive = parser.isPrimitive();
-								// If expected class is Void.TYPE, that means don't test the type of the result
-								// to verify if correct type, just return what it really is.
-								if (theClass != Void.TYPE && primitive != theClass.isPrimitive()) {
-									valueObject.set();
-									Commands.sendErrorCommand(out, Commands.CLASS_CAST_EXCEPTION, valueObject);
-									continue;	// Goto next command.
-								} 
-								if (primitive) {
-									try {
-										// Need to do special tests for compatibility and assignment.
-										sendObject(newValue, classID != Commands.VOID_TYPE ? classID : server.getIdentityID(parser.getExpectedType()), valueObject, out, true);	// This will make sure it goes out as the correct primitive type
-									} catch (ClassCastException e) {
-										// The returned type is not of the correct type for what is expected.
-										valueObject.set();
-										Commands.sendErrorCommand(out, Commands.CLASS_CAST_EXCEPTION, valueObject);
-										continue;	// Goto next command
-									}									
-								} else {
-									if (newValue != null) {
-										// Test to see if they are compatible. (Null can be assigned to any object,
-										// so that is why it was tested out above).
-										// If expected class is Void.TYPE, that means don't test the type of the result
-										// to verify if correct type, just return what it really is.
-										if (theClass != Void.TYPE && !theClass.isInstance(newValue)) {
-											// The returned type is not of the correct type for what is expected.
-											valueObject.set();
-											Commands.sendErrorCommand(out, Commands.CLASS_CAST_EXCEPTION, valueObject);
-											continue;	// Goto next command
-										}
-									}
-									sendObject(newValue, NOT_A_PRIMITIVE, valueObject, out, true);	// Send out as an object.
-								}
-							} catch (InitializationStringEvaluationException e) {
-								if (e instanceof EvaluationException) {
-									// Want to return the real exception.
-									sendException(e.getOriginalException(), valueObject, out);
-								} else {
-									// Couldn't be evaluated, return an error for this.
-									setExceptionIntoValue(e.getOriginalException(), valueObject);
-									Commands.sendErrorCommand(out, Commands.CANNOT_EVALUATE_STRING, valueObject);
-								}
-							} finally {
-								parser = null;	// Clear out for GC to work
-							}									
-						} catch (Throwable e) {
-							sendException(e, valueObject, out);
-						} finally {
-							// Clear out for GC to work
-							initString = null;
-							theClass = null;
-							newValue = null;
-							valueObject.set();							
-						}	
-						break;						
-												
-					case Commands.INVOKE:
-						Object target = null;
-						Object[] parms = null;						
-						Class returnType = null;
-						java.lang.reflect.Method aMethod = null;						
-						try {					
-							int methodID = in.readInt();	// ID of method to invoke
-							aMethod = (java.lang.reflect.Method) server.getObject(methodID);	// Method to invoke
-							Commands.readValue(in, valueObject);
-							target = getInvokableObject(valueObject);	
-							Commands.readValue(in, valueObject);
-							if (valueObject.type == Commands.ARRAY_IDS) {
-								// It is an array containing IDs, as it normally would be.
-								valueSender.initialize(valueObject);
-								Commands.readArray(in, valueObject.anInt, valueSender, valueObject);
-								parms = (Object[]) valueSender.getArray();
-							} else {
-								// It is all objects or null, so it should be an Object[] or null. If not, then this is an error.
-								parms = (Object[]) valueObject.anObject;
-							}
-							
-							if (!aMethod.isAccessible())
-								aMethod.setAccessible(true);	// We will allow all to occur. Let access control be handled by IDE and compiler.
-							newValue = aMethod.invoke(target, parms);
-							returnType = aMethod.getReturnType();
-							if (returnType.isPrimitive()) {
-								int returnTypeID = server.getIdentityID(returnType);
-								// Need to tell sendObject the correct primitive type.
-								sendObject(newValue, returnTypeID, valueObject, out, true);
-				
-							} else {
-								sendObject(newValue, NOT_A_PRIMITIVE, valueObject, out, true);	// Just send the object back. sendObject knows how to iterpret the type
-							}									
-						} catch (CommandException e) {
-							throw e;	// Throw it again. These we don't want to come up as an exception proxy. These should end the thread.
-						} catch (java.lang.reflect.InvocationTargetException e) {
-							// This is a wrappered exception. Return the wrappered one so it looks like
-							// it was the real one. (Sometimes the method being invoked is on a java.lang.reflect.Constructor.newInstance,
-							// which in turn is an InvocationTargetException, so we will go until we don't have an InvocationTargetException.
-							Throwable t = e;
-							do {
-								t = ((java.lang.reflect.InvocationTargetException) t).getTargetException();
-							} while (t instanceof java.lang.reflect.InvocationTargetException);
-							sendException(t, valueObject, out);
-						} catch (Throwable e) {
-							sendException(e, valueObject, out);	// Turn it into a exception proxy on the client.
-						} finally {
-							// Clear out for GC to work
-							valueObject.set();
-							parms = null;
-							target = null;
-							aMethod = null;
-							returnType = null;
-							newValue = null;
-							valueSender.clear();
-						}					
-						break;
-						
-					case Commands.CALLBACK_DONE:
-						try {
-							if (connectionThread != null) {
-								valueObject.set();
-								Commands.sendErrorCommand(out, Commands.UNKNOWN_COMMAND_SENT, valueObject);
-							} else {
-								try {
-									Commands.readBackValue(in, valueObject, Commands.NO_TYPE_CHECK);
-									if (valueObject.type == Commands.ARRAY_IDS) {
-										// It is an array containing IDs, as it normally would be.
-										valueSender.initialize(valueObject);
-										Commands.readArray(in, valueObject.anInt, valueSender, valueObject);
-										result = (Object[]) valueSender.getArray();
-									} else {
-										result = getInvokableObject(valueObject);
-									}
-									doLoop = false; // We need to terminate and return result
-									closeWhenDone = false; // Don't close, we will continue.
-								} catch (CommandErrorException e) {
-									// There was an command error on the other side. This means 
-									// connection still good, but don't continue the callback processing.
-									doLoop = false; // We need to terminate and return result
-									closeWhenDone = false; // Don't close, we will continue.
-									throw e;	// Let it go on out.
-								}
-							}
-						} finally {
-							valueObject.set();
-							valueSender.clear();
-						}
-						break;
-						
-					case Commands.ERROR:
-						try {
-							// Got an error command. Don't know what to do but read the
-							// value and simply print it out.
-							Commands.readValue(in, valueObject);
-							result = getInvokableObject(valueObject);
-							System.out.println("Error sent to server: Result=" + result); //$NON-NLS-1$
-						} finally {
-							valueObject.set();
-						}
-						break;
-					
-					case Commands.EXPRESSION_TREE_COMMAND:
-						byte cmdType = in.readByte();
-						switch (cmdType) {
-							case ExpressionCommands.START_EXPRESSION_TREE_PROCESSING:
-								exp = new ExpressionProcesserController(server, this);
-								break;
-							case ExpressionCommands.PUSH_EXPRESSION:
-								exp.process(in);
-								break;
-							case ExpressionCommands.SYNC_REQUEST:
-								if (exp.noErrors()) {
-									valueObject.set(true); // Mark that all is good.
-									try {
-										Commands.writeValue(out, valueObject, true);
-									} finally {
-										valueObject.set();
-									}
-								} else {
-									processExpressionError(valueObject);
-								}
-								break;
-							case ExpressionCommands.PULL_VALUE_REQUEST:
-								if (exp.noErrors()) {
-									Object[] pulledValue = exp.pullValue();
-									if (pulledValue != null) {
-										// No errors during pulling either.
-										try {
-											if (((Class) pulledValue[1]).isPrimitive()) {
-												int returnTypeID = server.getIdentityID((Class) pulledValue[1]);
-												// Need to tell sendObject the correct primitive type.
-												sendObject(pulledValue[0], returnTypeID, valueObject, out, true);
-												
-											} else {
-												sendObject(pulledValue[0], NOT_A_PRIMITIVE, valueObject, out, true);	// Just send the object back. sendObject knows how to iterpret the type
-											}
-											break;	// We sent good return, so leave.
-										} finally {
-											valueObject.set();
-											pulledValue = null;
-										}
-									}
-								}
-								processExpressionError(valueObject);
-								break;
-							case ExpressionCommands.END_EXPRESSION_TREE_PROCESSING:
-								try {
-									exp.close();
-								} finally {
-									exp = null;
-								}
-								break;
-						}						
-						break;
-						
-					default:
-						// Unknown command. We don't know how long it is, so we need to shut the connection down.
-						System.err.println("Error: Invalid cmd send to server: Cmd=" + cmd); //$NON-NLS-1$
-						doLoop = false;
-						closeWhenDone = true;
-						break;
-				}
-			}
-		} catch (EOFException e) {
-			// This is ok. It means that the connection on the other side was terminated.
-			// So just accept this and go down.
-		} catch (CommandException e) {
-			throw e;
-		} catch (SocketException e) {
-			if (socket != null)
-				throw new UnexpectedExceptionCommandException(false, e);	// socket null means a valid close request
-		} catch (Throwable e) {
-			e.printStackTrace();
-		} finally {
-			if (closeWhenDone) {
-				if (exp != null) {
-					exp.close();
-					exp = null;
-				}
-				if (in != null)
-					try {
-						in.close();
-					} catch (Exception e) {
-					}
-				in = null;
-				if (out != null)
-					try {
-						out.close();
-					} catch (Exception e) {
-					}
-				out = null;
-				close();
-			}
-		}
-		
-		if (closeWhenDone && connectionThread != null)
-			server.removeConnectionThread(connectionThread);
-		if (shutdown)
-			server.requestShutdown();
-			
-		return result;
-	}
-	
-	private void processExpressionError(Commands.ValueObject valueObject) throws CommandException {
-		try {
-			int code = exp.getErrorCode();
-			if (code != 0) {
-				// We have an error code to send back.
-				String emsg = exp.getErrorMsg();
-				if (emsg != null)
-					valueObject.set(emsg);
-				else
-					valueObject.set();
-				Commands.sendErrorCommand(out, code, valueObject);
-			} else {
-				// It must be an exception.
-				sendException(exp.getErrorThrowable(), valueObject, out);
-			}
-		} finally {
-			valueObject.set();
-		}
-	}
-
-protected static final int NOT_A_PRIMITIVE = Commands.NOT_AN_ID;
-protected static final int SEND_AS_IS = -2;	// This means sends as an object not as an id.
-	
-public static final int CLASS_ADDED = 1;
-public static final int OBJECT_ADDED = 2;
-public int fillInValue(Object object, int primitiveTypeID, Commands.ValueObject valueObject) {
-	int added = 0;
-	if (object == null) {
-		valueObject.set();
-	} else {
-		int classID = 0;
-		if (primitiveTypeID != NOT_A_PRIMITIVE && primitiveTypeID != SEND_AS_IS) {
-			classID = primitiveTypeID;	// The object is really supposed to be a primitive of this type
-			switch (classID) {
-				case Commands.BOOLEAN_TYPE:
-					valueObject.set(((Boolean) object).booleanValue());
-					break;
-				case Commands.INTEGER_TYPE:
-					if (object instanceof Character)
-						valueObject.set((int) ((Character) object).charValue());	// Because char can be widened to an int
-					else
-						valueObject.set(((Number) object).intValue());					
-					break;
-				case Commands.BYTE_TYPE:
-					valueObject.set(((Number) object).byteValue());
-					break;
-				case Commands.CHARACTER_TYPE:
-					valueObject.set(((Character) object).charValue());
-					break;
-				case Commands.DOUBLE_TYPE:
-					if (object instanceof Character)
-						valueObject.set((double) ((Character) object).charValue());	// Because char can be widened to a double
-					else
-						valueObject.set(((Number) object).doubleValue());					
-					break;
-				case Commands.FLOAT_TYPE:
-					if (object instanceof Character)
-						valueObject.set((float) ((Character) object).charValue());	// Because char can be widened to a float
-					else
-						valueObject.set(((Number) object).floatValue());					
-					break;
-				case Commands.SHORT_TYPE:
-					valueObject.set(((Number) object).shortValue());
-					break;
-				case Commands.LONG_TYPE:
-					if (object instanceof Character)
-						valueObject.set((long) ((Character) object).charValue());	// Because char can be widened to a long
-					else
-						valueObject.set(((Number) object).longValue());					
-					break;
-			}
-		} else {
-			// It's not a primitive.
-			boolean addObject = false, addClass = false;			
-			Class objClass = object.getClass();
-			classID = server.getIdentityID(objClass);
-			if (classID == RemoteVMServerThread.ID_NOT_FOUND) {
-				Commands.ValueObject classValue = new Commands.ValueObject();
-				addClass = server.getIdentityID(objClass, classValue);
-				if (addClass)
-					added |= CLASS_ADDED;
-				classID = classValue.objectID;
-			}
-		
-			switch (classID) {
-				case Commands.BYTE_CLASS:
-					valueObject.set((Byte) object);
-					break;
-				case Commands.CHARACTER_CLASS:
-					valueObject.set((Character) object);
-					break;
-				case Commands.DOUBLE_CLASS:
-					valueObject.set((Double) object);
-					break;
-				case Commands.FLOAT_CLASS:
-					valueObject.set((Float) object);
-					break;
-				case Commands.INTEGER_CLASS:
-					valueObject.set((Integer) object);
-					break;
-				case Commands.LONG_CLASS:
-					valueObject.set((Long) object);
-					break;
-				case Commands.SHORT_CLASS:
-					valueObject.set((Short) object);
-					break;
-				case Commands.BOOLEAN_CLASS:
-					valueObject.set((Boolean) object);
-					break;
-				case Commands.STRING_CLASS:
-					valueObject.set((String) object);
-					break;
-				case Commands.BIG_DECIMAL_CLASS:
-					valueObject.set(object, Commands.BIG_DECIMAL_CLASS);
-					break;
-				case Commands.BIG_INTEGER_CLASS:
-					valueObject.set(object, Commands.BIG_INTEGER_CLASS);
-					break;
-				default:
-					if (primitiveTypeID != SEND_AS_IS) {
-						addObject = server.getIdentityID(object, valueObject);
-						if (addObject) {
-							added |= OBJECT_ADDED;			
-							valueObject.setObjectID(valueObject.objectID, classID);
-						} else
-							valueObject.setObjectID(valueObject.objectID);
-					} else
-						valueObject.set(object, classID);
-					break;
-			}
-		}
-	}
-	
-	return added;
-}
-
-public void sendObject(Object object, int primitiveTypeID, Commands.ValueObject valueObject, DataOutputStream out, boolean writeAsCommand) throws CommandException {			
-	int added = fillInValue(object, primitiveTypeID, valueObject);
-	boolean sent = false;
-	try {
-		Commands.writeValue(out, valueObject, writeAsCommand);	// Write it back as a value command.
-		sent = true;
-	} finally {
-		if (!sent) {
-			// Ending due to some problem, so clean up any added objects from the id table.
-			if ((added & OBJECT_ADDED) != 0)
-				server.removeObject(valueObject.objectID);
-			if ((added & CLASS_ADDED) != 0)
-				server.removeObject(valueObject.classID);
-		}
-	}
-}
-		
-	
-	public void sendException(Throwable e, Commands.ValueObject value, DataOutputStream out) throws CommandException {
-		// Exception ocurred, return a value command with the exception within it.
-		setExceptionIntoValue(e, value);
-		Commands.sendErrorCommand(out, Commands.THROWABLE_SENT, value);		
-	}
-
-	public void setExceptionIntoValue(Throwable e, Commands.ValueObject value) {		
-		server.getIdentityID(e, value);	// It should always create it so we don't need to know.
-		int eID = value.objectID;
-		Class eClass = e.getClass();							
-		server.getIdentityID(eClass, value);
-		int eClassID = value.objectID;
-		value.setException(eID, eClassID);
-	}
-	
-	/**
-	 * From the valueObject, get an Object that is invokable (i.e. can be the target of an invoke, or one of its parms).
-	 * If it is an array type, the a ValueSender is returned. The invoker needs to then cast this
-	 * to a ValueSender and call the readArray routine.
-	 */
-	public Object getInvokableObject(final Commands.ValueObject value) {
-		switch (value.type) {
-			case Commands.NEW_OBJECT_ID:
-			case Commands.OBJECT_ID:
-				// These need to have access to the server to get the real object
-				return server.getObject(value.objectID);						
-			default:
-				// These have all the info needed within the value object itself, so ask it.
-				return value.getAsObject();
-		}
-	}
-	
-	// Helper class for getting an array.
-	private class InvokableValueSender implements Commands.ValueSender {
-		int index = 0;
-		Object array;
-
-		public InvokableValueSender() {
-		}
-				
-		public InvokableValueSender(Commands.ValueObject arrayHeader) {
-			initialize(arrayHeader);
-		}
-		
-		public void initialize(Commands.ValueObject arrayHeader) {
-			index = 0;
-			Class arrayType = (Class) server.getObject(arrayHeader.classID);
-			array = java.lang.reflect.Array.newInstance(arrayType, arrayHeader.anInt);
-		}
-		
-		public void clear() {
-			array = null;
-			index = 0;
-		}
-		
-		public Object getArray() {
-			return array;
-		}
-					
-		// A new value is being sent to the array
-		public void sendValue(Commands.ValueObject value) {
-			java.lang.reflect.Array.set(array, index++, getInvokableObject(value));	// add it to the array
-		}
-					
-		// The next entry is an array too!
-		public Commands.ValueSender nestedArray(Commands.ValueObject arrayHeader) {
-			InvokableValueSender sender = new InvokableValueSender(arrayHeader);
-			// Take the newly created array and put it into the current array.
-			java.lang.reflect.Array.set(array, index++, sender.getArray());
-			return sender;
-		}
-	}
-
-}
-
-
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ConnectionThread.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ConnectionThread.java
deleted file mode 100644
index eab4138..0000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ConnectionThread.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ConnectionThread.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import java.net.Socket;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-/**
- * This is a thread to handle one connection.
- */
-
-public class ConnectionThread extends Thread {	
-		
-	final protected ConnectionHandler connectionHandler;
-	
-	public ConnectionThread(Socket sc, RemoteVMServerThread svr, String name) {
-		super(name);
-
-		connectionHandler = new ConnectionHandler(sc, svr, this);
-	}
-	
-	/**
-	 * Request the thread to close down.
-	 */
-	public void close() {
-		try {
-			connectionHandler.close();
-		} catch (Exception e) {
-		}
-	}
-	
-	public void run() {
-		try {
-			connectionHandler.run();
-		} catch (CommandException e) {
-			e.printStackTrace();
-		}
-	}
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ExpressionProcesserController.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ExpressionProcesserController.java
deleted file mode 100644
index 60d1acc..0000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/ExpressionProcesserController.java
+++ /dev/null
@@ -1,553 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: ExpressionProcesserController.java,v $
- *  $Revision: 1.1 $  $Date: 2004/02/03 23:18:36 $ 
- */
-package org.eclipse.jem.internal.proxy.vm.remote;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jem.internal.proxy.common.CommandException;
-import org.eclipse.jem.internal.proxy.common.remote.Commands;
-import org.eclipse.jem.internal.proxy.common.remote.ExpressionCommands;
-import org.eclipse.jem.internal.proxy.initParser.EvaluationException;
-import org.eclipse.jem.internal.proxy.initParser.MethodHelper;
-import org.eclipse.jem.internal.proxy.initParser.tree.ExpressionProcesser;
-import org.eclipse.jem.internal.proxy.initParser.tree.IInternalExpressionConstants;
-import org.eclipse.jem.internal.proxy.initParser.tree.IExpressionConstants.NoExpressionValueException;
-
- 
-/**
- * This processes the commands for expression processing and sends them over
- * to the common expression processer.
- * 
- * This will be instantiated on the start of an expression. And then
- * each expression request from the IDE will be sent into here. The
- * reason this guy doesn't hold onto the connection and process the
- * entire expression is because we need to return to the connection
- * handler to keep the connection live (there is timeouts and stuff
- * in there that we don't want to duplicate here).
- * <p>
- * If there are any expression processing errors (versus hard io errors) we
- * will save up the error but don't do any more processing other than to make
- * sure we read the complete subcommand. This is so that the inputstream is left
- * in a valid state without standed data.
- * <p>
- * The at the sync point (either get value or sync subcommand) we will send back
- * the error.
- *  
- * @since 1.0.0
- */
-public class ExpressionProcesserController {
-
-	protected final RemoteVMServerThread server;
-	protected final ConnectionHandler connHandler;	
-	protected final ExpressionProcesser exp;
-	protected Commands.ValueObject workerValue = new Commands.ValueObject();	// A worker value object so we don't need to keep creating them and releasing them.
-	private ClassLoader classLoader;
-	
-	/**
-	 * An error has occurred. At this point all subcommands will simply make sure they flush the input stream
-	 * correctly, but they do not process it.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected boolean errorOccurred = false;
-	
-	private String novalueMsg = null;	// If NoExpressionValueException then this is the msg. 
-	private Throwable exception = null;	// Was there another kind of exception that was caught.
-	
-	/**
-	 * Create with a default expression processer.
-	 * @param server
-	 * 
-	 * @since 1.0.0
-	 */
-	public ExpressionProcesserController(RemoteVMServerThread server, ConnectionHandler connHandler) {
-		this(server, connHandler, new ExpressionProcesser());
-	}
-	
-	/**
-	 * Create from a subclass with a given expression processer.
-	 * 
-	 * @param server
-	 * @param exp
-	 * 
-	 * @since 1.0.0
-	 */
-	protected ExpressionProcesserController(RemoteVMServerThread server, ConnectionHandler connHandler, ExpressionProcesser exp) {
-		this.server = server;
-		this.connHandler = connHandler;
-		this.exp = exp;
-	}
-	
-	/**
-	 * Set the class loader to use for finding classes. If never set, or if <code>null</code>, then
-	 * <code>Class.forName</code> will be used.
-	 * 
-	 * @param classLoader
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setClassLoader(ClassLoader classLoader) {
-		this.classLoader = classLoader;
-	}
-	
-	/*
-	 * Array of primitive type names. Used to look up primtive types in primitive types array. 
-	 * 
-	 * @since 1.0.0
-	 */
-	private static final List PRIMITIVE_NAMES = Arrays.asList(new String[] {"byte", "char", "short", "int", "long", "float", "double"});
-	private static final Class[] PRIMITIVE_TYPES = new Class[] {Byte.TYPE, Character.TYPE, Short.TYPE, Integer.TYPE, Long.TYPE, Float.TYPE, Double.TYPE};
-	/**
-	 * Load the class given the name. If not found, return null.
-	 * 
-	 * @param className
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected Class loadClass(String className) throws ClassNotFoundException {
-		if (className == null)
-			return null;
-		else if (className.endsWith("[]")) {
-			// We have an array request instead. This is trickier.
-			return loadClass(getJNIFormatName(className));
-		} else {
-			int primIndex = PRIMITIVE_NAMES.indexOf(className);
-			if (primIndex >= 0)
-				return PRIMITIVE_TYPES[primIndex];
-			else if (classLoader == null) {
-				return Class.forName(className);
-			} else {
-				return classLoader.loadClass(className);
-			}
-		}
-	}
-
-	private String getJNIFormatName(String classname) throws ClassNotFoundException {
-		if (classname.length() == 0 || !classname.endsWith("]")) //$NON-NLS-1$
-			return classname;	// Not an array,or invalid
-		
-		StringBuffer jni = new StringBuffer(classname.length());
-		int firstOpenBracket = classname.indexOf('[');
-		int ob = firstOpenBracket;
-		while (ob > -1) {
-			int cb = classname.indexOf(']', ob);
-			if (cb == -1)
-				break;
-			jni.append('[');
-			ob = classname.indexOf('[', cb);
-		}
-		
-		Class finalType = loadClass(classname.substring(0, firstOpenBracket).trim());
-		if (finalType != null)
-			if (!finalType.isPrimitive()) {
-				jni.append('L');
-				jni.append(finalType.getName());
-				jni.append(';');
-			} else {
-				jni.append(Commands.MAP_TYPENAME_TO_SHORTSIG.get(finalType.getName()));
-			}
-		return jni.toString();
-	}
-	
-	/**
-	 * Now process the input stream. If either throws occurs, this is a hard error and we must terminate
-	 * the entire connection. The input stream is in an unknown state.
-	 * 
-	 * @param in The input stream to get the data for the current sub-command.
-	 * 
-	 * @throws CommandException
-	 * @throws IOException
-	 * @since 1.0.0
-	 */
-	public void process(DataInputStream in) throws CommandException, IOException {
-		// In the following subcommand processing, we always read the entire subcommand from the stream.
-		// Then we check if an error has occurred in the past. If it has, we simply break. This is because
-		// once an error occurred we don't want to continue wasting time evaluating, however we need to make
-		// sure that the stream is read completely so that we don't have a corrupted input stream. That way
-		// when all is done we can return the error and still have a valid connection socket.
-		byte subcommand = in.readByte();
-		try {
-			switch (subcommand) {
-				case IInternalExpressionConstants.PUSH_TO_PROXY_EXPRESSION :
-					// Getting a proxy push. The value is sent as valueObject, so use that to read it in.
-					Commands.readValue(in, workerValue);
-					if (errorOccurred)
-						break;
-					Object value = connHandler.getInvokableObject(workerValue);
-					if (value == null)
-						exp.pushExpression(null, MethodHelper.NULL_TYPE);
-					else if (workerValue.isPrimitive())
-						exp.pushExpression(value, workerValue.getPrimitiveType());
-					else
-						exp.pushExpression(value, value.getClass());
-					break;
-
-				case IInternalExpressionConstants.CAST_EXPRESSION :
-					// Get a cast request. The type is sent as valueObject.
-					Commands.readValue(in, workerValue);
-					if (errorOccurred)
-						break;
-					value = connHandler.getInvokableObject(workerValue);
-					try {
-						if (value instanceof String)
-							value = loadClass((String) value);
-						exp.pushCast((Class) value);
-					} catch (NoExpressionValueException e) {
-						processException(e);
-					} catch (ClassNotFoundException e) {
-						processException(e);
-					}
-					break;
-
-				case IInternalExpressionConstants.INSTANCEOF_EXPRESSION :
-					// Get a instanceof request. The type is sent as valueObject.
-					Commands.readValue(in, workerValue);
-					if (errorOccurred)
-						break;
-					value = connHandler.getInvokableObject(workerValue);
-					try {
-						if (value instanceof String)
-							value = loadClass((String) value);
-						exp.pushInstanceof((Class) value);
-					} catch (ClassNotFoundException e) {
-						processException(e);
-					} catch (NoExpressionValueException e) {
-						processException(e);
-					}
-					break;
-
-				case IInternalExpressionConstants.INFIX_EXPRESSION :
-					// Get an infix request. The operator and operand type are sent as bytes.
-					byte infix_operator = in.readByte();
-					byte infix_operandType = in.readByte();
-					if (errorOccurred)
-						break;
-					try {
-						exp.pushInfix(infix_operator, infix_operandType);
-					} catch (NoExpressionValueException e1) {
-						processException(e1);
-					}
-					break;
-
-				case IInternalExpressionConstants.PREFIX_EXPRESSION :
-					// Get a prefix request. The operator is sent as byte.
-					byte prefix_operandType = in.readByte();
-					if (errorOccurred)
-						break;
-					try {
-						exp.pushPrefix(prefix_operandType);
-					} catch (NoExpressionValueException e2) {
-						processException(e2);
-					}
-					break;
-
-				case IInternalExpressionConstants.TYPELITERAL_EXPRESSION :
-					// Get a type literal request. The type string is sent as valueObject.
-					Commands.readValue(in, workerValue);
-					if (errorOccurred)
-						break;
-					value = connHandler.getInvokableObject(workerValue);
-					try {
-						value = loadClass((String) value);
-						exp.pushExpression((Class) value, Class.class);
-					} catch (ClassNotFoundException e) {
-						processException(e);
-					}
-					break;
-
-				case IInternalExpressionConstants.ARRAY_ACCESS_EXPRESSION :
-					// Get an array access request. The index cound is sent as int.
-					int arrayAccess_Indexcount = in.readInt();
-					if (errorOccurred)
-						break;
-					try {
-						exp.pushArrayAccess(arrayAccess_Indexcount);
-					} catch (NoExpressionValueException e3) {
-						processException(e3);
-					}
-					break;
-
-				case IInternalExpressionConstants.ARRAY_CREATION_EXPRESSION :
-					// Get an array creation request. The type is sent as valueObject, followed by int dimension count.
-					Commands.readValue(in, workerValue);
-					int arrayCreation_dimCount = in.readInt();
-					if (errorOccurred)
-						break;
-					value = connHandler.getInvokableObject(workerValue);
-					try {
-						if (value instanceof String)
-							value = loadClass((String) value);
-						exp.pushArrayCreation((Class) value, arrayCreation_dimCount);
-					} catch (ClassNotFoundException e) {
-						processException(e);
-					} catch (NoExpressionValueException e) {
-						processException(e);
-					}
-					break;
-
-				case IInternalExpressionConstants.ARRAY_INITIALIZER_EXPRESSION :
-					// Get an array initializer request. The type is sent as valueObject, followed by int expression count.
-					Commands.readValue(in, workerValue);
-					int arrayInitializer_expressionCount = in.readInt();
-					if (errorOccurred)
-						break;
-					value = connHandler.getInvokableObject(workerValue);
-					try {
-						if (value instanceof String)
-							value = loadClass((String) value);
-						exp.pushArrayInitializer((Class) value, arrayInitializer_expressionCount);
-					} catch (ClassNotFoundException e) {
-						processException(e);
-					} catch (NoExpressionValueException e) {
-						processException(e);
-					}
-					break;
-
-				case IInternalExpressionConstants.CLASS_INSTANCE_CREATION_EXPRESSION :
-					// Get a class instance creation request. The type is sent as valueObject, followed by int argument count.
-					Commands.readValue(in, workerValue);
-					int newInstance_argCount = in.readInt();
-					if (errorOccurred)
-						return;
-					value = connHandler.getInvokableObject(workerValue);
-					try {
-						if (value instanceof String)
-							value = loadClass((String) value);
-						exp.pushClassInstanceCreation((Class) value, newInstance_argCount);
-					} catch (ClassNotFoundException e) {
-						processException(e);
-					} catch (EvaluationException e) {
-						processException(e);
-					} catch (NoExpressionValueException e) {
-						processException(e);
-					} catch (InstantiationException e) {
-						processException(e);
-					} catch (IllegalAccessException e) {
-						processException(e);
-					} catch (InvocationTargetException e) {
-						processException(e);
-					}
-					break;
-
-				case IInternalExpressionConstants.TYPERECEIVER_EXPRESSION :
-					// Get a type receiver request. The type is sent as valueObject.
-					Commands.readValue(in, workerValue);
-					if (errorOccurred)
-						break;
-					value = connHandler.getInvokableObject(workerValue);
-					try {
-						if (value instanceof String)
-							value = loadClass((String) value);
-						exp.pushExpression(value, (Class) value);
-					} catch (ClassNotFoundException e) {
-						processException(e);
-					}
-					break;
-
-				case IInternalExpressionConstants.FIELD_ACCESS_EXPRESSION :
-					// Get a field access request. The field name sent as string, followed by hasReceiver as boolean.
-					String fieldAccess_name = in.readUTF();
-					boolean fieldAccess_receiver = in.readBoolean();
-					if (errorOccurred)
-						break;
-					try {
-						exp.pushFieldAccess(fieldAccess_name, fieldAccess_receiver);
-					} catch (NoExpressionValueException e4) {
-						processException(e4);
-					} catch (NoSuchFieldException e4) {
-						processException(e4);
-					} catch (IllegalAccessException e4) {
-						processException(e4);
-					}
-					break;
-
-				case IInternalExpressionConstants.METHOD_EXPRESSION :
-					// Get a method invocation request. The method name sent as string, followed by hasReceiver as boolean, and argCount as int.
-					String method_name = in.readUTF();
-					boolean method_receiver = in.readBoolean();
-					int method_argCount = in.readInt();
-					if (errorOccurred)
-						break;
-					try {
-						exp.pushMethodInvocation(method_name, method_receiver, method_argCount);
-					} catch (EvaluationException e5) {
-						processException(e5);
-					} catch (NoExpressionValueException e5) {
-						processException(e5);
-					} catch (IllegalAccessException e5) {
-						processException(e5);
-					} catch (InvocationTargetException e5) {
-						processException(e5);
-					}
-					break;
-
-				case IInternalExpressionConstants.CONDITIONAL_EXPRESSION :
-					// Get a conditional expression request. The expression type (ie. condition/true/false) is sent as a byte
-					byte conditional_type = in.readByte();
-					if (errorOccurred)
-						break;
-					try {
-						exp.pushConditional(conditional_type);
-					} catch (NoExpressionValueException e6) {
-						processException(e6);
-					}
-					break;
-			}
-			
-		} catch (RuntimeException e) {
-			processException(e);
-		}
-		
-		workerValue.set();	// Clear it out so nothing being held onto.
-	}
-	
-
-	/**
-	 * Pull the value. If an error occurred during this, then <code>null</code> is returned, and
-	 * caller should do normal error processing.
-	 * 
-	 * @return r[0] is the value, r[1] is the type of the value. <code>null</code> if there was an error.
-	 * 
-	 * @since 1.0.0
-	 */
-	public Object[] pullValue() {
-		Object[] result = new Object[2];
-		try {
-			exp.pullValue(result);
-			return result;
-		} catch (NoExpressionValueException e) {
-			processException(e);
-		}
-		return null;
-	}
-	
-	/**
-	 * Process all other exceptions then the NoExpressionValueException, InvocationTargetException, and EvaluationException. This is
-	 * for exceptions that are not related to the input stream and shouldn't
-	 * cause the input stream to be closed.
-	 * 
-	 * @param e
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final void processException(Exception e) {
-		// Process all other exceptions.
-		errorOccurred = true;
-		exception = e;
-	}
-	
-	/**
-	 * Process InvocationTargetException to retrieve the actual target.
-	 * @param e
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final void processException(InvocationTargetException e) {
-		errorOccurred = true;
-		exception = e.getTargetException();
-	}
-	
-	/**
-	 * Process EvaluationException to retrieve the actual target.
-	 * @param e
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final void processException(EvaluationException e) {
-		errorOccurred = true;
-		exception = e.getOriginalException();
-	}	
-
-	/**
-	 * Special case for NoExpressionValueException caught.
-	 * @param e
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final void processException(NoExpressionValueException e) {
-		errorOccurred = true;
-		novalueMsg = e.getLocalizedMessage();
-		if (novalueMsg == null)
-			novalueMsg = "";	// It was null, so just default of empty string so we know it had occurred.
-	}
-
-	/**
-	 * Return whether there are any errors.
-	 * 
-	 * @return <code>true</code> if no errors.
-	 * 
-	 * @since 1.0.0
-	 */
-	public boolean noErrors() {
-		return !errorOccurred;
-	}
-	
-	/**
-	 * Return the error code from ExpressionCommands if non-exception error occurred.
-	 * Return zero if no error.
-	 * 
-	 * @return Zero if no error code to return, else error code from ExpressionCommands.
-	 * 
-	 * @see org.eclipse.jem.internal.proxy.common.remote.ExpressionCommands#ExpressionNoExpressionValueException
-	 * 
-	 * @since 1.0.0
-	 */
-	public int getErrorCode() {
-		if (novalueMsg != null)
-			return ExpressionCommands.ExpressionNoExpressionValueException;
-		else
-			return 0;
-	}
-	
-	/**
-	 * Return the error message, should only be called if <code>getErrorCode()</code> returned non-zero.
-	 * 
-	 * @return The error message if any. <code>null</code> otherwise.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getErrorMsg() {
-		if (novalueMsg != null && novalueMsg.length() > 0)
-			return novalueMsg;
-		else
-			return null;
-	}
-	
-	/**
-	 * Return the throwable if a Throwable was caught.
-	 * 
-	 * @return The throwable, or <code>null</code> if not set.
-	 * 
-	 * @since 1.0.0
-	 */
-	public Throwable getErrorThrowable() {
-		return exception;
-	}
-	
-	/**
-	 * Close out things.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void close() {
-		exp.close();
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/IdentityMap.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/IdentityMap.java
deleted file mode 100644
index afa75cb..0000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/IdentityMap.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IdentityMap.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import java.util.*;
-/**
- * A HashMap where the key is
- * done as an identity (i.e. found by '==' not equals()).
- */
-
-public class IdentityMap extends HashMap{
-	
-	/**
-	 * Key that returns true on equals() only
-	 * if the item it is wrappering is '=='
-	 * not equals()
-	 */
-	static class IdentityKey {
-		
-		public static IdentityKey createKey(Object obj) {
-			return obj != null ? new IdentityKey(obj) : null;
-		}
-		
-		final Object o;
-		
-		public IdentityKey(Object obj) {
-			o = obj;
-		}
-		
-		public boolean equals(Object obj) {
-			if (this == obj) return true;
-			if (!(obj instanceof IdentityKey)) return false;
-			if (this.o == (((IdentityKey) obj).o)) return true;
-			return false;
-		}
-		
-		public int hashCode() {
-			return o.hashCode();
-		}
-	}
-	
-	public IdentityMap() {
-	}
-	
-	public IdentityMap(int capacity) {
-		super(capacity);
-	}
-	
-	public IdentityMap(int capacity, float loadFactor) {
-		super(capacity, loadFactor);
-	}
-	
-	public boolean containsKey(Object key) {
-		return super.containsKey(IdentityKey.createKey(key));
-	}
-	
-	public Object get(Object key) {
-		return super.get(IdentityKey.createKey(key));
-	}
-	
-	public Object put(Object key, Object value) {
-		return super.put(IdentityKey.createKey(key), value);
-	}
-	
-	public Object remove(Object key) {
-		return super.remove(IdentityKey.createKey(key));
-	}
-	
-	/**
-	 * NOTE: Didn't bother implementing entrySet(). If that becomes
-	 * needed, then it will be implemented.
-	 */
-	public Set entrySet() {
-		throw  new UnsupportedOperationException();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/RemoteVMApplication.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/RemoteVMApplication.java
deleted file mode 100644
index 99446e9..0000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/RemoteVMApplication.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: RemoteVMApplication.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-/**
- * The application to run to kick off the remote VM server side.
- *
- *
- * All this does is start the Server Thread and waits for it to finish.
- * This allows other mains to have a server thread, and some other
- * threads if they wished. They could start the server thread too
- * and some other thread, and then wait for both to finish.
- */
-
-public class RemoteVMApplication {
-
-public static void main(java.lang.String[] args) {
-	String serverName = "Server Thread"; //$NON-NLS-1$
-	if (System.getProperty("proxyvm.servername") != null) //$NON-NLS-1$
-		serverName = serverName + "-" + System.getProperty("proxyvm.servername"); //$NON-NLS-1$ //$NON-NLS-2$
-	Thread t = new RemoteVMServerThread(serverName);
-	t.start();
-	try {
-		t.join();
-	} catch (Exception e) {
-	}
-	System.exit(0);
-}
-
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/RemoteVMServerThread.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/RemoteVMServerThread.java
deleted file mode 100644
index 4a5ad32..0000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/RemoteVMServerThread.java
+++ /dev/null
@@ -1,645 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: RemoteVMServerThread.java,v $
- *  $Revision: 1.4 $  $Date: 2004/03/04 20:30:21 $ 
- */
-
-
-import java.util.*;
-import java.io.*;
-import java.net.*;
-import org.eclipse.jem.internal.proxy.common.remote.*;
-import org.eclipse.jem.internal.proxy.common.*;
-/**
- * RemoteVM Server Thread. This thread is the one
- * that waits for connections and spins off 
- * server connection threads. It manages the
- * connection threads and handles shutting them
- * down.
- *
- * System Properties:
- *   proxyvm.port - Port number to use for the ServerSocket (default is 8888)
- *   proxyvm.bufsize - Buffer size to use for TCP/IP buffers (default is system default)
- */
-
-public class RemoteVMServerThread extends Thread implements IVMServer {
-	protected List threads = Collections.synchronizedList(new LinkedList());	// List of active threads.
-	protected ServerSocket server;	// Server Socket for this application
-	private int highestIdentityID = 0;	// Identity codes to identify objects between server and client.
-	private IdentityMap objectToIDMap = new IdentityMap(100);	// Map from object to identity id
-	private HashMap idToObjectMap = new HashMap(100);	// Map from identity id to object
-	
-	protected Stack fCallbackHandlerPool = new Stack();	// Stack of free callback handlers
-	protected static int NUMBER_FREE_CALLBACKS = 5;	// Number of free callback handlers to keep open.
-	
-	public static int ID_NOT_FOUND = Commands.NOT_AN_ID;	// The id was not found in the table.
-	
-	protected int masterIDESocketPort = -1;	// Port of master server socket on IDE. Used for special global requests.
-	protected int registryKey = -1;	// Key of registry on the IDE.
-	
-	// Kludge: Bug in Linux 1.3.xxx of JVM. Closing a socket while the socket is being read/accept will not interrupt the
-	// wait. Need to timeout to the socket read/accept before the socket close will be noticed. This has been fixed
-	// in Linux 1.4. So on Linux 1.3 need to put timeouts in on those sockets that can be separately closed while reading/accepting.
-	static boolean LINUX_1_3 = "linux".equalsIgnoreCase(System.getProperty("os.name")) && System.getProperty("java.version","").startsWith("1.3");	 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	
-	public RemoteVMServerThread(String name) {
-		super(name);
-	}
-	
-	// The purpose of this thread is to wait 5 minutes, then see if the IDE is still
-	// up. If it isn't it will go down. This is safety mechanism
-	// in case the client went down without cleaning up and telling the server to go down.
-	// That way it won't hang around forever.
-	private boolean goingDown = false;
-	private Thread safeClean = new Thread(new Runnable() {
-		public void run() {
-			while (!goingDown) {
-				if (Thread.interrupted())
-					continue;	// Get to clean uninterrupted state.
-				try {
-					Thread.sleep(5 * 60 * 1000);	// Sleep five minutes
-					// Test if IDE still up.
-					if (!isAlive()) {
-						System.err.println("No registry available to connect with after five minutes. Shutting down.");	//$NON-NLS-1$
-						requestShutdown();
-						break;
-					}
-				} catch (InterruptedException e) {
-				}
-			}
-		}
-
-		/*
-		 * See if still alive
-		 */		
-		private boolean isAlive() {
-			Socket socket = getSocket();
-			if (socket != null) {
-				try {
-					DataOutputStream out = new DataOutputStream(socket.getOutputStream());
-					DataInputStream in = new DataInputStream(socket.getInputStream());
-					
-					try {
-						out.writeByte(Commands.ALIVE);
-						out.writeInt(registryKey);
-						out.flush();
-						return in.readBoolean();
-						// Now get the result.
-					} finally {
-						try {
-							in.close();
-						} catch (IOException e) {
-						}
-						try {
-							out.close();
-						} catch (IOException e) {
-						}
-					}
-				} catch (IOException e) {
-					e.printStackTrace();
-				} finally {
-					try {
-						socket.close();
-					} catch (IOException e) {
-						e.printStackTrace();	// They should be closing. If they aren't, then they accumulate and master server will start rejecting new ones.
-					}
-				}					
-			}
-			
-			return false;
-		}	
-		
-	}, "Timeout Termination Thread"); //$NON-NLS-1$
-	
-	
-	public void run() {
-		
-		// Initialize the mapping table with certain pre-defined ids.
-		synchronized(objectToIDMap) {
-			objectToIDMap.put(Void.TYPE, new Integer(Commands.VOID_TYPE));
-			idToObjectMap.put(new Integer(Commands.VOID_TYPE), Void.TYPE);
-			
-			objectToIDMap.put(Boolean.TYPE, new Integer(Commands.BOOLEAN_TYPE));
-			idToObjectMap.put(new Integer(Commands.BOOLEAN_TYPE), Boolean.TYPE);
-			objectToIDMap.put(Boolean.class, new Integer(Commands.BOOLEAN_CLASS));
-			idToObjectMap.put(new Integer(Commands.BOOLEAN_CLASS), Boolean.class);
-			
-			objectToIDMap.put(Integer.TYPE, new Integer(Commands.INTEGER_TYPE));
-			idToObjectMap.put(new Integer(Commands.INTEGER_TYPE), Integer.TYPE);
-			objectToIDMap.put(Integer.class, new Integer(Commands.INTEGER_CLASS));
-			idToObjectMap.put(new Integer(Commands.INTEGER_CLASS), Integer.class);
-			
-			objectToIDMap.put(Byte.TYPE, new Integer(Commands.BYTE_TYPE));
-			idToObjectMap.put(new Integer(Commands.BYTE_TYPE), Byte.TYPE);
-			objectToIDMap.put(Byte.class, new Integer(Commands.BYTE_CLASS));
-			idToObjectMap.put(new Integer(Commands.BYTE_CLASS), Byte.class);
-			
-			objectToIDMap.put(Short.TYPE, new Integer(Commands.SHORT_TYPE));
-			idToObjectMap.put(new Integer(Commands.SHORT_TYPE), Short.TYPE);
-			objectToIDMap.put(Short.class, new Integer(Commands.SHORT_CLASS));
-			idToObjectMap.put(new Integer(Commands.SHORT_CLASS), Short.class);	
-			
-			objectToIDMap.put(Long.TYPE, new Integer(Commands.LONG_TYPE));
-			idToObjectMap.put(new Integer(Commands.LONG_TYPE), Long.TYPE);
-			objectToIDMap.put(Long.class, new Integer(Commands.LONG_CLASS));
-			idToObjectMap.put(new Integer(Commands.LONG_CLASS), Long.class);
-			
-			objectToIDMap.put(Character.TYPE, new Integer(Commands.CHARACTER_TYPE));
-			idToObjectMap.put(new Integer(Commands.CHARACTER_TYPE), Character.TYPE);
-			objectToIDMap.put(Character.class, new Integer(Commands.CHARACTER_CLASS));
-			idToObjectMap.put(new Integer(Commands.CHARACTER_CLASS), Character.class);
-			
-			objectToIDMap.put(Double.TYPE, new Integer(Commands.DOUBLE_TYPE));
-			idToObjectMap.put(new Integer(Commands.DOUBLE_TYPE), Double.TYPE);
-			objectToIDMap.put(Double.class, new Integer(Commands.DOUBLE_CLASS));
-			idToObjectMap.put(new Integer(Commands.DOUBLE_CLASS), Double.class);
-			
-			objectToIDMap.put(Float.TYPE, new Integer(Commands.FLOAT_TYPE));
-			idToObjectMap.put(new Integer(Commands.FLOAT_TYPE), Float.TYPE);
-			objectToIDMap.put(Float.class, new Integer(Commands.FLOAT_CLASS));
-			idToObjectMap.put(new Integer(Commands.FLOAT_CLASS), Float.class);														
-						
-			objectToIDMap.put(String.class, new Integer(Commands.STRING_CLASS));
-			idToObjectMap.put(new Integer(Commands.STRING_CLASS), String.class);
-			
-			objectToIDMap.put(java.math.BigDecimal.class, new Integer(Commands.BIG_DECIMAL_CLASS));
-			idToObjectMap.put(new Integer(Commands.BIG_DECIMAL_CLASS), java.math.BigDecimal.class);
-			
-			objectToIDMap.put(java.math.BigInteger.class, new Integer(Commands.BIG_INTEGER_CLASS));
-			idToObjectMap.put(new Integer(Commands.BIG_INTEGER_CLASS), java.math.BigInteger.class);
-			
-			objectToIDMap.put(Number.class, new Integer(Commands.NUMBER_CLASS));
-			idToObjectMap.put(new Integer(Commands.NUMBER_CLASS), Number.class);				
-			
-			objectToIDMap.put(Throwable.class, new Integer(Commands.THROWABLE_CLASS));
-			idToObjectMap.put(new Integer(Commands.THROWABLE_CLASS), Throwable.class);	
-			
-			
-			objectToIDMap.put(Object.class, new Integer(Commands.OBJECT_CLASS));
-			idToObjectMap.put(new Integer(Commands.OBJECT_CLASS), Object.class);	
-						
-			objectToIDMap.put(Class.class, new Integer(Commands.CLASS_CLASS));
-			idToObjectMap.put(new Integer(Commands.CLASS_CLASS), Class.class);
-			
-			objectToIDMap.put(java.lang.reflect.AccessibleObject.class, new Integer(Commands.ACCESSIBLEOBJECT_CLASS));
-			idToObjectMap.put(new Integer(Commands.ACCESSIBLEOBJECT_CLASS), java.lang.reflect.AccessibleObject.class);								
-
-			objectToIDMap.put(java.lang.reflect.Method.class, new Integer(Commands.METHOD_CLASS));
-			idToObjectMap.put(new Integer(Commands.METHOD_CLASS), java.lang.reflect.Method.class);
-			
-			objectToIDMap.put(java.lang.reflect.Constructor.class, new Integer(Commands.CONSTRUCTOR_CLASS));
-			idToObjectMap.put(new Integer(Commands.CONSTRUCTOR_CLASS), java.lang.reflect.Constructor.class);				
-			
-			objectToIDMap.put(java.lang.reflect.Field.class, new Integer(Commands.FIELD_CLASS));
-			idToObjectMap.put(new Integer(Commands.FIELD_CLASS), java.lang.reflect.Field.class);	
-
-			objectToIDMap.put(IVMServer.class, new Integer(Commands.IVMSERVER_CLASS));
-			idToObjectMap.put(new Integer(Commands.IVMSERVER_CLASS), IVMServer.class);	
-
-			objectToIDMap.put(ICallback.class, new Integer(Commands.ICALLBACK_CLASS));
-			idToObjectMap.put(new Integer(Commands.ICALLBACK_CLASS), ICallback.class);	
-			
-			objectToIDMap.put(this, new Integer(Commands.REMOTESERVER_ID));
-			idToObjectMap.put(new Integer(Commands.REMOTESERVER_ID), this);	
-
-			objectToIDMap.put(RemoteVMServerThread.class, new Integer(Commands.REMOTEVMSERVER_CLASS));
-			idToObjectMap.put(new Integer(Commands.REMOTEVMSERVER_CLASS), RemoteVMServerThread.class);	
-
-			objectToIDMap.put(Thread.class, new Integer(Commands.THREAD_CLASS));
-			idToObjectMap.put(new Integer(Commands.THREAD_CLASS), Thread.class);	
-
-
-			try {
-				java.lang.reflect.Method getMethod = Class.class.getMethod("getMethod", new Class[] {String.class, (new Class[0]).getClass()}); //$NON-NLS-1$
-				objectToIDMap.put(getMethod, new Integer(Commands.GET_METHOD_ID));
-				idToObjectMap.put(new Integer(Commands.GET_METHOD_ID), getMethod);	
-				
-				java.lang.reflect.Method initMethod = ICallback.class.getMethod("initializeCallback", new Class[] {IVMServer.class, Integer.TYPE}); //$NON-NLS-1$
-				objectToIDMap.put(initMethod, new Integer(Commands.INITIALIZECALLBACK_METHOD_ID));
-				idToObjectMap.put(new Integer(Commands.INITIALIZECALLBACK_METHOD_ID), initMethod);	
-				
-			} catch (NoSuchMethodException e) {
-				// Shouldn't really ever occur.
-			}				
-
-			highestIdentityID = Commands.FIRST_FREE_ID;		
-		}
-
-		masterIDESocketPort = Integer.getInteger("proxyvm.masterPort", -1).intValue(); //$NON-NLS-1$
-		if (masterIDESocketPort == -1) {
-			// No ports specified, need to just shutdown.
-			shutdown();
-			return;
-		}
-		
-		registryKey = Integer.getInteger("proxyvm.registryKey", -1).intValue(); //$NON-NLS-1$
-		if (registryKey == -1) {
-			// No registry specified, need to just shutdown.
-			shutdown();
-			return;
-		}		
-		
-		safeClean.setPriority(Thread.MIN_PRIORITY);
-		safeClean.start();	
-		boolean trying = true;
-		try {
-			server = new ServerSocket(0, 50 , InetAddress.getByName("localhost")); //$NON-NLS-1$
-			trying = false;
-			if (LINUX_1_3)
-				server.setSoTimeout(1000);	// Linux 1.3 bug, see comment on LINUX_1_3
-			if (registerServer(server.getLocalPort())) {
-				while(server != null) {
-					Socket incoming = null;
-					try {
-						incoming = server.accept();
-					} catch (InterruptedIOException e) {
-						continue;	// Timeout, try again
-					} catch (NullPointerException e) {
-						continue;	// Server could of gone null after test in while, means shutting down. This probably would only happen Linux 1.3.
-					}
-					Thread st = new ConnectionThread(incoming, this, "Connection Thread"); //$NON-NLS-1$
-					threads.add(st);
-					safeClean.interrupt();	// Let safeClean know there is a change
-					st.start();
-					// Null out locals so they can be GC'd since this is a long running loop.
-					st = null;
-					incoming = null;
-				}
-			}
-		} catch (SocketException e) {
-			if (trying || server != null)
-				e.printStackTrace();	// Exception and not shutdown request, so print stack trace.
-		} catch (Throwable e) {
-			e.printStackTrace();
-		}
-		
-		// We've had an exception, either something really bad, or we were closed,
-		// so go through shutdowns.
-		shutdown();		
-	}
-	
-	
-	/**
-	 * Get an identityID, return -1 if not found.
-	 */
-	public int getIdentityID(Object anObject) {
-		synchronized(objectToIDMap) {
-			Integer id = (Integer) objectToIDMap.get(anObject);
-			return id != null ? id.intValue() : ID_NOT_FOUND;
-		}
-	}
-	
-	/**
-	 * Get an identityID and add it if not found. Place the id in the
-	 * ValueObject passed in and return whether it was added (true) or was already in table (false)
-	 */
-	public boolean getIdentityID(Object anObject, Commands.ValueObject intoValue ) {
-		boolean added = false;
-		synchronized(objectToIDMap) {
-			Integer id = (Integer) objectToIDMap.get(anObject);
-			if (id == null) {
-				do {
-					if (++highestIdentityID == Commands.NOT_AN_ID)
-						++highestIdentityID;	// Don't let -1 be a valid id.
-					id = new Integer(highestIdentityID);
-				} while (idToObjectMap.containsKey(id)); // Make sure not in use, really shouldn't ever happen because we have over 4 billion before it wraps back
-				objectToIDMap.put(anObject, id);
-				idToObjectMap.put(id, anObject);
-				added = true;
-			} 
-			intoValue.setObjectID(id.intValue());
-		}
-		return added;
-	}
-	
-	/**
-	 * Remove an identity object from the mapping.
-	 */
-	public void removeObject(Object anObject) {
-		synchronized(objectToIDMap) {
-			Integer id = (Integer) objectToIDMap.remove(anObject);
-			idToObjectMap.remove(id);
-		}
-	}
-	
-	/**
-	 * Remove an identity object from the mapping, given the id.
-	 */
-	public void removeObject(int id) {
-		synchronized(objectToIDMap) {
-			Object o = idToObjectMap.remove(new Integer(id));
-			objectToIDMap.remove(o);
-		}
-	}
-	
-	/**
-	 * Get the object for an identity id
-	 */
-	public Object getObject(int id) {
-		synchronized(objectToIDMap) {
-			return idToObjectMap.get(new Integer(id));
-		}
-	} 
-	
-	/**
-	 * Remove a thread from the list.
-	 */
-	public void removeConnectionThread(Thread thread) {
-		threads.remove(thread);
-		safeClean.interrupt();	// Let safe clean know there is a change.
-	}
-	
-	/**
-	 * Use this to request a shutdown. If the server hasn't even been
-	 * created yet, this will return false.
-	 */
-	public boolean requestShutdown() {		
-		if (server == null)
-			return false;
-		// Closing the server socket should cause a break.
-		try {
-			ServerSocket srv = server;
-			server = null;	// So that server knows it is being shutdown and not print exception msg.
-			srv.close();
-		} catch (Exception e) {
-		}
-		return true;
-	}
-	
-	/**
-	 * Request a callback stream to write to.
-	 * When done, the stream should be closed to release the connection.
-	 */
-	public OutputStream requestStream(int callbackID, int msgID)  throws CommandException {
-		CallbackHandler h = (CallbackHandler) getFreeCallbackHandler();
-		if (h == null)
-			throw new CommandException("No callback handler retrieved.", null);	//$NON-NLS-1$
-		h.initiateCallbackStream(callbackID, msgID);
-		return new CallbackOutputStream(h, this);
-	}
-	
-	protected void shutdown() {
-		goingDown = true;
-		safeClean.interrupt();	// Let safeClean know to come down.
-		
-		if (server != null)
-			try {
-				server.close();	// Close it so that no more requests can be made.
-			} catch (Exception e) {
-			}
-		
-		// Go through each thread and ask it to close. Make a copy of the list so that we
-		// won't get into deadlocks.
-		ConnectionThread[] threadsArray = (ConnectionThread[]) threads.toArray(new ConnectionThread[0]);
-		for (int i=0; i<threadsArray.length; i++) {
-			// This is a harsh way to shut a connection down, but there's no
-			// other way I know of to interrupt the read on a socket.
-			threadsArray[i].close();
-		}
-			
-		// Now that they've been told to close, wait on each one to finish.
-		for (int i=0; i<threadsArray.length; i++)
-			try {
-				threadsArray[i].join(10000);	// Wait ten seconds, if longer, just go on to next one.
-			} catch (InterruptedException e) {
-			}
-	
-		if (safeClean.isAlive()) {
-			try {	
-				safeClean.join(10000);
-			} catch (InterruptedException e) {
-			}
-		}
-		
-		// Now close the callbacks.
-		synchronized(fCallbackHandlerPool) {
-			// Now we walk through all of the free handlers and close them properly.
-			Iterator itr = fCallbackHandlerPool.iterator();
-			while (itr.hasNext()) {
-				((CallbackHandler) itr.next()).closeHandler();
-			}
-			
-			fCallbackHandlerPool.clear();
-		}					
-	}
-	
-	/**
-	 * Return a free callback handler
-	 */
-	public ICallbackHandler getFreeCallbackHandler() {
-		synchronized(fCallbackHandlerPool) {
-			if (!fCallbackHandlerPool.isEmpty())
-				return (ICallbackHandler) fCallbackHandlerPool.pop();
-			// else we need to allocate one.			
-			return createCallbackHandler();
-		}
-	}
-	
-	/**
-	 * Make a new callback handler
-	 */
-	protected ICallbackHandler createCallbackHandler() {
-		Socket callbackSocket = requestCallbackSocket();
-		if (callbackSocket != null) {
-			CallbackHandler handler = new CallbackHandler(callbackSocket, this);
-			if (handler.isConnected())
-				return handler;
-				
-			// Failed, close the socket.
-			try {
-				callbackSocket.close();
-			} catch (IOException e) {
-			}
-		}
-		return null;
-	}	
-	
-	/**
-	 * Free the handler
-	 */
-	public void returnCallbackHandler(ICallbackHandler aHandler) {
-		CallbackHandler handler = (CallbackHandler) aHandler;
-		if (handler.isConnected())
-			synchronized (fCallbackHandlerPool) {
-				if (fCallbackHandlerPool.size() < NUMBER_FREE_CALLBACKS)
-					fCallbackHandlerPool.push(handler);
-				else
-					handler.closeHandler();	// We don't need to maintain more than five free connections.
-			}
-	}
-	
-	/**
-	 * Process a callback.
-	 */
-	public Object doCallback(ICallbackRunnable run) throws CommandException {
-		CallbackHandler handler = (CallbackHandler) getFreeCallbackHandler();
-		if (handler != null) {
-			try {
-				try {
-					return run.run(handler);
-				} catch (CommandErrorException e) {
-					// This is command error, connection still good, don't retry, just pass it on.
-					// It means the other side said I processed it, but there is an error.
-					throw e;
-				} catch (CommandException e) {
-					if (!e.isRecoverable()) {
-						// Close this handler and try a new one, one more time.
-						handler.closeHandler();
-						handler = (CallbackHandler) getFreeCallbackHandler();
-						try {
-							return run.run(handler);											
-						} catch (CommandException eAgain) {
-							// It failed again, just close the connection and rethrow the exception.
-							handler.closeHandler();
-							throw eAgain;
-						}
-					} else
-						throw e;	// Recoverable, rethrow exception.
-				}
-			} finally {
-				returnCallbackHandler(handler);
-			}
-		} else
-			throw new CommandException("No callback handler retrieved.", null);	//$NON-NLS-1$
-		
-	}
-	
-	/*
-	 * Register the server. Return if ide still active
-	 */
-	private boolean registerServer(int vmserverPort) {
-		Socket socket = getSocket();
-		if (socket != null) {
-			try {
-				DataOutputStream out = new DataOutputStream(socket.getOutputStream());
-				DataInputStream in = new DataInputStream(socket.getInputStream());
-				
-				try {
-					out.writeByte(Commands.REMOTE_STARTED);
-					out.writeInt(registryKey);
-					out.writeInt(vmserverPort);
-					out.flush();
-					return in.readBoolean();
-				} finally {
-					try {
-						in.close();
-					} catch (IOException e) {
-					}
-					try {
-						out.close();
-					} catch (IOException e) {
-					}
-				}
-			} catch (IOException e) {
-				e.printStackTrace();
-			} finally {
-				try {
-					socket.close();
-				} catch (IOException e) {
-					e.printStackTrace();
-				}
-			}					
-
-		}
-		
-		return false;
-	}
-	
-	/*
-	 * Request the callback socket. <code>null</code> if there isn't one.
-	 */
-	private Socket requestCallbackSocket() {
-		Socket socket = getSocket();
-		if (socket != null) {
-			boolean closeSocket = true;
-			try {
-				DataOutputStream out = new DataOutputStream(socket.getOutputStream());
-				DataInputStream in = new DataInputStream(socket.getInputStream());
-				
-				try {
-					out.writeByte(Commands.ATTACH_CALLBACK);
-					out.writeInt(registryKey);
-					out.flush();
-					closeSocket = !in.readBoolean();
-					return !closeSocket ? socket : null;
-				} finally {
-					if (closeSocket) {
-						try {
-							in.close();
-						} catch (IOException e) {
-						}
-						try {
-							out.close();
-						} catch (IOException e) {
-						}
-					}
-				}
-			} catch (IOException e) {
-				e.printStackTrace();
-			} finally {
-				if (closeSocket) {
-					try {
-						socket.close();
-					} catch (IOException e) {
-						e.printStackTrace();
-					}
-				}
-			}					
-		}
-		
-		return null;
-	}	
-	
-
-
-	protected Socket getSocket() {
-		// We are putting it off into a thread because there are no timeout capabilities on getting a socket.
-		// So we need to allow for that.		
-		final Socket[] scArray = new Socket[1];
-		final boolean[] waiting = new boolean[] {true};		
-		Thread doIt = new Thread(new Runnable() {
-			public void run() {
-				try {
-					Socket sc = new Socket("localhost", masterIDESocketPort); //$NON-NLS-1$
-					synchronized (this) {
-						if (waiting[0])
-							scArray[0] = sc;
-						else
-							sc.close();	// We are no longer waiting on this thread so close the socket since no one will use it.
-					}					
-				} catch (IOException e) {
-					e.printStackTrace();
-				}
-			}
-		});
-		
-		doIt.start();
-		while (true) {
-			try {
-				doIt.join(60000);
-				synchronized (doIt) {
-					waiting[0] = false;	// To let it know we are no longer waiting
-				}
-				break;
-			} catch (InterruptedException e) {
-			}
-		}
-		
-		if (scArray[0] == null) {
-			System.out.println("Couldn't retrieve a socket from master server in 60 seconds.");	//$NON-NLS-1$
-			return null;	// Couldn't get one, probably server is down.
-		}
-			
-		return scArray[0];
-	}
-}
diff --git a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/StackTraceUtility.java b/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/StackTraceUtility.java
deleted file mode 100644
index f673d82..0000000
--- a/plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/StackTraceUtility.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jem.internal.proxy.vm.remote;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: StackTraceUtility.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:22:23 $ 
- */
-
-
-import java.io.*;
-/**
- * A utility to get the stack trace from an exception
- * back to the client.
- */
-public class StackTraceUtility {
-	
-	public static String printStackTrace(Throwable t) {
-		StringWriter writer = new StringWriter();
-		t.printStackTrace(new PrintWriter(writer));
-		return writer.toString();
-	}
-		
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/.classpath b/plugins/org.eclipse.jem.ui/.classpath
deleted file mode 100644
index 66f349e..0000000
--- a/plugins/org.eclipse.jem.ui/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="ui"/>
-	<classpathentry kind="src" path="beaninfoui"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jem.ui/.cvsignore b/plugins/org.eclipse.jem.ui/.cvsignore
deleted file mode 100644
index 60463af..0000000
--- a/plugins/org.eclipse.jem.ui/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-build.xml
diff --git a/plugins/org.eclipse.jem.ui/.options b/plugins/org.eclipse.jem.ui/.options
deleted file mode 100644
index a7e0740..0000000
--- a/plugins/org.eclipse.jem.ui/.options
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.jem.ui/debug/logtrace=default
-org.eclipse.jem.ui/debug/logtracefile=default
-org.eclipse.jem.ui/debug/loglevel=default
diff --git a/plugins/org.eclipse.jem.ui/.project b/plugins/org.eclipse.jem.ui/.project
deleted file mode 100644
index 51c31b7..0000000
--- a/plugins/org.eclipse.jem.ui/.project
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jem.ui</name>
-	<comment></comment>
-	<projects>
-		<project>com.ibm.wtp.common.util</project>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.debug.core</project>
-		<project>org.eclipse.debug.ui</project>
-		<project>org.eclipse.jdt.core</project>
-		<project>org.eclipse.jdt.debug.ui</project>
-		<project>org.eclipse.jdt.launching</project>
-		<project>org.eclipse.jdt.ui</project>
-		<project>org.eclipse.jem.beaninfo</project>
-		<project>org.eclipse.jem.proxy</project>
-		<project>org.eclipse.jem.workbench</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.ide</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jem.ui/about.html b/plugins/org.eclipse.jem.ui/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/plugins/org.eclipse.jem.ui/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BIListElementSorter.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BIListElementSorter.java
deleted file mode 100644
index fbdbd74..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BIListElementSorter.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BIListElementSorter.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/08 00:48:07 $ 
- */
-
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoEntry;
-
-/**
- * Sorter for sorting BPBeaninfoListElements within the main list.
- * 
- * @version 	1.0
- * @author
- */
-public class BIListElementSorter extends ViewerSorter {
-	
-	/*
-	 * @see ViewerSorter#category(Object)
-	 */
-	public int category(Object obj) {
-		if (obj instanceof BPBeaninfoListElement) {
-			BPBeaninfoListElement element = (BPBeaninfoListElement) obj;
-			
-			switch (((BeaninfoEntry) element.getEntry()).getKind()) {
-			case IClasspathEntry.CPE_LIBRARY:
-				return 4;
-			case IClasspathEntry.CPE_PROJECT:
-				return 1;
-			case IClasspathEntry.CPE_SOURCE:
-				return 0;
-			case IClasspathEntry.CPE_VARIABLE:
-				return 3;
-			case BeaninfoEntry.BIE_PLUGIN:
-				return 5;
-			case IClasspathEntry.CPE_CONTAINER:
-				return 2;
-			}
-		}
-		return super.category(obj);
-	}
-
-	/*
-	 * @see ViewerSorter#compare()
-	 */	
-	public int compare(Viewer viewer, Object e1, Object e2) {
-		int cat1 = category(e1);
-		int cat2 = category(e2);
-	
-		if (cat1 != cat2)
-			return cat1 - cat2;
-			
-		if ((e1 instanceof BPBeaninfoListElement) && (e2 instanceof BPBeaninfoListElement)) {
-			BeaninfoEntry p1 = (BeaninfoEntry) ((BPBeaninfoListElement) e1).getEntry();
-			BeaninfoEntry p2 = (BeaninfoEntry) ((BPBeaninfoListElement) e2).getEntry();
-			
-			// Compare paths
-			return p1.getPath().toString().compareTo(p2.getPath().toString());
-		}
-		return super.compare(viewer, e1, e2);
-	}	
-
-
-
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPBeaninfoListElement.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPBeaninfoListElement.java
deleted file mode 100644
index 1bc339a..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPBeaninfoListElement.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BPBeaninfoListElement.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $ 
- */
-
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoEntry;
-import org.eclipse.jem.internal.beaninfo.adapters.SearchpathEntry;
-
-/**
- * @version 	1.0
- * @author
- */
-public class BPBeaninfoListElement extends BPListElement {
-
-	BPSearchListElement[] searchpaths;
-	
-	/**
-	 * Constructor for BPBeaninfoListElement.
-	 * The searchPaths is the initial list, it is assumed that
-	 * the beaninfoEntry has these searchpaths in them too.
-	 */
-	public BPBeaninfoListElement(BeaninfoEntry entry, BPSearchListElement[] searchpaths, boolean missing) {
-		super(entry, missing);
-		this.searchpaths = searchpaths != null ? searchpaths : new BPSearchListElement[0];
-	}
-
-	/**
-	 * Mark the entry as exported.
-	 */
-	public void setExported(boolean exported) {
-		((BeaninfoEntry) entry).setIsExported(exported);
-	}
-
-	/*
-	 * @see BPListElement#canExportBeChanged()
-	 */
-	public boolean canExportBeChanged() {
-		return true;
-	}
-
-	/*
-	 * @see BPListElement#isExported()
-	 */
-	public boolean isExported() {
-		return ((BeaninfoEntry) entry).isExported();
-	}
-	
-	/**
-	 * Return the current list of Searchpaths for this Beaninfo Element.
-	 */
-	public BPSearchListElement[] getSearchpaths() {
-		return searchpaths;
-	}
-	
-	/**
-	 * Set the new list. This will update the beaninfo entry too.
-	 */
-	public void setSearchpaths(BPSearchListElement[] searchpaths) {
-		this.searchpaths = searchpaths;
-		
-		SearchpathEntry[] spEntries = new SearchpathEntry[searchpaths.length];
-		for (int i = 0; i < searchpaths.length; i++) {
-			BPSearchListElement bps = searchpaths[i];
-			spEntries[i] = (SearchpathEntry) bps.getEntry();
-		}
-		
-		((BeaninfoEntry) entry).setSearchPaths(spEntries);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPListElement.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPListElement.java
deleted file mode 100644
index 8f7ac05..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPListElement.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BPListElement.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $ 
- */
-
-
-import org.eclipse.jem.internal.beaninfo.adapters.IBeaninfosDocEntry;
-/**
- * A Base ListElement (i.e. element in a list viewer) for
- * a BeanInfo Search Path Entry.
- */
-
-public abstract class BPListElement extends Object {
-	protected IBeaninfosDocEntry entry;
-	protected boolean missing; // Library/folder/classpath entry for this entry could not be found.
-
-	public BPListElement(IBeaninfosDocEntry entry, boolean missing) {
-		this.entry = entry;
-		this.missing = missing;
-	}
-
-	public IBeaninfosDocEntry getEntry() {
-		return entry;
-	}
-
-	public boolean isMissing() {
-		return missing;
-	}
-
-	/**
-	 * Certain entries cannot have their export status changed.
-	 */
-	public abstract boolean canExportBeChanged();
-
-	/**
-	 * Return whether this entry is exported.
-	 */
-	public abstract boolean isExported();
-
-	/**
-	 * If export can be changed, change it.
-	 */
-	public abstract void setExported(boolean exported);
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPSearchListElement.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPSearchListElement.java
deleted file mode 100644
index de96518..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPSearchListElement.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BPSearchListElement.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $ 
- */
-
-import org.eclipse.jem.internal.beaninfo.adapters.SearchpathEntry;
-
-/**
- * @version 	1.0
- * @author
- */
-public class BPSearchListElement extends BPListElement {
-
-	protected boolean exported;
-	protected boolean packageMissing;
-	/**
-	 * Constructor for BPSearchListElement.
-	 * @param entry
-	 * @param project
-	 * @param inMissing
-	 */
-	public BPSearchListElement(
-		SearchpathEntry entry,
-		boolean missing,
-		boolean packageMissing,
-		boolean exported) {
-		super(entry, missing);
-
-		this.packageMissing = packageMissing;
-		this.exported = exported;
-	}
-
-	/*
-	 * @see BPListElement#canExportBeChanged()
-	 */
-	public boolean canExportBeChanged() {
-		return false;
-	}
-
-	/*
-	 * @see BPListElement#isExported()
-	 */
-	public boolean isExported() {
-		return exported;
-	}
-
-	/**
-	 * Is the package missing.
-	 */
-	public boolean isPackageMissing() {
-		return packageMissing;
-	}
-	
-	/*
-	 * @see BPListElement#setExported(boolean)
-	 */
-	public void setExported(boolean exported) {
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeanInfoUIMessages.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeanInfoUIMessages.java
deleted file mode 100644
index f7e349c..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeanInfoUIMessages.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeanInfoUIMessages.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $ 
- */
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class BeanInfoUIMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.jem.internal.beaninfo.ui.messages";	//$NON-NLS-1$
-
-	public static final String BUI_ERRORTITLE = "Beaninfo_UI_.errortitle"; //$NON-NLS-1$
-	public static final String BUI_ERROR = "Beaninfo_UI_.error";	 //$NON-NLS-1$
-	
-	public static final String BPP_NOJAVAPROJECT = "BeaninfoPropertiesPage_INFO_.nojavaproject"; //$NON-NLS-1$
-	public static final String BPP_CLOSEDPROJECT = "BeaninfoPropertiesPage_INFO_.closedproject"; //$NON-NLS-1$
-	
-	public static final String BPB_ENABLEBEANINFO = "BeaninfoPathsBlock_UI_.enablebeaninfo"; //$NON-NLS-1$
-	
-	public static final String BPB_SEARCHPATH_LABEL = "BeaninfoPathsBlock_UI_.searchpath.label";	 //$NON-NLS-1$
-	public static final String BPB_SEARCHPATH_UP = "BeaninfoPathsBlock_UI_.searchpath.up.button"; //$NON-NLS-1$
-	public static final String BPB_SEARCHPATH_DOWN = "BeaninfoPathsBlock_UI_.searchpath.down.button"; //$NON-NLS-1$
-	public static final String BPB_SEARCHPATH_REMOVE = "BeaninfoPathsBlock_UI_.searchpath.remove.button";	 //$NON-NLS-1$
-	public static final String BPB_SEARCHPATH_ADD = "BeaninfoPathsBlock_UI_.searchpath.add.button"; //$NON-NLS-1$
-	public static final String BPB_SEARCHPATH_TAB_ORDER = "BeaninfoPathsBlock_UI_.serachpath.tab.order"; //$NON-NLS-1$
-	
-	public static final String BPB_SEARCHPATH_MISSINGPACKAGE_FORMAT = "BeaninfoPathsBlock_WARN_.searchpath.missing.path.format"; //$NON-NLS-1$
-	public static final String BPB_SEARCHPATH_OPDESC = "BeaninfoPathsBlock_UI_.searchpath.operationdescription"; //$NON-NLS-1$
-	
-	public static final String BPB_ADDSEARCHPATH_TITLE = "BeaninfoPathsBlock_UI_.addsearchpath.title"; //$NON-NLS-1$
-	public static final String BPB_ADDSEARCHPATH_DESC = "BeaninfoPathsBlock_UI_.addsearchpath.description";		 //$NON-NLS-1$
-	
-	public static final String BPB_SEARCHPATH_MISSING = "BeaninfoPathsBlock_UI_.warning.EntryMissing"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private BeanInfoUIMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoEntrySearchpathDialog.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoEntrySearchpathDialog.java
deleted file mode 100644
index 54244f9..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoEntrySearchpathDialog.java
+++ /dev/null
@@ -1,354 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoEntrySearchpathDialog.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/08 00:48:07 $ 
- */
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaConventions;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.jdt.internal.ui.util.PixelConverter;
-import org.eclipse.jdt.internal.ui.wizards.TypedViewerFilter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.DialogField;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.IListAdapter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.LayoutUtil;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.ListDialogField;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoEntry;
-import org.eclipse.jem.internal.beaninfo.adapters.SearchpathEntry;
-
-/**
- * This dialog is used to display and modify the search path
- * within a BeaninfoEntry.
- * @version 	1.0
- * @author
- */
-public class BeaninfoEntrySearchpathDialog extends Dialog {
-
-	private class DialogAdapter implements IListAdapter {
-
-		// -------- IListAdapter --------
-		public void customButtonPressed(ListDialogField field, int index) {
-			pageCustomButtonPressed(index);
-		}
-
-		public void selectionChanged(ListDialogField field) {
-		}
-
-		/**
-		 * @see org.eclipse.jdt.internal.ui.wizards.dialogfields.IListAdapter#doubleClicked(ListDialogField)
-		 */
-		public void doubleClicked(ListDialogField field) {
-		}
-
-	}
-
-	protected BPBeaninfoListElement infoElement;
-	protected IJavaProject jProject;
-	protected ListDialogField listField;
-
-	public BeaninfoEntrySearchpathDialog(
-		Shell parentShell,
-		BPBeaninfoListElement infoElement,
-		IJavaProject jProject) {
-		super(parentShell);
-
-		this.infoElement = infoElement;
-		this.jProject = jProject;
-
-		DialogAdapter adapter = new DialogAdapter();
-
-		String[] buttonLabels = new String[] {
-			/* 0 */
-			BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_SEARCHPATH_UP),
-			/* 1 */
-			BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_SEARCHPATH_DOWN),
-			/* 2 */
-			null,
-			/* 3 */
-			BeanInfoUIMessages.getString("SearchPathDialog.ChoosePackages"), //$NON-NLS-1$
-			/* 4 */
-			null,
-			/* 5 */
-			BeanInfoUIMessages.getString("SearchPathDialog.Remove") }; //$NON-NLS-1$
-
-		listField = new ListDialogField(adapter, buttonLabels, new SearchPathListLabelProvider(jProject));
-		listField.setLabelText(BeanInfoUIMessages.getString("SearchPathDialog.Desc.Label")); //$NON-NLS-1$
-		listField.setUpButtonIndex(0);
-		listField.setDownButtonIndex(1);
-		listField.setRemoveButtonIndex(5);
-	}
-
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(
-			MessageFormat.format(
-				BeanInfoUIMessages.getString("SearchPathDialog.ModifySearchPaths"), //$NON-NLS-1$
-				new Object[] { infoElement.getEntry().getPath().toString()}));
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		PixelConverter converter = new PixelConverter(parent);
-
-		Composite composite = new Composite(parent, SWT.NONE);
-
-		LayoutUtil.doDefaultLayout(
-			composite,
-			new DialogField[] { listField },
-			true,
-			SWT.DEFAULT,
-			SWT.DEFAULT);
-		int buttonBarWidth = converter.convertWidthInCharsToPixels(24);
-		listField.setButtonsMinWidth(buttonBarWidth);
-
-		updatePackagesList();
-
-		return composite;
-	}
-
-	private void updatePackagesList() {
-		if (infoElement.getEntry().getKind() == BeaninfoEntry.BIE_PLUGIN) {
-			// We don't allow these to be updated. They should only be used through
-			// registered mechanisms and we won't be showing them here normally.
-			listField.setLabelText(BeanInfoUIMessages.getString("SearchPathDialog.NotEditable_INFO_")); //$NON-NLS-1$
-			listField.setEnabled(false);
-			return;
-		}
-
-		listField.setElements(Arrays.asList(infoElement.getSearchpaths()));
-	}
-
-	protected void pageCustomButtonPressed(int index) {
-		if (index != 3)
-			return;
-
-		List elementsToAdd = choosePackages();
-
-		if (elementsToAdd != null && !elementsToAdd.isEmpty()) {
-			listField.addElements(elementsToAdd);
-			listField.postSetSelection(new StructuredSelection(elementsToAdd));
-		}
-	}
-
-	protected void okPressed() {
-		if (listField.isEnabled()) {
-			// If the field is not enabled, then there is no update to perform. We don't
-			// want to accidentially wipe out the search paths in this case.
-
-			// Override to put the list of elements back into the BPBeaninfoListElement
-			// Until then they aren't actually updated.
-			List paths = listField.getElements();
-			infoElement.setSearchpaths(
-				(BPSearchListElement[]) paths.toArray(new BPSearchListElement[paths.size()]));
-		}
-		super.okPressed();
-	}
-
-	/**
-	 * Choose the packages that should be in the search path.
-	 */
-	private List choosePackages() {
-
-		IPackageFragmentRoot[] roots = getBeaninfoRoots();
-		List newPackageNames = new ArrayList();
-		if (roots != null) {
-			// It's within the workspace, so we can get the roots and packages.
-			ISelectionStatusValidator validator = new PackagesWorkbookPage.ChoosePackagesSelectionValidator();
-
-			// Show up to the package fragment, don't show any contents of it.
-			Class[] acceptedClasses = new Class[] { IPackageFragmentRoot.class, IPackageFragment.class };
-			Object[] rejectedFragments = getFilteredExistingEntries(roots);
-
-			// Only show package fragments that have children (i.e. there classes in it, not interested
-			// in intermediate ones that have no classes defined in them. Those are filtered out.
-			TypedViewerFilter filter = new TypedViewerFilter(acceptedClasses, rejectedFragments) {
-				public boolean select(Viewer viewer, Object parentElement, Object element) {
-					if (super.select(viewer, parentElement, element)) {
-						if (element instanceof IPackageFragment) {
-							IPackageFragment pkg = (IPackageFragment) element;
-							try {
-								return pkg.hasChildren();
-							} catch (JavaModelException e) {
-							}
-							return false;
-						} else
-							return true;
-					}
-					return false;
-				}
-			};
-
-			ITreeContentProvider provider = new PackageOnlyContentProvider();
-
-			ILabelProvider labelProvider = new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
-			ElementTreeSelectionDialog dialog =
-				new ElementTreeSelectionDialog(getShell(), labelProvider, provider);
-			dialog.setTitle(BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_ADDSEARCHPATH_TITLE));
-
-			dialog.setValidator(validator);
-			dialog.setMessage(BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_ADDSEARCHPATH_DESC));
-			dialog.addFilter(filter);
-			dialog.setInput(Arrays.asList(getBeaninfoRoots()));
-
-			if (dialog.open() == Window.OK) {
-				Object[] elements = dialog.getResult();
-				for (int i = 0; i < elements.length; i++) {
-					newPackageNames.add(((IPackageFragment) elements[i]).getElementName());
-				}
-			}
-		} else {
-			// It's not within the workspace
-			final List existingPackagenames = getFilteredExistingEntries();
-			IInputValidator validator = new IInputValidator() {
-				public String isValid(String newText) {
-					if (existingPackagenames.contains(newText))
-						return BeanInfoUIMessages.getString("SearchPathDialog.PackagePresent_INFO_"); //$NON-NLS-1$
-						
-					IStatus status = JavaConventions.validatePackageName(newText);
-					return status.getSeverity() == IStatus.OK ? null : status.getMessage();
-				}
-			};
-			InputDialog dialog = new InputDialog(getShell(), BeanInfoUIMessages.getString("SearchPathDialog.InputDialog.Title"), BeanInfoUIMessages.getString("SearchPathDialog.InputDialog.Message"), null, validator); //$NON-NLS-1$ //$NON-NLS-2$
-			if (dialog.open() == Window.OK)
-				newPackageNames.add(dialog.getValue());
-		}
-
-		if (newPackageNames.size() == 0)
-			return Collections.EMPTY_LIST;
-
-		List newElements = new ArrayList(newPackageNames.size());
-		for (int i = 0; i < newPackageNames.size(); i++)
-			newElements.add(
-				new BPSearchListElement(new SearchpathEntry((String) newPackageNames.get(i)), false, false, false));
-		return newElements;
-	}
-	/**
-	 * Return the packagefragment roots for the given beaninfo entry.
-	 * Return null if it can be handled (i.e. not in a project some where).
-	 */
-	protected IPackageFragmentRoot[] getBeaninfoRoots() {
-		IPackageFragmentRoot[] roots = null;
-		if (infoElement.getEntry().getKind() != BeaninfoEntry.BIE_PLUGIN) {
-			IClasspathEntry resolved = JavaCore.getResolvedClasspathEntry(((BeaninfoEntry) infoElement.getEntry()).getClasspathEntry());
-			IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(resolved.getPath());
-			if (res != null && res.exists()) {
-				if (res instanceof IProject) {
-					// It is a project itself.
-					IJavaProject jp = (IJavaProject) JavaCore.create(res);
-					try {
-						if (jp != null)
-							roots = jp.getPackageFragmentRoots(); // All of the roots in the project are applicable.
-					} catch (JavaModelException e) {
-					}
-				} else {
-					// It is within another project
-					IProject containingProject = res.getProject();
-					IJavaProject jp = JavaCore.create(containingProject);
-					if (jp != null) {
-						// The roots if this is in the classpath of this project
-						try {
-							IPackageFragmentRoot root = jp.findPackageFragmentRoot(resolved.getPath());
-							if (root != null)
-								roots = new IPackageFragmentRoot[] { root };
-						} catch (JavaModelException e) {
-						}
-					}
-				}
-			}
-		}
-		return roots;
-	}
-
-	/**
-	 * Return the list of entries that already are in the search path
-	 * so that they don't show up in the list.
-	 */
-	protected Object[] getFilteredExistingEntries(IPackageFragmentRoot[] roots) {
-		List entries = listField.getElements();
-		List fragments = new ArrayList(entries.size());
-		Iterator itr = entries.iterator();
-		while (itr.hasNext()) {
-			BPSearchListElement elem = (BPSearchListElement) itr.next();
-			fragments.addAll(getPackages(elem, roots));
-		}
-		return fragments.toArray();
-	}
-	
-	/**
-	 * Return the list of entries that already are in the search path
-	 * so that they don't show up in the list. This one is just the package names.
-	 */
-	protected List getFilteredExistingEntries() {
-		List entries = listField.getElements();
-		List names = new ArrayList(entries.size());
-		Iterator itr = entries.iterator();
-		while (itr.hasNext()) {
-			BPSearchListElement elem = (BPSearchListElement) itr.next();
-			names.add(((SearchpathEntry) elem.getEntry()).getPackage());
-		}
-		return names;
-	}
-
-	protected List getPackages(BPSearchListElement element, IPackageFragmentRoot[] roots) {
-		String packageName = ((SearchpathEntry) element.getEntry()).getPackage();
-		if (packageName == null)
-			return Collections.EMPTY_LIST;
-
-		try {
-			List packages = new ArrayList(10);
-			for (int i = 0; i < roots.length; i++) {
-				IJavaElement[] pfs = roots[i].getChildren();
-				for (int j = 0; j < pfs.length; j++)
-					if (pfs[j].getElementType() == IJavaElement.PACKAGE_FRAGMENT
-						&& pfs[j].getElementName().equals(packageName)) {
-						packages.add(pfs[j]);
-						break;
-					}
-			}
-			return packages;
-		} catch (JavaModelException e) {
-		}
-		return Collections.EMPTY_LIST;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoPathsBlock.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoPathsBlock.java
deleted file mode 100644
index dfb865a..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoPathsBlock.java
+++ /dev/null
@@ -1,564 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfoPathsBlock.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/08 00:48:07 $ 
- */
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.internal.ui.dialogs.StatusInfo;
-import org.eclipse.jdt.internal.ui.util.TabFolderLayout;
-import org.eclipse.jdt.internal.ui.viewsupport.ImageDisposer;
-import org.eclipse.jdt.internal.ui.wizards.IStatusChangeListener;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.*;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.jem.internal.beaninfo.adapters.*;
-import org.eclipse.jem.internal.ui.core.JEMUIPlugin;
-
-public class BeaninfoPathsBlock {
-
-	private IWorkspaceRoot fWorkspaceRoot;
-
-	private CheckedListDialogField fSearchOrder;
-	// Search path list. filtered for each tab page to appropriate entries
-	private SelectionButtonDialogField fEnableBeaninfoDialogField;
-	// Checkbox to add/remove beaninfo nature entirely.
-
-	private StatusInfo fSearchStatus;
-
-	private IJavaProject fCurrJProject;
-
-	private IStatusChangeListener fContext;
-	private PackagesWorkbookPage fPackagesPage;
-	private BeaninfosWorkbookPage fBeaninfosPage;
-
-	private BuildSearchBasePage fCurrPage;
-	private SearchPathListLabelProvider labelProvider;
-	
-	public BeaninfoPathsBlock(IWorkspaceRoot root, IStatusChangeListener context) {
-		fWorkspaceRoot = root;
-		fContext = context;
-		fCurrPage = null;
-
-		BuildPathAdapter adapter = new BuildPathAdapter();
-
-		String[] buttonLabels = new String[] {
-			/* 0 */
-			BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_SEARCHPATH_UP),
-			/* 1 */
-			BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_SEARCHPATH_DOWN), 
-			/* 2 */ null,
-			/* 3 */ BeanInfoUIMessages.getString("BeanInfoPathsBlock.ExportAll") , //$NON-NLS-1$
-			/* 4 */ BeanInfoUIMessages.getString("BeanInfoPathsBlock.UnexportAll") //$NON-NLS-1$
-			};
-		
-		labelProvider = new SearchPathListLabelProvider();	// We keep around to update with latest project.
-		fSearchOrder = new CheckedListDialogField(null, buttonLabels, labelProvider);
-		fSearchOrder.setDialogFieldListener(adapter);
-		fSearchOrder.setLabelText(
-			BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_SEARCHPATH_LABEL));
-		fSearchOrder.setUpButtonIndex(0);
-		fSearchOrder.setDownButtonIndex(1);
-		fSearchOrder.setCheckAllButtonIndex(3);
-		fSearchOrder.setUncheckAllButtonIndex(4);
-
-		fEnableBeaninfoDialogField = new SelectionButtonDialogField(SWT.CHECK);
-		fEnableBeaninfoDialogField.setLabelText(
-			BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_ENABLEBEANINFO));
-
-		fSearchStatus = new StatusInfo();
-
-		fCurrJProject = null;
-	}
-	
-	public CheckedListDialogField getSearchOrder() {
-		return fSearchOrder;
-	}
-	
-	/*
-	 * searchOrder dialog must never have all of elements set
-	 * directly. Must come through here first so that we can
-	 * make sure updates occur in correct sequence, else
-	 * we will wind up with entries being marked as unexported
-	 * when they really are exported. 
-	 */
-	public void setSearchOrderElements(List newElements) {
-		ArrayList exportedEntries = new ArrayList(newElements.size());
-		for (Iterator iter = newElements.iterator(); iter.hasNext();) {
-			BPListElement element = (BPListElement) iter.next();
-			if (element.isExported())
-				exportedEntries.add(element);
-		}
-		
-		inUpdate = true;	// So that on first set we don't waste time updating the list and reseting all of our entries.
-		fSearchOrder.setElements(newElements);
-		inUpdate = false;
-		fSearchOrder.setCheckedElements(exportedEntries);
-	}
-
-	// -------- UI creation ---------
-
-	public Control createControl(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.numColumns = 1;
-		composite.setLayout(layout);
-
-		TabFolder folder = new TabFolder(composite, SWT.NONE);
-		folder.setLayout(new TabFolderLayout());
-		folder.setLayoutData(new GridData(GridData.FILL_BOTH));
-		folder.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				tabChanged(e.item);
-			}
-		});
-
-		ImageRegistry imageRegistry = JavaPlugin.getDefault().getImageRegistry();
-
-		TabItem item;
-
-		ArrayList interestedDialogFields = new ArrayList(3);
-
-		fPackagesPage = new PackagesWorkbookPage(fWorkspaceRoot, this, interestedDialogFields);
-		item = new TabItem(folder, SWT.NONE);
-		item.setText(BeanInfoUIMessages.getString("BeanInfoPathsBlock.Page.Tab.Packages")); //$NON-NLS-1$
-		item.setImage(imageRegistry.get(JavaPluginImages.IMG_OBJS_PACKAGE));
-		item.setData(fPackagesPage);
-		item.setControl(fPackagesPage.getControl(folder));
-
-		// a non shared image
-		Image fBeanImage = null;
-		try {
-			ImageDescriptor pin = ImageDescriptor.createFromURL(
-						new URL(JEMUIPlugin.getPlugin().getDescriptor().getInstallURL(), "icons/javabean.gif")); //$NON-NLS-1$
-			fBeanImage = pin.createImage();
-		} catch(MalformedURLException e) {
-			fBeanImage = ImageDescriptor.getMissingImageDescriptor().createImage();
-		}
-		composite.addDisposeListener(new ImageDisposer(fBeanImage));
-				
-		fBeaninfosPage= new BeaninfosWorkbookPage(fWorkspaceRoot, this, interestedDialogFields);		
-		item= new TabItem(folder, SWT.NONE);
-		item.setText(BeanInfoUIMessages.getString("BeanInfoPathsBlock.Page.Tab.Classes")); //$NON-NLS-1$
-		item.setImage(fBeanImage);
-		item.setData(fBeaninfosPage);
-		item.setControl(fBeaninfosPage.getControl(folder));
-
-		// a non shared image
-		Image cpoImage = JavaPluginImages.DESC_TOOL_CLASSPATH_ORDER.createImage();
-		composite.addDisposeListener(new ImageDisposer(cpoImage));
-		
-		SearchpathOrderingWorkbookPage ordpage = new SearchpathOrderingWorkbookPage(fSearchOrder, interestedDialogFields);
-		item = new TabItem(folder, SWT.NONE);
-		item.setText(BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_SEARCHPATH_TAB_ORDER));
-		item.setImage(cpoImage);
-		item.setData(ordpage);
-		item.setControl(ordpage.getControl(folder));
-
-		if (fCurrJProject != null) {
-			fPackagesPage.init(fCurrJProject);
-			fBeaninfosPage.init(fCurrJProject);
-		}
-
-		fEnableBeaninfoDialogField.doFillIntoGrid(composite, 1);
-		fEnableBeaninfoDialogField.attachDialogFields((DialogField[]) interestedDialogFields.toArray(new DialogField[interestedDialogFields.size()]));
-
-		folder.setSelection(2);
-		fCurrPage = ordpage;
-		fSearchOrder.selectFirstElement();
-
-		//		WorkbenchHelp.setHelp(composite, new Object[] { IJavaHelpContextIds.BUILD_PATH_BLOCK });				
-		return composite;
-	}
-
-
-	/**
-	 * Initializes the classpath for the given project. Multiple calls to init are allowed,
-	 * but all existing settings will be cleared and replace by the given or default paths.
-	 * @param project The java project to configure.
-	 */
-	public void init(IJavaProject jproject) {
-		fCurrJProject = jproject;
-		labelProvider.setJavaProject(jproject);
-
-		try {
-			// If we have a config file, we will assume we have a nature. It will add it automatically
-			// when we ask for the information. Even if we didn't have the nature, as soon as someone
-			// asks for it, we would create it anyhow, and it would use the existing config file.
-			// If we don't have a config file, we could have the nature, so we will check for that too.
-			boolean haveConfigFile = jproject.getProject().getFile(BeaninfoNature.P_BEANINFO_SEARCH_PATH).exists();
-			boolean haveNature = fCurrJProject.getProject().hasNature(BeaninfoNature.NATURE_ID);
-			fEnableBeaninfoDialogField.setSelection(haveConfigFile || haveNature);
-			if (haveNature || haveConfigFile) {
-				BeaninfosDoc doc = BeaninfoNature.getRuntime(fCurrJProject.getProject()).getSearchPath();
-				IClasspathEntry[] raw = fCurrJProject.getRawClasspath();
-
-				List newSearchpath = new ArrayList();
-				if (doc != null) {
-					IBeaninfosDocEntry[] sp = doc.getSearchpath();
-					for (int i = 0; i < sp.length; i++) {
-						IBeaninfosDocEntry curr = sp[i];
-						boolean isMissing = true;
-						BPListElement elem = null;
-						if (curr instanceof BeaninfoEntry) {
-							BeaninfoEntry be = (BeaninfoEntry) curr;
-
-							// get the resource, this tells if the beaninfos exist or not.
-							Object path = be.getClasspath();
-							if (path instanceof IProject)
-								isMissing = !((IProject) path).exists();
-							else {
-								File f = null;
-								if (path instanceof String)
-									f = new File((String) path);
-								else if (path instanceof String[] && ((String[]) path).length > 0)
-									f = new File(((String[]) path)[0]);
-								if (f != null)
-									isMissing = !f.exists();
-							}
-
-							elem = new BPBeaninfoListElement(be, getInitialSearchpaths(be), isMissing);
-						} else {
-							// Searchpath entry, see if we can find the raw classpath entry that it is for.
-							boolean isExported = false;
-							boolean isPackageMissing = true;
-							SearchpathEntry ce = (SearchpathEntry) curr;
-							int kind = ce.getKind();
-							IPath path = ce.getPath();
-							for (int j = 0; j < raw.length; j++) {
-								if (raw[j].getEntryKind() == kind && raw[j].getPath().equals(path)) {
-									isMissing = false;
-									isExported = raw[j].isExported() || raw[j].getEntryKind() == IClasspathEntry.CPE_SOURCE;
-									String packageName = ce.getPackage();
-									if (packageName != null) {
-										IPackageFragmentRoot[] roots = fCurrJProject.findPackageFragmentRoots(raw[j]);
-										for (int k = 0; k < roots.length; k++) {
-											IPackageFragmentRoot iroot = roots[k];
-											if (iroot.getPackageFragment(packageName).exists()) {
-												isPackageMissing = false;
-												break;
-											}
-										}
-									} else
-										isPackageMissing = false;
-									break;
-								}
-							}
-							elem = new BPSearchListElement(ce, isMissing, isPackageMissing, isExported);
-						}
-
-						newSearchpath.add(elem);
-					}
-				}
-
-				// inits the dialog field
-				setSearchOrderElements(newSearchpath);
-
-				if (fPackagesPage != null) {
-					fPackagesPage.init(fCurrJProject);
-					fBeaninfosPage.init(fCurrJProject);
-				}
-			} else {
-				// No nature, disable,
-				fEnableBeaninfoDialogField.setSelection(false);
-			}
-		} catch (JavaModelException e) {
-			fEnableBeaninfoDialogField.setSelection(false);
-		} catch (CoreException e) {
-			fEnableBeaninfoDialogField.setSelection(false);
-		}
-
-//		listenForClasspathChange();
-		doStatusLineUpdate();
-	}
-	
-	/*
-	 * Create the Searchpath elements for a BeaninfoElement.
-	 * Return null if not to update.
-	 */
-	private BPSearchListElement[] getInitialSearchpaths(BeaninfoEntry infoEntry) {
-
-		// We can only verify the existence of packages within beaninfos that are 
-		// located within a project on the desktop. Otherwise we can't find out what
-		// packages are in them.
-		IPackageFragmentRoot[] roots = null;
-
-		if (infoEntry.getKind() != BeaninfoEntry.BIE_PLUGIN) {
-			IClasspathEntry resolved = JavaCore.getResolvedClasspathEntry(infoEntry.getClasspathEntry());
-			IResource res = fWorkspaceRoot.findMember(resolved.getPath());
-			if (res != null && res.exists()) {
-				if (res instanceof IProject) {
-					// It is a project itself.
-					IJavaProject jp = (IJavaProject) JavaCore.create(res);
-					try {
-						if (jp != null)
-							roots = jp.getPackageFragmentRoots(); // All of the roots in the project are applicable.
-					} catch (JavaModelException e) {
-					}
-				} else {
-					// It is within another project
-					IProject containingProject = res.getProject();
-					IJavaProject jp = JavaCore.create(containingProject);
-					if (jp != null) {
-						// The roots if this is in the classpath of this project
-						try {
-							IPackageFragmentRoot root = jp.findPackageFragmentRoot(resolved.getPath());
-							if (root != null)
-								roots = new IPackageFragmentRoot[] { root };
-						} catch (JavaModelException e) {
-						}
-					}
-				}
-			}
-		}
-
-		SearchpathEntry[] entries = infoEntry.getSearchPaths();
-		BPSearchListElement[] packageElements = new BPSearchListElement[entries.length];
-		for (int i = 0;
-			i < entries.length;
-			i++) { // Searchpath entry, see if we can find the raw classpath entry that it is for.
-			boolean isPackageMissing = roots != null;
-			// If roots is null, then the package isn't missing because we can't test for it.
-			SearchpathEntry ce = entries[i];
-			if (roots != null) {
-				String packageName = ce.getPackage();
-				for (int k = 0; k < roots.length; k++) {
-					IPackageFragmentRoot iroot = roots[k];
-					if (iroot.getPackageFragment(packageName).exists()) {
-						isPackageMissing = false;
-						break;
-					}
-				}
-			}
-			packageElements[i] = new BPSearchListElement(ce, false, isPackageMissing, false);
-		}
-
-		return packageElements;
-	}
-
-	// -------- public api --------
-
-	/**
-	 * Returns the Java project. Can return <code>null<code> if the page has not
-	 * been initialized.
-	 */
-	public IJavaProject getJavaProject() {
-		return fCurrJProject;
-	}
-
-	private class BuildPathAdapter implements IDialogFieldListener {
-
-		// ---------- IDialogFieldListener --------
-		public void dialogFieldChanged(DialogField field) {
-			buildPathDialogFieldChanged(field);
-		}
-	}
-
-	private void buildPathDialogFieldChanged(DialogField field) {
-		if (field == fSearchOrder) {
-			updateSearchPathStatus();
-		}
-		doStatusLineUpdate();
-	}
-
-	// -------- verification -------------------------------
-
-	private void doStatusLineUpdate() {
-		fContext.statusChanged(fSearchStatus);
-	}
-
-	private boolean inUpdate;
-	// Flag to indicate we are in updateSearchPathStatus and to not do it again. This can
-	// happen due to using setCheckedElements instead of setCheckedWithoutUpdate.
-	/**
-	 * Validates the search path.
-	 */
-	private void updateSearchPathStatus() {
-		if (inUpdate)
-			return;
-		try {
-			inUpdate = true;
-
-			fSearchStatus.setOK();
-
-			List elements = fSearchOrder.getElements();
-
-			boolean entryMissing = false;
-
-			// Because of bug in setcheckedWithoutUpdate, which sets to true no matter what the state is, we need
-			// to accumulate the checked elements and re-set them again after this so that they will be correct.	
-			ArrayList exported = new ArrayList();
-
-			for (Iterator entries = elements.iterator(); entries.hasNext();) {
-				BPListElement currElement = (BPListElement) entries.next();
-
-				boolean isChecked = fSearchOrder.isChecked(currElement);
-				if (currElement.canExportBeChanged()) {
-					if (isChecked)
-						exported.add(currElement);
-					currElement.setExported(isChecked);
-				} else {
-					//				fSearchOrder.setCheckedWithoutUpdate(currElement, currElement.isExported());
-					if (currElement.isExported())
-						exported.add(currElement);
-				}
-
-				entryMissing = entryMissing || currElement.isMissing();
-			}
-
-			// Now reset the checked states, due to bug
-			fSearchOrder.setCheckedElements(exported);
-
-			if (entryMissing) {
-				fSearchStatus.setWarning(
-					BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_SEARCHPATH_MISSING));
-			}
-		} finally {
-			inUpdate = false;
-		}
-	}
-
-	// -------- creation -------------------------------
-
-	/**
-	 * Creates a runnable that sets the configured build paths.
-	 */
-	public IRunnableWithProgress getRunnable() {
-		final boolean wantNature = fEnableBeaninfoDialogField.isSelected();
-		final List searchPathEntries = wantNature ? fSearchOrder.getElements() : null;
-
-		return new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException {
-				if (monitor == null) {
-					monitor = new NullProgressMonitor();
-				}
-				monitor.beginTask(
-					BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_SEARCHPATH_OPDESC),
-					10);
-				try {
-					setBeaninfoSearchpath(wantNature, searchPathEntries, monitor);
-				} catch (CoreException e) {
-					throw new InvocationTargetException(e);
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-	}
-
-	private void setBeaninfoSearchpath(
-		boolean wantNature,
-		List searchPathEntries,
-		IProgressMonitor monitor)
-		throws CoreException {
-
-		if (wantNature) {
-			// create beaninfo nature
-			if (!fCurrJProject.getProject().hasNature(BeaninfoNature.NATURE_ID)) {
-				addNatureIDToProject(fCurrJProject.getProject(), BeaninfoNature.NATURE_ID, monitor);
-			}
-
-			BeaninfoNature nature = BeaninfoNature.getRuntime(fCurrJProject.getProject());
-			// Now build/set the search path.
-			if (searchPathEntries.size() > 0) {
-				IBeaninfosDocEntry[] sparray = new IBeaninfosDocEntry[searchPathEntries.size()];
-				Iterator itr = searchPathEntries.iterator();
-				int i = 0;
-				while (itr.hasNext()) {
-					BPListElement elem = (BPListElement) itr.next();
-					sparray[i++] = elem.getEntry();
-				}
-				nature.setSearchPath(new BeaninfosDoc(sparray), monitor);
-			} else
-				nature.setSearchPath(null, monitor);
-		} else {
-			// Remove the nature, no longer wanted.
-			removeNatureIDFromProject(fCurrJProject.getProject(), BeaninfoNature.NATURE_ID, monitor);
-		}
-	}
-
-	/**
-	 * Adds a nature to a project
-	 */
-	private void addNatureIDToProject(IProject proj, String natureId, IProgressMonitor monitor)
-		throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures = description.getNatureIds();
-		String[] newNatures = new String[prevNatures.length + 1];
-		System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length);
-		newNatures[prevNatures.length] = natureId;
-		description.setNatureIds(newNatures);
-		proj.setDescription(description, monitor);
-	}
-
-	private void removeNatureIDFromProject(IProject proj, String natureId, IProgressMonitor monitor)
-		throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures = description.getNatureIds();
-		int indx = -1;
-		for (int i = 0; i < prevNatures.length; i++) {
-			if (prevNatures[i].equals(natureId)) {
-				indx = i;
-				break;
-			}
-		}
-		if (indx == -1)
-			return;
-
-		String[] newNatures = new String[prevNatures.length - 1];
-		if (newNatures.length != 0) {
-			System.arraycopy(prevNatures, 0, newNatures, 0, indx);
-			if (indx < newNatures.length)
-				System.arraycopy(prevNatures, indx + 1, newNatures, indx, newNatures.length - indx);
-		}
-		description.setNatureIds(newNatures);
-		proj.setDescription(description, monitor);
-	}
-
-	// -------- tab switching ----------
-
-	private void tabChanged(Widget widget) {
-		if (widget instanceof TabItem) {
-			BuildSearchBasePage newPage = (BuildSearchBasePage) ((TabItem) widget).getData();
-			if (fCurrPage != null) {
-				List selection = fCurrPage.getSelection();
-				if (!selection.isEmpty()) {
-					newPage.setSelection(selection);
-				}
-			}
-			fCurrPage = newPage;
-		}
-	}	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosPropertyPage.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosPropertyPage.java
deleted file mode 100644
index d1a2740..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosPropertyPage.java
+++ /dev/null
@@ -1,179 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfosPropertyPage.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/08 00:48:07 $ 
- */
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.internal.ui.dialogs.StatusUtil;
-import org.eclipse.jdt.internal.ui.util.ExceptionHandler;
-import org.eclipse.jdt.internal.ui.wizards.IStatusChangeListener;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-import org.eclipse.jem.internal.ui.core.JEMUIPlugin;
-
-/**
- * Property page for configuring Beaninfo path
- */
-public class BeaninfosPropertyPage extends PropertyPage implements IStatusChangeListener {
-		
-	private BeaninfoPathsBlock fBuildPathsBlock;
-	private IResourceChangeListener listener;
-	private IProject project;
-	
-	/*
-	 * @see PreferencePage#createControl(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-// when we get help working.
-//		WorkbenchHelp.setHelp(parent, new DialogPageContextComputer(this, IJavaHelpContextIds.BUILD_PATH_PROPERTY_PAGE));
-
-		// ensure the page has no special buttons
-		noDefaultAndApplyButton();		
-		
-		project= getProject();
-		if (project == null || !isJavaProject(project)) {
-			return createWithoutJava(parent);
-		} else if (!project.isOpen()) {
-			return createForClosedProject(parent);
-		} else {
-			return createWithJava(parent);
-		}
-	}
-	
-	/**
-	 * Content for valid projects.
-	 */
-	private Control createWithJava(Composite parent) {
-		IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
-		fBuildPathsBlock= new BeaninfoPathsBlock(root, this);
-		final IJavaProject jproject = JavaCore.create(project);
-		fBuildPathsBlock.init(jproject);
-		final IPath classpathfile = project.getFile(".classpath").getFullPath();
-		listener = new IResourceChangeListener() {
-			
-			/* (non-Javadoc)
-			 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-			 */
-			public void resourceChanged(IResourceChangeEvent event) {
-				if (fBuildPathsBlock != null) {
-					if (event.getDelta().findMember(classpathfile) != null)
-						getControl().getDisplay().asyncExec(new Runnable() {	// Can be called outside of display loop
-							public void run() {
-								fBuildPathsBlock.init(jproject);
-							}
-						});
-				}
-			}
-		};
-		project.getWorkspace().addResourceChangeListener(listener, IResourceChangeEvent.POST_CHANGE);
-
-		return fBuildPathsBlock.createControl(parent);
-	}
-
-	/**
-	 * Content for non-Java projects.
-	 */	
-	private Control createWithoutJava(Composite parent) {
-		Label label= new Label(parent, SWT.LEFT);
-		label.setText(BeanInfoUIMessages.getString(BeanInfoUIMessages.BPP_NOJAVAPROJECT)); 
-		
-		fBuildPathsBlock= null;
-		setValid(true);
-		return label;
-	}
-
-	/**
-	 * Content for closed projects.
-	 */		
-	private Control createForClosedProject(Composite parent) {
-		Label label= new Label(parent, SWT.LEFT);
-		label.setText(BeanInfoUIMessages.getString(BeanInfoUIMessages.BPP_CLOSEDPROJECT));
-		
-		fBuildPathsBlock= null;
-		setValid(true);
-		return label;
-	}
-	
-	private IProject getProject() {
-		IAdaptable adaptable= getElement();
-		if (adaptable != null) {
-			IJavaElement elem= (IJavaElement) adaptable.getAdapter(IJavaElement.class);
-			if (elem instanceof IJavaProject) {
-				return ((IJavaProject) elem).getProject();
-			}
-		}
-		return null;
-	}
-	
-	private boolean isJavaProject(IProject proj) {
-		try {
-			return proj.hasNature(JavaCore.NATURE_ID);
-		} catch (CoreException e) {
-			JEMUIPlugin.getPlugin().getLogger().log(e.getStatus());
-		}
-		return false;
-	}	
-	
-	/*
-	 * @see IPreferencePage#performOk
-	 */
-	public boolean performOk() {
-		if (fBuildPathsBlock != null) {
-			IRunnableWithProgress runnable= fBuildPathsBlock.getRunnable();
-
-			IRunnableWithProgress op= new WorkspaceModifyDelegatingOperation(runnable);
-			Shell shell= getControl().getShell();
-			try {
-				new ProgressMonitorDialog(shell).run(false, false, op);
-			} catch (InvocationTargetException e) {
-				String title= BeanInfoUIMessages.getString(BeanInfoUIMessages.BUI_ERRORTITLE);
-				String message= BeanInfoUIMessages.getString(BeanInfoUIMessages.BUI_ERROR); 
-				ExceptionHandler.handle(e, shell, title, message);
-				return false;
-			} catch (InterruptedException e) {
-				// cancelled
-				return false;
-			}
-		}
-		return true;
-	}
-	
-	/**
-	 * @see IStatusChangeListener#statusChanged
-	 */
-	public void statusChanged(IStatus status) {
-		setValid(!status.matches(IStatus.ERROR));
-		StatusUtil.applyToStatusLine(this, status);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
-	 */
-	public void dispose() {
-		if (listener != null)
-			project.getWorkspace().removeResourceChangeListener(listener);
-		listener = null;
-		super.dispose();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java
deleted file mode 100644
index 100251d..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java
+++ /dev/null
@@ -1,596 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BeaninfosWorkbookPage.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/08 00:48:07 $ 
- */
-
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoEntry;
-import org.eclipse.jem.internal.ui.core.JEMUIPlugin;
-
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.internal.ui.dialogs.StatusDialog;
-import org.eclipse.jdt.internal.ui.util.PixelConverter;
-import org.eclipse.jdt.internal.ui.wizards.*;
-import org.eclipse.jdt.internal.ui.wizards.buildpaths.ArchiveFileFilter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.*;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.*;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * @version 	1.0
- * @author
- */
-public class BeaninfosWorkbookPage extends BuildSearchBasePage {
-	
-	private BeaninfoPathsBlock biPathsBlock;
-	private IJavaProject fCurrJProject;
-	
-	private ListDialogField fBeaninfosList;
-	private IWorkspaceRoot fWorkspaceRoot;
-	
-	private IDialogSettings fDialogSettings;
-	
-	private Control fSWTControl;
-	
-	private IClasspathEntry[] resolvedList;
-	private IClasspathEntry[] rawList;
-	private SearchPathListLabelProvider labelProvider;
-	
-	private static final String DIALOGSTORE_LASTEXTJAR = JEMUIPlugin.PI_BEANINFO_UI + ".lastextjar"; //$NON-NLS-1$
-	private static final String DIALOGSTORE_LASTVARIABLE = JEMUIPlugin.PI_BEANINFO_UI + ".lastvar"; //$NON-NLS-1$
-		
-	public BeaninfosWorkbookPage(IWorkspaceRoot root, BeaninfoPathsBlock biPathsBlock, List interestedFieldsForEnableControl) {
-		this.biPathsBlock = biPathsBlock;
-		fWorkspaceRoot= root;
-		fSWTControl= null;
-		
-		fDialogSettings= JEMUIPlugin.getPlugin().getDialogSettings();
-		
-		String[] buttonLabels= new String[] { 
-			/* 0 */ BeanInfoUIMessages.getString("BeanInfosWorkbookPage.AddFolders"), //$NON-NLS-1$
-			/* 1 */ BeanInfoUIMessages.getString("BeanInfosWorkbookPage.AddJARs"), //$NON-NLS-1$
-			/* 2 */ BeanInfoUIMessages.getString("BeanInfosWorkbookPage.AddExternalJAR"), //$NON-NLS-1$
-			/* 3 */ BeanInfoUIMessages.getString("BeanInfosWorkbookPage.AddVariable"), //$NON-NLS-1$
-			/* 4 */ BeanInfoUIMessages.getString("BeanInfosWorkbookPage.AddProjects"), //$NON-NLS-1$
-			/* 5 */ null,
-			/* 6 */ BeanInfoUIMessages.getString("BeanInfosWorkbookPage.ModifyPaths"), //$NON-NLS-1$
-			/* 7 */ null,  
-			/* 8 */ BeanInfoUIMessages.getString("BeanInfosWorkbookPage.Remove") //$NON-NLS-1$
-		};		
-				
-		BeaninfosAdapter adapter= new BeaninfosAdapter();
-				
-		labelProvider = new SearchPathListLabelProvider();	// kept around so can be updated with java project later
-		fBeaninfosList= new ListDialogField(adapter, buttonLabels, labelProvider);
-		fBeaninfosList.setDialogFieldListener(adapter);
-		fBeaninfosList.setLabelText(BeanInfoUIMessages.getString("BeanInfosWorkbookPage.List.Text")); //$NON-NLS-1$
-		fBeaninfosList.setRemoveButtonIndex(8);
-		fBeaninfosList.enableButton(6, false);	// Need to initially disable it and let the selection state handle it from there.
-		
-		fBeaninfosList.setViewerSorter(new BIListElementSorter());
-		
-		interestedFieldsForEnableControl.add(fBeaninfosList);
-
-	}
-		
-	public void init(IJavaProject jproject) {
-		fCurrJProject= jproject;
-		labelProvider.setJavaProject(jproject);
-		try {
-			rawList = fCurrJProject.getRawClasspath();
-			resolvedList = new IClasspathEntry[rawList.length];
-			for (int i = 0; i < rawList.length; i++) {
-				resolvedList[i] = JavaCore.getResolvedClasspathEntry(rawList[i]);
-			}
-		} catch (JavaModelException e) {
-			rawList = resolvedList = new IClasspathEntry[0];
-		}
-		updateBeaninfosList();
-	}
-	
-	private void updateBeaninfosList() {
-		List spelements = biPathsBlock.getSearchOrder().getElements();
-
-		List biElements = new ArrayList(spelements.size());
-		for (int i = 0; i < spelements.size(); i++) {
-			BPListElement spe = (BPListElement) spelements.get(i);
-			if (spe instanceof BPBeaninfoListElement) {
-				biElements.add(spe);
-			}
-		}
-		fBeaninfosList.setElements(biElements);
-	}	
-		
-	// -------- ui creation
-	
-	public Control getControl(Composite parent) {
-		PixelConverter converter= new PixelConverter(parent);
-		
-		Composite composite= new Composite(parent, SWT.NONE);
-			
-		LayoutUtil.doDefaultLayout(composite, new DialogField[] { fBeaninfosList }, true, SWT.DEFAULT, SWT.DEFAULT);
-		int buttonBarWidth= converter.convertWidthInCharsToPixels(24);
-		fBeaninfosList.setButtonsMinWidth(buttonBarWidth);
-		
-		fSWTControl = composite;
-				
-		return composite;
-	}
-	
-	private Shell getShell() {
-		if (fSWTControl != null) {
-			return fSWTControl.getShell();
-		}
-		return JEMUIPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow().getShell();
-	}
-	
-	
-	private class BeaninfosAdapter implements IDialogFieldListener, IListAdapter {
-		
-		// -------- IListAdapter --------
-		public void customButtonPressed(ListDialogField field, int index) {
-			beaninfosPageCustomButtonPressed(index);
-		}
-		
-		public void selectionChanged(ListDialogField field) {
-			ListDialogField list = (ListDialogField) field;
-			int selCnt = list.getSelectedElements().size();
-			list.enableButton(6, selCnt == 1);	// Only want the button enabled if one beaninfo is selected.
-			
-		}
-			
-		// ---------- IDialogFieldListener --------
-	
-		public void dialogFieldChanged(DialogField field) {
-			beaninfosPageDialogFieldChanged();
-		}
-		/**
-		 * @see org.eclipse.jdt.internal.ui.wizards.dialogfields.IListAdapter#doubleClicked(ListDialogField)
-		 */
-		public void doubleClicked(ListDialogField field) {
-		}
-
-	}
-	
-	private void beaninfosPageCustomButtonPressed(int index) {
-		List beaninfoEntries= null;
-		switch (index) {
-		case 0: /* add existing */
-			beaninfoEntries= chooseClassContainers();
-			break;
-		case 1: /* add jar */
-			beaninfoEntries= chooseJarFiles();
-			break;
-		case 2: /* add external jar */
-			beaninfoEntries= chooseExtJarFiles();
-			break;
-		case 3: /* add variable */
-			beaninfoEntries= chooseVariableEntries();
-			break;
-		case 4: /* add projects */
-			beaninfoEntries= chooseProjects();
-			break;
-		case 6: /* Modify search paths within beaninfos. */
-			modifySearchPaths();
-			return;
-		}
-		
-		if (beaninfoEntries != null) {
-			fBeaninfosList.addElements(beaninfoEntries);
-			fBeaninfosList.postSetSelection(new StructuredSelection(beaninfoEntries));
-		}
-	}
-	
-	private void modifySearchPaths() {
-		// Bring up the dialog for modifying search paths of a particular beaninfo entry.
-		BPBeaninfoListElement elem = (BPBeaninfoListElement) fBeaninfosList.getSelectedElements().get(0);	// There should only be one, button not enabled if none or more than one selected.
-		BeaninfoEntrySearchpathDialog dialog = new BeaninfoEntrySearchpathDialog(getShell(), elem, fCurrJProject);
-		dialog.open();
-	}
-	
-	private void beaninfosPageDialogFieldChanged() {
-		if (fCurrJProject != null) {
-			// already initialized
-			updateSearchpathList();
-		}
-	}			
-	
-	private void updateSearchpathList() {
-		List searchelements = biPathsBlock.getSearchOrder().getElements();
-
-		List beaninfoelements = fBeaninfosList.getElements();
-
-		boolean changeDone = false;
-		// First go through the search path and remove any Beaninfo list elements that
-		// are not in this pages beaninfos list.
-		for (ListIterator spitr = searchelements.listIterator(searchelements.size());
-			spitr.hasPrevious();
-			) {
-			BPListElement element = (BPListElement) spitr.previous();
-			if (element instanceof BPBeaninfoListElement && !beaninfoelements.remove(element)) {
-				// Search element and not found in packages list so remove it from searchpath list.
-				spitr.remove();
-				changeDone = true;
-			}
-		}
-		// Any left over in beaninfos list are new and need to be added.
-		searchelements.addAll(beaninfoelements);
-		changeDone = changeDone || !beaninfoelements.isEmpty();
-
-		if (changeDone)
-			biPathsBlock.setSearchOrderElements(searchelements);
-	}
-			
-			
-	private List chooseClassContainers() {	
-		Class[] acceptedClasses= new Class[] { IFolder.class };
-		ISelectionStatusValidator validator= new TypedElementSelectionValidator(acceptedClasses, true);
-			
-		acceptedClasses= new Class[] { IProject.class, IFolder.class };
-
-		ViewerFilter filter= new TypedViewerFilter(acceptedClasses, getUsedContainers());	
-			
-		ILabelProvider lp= new WorkbenchLabelProvider();
-		ITreeContentProvider cp= new WorkbenchContentProvider();
-
-		ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(getShell(), lp, cp);
-		dialog.setValidator(validator);
-		dialog.setTitle(BeanInfoUIMessages.getString("BeanInfosWorkbookPage.SelectionDialog.Classes.Title")); //$NON-NLS-1$
-		dialog.setMessage(BeanInfoUIMessages.getString("BeanInfosWorkbookPage.SelectionDialog.Classes.Prompt"));  //$NON-NLS-1$
-		dialog.addFilter(filter);
-		dialog.setInput(fWorkspaceRoot);
-		dialog.setInitialSelection(fCurrJProject.getProject());
-		
-		if (dialog.open() == Window.OK) {
-			Object[] elements= dialog.getResult();
-			List res= new ArrayList(elements.length);
-			for (int i= 0; i < elements.length; i++) {
-				BPBeaninfoListElement newGuy = newBPBeaninfoListElement((IResource) elements[i]);
-				if (newGuy != null)
-					res.add(newGuy);
-			}
-			return res;
-		}
-		return null;		
-	}
-	
-	private List chooseJarFiles() {
-		Class[] acceptedClasses= new Class[] { IFile.class };
-		ISelectionStatusValidator validator= new TypedElementSelectionValidator(acceptedClasses, true);
-		ViewerFilter filter= new ArchiveFileFilter(getUsedJARFiles(), true);
-		
-		ILabelProvider lp= new WorkbenchLabelProvider();
-		ITreeContentProvider cp= new WorkbenchContentProvider();
-
-		ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(getShell(), lp, cp);
-		dialog.setValidator(validator);
-		dialog.setTitle(BeanInfoUIMessages.getString("BeanInfosWorkbookPage.SelectionDialog.JARs.Title")); //$NON-NLS-1$
-		dialog.setMessage(BeanInfoUIMessages.getString("BeanInfosWorkbookPage.SelectionDialog.JARs.Message")); //$NON-NLS-1$
-		dialog.addFilter(filter);
-		dialog.setInput(fWorkspaceRoot);
-		dialog.setInitialSelection(fCurrJProject.getProject());		
-
-		if (dialog.open() == Window.OK) {
-			Object[] elements= dialog.getResult();
-			List res= new ArrayList(elements.length);
-			for (int i= 0; i < elements.length; i++) {
-				BPBeaninfoListElement newGuy = newBPBeaninfoListElement((IResource) elements[i]);
-				if (newGuy != null)
-					res.add(newGuy);
-			}
-			return res;
-		}
-		return null;
-	}
-	
-	private IContainer[] getUsedContainers() {
-		// Containers used by both the classpath and the beaninfo search path.
-		// Don't want containers used by classpath because those would then be
-		// in the buildpath and user would select paths through the search path page.
-		ArrayList res= new ArrayList();
-		try {
-			IPath outputLocation= fCurrJProject.getOutputLocation();
-			if (outputLocation != null) {
-				IResource resource= fWorkspaceRoot.findMember(outputLocation);
-				if (resource instanceof IContainer) {
-					res.add(resource);
-				}
-			}
-		} catch (JavaModelException e) {
-			// ignore it here, just log
-			JEMUIPlugin.getPlugin().getLogger().log(e.getStatus());
-		}
-			
-		for (int i= 0; i < resolvedList.length; i++) {
-			if (resolvedList[i] != null && resolvedList[i].getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-				IResource resource= fWorkspaceRoot.findMember(resolvedList[i].getPath());
-				if (resource instanceof IContainer) {
-					res.add(resource);
-				}
-			}
-		}
-
-		List bilist= fBeaninfosList.getElements();
-		for (int i= 0; i < bilist.size(); i++) {
-			BPListElement elem= (BPListElement)bilist.get(i);
-			if (elem.getEntry().getKind() == IClasspathEntry.CPE_SOURCE) {
-				IResource resource= fWorkspaceRoot.findMember(elem.getEntry().getPath());
-				res.add(resource);
-			}
-		}
-		return (IContainer[]) res.toArray(new IContainer[res.size()]);
-	}
-	
-	private IFile[] getUsedJARFiles() {
-		// Jars used by both the classpath and the beaninfo search path.
-		// Don't want jars used by classpath because those would then be
-		// in the buildpath and user would select paths through the search path page.
-		ArrayList res= new ArrayList();
-		for (int i= 0; i < resolvedList.length; i++) {
-			if (resolvedList[i] != null && resolvedList[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
-				IResource resource= fWorkspaceRoot.findMember(resolvedList[i].getPath());
-				if (resource instanceof IFile)
-					res.add(resource);
-			}
-		}
-
-		List bilist= fBeaninfosList.getElements();
-		for (int i= 0; i < bilist.size(); i++) {
-			BPListElement elem= (BPListElement)bilist.get(i);
-			if (elem.getEntry().getKind() == IClasspathEntry.CPE_LIBRARY) {
-				IResource resource= fWorkspaceRoot.findMember(elem.getEntry().getPath());
-				if (resource instanceof IFile)
-					res.add(resource);
-			}
-		}
-		return (IFile[]) res.toArray(new IFile[res.size()]);
-	}	
-	
-	/**
-	 * Create a new BPListElement for the given object.
-	 */
-	private BPBeaninfoListElement newBPBeaninfoListElement(IResource element) {
-		if (element instanceof IContainer || element instanceof IFile) {
-			IClasspathEntry cpe = JavaCore.newLibraryEntry(element.getFullPath(), null, null);
-			BeaninfoEntry bie = new BeaninfoEntry(cpe, null, true);
-			return new BPBeaninfoListElement(bie, null, false);
-		}
-		
-		return null;
-	}
-
-	
-	private List chooseExtJarFiles() {
-		String lastUsedPath= fDialogSettings.get(DIALOGSTORE_LASTEXTJAR);
-		if (lastUsedPath == null) {
-			lastUsedPath= ""; //$NON-NLS-1$
-		}
-		FileDialog dialog= new FileDialog(getShell(), SWT.MULTI);
-		dialog.setText(BeanInfoUIMessages.getString("BeanInfosWorkbookPage.SelectionDialog.ExtJARs.Text")); //$NON-NLS-1$
-		dialog.setFilterExtensions(new String[] {"*.jar;*.zip"}); //$NON-NLS-1$
-		dialog.setFilterPath(lastUsedPath);
-		String res= dialog.open();
-		if (res == null) {
-			return null;
-		}
-		String[] fileNames= dialog.getFileNames();
-		int nChosen= fileNames.length;
-			
-		IPath filterPath= new Path(dialog.getFilterPath());
-		List elems = new ArrayList(nChosen);
-		for (int i= 0; i < nChosen; i++) {
-			IPath path= filterPath.append(fileNames[i]).makeAbsolute();	
-			BPBeaninfoListElement newGuy = newBPBeaninfoListElement(path);
-			if (newGuy != null)
-				elems.add(newGuy);
-		}
-		fDialogSettings.put(DIALOGSTORE_LASTEXTJAR, filterPath.toOSString());
-		
-		return elems;
-	}
-	
-	private BPBeaninfoListElement newBPBeaninfoListElement(IPath path) {
-		// Create for an external, if not already used in either classpath or beaninfo path.
-		// These can't be pre-selected out like for the other choose dialogs.
-		for (int i = 0; i < resolvedList.length; i++) {
-			IClasspathEntry cpe = resolvedList[i];
-			if (cpe != null && cpe.getEntryKind() == IClasspathEntry.CPE_LIBRARY && cpe.getPath().equals(path))
-				return null;	// Already exists.
-		}
-		
-		// Now see if one of ours.
-		List ours = fBeaninfosList.getElements();
-		for (int i = 0; i < ours.size(); i++) {
-			BPBeaninfoListElement bpb = (BPBeaninfoListElement) ours.get(i);
-			if (bpb.getEntry().getKind() == IClasspathEntry.CPE_LIBRARY && bpb.getEntry().getPath().equals(path))
-				return null;	// Already exists
-		}
-		
-		IClasspathEntry cpe = JavaCore.newLibraryEntry(path, null, null);
-		BeaninfoEntry bie = new BeaninfoEntry(cpe, null, true);
-		return new BPBeaninfoListElement(bie, null, false);
-	}
-	
-	
-	private List chooseProjects() {	
-		Class[] acceptedClasses= new Class[] { IJavaProject.class };
-		ISelectionStatusValidator validator= new TypedElementSelectionValidator(acceptedClasses, true);
-
-		List allProjects = null;
-		try {
-			allProjects = new ArrayList(Arrays.asList(fCurrJProject.getJavaModel().getChildren()));
-		} catch(JavaModelException e) {
-			allProjects = Collections.EMPTY_LIST;
-		}
-		allProjects.removeAll(getUsedProjects());
-			
-		ILabelProvider lp= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
-
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), lp);
-		dialog.setValidator(validator);
-		dialog.setTitle(BeanInfoUIMessages.getString("BeanInfosWorkbookPage.SelectionDialog.Projects.Title")); //$NON-NLS-1$
-		dialog.setMessage(BeanInfoUIMessages.getString("BeanInfosWorkbookPage.SelectionDialog.Projects.Prompt")); //$NON-NLS-1$
-		dialog.setElements(allProjects.toArray());
-		
-		if (dialog.open() == Window.OK) {
-			Object[] elements= dialog.getResult();
-			List res= new ArrayList(elements.length);
-			for (int i= 0; i < elements.length; i++) {
-				try {
-					IClasspathEntry cpe = JavaCore.newProjectEntry(((IJavaProject) elements[i]).getCorrespondingResource().getFullPath());
-					BeaninfoEntry bie = new BeaninfoEntry(cpe, null, true);
-					res.add(new BPBeaninfoListElement(bie, null, false));
-				} catch(JavaModelException e) {
-				}
-			}
-			return res;
-		}
-		return null;		
-	}
-	
-	private List getUsedProjects() {
-		// Projects used by both the classpath and the beaninfo search path.
-		// Don't want projects used by classpath because those would then be
-		// in the buildpath and user would select paths through the search path page.
-		ArrayList res= new ArrayList();
-		res.add(fCurrJProject);	// Plus our own project is used.
-		IJavaModel jmodel = fCurrJProject.getJavaModel();
-		for (int i= 0; i < resolvedList.length; i++) {
-			if (resolvedList[i] != null && resolvedList[i].getEntryKind() == IClasspathEntry.CPE_PROJECT) {
-				res.add(jmodel.getJavaProject(resolvedList[i].getPath().segment(0)));
-			}
-		}
-
-		List bilist= fBeaninfosList.getElements();
-		for (int i= 0; i < bilist.size(); i++) {
-			BPListElement elem= (BPListElement)bilist.get(i);
-			if (elem.getEntry().getKind() == IClasspathEntry.CPE_PROJECT) 
-				res.add(jmodel.getJavaProject(elem.getEntry().getPath().segment(0)));			
-		}
-		return res;
-	}
-	
-	private List chooseVariableEntries() {
-		// Remove existing variable entries in both the classpath and the beaninfopaths.
-		// Don't want classpath ones because they should be of been selected in the search paths page.
-		ArrayList existingPaths= new ArrayList();
-		for (int i= 0; i < rawList.length; i++) {
-			if (rawList[i].getEntryKind() == IClasspathEntry.CPE_VARIABLE) {
-				existingPaths.add(rawList[i].getPath());
-			}
-		}
-		
-		List ours = fBeaninfosList.getElements();
-		for (int i = 0; i < ours.size(); i++) {
-			BPBeaninfoListElement bpb = (BPBeaninfoListElement) ours.get(i);
-			if (bpb.getEntry().getKind() == IClasspathEntry.CPE_VARIABLE)
-				existingPaths.add(bpb.getEntry().getPath());
-		}
-		
-		VariableSelectionDialog dialog= new VariableSelectionDialog(getShell(), existingPaths);
-		if (dialog.open() == Window.OK) {
-			IPath path= dialog.getVariable();
-			IClasspathEntry cpe = JavaCore.newVariableEntry(path, null, null);
-			IPath resolvedPath= JavaCore.getResolvedVariablePath(path);
-			boolean isMissing = resolvedPath == null || !resolvedPath.toFile().isFile();
-			return Collections.singletonList(new BPBeaninfoListElement(new BeaninfoEntry(cpe, null, true), null, isMissing));
-		}
-		return null;
-	}	
-	
-
-	// a dialog to choose a variable
-	private class VariableSelectionDialog extends StatusDialog implements IStatusChangeListener {	
-		private VariableSelectionBlock fVariableSelectionBlock;
-				
-		public VariableSelectionDialog(Shell parent, List existingPaths) {
-			super(parent);
-			setTitle(NewWizardMessages.getString("LibrariesWorkbookPage.VariableSelectionDialog.title")); //$NON-NLS-1$
-			String initVar= fDialogSettings.get(DIALOGSTORE_LASTVARIABLE);
-			fVariableSelectionBlock= new VariableSelectionBlock(this, existingPaths, null, initVar, false);
-		}
-		
-		/*
-		 * @see Windows#configureShell
-		 */
-		protected void configureShell(Shell newShell) {
-			super.configureShell(newShell);
-//			WorkbenchHelp.setHelp(newShell, IJavaHelpContextIds.VARIABLE_SELECTION_DIALOG);
-		}		
-
-		/*
-		 * @see StatusDialog#createDialogArea()
-		 */				
-		protected Control createDialogArea(Composite parent) {
-			Composite composite= (Composite)super.createDialogArea(parent);
-					
-			Label message= new Label(composite, SWT.WRAP);
-			message.setText(NewWizardMessages.getString("LibrariesWorkbookPage.VariableSelectionDialog.message")); //$NON-NLS-1$
-			message.setLayoutData(new GridData());	
-						
-			Control inner= fVariableSelectionBlock.createControl(composite);
-			inner.setLayoutData(new GridData(GridData.FILL_BOTH));
-			return composite;
-		}
-		
-		/*
-		 * @see Dialog#okPressed()
-		 */
-		protected void okPressed() {
-			fDialogSettings.put(DIALOGSTORE_LASTVARIABLE, getVariable().segment(0));
-			super.okPressed();
-		}	
-
-		/*
-		 * @see IStatusChangeListener#statusChanged()
-		 */			
-		public void statusChanged(IStatus status) {
-			updateStatus(status);
-		}
-		
-		public IPath getVariable() {
-			return fVariableSelectionBlock.getVariablePath();
-		}		
-	}
-				
-	// a dialog to set the source attachment properties
-	
-	/*
-	 * @see BuildPathBasePage#getSelection
-	 */
-	public List getSelection() {
-		return fBeaninfosList.getSelectedElements();
-	}
-
-	/*
-	 * @see BuildPathBasePage#setSelection
-	 */	
-	public void setSelection(List selElements) {
-		fBeaninfosList.selectElements(new StructuredSelection(selElements));
-	}	
-
-
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BuildSearchBasePage.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BuildSearchBasePage.java
deleted file mode 100644
index 3cbf1b0..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BuildSearchBasePage.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BuildSearchBasePage.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $ 
- */
-import java.util.List;
-
-public abstract class BuildSearchBasePage {
-	
-	public abstract List getSelection();
-	public abstract void setSelection(List selection);
-	
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackageOnlyContentProvider.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackageOnlyContentProvider.java
deleted file mode 100644
index 37d417b..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackageOnlyContentProvider.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: PackageOnlyContentProvider.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $ 
- */
-
-
-import org.eclipse.jdt.ui.StandardJavaElementContentProvider;
-
-import org.eclipse.jdt.core.IPackageFragment;
-import java.util.*;
-/**
- * A content provider which will only go down to the package level,
- * it won't explore further. The advantage of this is so that plus signs ('+')
- * won't show up on packages. The Filter technique could be used to not
- * show the children, but this still shows the plus sign.
- *
- * Also, if the element is a java.util.List, then that list will be returned
- * as the children. This allows for a root to be composed instead of being
- * one of the standard Java Elements.
- */
-
-public class PackageOnlyContentProvider extends StandardJavaElementContentProvider {
-	
-	/**
-	 * If the element is a list, return the iterator on it.
-	 * Else send it up the chain.
-	 */
-	public Object[] getChildren(Object element) {
-		if (element instanceof List)
-			return ((List) element).toArray();
-		return super.getChildren(element);
-	}
-	
-	/**
-	 * If the element is a list and it is not empty, it has children,
-	 * if it is a IPackageFragment it does not,
-	 * else send it up the chain.
-	 */
-	public boolean hasChildren(Object element) {
-		if (element instanceof List)
-			return !((List) element).isEmpty();
-		if (element instanceof IPackageFragment)
-			return false;
-		return super.hasChildren(element);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackagesWorkbookPage.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackagesWorkbookPage.java
deleted file mode 100644
index f920400..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackagesWorkbookPage.java
+++ /dev/null
@@ -1,441 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: PackagesWorkbookPage.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/08 00:48:07 $ 
- */
-
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.internal.ui.dialogs.StatusInfo;
-import org.eclipse.jdt.internal.ui.util.PixelConverter;
-import org.eclipse.jdt.internal.ui.wizards.TypedViewerFilter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.*;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.*;
-
-import org.eclipse.jem.internal.beaninfo.adapters.SearchpathEntry;
-import org.eclipse.jem.internal.ui.core.JEMUIPlugin;
-/**
- * Workbook page for selecting the packages from the current
- * project that are in the search path.
- * @version 	1.0
- * @author
- */
-public class PackagesWorkbookPage extends BuildSearchBasePage {
-
-	// Note: Not happy with how this works. It does a lot of manipulating of classpath to
-	// fragments and back and forth. But it works for now.
-
-	/**
-	 * Validator for this workbook page to verify the selections on Choose page.
-	 * @version 	1.0
-	 * @author
-	 */
-	public static class ChoosePackagesSelectionValidator implements ISelectionStatusValidator {
-
-		private IStatus fgErrorStatus = new StatusInfo(IStatus.ERROR, ""); //$NON-NLS-1$
-		private IStatus fgOKStatus = new StatusInfo();
-
-		public ChoosePackagesSelectionValidator() {
-		}
-
-		/*
-		 * @see ISelectionValidator#validate(Object)
-		 */
-		public IStatus validate(Object[] selection) {
-			if (isValid(selection)) {
-				return fgOKStatus;
-			}
-			return fgErrorStatus;
-		}
-
-		private boolean isValid(Object[] selection) {
-			if (selection.length == 0)
-				return false;
-
-			for (int i = 0; i < selection.length; i++) {
-				if (selection[i] instanceof IPackageFragment)
-					continue; // Fragments are always valid
-				return false;
-			}
-
-			return true;
-		}
-
-	}
-
-	private BeaninfoPathsBlock biPathsBlock;
-	private IJavaProject fCurrJProject;
-
-	private Control fSWTControl;
-
-	private ListDialogField fSearchPackagesList;
-
-	private IPackageFragmentRoot[][] rootsPerRawEntry;
-	private IClasspathEntry[] rawList;
-	
-	SearchPathListLabelProvider labelProvider;
-
-	public PackagesWorkbookPage(IWorkspaceRoot root, BeaninfoPathsBlock biPathsBlock, List interestedFieldsForEnableControl) {
-		this.biPathsBlock = biPathsBlock;
-
-		fSWTControl = null;
-
-		PackagesAdapter adapter = new PackagesAdapter();
-
-		String[] buttonLabels;
-
-		buttonLabels = new String[] {
-			/* 0 */
-			BeanInfoUIMessages.getString("PackagesWorkbook.ChoosePackages"), //$NON-NLS-1$
-			/* 1 */
-			BeanInfoUIMessages.getString("PackagesWorkbook.ChooseDefinedPaths"), //$NON-NLS-1$
-			/* 2 */
-			null,
-			/* 3 */
-			BeanInfoUIMessages.getString("PackagesWorkbook.Remove") }; //$NON-NLS-1$
-
-		labelProvider = new SearchPathListLabelProvider();
-		fSearchPackagesList = new ListDialogField(adapter, buttonLabels, labelProvider);
-		fSearchPackagesList.setDialogFieldListener(adapter);
-		fSearchPackagesList.setLabelText(BeanInfoUIMessages.getString("PackagesWorkbook.LabelText")); //$NON-NLS-1$
-		fSearchPackagesList.setRemoveButtonIndex(3);
-
-		fSearchPackagesList.setViewerSorter(new SPListElementSorter());
-		
-		interestedFieldsForEnableControl.add(fSearchPackagesList);
-	}
-
-	public void init(IJavaProject jproject) {
-		fCurrJProject = jproject;
-		labelProvider.setJavaProject(jproject);
-		try {
-			rawList = fCurrJProject.getRawClasspath();
-			rootsPerRawEntry = new IPackageFragmentRoot[rawList.length][];
-			for (int i = 0; i < rawList.length; i++) {
-				rootsPerRawEntry[i] = fCurrJProject.findPackageFragmentRoots(rawList[i]);
-			}		
-		} catch (JavaModelException e) {
-			rawList = new IClasspathEntry[0];
-			rootsPerRawEntry = new IPackageFragmentRoot[0][];
-		}
-		updatePackagesList();
-	}
-
-	private void updatePackagesList() {
-		List spelements = biPathsBlock.getSearchOrder().getElements();
-
-		List packageElements = new ArrayList(spelements.size());
-		for (int i = 0; i < spelements.size(); i++) {
-			BPListElement spe = (BPListElement) spelements.get(i);
-			if (spe instanceof BPSearchListElement) {
-				packageElements.add(spe);
-			}
-		}
-		fSearchPackagesList.setElements(packageElements);
-	}
-
-	public Control getControl(Composite parent) {
-		PixelConverter converter = new PixelConverter(parent);
-
-		Composite composite = new Composite(parent, SWT.NONE);
-
-		LayoutUtil.doDefaultLayout(
-			composite,
-			new DialogField[] { fSearchPackagesList },
-			true,
-			SWT.DEFAULT,
-			SWT.DEFAULT);
-
-		int buttonBarWidth = converter.convertWidthInCharsToPixels(24);
-		fSearchPackagesList.setButtonsMinWidth(buttonBarWidth);
-
-		fSWTControl = composite;
-
-		return composite;
-	}
-
-	private Shell getShell() {
-		if (fSWTControl != null) {
-			return fSWTControl.getShell();
-		}
-		return JEMUIPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow().getShell();
-	}
-
-	private class PackagesAdapter implements IListAdapter, IDialogFieldListener {
-
-		// -------- IListAdapter --------
-		public void customButtonPressed(ListDialogField field, int index) {
-			packagesPageCustomButtonPressed(field, index);
-		}
-
-		public void selectionChanged(ListDialogField field) {
-		}
-
-		// ---------- IDialogFieldListener --------
-		public void dialogFieldChanged(DialogField field) {
-			packagesPageDialogFieldChanged(field);
-		}
-		/**
-		 * @see org.eclipse.jdt.internal.ui.wizards.dialogfields.IListAdapter#doubleClicked(ListDialogField)
-		 */
-		public void doubleClicked(ListDialogField field) {
-		}
-
-	}
-
-	private void packagesPageCustomButtonPressed(DialogField field, int index) {
-		if (field == fSearchPackagesList) {
-			List elementsToAdd = null;
-			if (index == 0)
-				elementsToAdd = choosePackages();
-			else if (index == 1)
-				elementsToAdd = chooseDefined();
-
-			if (elementsToAdd != null && !elementsToAdd.isEmpty()) {
-				fSearchPackagesList.addElements(elementsToAdd);
-				fSearchPackagesList.postSetSelection(new StructuredSelection(elementsToAdd));
-			}
-		}
-	}
-
-	private void packagesPageDialogFieldChanged(DialogField field) {
-		if (fCurrJProject == null) {
-			// not initialized
-			return;
-		}
-
-		if (field == fSearchPackagesList) {
-			updateSearchpathList();
-		}
-	}
-
-	private void updateSearchpathList() {
-		List searchelements = biPathsBlock.getSearchOrder().getElements();
-
-		List packageelements = fSearchPackagesList.getElements();
-
-		boolean changeDone = false;
-		// First go through the search path and remove any SearchListElements that are
-		// not in the search packages list from this page.
-		for (ListIterator spitr = searchelements.listIterator(searchelements.size());
-			spitr.hasPrevious();
-			) {
-			BPListElement element = (BPListElement) spitr.previous();
-			if (element instanceof BPSearchListElement && !packageelements.remove(element)) {
-				// Search element and not found in packages list so remove it from searchpath list.
-				spitr.remove();
-				changeDone = true;
-			}
-		}
-		// Any left over in packages list are new and need to be added.
-		searchelements.addAll(packageelements);
-		changeDone = changeDone || !packageelements.isEmpty();
-
-		if (changeDone)
-			biPathsBlock.setSearchOrderElements(searchelements);
-	}
-	/*
-	 * @see BuildPathBasePage#getSelection
-	 */
-	public List getSelection() {
-		return fSearchPackagesList.getSelectedElements();
-	}
-
-	/*
-	 * @see BuildPathBasePage#setSelection
-	 */
-	public void setSelection(List selElements) {
-		fSearchPackagesList.selectElements(new StructuredSelection(selElements));
-	}
-
-	/**
-	 * Choose the packages that should be in the search path.
-	 */
-	private List choosePackages() {
-
-		ISelectionStatusValidator validator = new ChoosePackagesSelectionValidator();
-
-		// Show up to the package fragment, don't show any contents of it.
-		Class[] acceptedClasses =
-			new Class[] { IJavaProject.class, IPackageFragmentRoot.class, IPackageFragment.class };
-		Object[] rejectedFragments = getFilteredExistingEntries();
-
-		// Only show package fragments that have children (i.e. there classes in it, not interested
-		// in intermediate ones that have no classes defined in them. Those are filtered out.
-		TypedViewerFilter filter = new TypedViewerFilter(acceptedClasses, rejectedFragments) {
-			public boolean select(Viewer viewer, Object parentElement, Object element) {
-				if (super.select(viewer, parentElement, element)) {
-					if (element instanceof IPackageFragment) {
-						IPackageFragment pkg = (IPackageFragment) element;
-						try {
-							return pkg.hasChildren();
-						} catch (JavaModelException e) {
-						}
-						return false;
-					} else
-						return true;
-				}
-				return false;
-			}
-		};
-
-		ITreeContentProvider provider = new PackageOnlyContentProvider();
-
-		ILabelProvider labelProvider = new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
-		ElementTreeSelectionDialog dialog =
-			new ElementTreeSelectionDialog(getShell(), labelProvider, provider);
-		dialog.setTitle(BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_ADDSEARCHPATH_TITLE));
-
-		dialog.setValidator(validator);
-		dialog.setMessage(BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_ADDSEARCHPATH_DESC));
-		dialog.addFilter(filter);
-		dialog.setInput(fCurrJProject);
-
-		if (dialog.open() == Window.OK) {
-			Object[] elements = dialog.getResult();
-			List newElements = new ArrayList(elements.length);
-			for (int i = 0; i < elements.length; i++) {
-				BPListElement newGuy = newBPListElement(elements[i]);
-				if (newGuy != null)
-					newElements.add(newGuy);
-			}
-			return newElements;
-		}
-		return Collections.EMPTY_LIST;
-	}
-
-	/**
-	 * Return the list of entries that already are in the search path
-	 * so that they don't show up in the list.
-	 */
-	protected Object[] getFilteredExistingEntries() {
-		try {
-			IPackageFragmentRoot[] roots = fCurrJProject.getPackageFragmentRoots();
-			List entries = fSearchPackagesList.getElements();
-			List fragments = new ArrayList(entries.size());
-			Iterator itr = entries.iterator();
-			while (itr.hasNext()) {
-				BPListElement elem = (BPListElement) itr.next();
-				if (elem instanceof BPSearchListElement) {
-					BPSearchListElement bse = (BPSearchListElement) elem;
-					fragments.addAll(getPackages(bse, roots));
-				}
-			}
-			return fragments.toArray();
-		} catch (JavaModelException e) {
-		}
-		return new Object[0];
-	}
-	
-	
-	/**
-	 * Choose the pre-defined search paths that should be in the search path.
-	 */
-	private List chooseDefined() {
-
-		// Current pre-defined ones are only pre-reqed projects.
-		// The list of inputs will not contain any already in the path.
-		// We will create them here and if not selected they will thrown away.
-		// The assumption is that there are not very many and our SearchPathListLabelProvider does
-		// a good job of showing them. Otherwise we would need to come up with one that can show
-		// IJavaProjects when we get them.
-		List inputs = new ArrayList();
-		List currentList = fSearchPackagesList.getElements();
-		for (int i = 0; i < rawList.length; i++) {
-			if (rawList[i].getEntryKind() == IClasspathEntry.CPE_PROJECT) {
-				boolean exists = false;
-				for (int j = 0; j < currentList.size(); j++) {
-					BPSearchListElement bse = (BPSearchListElement) currentList.get(j);
-					if (bse.getEntry().getKind() == IClasspathEntry.CPE_PROJECT && rawList[i].getPath().equals(bse.getEntry().getPath())) {
-						exists = true;
-						break;
-					}
-				}
-				
-				if (!exists)
-					inputs.add(new BPSearchListElement(new SearchpathEntry(IClasspathEntry.CPE_PROJECT, rawList[i].getPath(), null), false, false, rawList[i].isExported()));
-			}
-		}
-		
-		ILabelProvider labelProvider1 = new SearchPathListLabelProvider(fCurrJProject);
-		ElementListSelectionDialog dialog =
-			new ElementListSelectionDialog(getShell(), labelProvider1);
-		dialog.setTitle(BeanInfoUIMessages.getString("PackagesWorkbook.SelectionDialog.DefinedPaths.Title")); //$NON-NLS-1$
-
-		dialog.setMessage(BeanInfoUIMessages.getString("PackagesWorkbook.SelectionDialog.DefinedPaths.Message")); //$NON-NLS-1$
-		dialog.setElements(inputs.toArray());
-
-		if (dialog.open() == Window.OK)
-			return Arrays.asList(dialog.getResult());
-		else
-			return Collections.EMPTY_LIST;
-	}
-
-	/**
-	 * Create a new BPListElement for the given object.
-	 */
-	protected BPListElement newBPListElement(Object element) {
-		SearchpathEntry se = null;
-		boolean isExported = false;
-		IPackageFragment frag = (IPackageFragment) element;
-		// Need to find corresponding raw class path entry.
-		IPackageFragmentRoot root = (IPackageFragmentRoot) frag.getParent(); // Get frag root.
-		for (int i = 0; i < rootsPerRawEntry.length; i++) {
-			for (int j = 0; j < rootsPerRawEntry[i].length; j++) {
-				if (rootsPerRawEntry[i][j].equals(root)) {
-					isExported = rawList[i].isExported() || rawList[i].getEntryKind() == IClasspathEntry.CPE_SOURCE;
-					se = new SearchpathEntry(rawList[i].getEntryKind(), rawList[i].getPath(), frag.getElementName());
-					break;
-				}
-			}
-		}
-
-		return new BPSearchListElement(se, false, false, isExported);
-	}
-	
-	/**
-	 * Find the package fragments for this package entry.
-	 */
-	protected List getPackages(BPSearchListElement element, IPackageFragmentRoot[] roots) {
-		String packageName = ((SearchpathEntry) element.getEntry()).getPackage();
-		if (packageName == null)
-			return Collections.EMPTY_LIST;
-
-		try {
-			List packages = new ArrayList(10);
-			for (int i = 0; i < roots.length; i++) {
-				IJavaElement[] pfs = roots[i].getChildren();
-				for (int j = 0; j < pfs.length; j++)
-					if (pfs[j].getElementType() == IJavaElement.PACKAGE_FRAGMENT
-						&& pfs[j].getElementName().equals(packageName)) {
-						packages.add(pfs[j]);
-						break;
-					}
-			}
-			return packages;
-		} catch (JavaModelException e) {
-		}
-		return Collections.EMPTY_LIST;
-	}
-	
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SPListElementSorter.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SPListElementSorter.java
deleted file mode 100644
index bb7bc4d..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SPListElementSorter.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: SPListElementSorter.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/08 00:48:07 $ 
- */
-
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-import org.eclipse.jem.internal.beaninfo.adapters.SearchpathEntry;
-
-/**
- * Sorter for sorting BPSearchListElements within the main list.
- * It is not to be used on elements within a specific beaninfo entry.
- * 
- * @version 	1.0
- * @author
- */
-public class SPListElementSorter extends ViewerSorter {
-	
-	/*
-	 * @see ViewerSorter#category(Object)
-	 */
-	public int category(Object obj) {
-		if (obj instanceof BPSearchListElement) {
-			BPSearchListElement element = (BPSearchListElement) obj;
-			
-			switch (((SearchpathEntry) element.getEntry()).getKind()) {
-			case IClasspathEntry.CPE_LIBRARY:
-				return 4;
-			case IClasspathEntry.CPE_PROJECT:
-				return 1;
-			case IClasspathEntry.CPE_SOURCE:
-				return 0;
-			case IClasspathEntry.CPE_VARIABLE:
-				return 3;
-			case IClasspathEntry.CPE_CONTAINER:
-				return 2;
-			}
-		}
-		return super.category(obj);
-	}
-
-	/*
-	 * @see ViewerSorter#compare()
-	 */	
-	public int compare(Viewer viewer, Object e1, Object e2) {
-		int cat1 = category(e1);
-		int cat2 = category(e2);
-	
-		if (cat1 != cat2)
-			return cat1 - cat2;
-			
-		if ((e1 instanceof BPSearchListElement) && (e2 instanceof BPSearchListElement)) {
-			SearchpathEntry p1 = (SearchpathEntry) ((BPSearchListElement) e1).getEntry();
-			SearchpathEntry p2 = (SearchpathEntry) ((BPSearchListElement) e2).getEntry();
-			
-			// Compare first within path, then packages within each path.
-			int c = p1.getPath().toString().compareTo(p2.getPath().toString());
-			if (c == 0) {
-				// Within same path, so now sort by package, if there are any.
-				String pkg1 = p1.getPackage();
-				String pkg2 = p2.getPackage();
-				if (pkg1 == null)
-					pkg1 = "";	// For null, use an empty string //$NON-NLS-1$
-				if (pkg2 == null)
-					pkg2 = ""; //$NON-NLS-1$
-				return pkg1.compareTo(pkg2);
-			} else
-				return c;	// Paths are not equal, so sort via path.
-		}
-		return super.compare(viewer, e1, e2);
-	}	
-
-
-
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchPathListLabelProvider.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchPathListLabelProvider.java
deleted file mode 100644
index ad37cc1..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchPathListLabelProvider.java
+++ /dev/null
@@ -1,384 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: SearchPathListLabelProvider.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/08 00:48:07 $ 
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.internal.ui.wizards.buildpaths.ArchiveFileFilter;
-import org.eclipse.jdt.ui.JavaElementImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.misc.OverlayComposite;
-
-import org.eclipse.jem.internal.beaninfo.adapters.*;
-import org.eclipse.jem.internal.ui.core.JEMUIPlugin;
-
-public class SearchPathListLabelProvider extends LabelProvider {
-
-	IWorkspaceRoot fRoot;
-	IJavaProject javaProject;
-
-	// Shared images
-	private Image fJarIcon, fExtJarIcon;
-	private Image fFolderImage, fProjectImage, fVariableImage, fLibraryImage;
-	private Image fMissingJarImage, fMissingVariableImage;
-	private Image fMissingFolderImage, fMissingProjectImage;
-	private Image fPackageImage;
-
-	// Local images, will be disposed.
-	private Image fPluginImage;
-	private Image fBeanImage;
-	private Image fMissingPackageImage;
-	private Image fBlankImage;
-	private Image fMissingLibraryImage;
-	private HashMap fBeanedImages = new HashMap(); // Key of image to a composite with a bean attached
-	private HashMap fPackagedImages = new HashMap();
-	private HashMap fMissingPackagedImages = new HashMap();
-	private HashMap fNormalImages = new HashMap();	// Need to composite normal images w/blank so that they are the same size as the composited ones.
-	// Key of image to a composite with a package attached
-
-	public SearchPathListLabelProvider() {
-		this(null);
-	}
-	
-	public SearchPathListLabelProvider(IJavaProject javaProject) {
-		this.javaProject = javaProject;
-		
-		fRoot = ResourcesPlugin.getWorkspace().getRoot();
-		ImageRegistry reg = JavaPlugin.getDefault().getImageRegistry();
-
-		fJarIcon = reg.get(JavaPluginImages.IMG_OBJS_JAR);
-		fExtJarIcon = reg.get(JavaPluginImages.IMG_OBJS_EXTJAR);
-		fFolderImage = reg.get(JavaPluginImages.IMG_OBJS_PACKFRAG_ROOT);
-
-		fVariableImage = reg.get(JavaPluginImages.IMG_OBJS_ENV_VAR);
-		
-		fLibraryImage = reg.get(JavaPluginImages.IMG_OBJS_LIBRARY);
-
-		IWorkbench workbench = JavaPlugin.getDefault().getWorkbench();
-		fProjectImage = workbench.getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT);
-
-		fMissingJarImage = reg.get(JavaPluginImages.IMG_OBJS_MISSING_JAR);
-		fMissingVariableImage = reg.get(JavaPluginImages.IMG_OBJS_MISSING_ENV_VAR);
-		fMissingFolderImage = reg.get(JavaPluginImages.IMG_OBJS_MISSING_PACKFRAG_ROOT);
-		fMissingProjectImage = workbench.getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT_CLOSED);
-
-		fPackageImage = reg.get(JavaPluginImages.IMG_OBJS_PACKAGE);
-
-		Rectangle r = fLibraryImage.getBounds();
-		Point s = new Point(r.width, r.height);
-		JavaElementImageDescriptor jed = new JavaElementImageDescriptor(reg.getDescriptor(JavaPluginImages.IMG_OBJS_LIBRARY),  JavaElementImageDescriptor.WARNING, s);
-		fMissingLibraryImage = jed.createImage();
-		try {
-			ImageDescriptor pin =
-				ImageDescriptor.createFromURL(
-					new URL(JEMUIPlugin.getPlugin().getDescriptor().getInstallURL(), "icons/plugin_obj.gif")); //$NON-NLS-1$
-			fPluginImage = pin.createImage();
-
-			pin =
-				ImageDescriptor.createFromURL(
-					new URL(JEMUIPlugin.getPlugin().getDescriptor().getInstallURL(), "icons/javabean.gif")); //$NON-NLS-1$
-			fBeanImage = pin.createImage();
-
-			pin =
-				ImageDescriptor.createFromURL(
-					new URL(
-							JEMUIPlugin.getPlugin().getDescriptor().getInstallURL(),
-						"icons/package_obj_missing.gif")); //$NON-NLS-1$
-			fMissingPackageImage = pin.createImage();
-			
-			pin =
-				ImageDescriptor.createFromURL(
-					new URL(
-							JEMUIPlugin.getPlugin().getDescriptor().getInstallURL(),
-						"icons/blank.gif")); //$NON-NLS-1$
-			fBlankImage = pin.createImage();			
-		} catch (MalformedURLException e) {
-			if (fPluginImage == null)
-				fPluginImage = ImageDescriptor.getMissingImageDescriptor().createImage();
-			if (fBeanImage == null)
-				fBeanImage = ImageDescriptor.getMissingImageDescriptor().createImage();
-			if (fMissingPackageImage == null)
-				fMissingPackageImage = ImageDescriptor.getMissingImageDescriptor().createImage();
-			if (fBlankImage == null)
-				fBlankImage = ImageDescriptor.getMissingImageDescriptor().createImage();
-		}
-
-	}
-
-	public void setJavaProject(IJavaProject javaProject) {
-		this.javaProject = javaProject;
-	}
-	
-	public String getText(Object element) {
-		if (element instanceof BPListElement) {
-			BPListElement bpentry = (BPListElement) element;
-			IBeaninfosDocEntry docEntry = (IBeaninfosDocEntry) bpentry.getEntry();
-			IPath path = docEntry.getPath();
-			String pathString = null;
-			switch (docEntry.getKind()) {
-				case IClasspathEntry.CPE_LIBRARY :
-					IResource resource = fRoot.findMember(path);
-					if (resource instanceof IFolder) {
-						pathString =
-							MessageFormat.format(BeanInfoUIMessages.getString("LabelProvider.Library.Folder"), new Object[] { path.makeRelative().toString()}); //$NON-NLS-1$
-					} else if (resource instanceof IFile) {
-						if (ArchiveFileFilter.isArchivePath(path)) {
-							// Internal library
-							String[] args =
-								new String[] { path.lastSegment(), path.removeLastSegments(1).makeRelative().toString()};
-							pathString = MessageFormat.format(BeanInfoUIMessages.getString("LabelProvider.Library.(PathLastSegment,PathRelative)"), args); //$NON-NLS-1$
-						}
-					} else {
-						if (ArchiveFileFilter.isArchivePath(path)) {
-							// External library
-							String[] args =
-								new String[] { path.lastSegment(), path.removeLastSegments(1).toString()};
-							pathString = MessageFormat.format(BeanInfoUIMessages.getString("LabelProvider.Library.(PathLastSegment,PathExceptLast)"), args); //$NON-NLS-1$
-						} else {
-							// should not come here
-							pathString = path.makeRelative().toString();
-						}
-					}
-					break;
-
-				case IClasspathEntry.CPE_VARIABLE :
-					String name = path.makeRelative().toString();
-					IPath entryPath = JavaCore.getClasspathVariable(path.segment(0));
-					if (entryPath != null)
-						pathString =
-							MessageFormat.format(
-								BeanInfoUIMessages.getString("LabelProvider.Variable.(name,PathOSString)"), //$NON-NLS-1$
-								new Object[] { name, entryPath.append(path.removeFirstSegments(1)).toOSString()});
-					else
-						pathString = name;
-					break;
-
-				case IClasspathEntry.CPE_CONTAINER:
-					try {
-						IClasspathContainer c = JavaCore.getClasspathContainer(path, javaProject);
-						if (c != null) {
-							pathString = c.getDescription();
-							break;
-						}
-					} catch (JavaModelException e) {
-					}
-					pathString = path.toString();
-					break;
-					
-				case IClasspathEntry.CPE_PROJECT :
-					pathString = path.toString();
-					break;
-
-				case IClasspathEntry.CPE_SOURCE :
-					pathString = path.makeRelative().toString();
-					break;
-
-				case BeaninfoEntry.BIE_PLUGIN :
-					pathString = path.toString();
-					break;
-				default :
-					// no path, so probably a search entry within a beaninfo entry.
-			}
-
-			if (docEntry instanceof SearchpathEntry) {
-				// There could be a package involved too if this is not a project or registered var entry
-				String packageName = ((SearchpathEntry) docEntry).getPackage();
-				if (packageName != null && packageName.length() > 0)
-					if (pathString != null)
-						return MessageFormat.format(BeanInfoUIMessages.getString("LabelProvider.(packageName,Path)"), new Object[] { packageName, pathString }); //$NON-NLS-1$
-					else
-						return packageName;
-			}
-
-			if (pathString != null)
-				return pathString;
-			else
-				return "?"; //$NON-NLS-1$
-		}
-		return super.getText(element);
-	}
-
-	public Image getImage(Object element) {
-		Image returnedImage = null;
-		boolean imageIsNormal = true;	// Whether this is a normal sized image (which will need compositing with blank)
-		if (element instanceof BPListElement) {
-			BPListElement bpentry = (BPListElement) element;
-			IBeaninfosDocEntry docEntry = (IBeaninfosDocEntry) bpentry.getEntry();
-			IPath path = docEntry.getPath();
-			Image pathImage = null;
-			switch (docEntry.getKind()) {
-				case IClasspathEntry.CPE_SOURCE :
-					if (!bpentry.isMissing())
-						pathImage = fFolderImage;
-					else
-						pathImage = fMissingFolderImage;
-					break;
-
-				case IClasspathEntry.CPE_LIBRARY :
-					if (!bpentry.isMissing()) {
-						IResource resource = fRoot.findMember(path);
-						if (resource instanceof IFolder)
-							pathImage = fFolderImage;
-						else if (resource instanceof IFile)
-							pathImage = fJarIcon;
-						else
-							pathImage = fExtJarIcon;
-					} else
-						pathImage = fMissingJarImage;
-					break;
-
-				case IClasspathEntry.CPE_PROJECT :
-					if (!bpentry.isMissing())
-						pathImage = fProjectImage;
-					else
-						pathImage = fMissingProjectImage;
-					break;
-
-				case IClasspathEntry.CPE_VARIABLE :
-					if (!bpentry.isMissing())
-						pathImage = fVariableImage;
-					else
-						pathImage = fMissingVariableImage;
-					break;
-
-				case IClasspathEntry.CPE_CONTAINER:
-					if (!bpentry.isMissing())
-						pathImage = fLibraryImage;
-					else
-						pathImage = fMissingLibraryImage;
-					break;				
-					
-				case BeaninfoEntry.BIE_PLUGIN:
-					pathImage = fPluginImage;
-					break;
-					
-				default :
-					// probably a searchentry under beaninfo entry, no path icon to decorate.
-					break;
-			}
-
-			if (bpentry instanceof BPSearchListElement) {
-				SearchpathEntry se = (SearchpathEntry) docEntry;
-				BPSearchListElement bpse = (BPSearchListElement) bpentry;
-				if (se.getPackage() != null) {
-					if (pathImage != null) {
-						if (!bpse.isPackageMissing()) {
-							// Need to decorate with a package symbol.
-							imageIsNormal = false;
-							returnedImage = (Image) fPackagedImages.get(pathImage); // See if we've already created the image
-							if (returnedImage == null) {
-								OverlayComposite oc = new OverlayComposite(pathImage.getImageData());
-								oc.setRightExtension(fPackageImage.getImageData());
-								returnedImage = oc.createImage();
-								fPackagedImages.put(pathImage, returnedImage);
-							}
-						} else {
-							// Need to decorate with a missing package symbol.
-							imageIsNormal = false;
-							returnedImage = (Image) fMissingPackagedImages.get(pathImage); // See if we've already created the image
-							if (returnedImage == null) {
-								OverlayComposite oc = new OverlayComposite(pathImage.getImageData());
-								oc.setRightExtension(fMissingPackageImage.getImageData());
-								returnedImage = oc.createImage();
-								fMissingPackagedImages.put(pathImage, returnedImage);
-							}
-						}
-					}
-				}
-					
-				if (pathImage == null && returnedImage == null)
-					if (!bpse.isPackageMissing())
-						returnedImage = fPackageImage; // Just a package image
-					else
-						returnedImage = fMissingPackageImage;	// Just the missing package image.
-				else if (returnedImage == null)
-					returnedImage = pathImage;
-			} else {
-				if (pathImage != null) {
-					// It is a beaninfo entry, need to decorate with the bean.
-					imageIsNormal = false;
-					returnedImage = (Image) fBeanedImages.get(pathImage); // See if we've already created the image
-					if (returnedImage == null) {
-						OverlayComposite oc = new OverlayComposite(pathImage.getImageData());
-						oc.setRightExtension(fBeanImage.getImageData());
-						returnedImage = oc.createImage();
-						fBeanedImages.put(pathImage, returnedImage);
-					}
-				}
-				if (returnedImage == null)
-					returnedImage = fBeanImage; // Shouldn't occur.
-			}
-		}
-		
-		if (imageIsNormal && returnedImage != null) {
-			// We need to composite it with blank so that the result will be the same size
-			// as composited images. If this isn't done, the viewer will stretch the image
-			// to match the same size as the composited images and things will look aweful.
-			Image newReturned = (Image) fNormalImages.get(returnedImage);
-			if (newReturned == null) {
-				OverlayComposite oc = new OverlayComposite(returnedImage.getImageData());
-				oc.setRightExtension(fBlankImage.getImageData());
-				newReturned = oc.createImage();
-				fNormalImages.put(returnedImage, newReturned);
-			}
-			returnedImage = newReturned;
-		}
-		return returnedImage;
-	}
-
-	/*
-	 * @see IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-
-		fPluginImage.dispose();
-		fBeanImage.dispose();
-		fMissingPackageImage.dispose();
-		fBlankImage.dispose();
-		fMissingLibraryImage.dispose();
-		for (Iterator itr = fBeanedImages.values().iterator(); itr.hasNext();) {
-			((Image) itr.next()).dispose();
-		}
-		for (Iterator itr = fPackagedImages.values().iterator(); itr.hasNext();) {
-			((Image) itr.next()).dispose();
-		}
-		for (Iterator itr = fMissingPackagedImages.values().iterator(); itr.hasNext();) {
-			((Image) itr.next()).dispose();
-		}
-		for (Iterator itr = fNormalImages.values().iterator(); itr.hasNext();) {
-			((Image) itr.next()).dispose();
-		}		
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchpathOrderingWorkbookPage.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchpathOrderingWorkbookPage.java
deleted file mode 100644
index 3ac872f..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchpathOrderingWorkbookPage.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: SearchpathOrderingWorkbookPage.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $ 
- */
-
-import java.util.List;
-
-import org.eclipse.jdt.internal.ui.util.PixelConverter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.DialogField;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.LayoutUtil;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.ListDialogField;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * @version 	1.0
- * @author
- */
-public class SearchpathOrderingWorkbookPage extends BuildSearchBasePage {
-	
-	private ListDialogField fSearchPathList;
-	
-	public SearchpathOrderingWorkbookPage(ListDialogField searchPathList, List interestedFieldsForEnableControl) {
-		fSearchPathList= searchPathList;
-		interestedFieldsForEnableControl.add(fSearchPathList);
-	}
-	
-	public Control getControl(Composite parent) {
-		PixelConverter converter= new PixelConverter(parent);
-		
-		Composite composite= new Composite(parent, SWT.NONE);
-		
-		LayoutUtil.doDefaultLayout(composite, new DialogField[] { fSearchPathList }, true, SWT.DEFAULT, SWT.DEFAULT);
-
-		int buttonBarWidth= converter.convertWidthInCharsToPixels(24);
-		fSearchPathList.setButtonsMinWidth(buttonBarWidth);
-					
-		return composite;
-	}
-	
-	/*
-	 * @see BuildPathBasePage#getSelection
-	 */
-	public List getSelection() {
-		return fSearchPathList.getSelectedElements();
-	}
-
-	/*
-	 * @see BuildPathBasePage#setSelection
-	 */	
-	public void setSelection(List selElements) {
-		fSearchPathList.selectElements(new StructuredSelection(selElements));
-	}		
-
-}
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/VariableSelectionBlock.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/VariableSelectionBlock.java
deleted file mode 100644
index 298c1f4..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/VariableSelectionBlock.java
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/messages.properties b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/messages.properties
deleted file mode 100644
index ceed993..0000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/messages.properties
+++ /dev/null
@@ -1,108 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/Attic/messages.properties,v $
-# $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $
-#
-
-
-SearchPathDialog.ChoosePackages                         = &Choose Packages
-SearchPathDialog.Remove                                 = &Remove
-SearchPathDialog.Desc.Label                             = &Modify search path of packages within this BeanInfo classes JAR/folder
-SearchPathDialog.ModifySearchPaths                      = Modify Search Paths - {0}
-SearchPathDialog.NotEditable_INFO_                      = IWAV0075I Plugin type BeanInfo classes locations are not editable
-SearchPathDialog.PackagePresent_INFO_                   = IWAV0076I Package already in the search path
-SearchPathDialog.InputDialog.Title                      = Package
-SearchPathDialog.InputDialog.Message                    = &Enter a package:
-BeanInfoPathsBlock.ExportAll                            = E&xport all
-BeanInfoPathsBlock.UnexportAll                          = U&nexport all
-BeanInfoPathsBlock.Page.Tab.Packages                    = &Packages
-BeanInfoPathsBlock.Page.Tab.Classes                     = &BeanInfo classes
-BeanInfosWorkbookPage.AddFolders                        = &Add Folders
-BeanInfosWorkbookPage.AddJARs                           = Add &JARs
-BeanInfosWorkbookPage.AddExternalJAR                    = Add E&xternal JARs
-BeanInfosWorkbookPage.AddVariable                       = Add &Variable
-BeanInfosWorkbookPage.AddProjects                       = Add Projec&ts
-BeanInfosWorkbookPage.ModifyPaths                       = &Modify Paths
-BeanInfosWorkbookPage.Remove                            = &Remove
-BeanInfosWorkbookPage.List.Text                         = &Choose locations of BeanInfo classes (BeanInfo classes locations not in current project)
-BeanInfosWorkbookPage.SelectionDialog.Classes.Title     = BeanInfo Class Folders Selection
-BeanInfosWorkbookPage.SelectionDialog.JARs.Title        = JAR Selection
-BeanInfosWorkbookPage.SelectionDialog.JARs.Message      = &Choose JARs to be added as BeanInfo classes JARs
-BeanInfosWorkbookPage.SelectionDialog.ExtJARs.Text      = JAR Selection
-BeanInfosWorkbookPage.SelectionDialog.Projects.Title    = BeanInfo Projects Selection
-BeanInfosWorkbookPage.SelectionDialog.Classes.Prompt    = &Choose folders to be added as BeanInfo classes folders.
-BeanInfosWorkbookPage.SelectionDialog.Projects.Prompt   = &Choose projects to be added as BeanInfo projects.
-PackagesWorkbook.ChoosePackages                         = &Choose packages
-PackagesWorkbook.ChooseDefinedPaths                     = Choose &defined paths
-PackagesWorkbook.Remove                                 = &Remove
-PackagesWorkbook.LabelText                              = Choose BeanInfo &packages from the class path
-PackagesWorkbook.SelectionDialog.DefinedPaths.Title     = Choose Defined Paths
-PackagesWorkbook.SelectionDialog.DefinedPaths.Message   = Choose the pre-defined paths to add to the search path
-LabelProvider.Library.Folder                            = {0} (class folder)
-LabelProvider.Library.(PathLastSegment,PathRelative)    = {0} - {1}
-LabelProvider.Library.(PathLastSegment,PathExceptLast)  = {0} - {1}
-LabelProvider.Variable.(name,PathOSString)              = {0} - {1}
-LabelProvider.(packageName,Path)                        = {0}: {1}
-
-VariableSelectionBlock.variable.label                   = &Variable Name:
-VariableSelectionBlock.variable.button                  = &Browse...
-VariableSelectionBlock.extension.label                  = Path E&xtension:
-VariableSelectionBlock.extension.button                 = Bro&wse...
-VariableSelectionBlock.fullpath.label                   = Resolved Path:
-
-VariableSelectionBlock.error.entername_ERROR_           = IWAV0077E Variable name must be entered.
-VariableSelectionBlock.error.namenotexists_ERROR_       = IWAV0078E Variable does not exist.
-VariableSelectionBlock.error.pathexists_ERROR_          = IWAV0079E Class path entry already exists.
-VariableSelectionBlock.error.invalidextension_ERROR_    = IWAV0080E Extension is not a valid path.
-
-VariableSelectionBlock.warning.pathnotexists_WARN_      = IWAV0081W Resolved path is not an existing JAR file.
-
-VariableSelectionBlock.ExtJarDialog.title               = JAR Selection
-
-
-
-
-#
-# Properties for the com.ibm.etools.beaninfo.ui plugin
-#
-
-# This shows up as the title of a message dialog
-Beaninfo_UI_.errortitle                                 = Error
-
-Beaninfo_UI_.error                                      = Error while setting BeanInfo configuration.
-
-BeaninfoPropertiesPage_INFO_.nojavaproject              = IWAV0019I BeanInfo is only applicable to Java projects.
-BeaninfoPropertiesPage_INFO_.closedproject              = IWAV0020I BeanInfo is not available for a closed project.
-
-# This is a checkbox on a preference page. The label is to indicate whether introspection is enabled to run or not.
-BeaninfoPathsBlock_UI_.enablebeaninfo                   = &Enable BeanInfo Introspection on this Project
-
-# This is a header line for a page of preferences.
-BeaninfoPathsBlock_UI_.searchpath.label                 = Build BeanInfo &search path order and exported entries:\n(Exported entries are contributed to dependent projects)
-BeaninfoPathsBlock_UI_.searchpath.up.button             = &Up
-BeaninfoPathsBlock_UI_.searchpath.down.button           = &Down
-BeaninfoPathsBlock_UI_.searchpath.remove.button         = &Remove
-BeaninfoPathsBlock_UI_.serachpath.tab.order             = &Order and Export
-
-BeaninfoPathsBlock_UI_.warning.EntryMissing             = Project class path entries, or BeanInfo class files are missing.
-
-# {0} will be the package name, e.g. java.lang
-BeaninfoPathsBlock_WARN_.searchpath.missing.path.format = IWAV0021W {0} - Package path not found.
-
-# This is a message on a progress dialog.
-BeaninfoPathsBlock_UI_.searchpath.operationdescription  = Setting BeanInfo search paths...
-
-BeaninfoPathsBlock_UI_.addsearchpath.title              = Select Packages
-BeaninfoPathsBlock_UI_.addsearchpath.description        = &Select packages to add to search path:
-
-BeaninfoPathsBlock_UI_.warning.EntryMissing             = Project class path entries, or BeanInfo class files are missing.
-BeaninfoPathsBlock_UI_.searchpath.add.button            = Add Package...
diff --git a/plugins/org.eclipse.jem.ui/build.properties b/plugins/org.eclipse.jem.ui/build.properties
deleted file mode 100644
index 18a4094..0000000
--- a/plugins/org.eclipse.jem.ui/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-bin.includes = plugin.xml,\
-               ui.jar,\
-               plugin.properties,\
-               icons/,\
-               about.html,\
-               .options
-src.includes = about.html
-output.ui.jar = bin/
-source.ui.jar = ui/,\
-                beaninfoui/
diff --git a/plugins/org.eclipse.jem.ui/icons/blank.gif b/plugins/org.eclipse.jem.ui/icons/blank.gif
deleted file mode 100644
index 21f9d02..0000000
--- a/plugins/org.eclipse.jem.ui/icons/blank.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.ui/icons/full/ctool16/run_exc.gif b/plugins/org.eclipse.jem.ui/icons/full/ctool16/run_exc.gif
deleted file mode 100644
index 8174dad..0000000
--- a/plugins/org.eclipse.jem.ui/icons/full/ctool16/run_exc.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.ui/icons/full/wizban/run_wiz.gif b/plugins/org.eclipse.jem.ui/icons/full/wizban/run_wiz.gif
deleted file mode 100644
index af6a02e..0000000
--- a/plugins/org.eclipse.jem.ui/icons/full/wizban/run_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.ui/icons/javabean.gif b/plugins/org.eclipse.jem.ui/icons/javabean.gif
deleted file mode 100644
index c91c816..0000000
--- a/plugins/org.eclipse.jem.ui/icons/javabean.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.ui/icons/package_obj_missing.gif b/plugins/org.eclipse.jem.ui/icons/package_obj_missing.gif
deleted file mode 100644
index cc9e243..0000000
--- a/plugins/org.eclipse.jem.ui/icons/package_obj_missing.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.ui/icons/plugin_obj.gif b/plugins/org.eclipse.jem.ui/icons/plugin_obj.gif
deleted file mode 100644
index 4e7b23d..0000000
--- a/plugins/org.eclipse.jem.ui/icons/plugin_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.ui/plugin.properties b/plugins/org.eclipse.jem.ui/plugin.properties
deleted file mode 100644
index 9a54460..0000000
--- a/plugins/org.eclipse.jem.ui/plugin.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.ui/Attic/plugin.properties,v $
-# $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $
-#
-
-
-pluginName=Java EMF Model UI
-providerName = Eclipse.org
-
-proxyLaunchGroup.label=Proxy
-
-ActionSet.proxyTools=Proxy Tools
-ActionSet.proxyTools.Description=Actions for working with Proxy and Proxy Launchers.
-Action.proxyLaunch=Proxy...
-Action.proxyLaunchTip=Proxy Launch Manager
-Action.selectDefault=Select Default Proxy Configuration...
-Action.selectDefaultTip=Select default for {0}.
-Menu.run=&Run
-
-Editors.OverrideEditor = Override Editor
-
-# This is the title of the Properties page for setting properties of BeanInfo paths.
-BeaninfoPath_Title_UI_ = BeanInfo Path
diff --git a/plugins/org.eclipse.jem.ui/plugin.xml b/plugins/org.eclipse.jem.ui/plugin.xml
deleted file mode 100644
index e6f57e9..0000000
--- a/plugins/org.eclipse.jem.ui/plugin.xml
+++ /dev/null
@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.jem.ui"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.jem.internal.ui.core.JEMUIPlugin">
-
-   <runtime>
-      <library name="ui.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.jdt.ui"/>
-      <import plugin="org.eclipse.jem.beaninfo"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.debug.ui"/>
-      <import plugin="org.eclipse.debug.core"/>
-      <import plugin="org.eclipse.jem.proxy"/>
-      <import plugin="org.eclipse.jdt.launching"/>
-      <import plugin="org.eclipse.jdt.debug.ui"/>
-      <import plugin="com.ibm.wtp.common.util"/>
-      <import plugin="org.eclipse.jem.workbench"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.debug.ui.launchGroups">
-      <launchGroup
-            label="%proxyLaunchGroup.label"
-            bannerImage="icons/full/wizban/run_wiz.gif"
-            category="org.eclipse.jem.proxy"
-            image="icons/full/ctool16/run_exc.gif"
-            mode="run"
-            id="org.eclipse.jem.proxy">
-      </launchGroup>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-      <launchConfigurationTypeImage
-            icon="icons/full/ctool16/run_exc.gif"
-            configTypeID="org.eclipse.jem.proxy.LocalProxyLaunchConfigurationType"
-            id="org.eclipse.jem.proxy.launchConfigurationTypeImage.localProxy">
-      </launchConfigurationTypeImage>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-      <launchConfigurationTabGroup
-            type="org.eclipse.jem.proxy.LocalProxyLaunchConfigurationType"
-            class="org.eclipse.jem.internal.ui.proxy.remote.LocalLaunchTabGroup"
-            id="org.eclipse.jem.ui.remote.LocalLaunchTabGroup1">
-      </launchConfigurationTabGroup>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%ActionSet.proxyTools"
-            description="%ActionSet.proxyTools.Description"
-            id="org.eclipse.jem.ui.ProxyToolsSet">
-         <menu
-               label="%Menu.run"
-               path="additions"
-               id="org.eclipse.ui.run">
-         </menu>
-         <action
-               label="%Action.proxyLaunch"
-               pulldown="true"
-               icon="icons/full/ctool16/run_exc.gif"
-               tooltip="%Action.proxyLaunchTip"
-               class="org.eclipse.jem.internal.ui.proxy.ProxyLaunchToolbarDelegate"
-               toolbarPath="org.eclipse.debug.ui.launchActionSet/proxyLaunch"
-               id="org.eclipse.jem.ui.proxy.ProxyLaunchToolbarDelegateAction">
-         </action>
-         <action
-               label="%Action.selectDefault"
-               class="org.eclipse.jem.internal.ui.proxy.SelectDefaultConfigurationActionDelegate"
-               menubarPath="org.eclipse.ui.run/"
-               enablesFor="1"
-               id="org.eclipse.jem.ui.proxy.SelectDefaultMenuDelegateAction">
-            <enablement>
-               <or>
-                  <objectClass
-                        name="org.eclipse.core.resources.IProject">
-                  </objectClass>
-                  <objectClass
-                        name="org.eclipse.jdt.core.IJavaProject">
-                  </objectClass>
-               </or>
-            </enablement>
-         </action>
-         <action
-               label="%Action.proxyLaunch"
-               icon="icons/full/ctool16/run_exc.gif"
-               tooltip="%Action.proxyLaunchTip"
-               class="org.eclipse.jem.internal.ui.proxy.ProxyLaunchMenuDelegate"
-               menubarPath="org.eclipse.ui.run/"
-               id="org.eclipse.jem.ui.proxy.ProxyLaunchMenuDelegateAction">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            adaptable="true"
-            objectClass="org.eclipse.core.resources.IProject"
-            id="org.eclipse.jem.ui.select.default.objectcontibution">
-         <action
-               label="%Action.selectDefault"
-               class="org.eclipse.jem.internal.ui.proxy.SelectDefaultConfigurationActionDelegate"
-               enablesFor="1"
-               id="org.eclipse.jem.ui.select.object.action">
-         </action>
-         <visibility>
-            <objectState
-                  name="persistentProperty"
-                  value="org.eclipse.jem.proxy.proxyLaunchConfiguration">
-            </objectState>
-         </visibility>
-      </objectContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            objectClass="org.eclipse.core.resources.IProject"
-            name="%BeaninfoPath_Title_UI_"
-            class="org.eclipse.jem.internal.beaninfo.ui.BeaninfosPropertyPage"
-            id="BeaninfoPropertiesPage">
-         <filter
-               name="nature"
-               value="org.eclipse.jdt.core.javanature">
-         </filter>
-      </page>
-      <page
-            objectClass="org.eclipse.jdt.core.IJavaProject"
-            name="%BeaninfoPath_Title_UI_"
-            class="org.eclipse.jem.internal.beaninfo.ui.BeaninfosPropertyPage"
-            id="BeaninfoPropertiesPage">
-         <filter
-               name="nature"
-               value="org.eclipse.jdt.core.javanature">
-         </filter>
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%Editors.OverrideEditor"
-            extensions="override"
-            icon="icons/full/obj16/file_obj.gif"
-            class="org.eclipse.ui.editors.text.TextEditor"
-            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
-            id="org.eclipse.jem.beaninfo.OverrideEditor">
-      </editor>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/core/JEMUIPlugin.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/core/JEMUIPlugin.java
deleted file mode 100644
index 4e6e687..0000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/core/JEMUIPlugin.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: JEMUIPlugin.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $ 
- */
-package org.eclipse.jem.internal.ui.core;
-
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-import com.ibm.wtp.common.logger.proxy.Logger;
-import com.ibm.wtp.logger.proxyrender.EclipseLogger;
- 
-/**
- * 
- * @since 1.0.0
- */
-public class JEMUIPlugin extends AbstractUIPlugin {
-
-	private static JEMUIPlugin PLUGIN;
-	public static final String PI_BEANINFO_UI = "org.eclipse.jem.internal.beaninfo.ui";	// Key for dialog settings.	 //$NON-NLS-1$
-	
-	/**
-	 * @param descriptor
-	 * 
-	 * @since 1.0.0
-	 */
-	public JEMUIPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		PLUGIN = this;
-	}
-	
-	/**
-	 * Return the plugin.
-	 * 
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static JEMUIPlugin getPlugin() {
-		return PLUGIN;
-	}
-	
-	private Logger logger;
-	public Logger getLogger() {
-		if (logger == null)
-			logger = EclipseLogger.getEclipseLogger(this);
-		return logger;
-	}	
-
-}
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyLaunchMenuDelegate.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyLaunchMenuDelegate.java
deleted file mode 100644
index 5e7675a..0000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyLaunchMenuDelegate.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: ProxyLaunchMenuDelegate.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $ 
- */
-package org.eclipse.jem.internal.ui.proxy;
-
-import org.eclipse.debug.ui.actions.OpenLaunchDialogAction;
-
-import org.eclipse.jem.internal.proxy.core.IProxyConstants;
- 
-/**
- * Menu delegate to launch the Proxy Launch Manager.
- * @since 1.0.0
- */
-public class ProxyLaunchMenuDelegate extends OpenLaunchDialogAction {
-	
-	public ProxyLaunchMenuDelegate() {
-		super(IProxyConstants.ID_PROXY_LAUNCH_GROUP);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyLaunchToolbarDelegate.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyLaunchToolbarDelegate.java
deleted file mode 100644
index 454620d..0000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyLaunchToolbarDelegate.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: ProxyLaunchToolbarDelegate.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $ 
- */
-package org.eclipse.jem.internal.ui.proxy;
-
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2;
-
-import org.eclipse.jem.internal.ui.core.JEMUIPlugin;
- 
-/**
- * The toolbar delegate for proxy launch.
- * @since 1.0.0
- */
-public class ProxyLaunchToolbarDelegate implements IWorkbenchWindowPulldownDelegate2 {
-
-	private Menu menu;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowPulldownDelegate2#getMenu(org.eclipse.swt.widgets.Menu)
-	 */
-	public Menu getMenu(Menu parent) {
-		setMenu(new Menu(parent));
-		fillMenu(menu);
-		return menu;
-	}
-	
-	private void setMenu(Menu menu) {
-		if (this.menu != null) {
-			this.menu.dispose();
-		}
-		this.menu = menu;
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowPulldownDelegate#getMenu(org.eclipse.swt.widgets.Control)
-	 */
-	public Menu getMenu(Control parent) {
-		setMenu(new Menu(parent));
-		fillMenu(menu);
-		return menu;
-	}
-	
-	private void fillMenu(Menu menu) {
-		addToMenu(menu, proxyLaunchDelegate, -1);	
-		addToMenu(menu, selectDelegate, -1);
-	}
-	
-	/**
-	 * Adds the given action to the specified menu with an accelerator specified
-	 * by the given number.
-	 * 
-	 * @param menu the menu to add the action to
-	 * @param action the action to add
-	 * @param accelerator the number that should appear as an accelerator
-	 */
-	protected void addToMenu(Menu menu, IAction action, int accelerator) {
-		StringBuffer label= new StringBuffer();
-		if (accelerator >= 0 && accelerator < 10) {
-			//add the numerical accelerator
-			label.append('&');
-			label.append(accelerator);
-			label.append(' ');
-		}
-		label.append(action.getText());
-		action.setText(label.toString());
-		ActionContributionItem item= new ActionContributionItem(action);
-		item.fill(menu, -1);
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		setMenu(null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		selectDelegate.init(window);
-	}
-
-	protected SelectDefaultConfigurationActionDelegate selectDelegate = new SelectDefaultConfigurationActionDelegate();
-	protected ProxyLaunchMenuDelegate proxyLaunchDelegate = new ProxyLaunchMenuDelegate();
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		if (selectDelegate.isEnabled())
-			selectDelegate.run(action);
-		else
-			proxyLaunchDelegate.run(action);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		selectDelegate.selectionChanged(null, selection);
-		if (selectDelegate.isEnabled())
-			action.setToolTipText(selectDelegate.getToolTipText());
-		else
-			action.setToolTipText(JEMUIPlugin.getPlugin().getDescriptor().getResourceString("%Action.proxyLaunchTip"));
-			
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyUIMessages.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyUIMessages.java
deleted file mode 100644
index bf1d289..0000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/ProxyUIMessages.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: ProxyUIMessages.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $ 
- */
-package org.eclipse.jem.internal.ui.proxy;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
- 
-/**
- * Message for Proxy Remote UI
- * 
- * @since 1.0.0
- */
-public class ProxyUIMessages {
-
-	private static final String BUNDLE_NAME =
-		"org.eclipse.jem.internal.ui.proxy.messages";	//$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ProxyUIMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/SelectDefaultConfigurationActionDelegate.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/SelectDefaultConfigurationActionDelegate.java
deleted file mode 100644
index 0c7994d..0000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/SelectDefaultConfigurationActionDelegate.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: SelectDefaultConfigurationActionDelegate.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $ 
- */
-package org.eclipse.jem.internal.ui.proxy;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.*;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.dialogs.CheckedTreeSelectionDialog;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.ProxyLaunchSupport;
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-import org.eclipse.jem.internal.ui.core.JEMUIPlugin;
- 
-/**
- * 
- * @since 1.0.0
- */
-public class SelectDefaultConfigurationActionDelegate extends Action implements IWorkbenchWindowActionDelegate, IObjectActionDelegate {
-	
-
-	/**
-	 * Helper to get single selected java project out of selection.
-	 * Used by ProxyLaunchToolbarDelegate too.
-	 * 
-	 * @param selection
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected static IJavaProject getSelectedJavaProject(ISelection selection) {
-		if (selection.isEmpty() || !(selection instanceof IStructuredSelection) || ((IStructuredSelection) selection).size() > 1)
-			return null;	// Can't handle it.
-		else {
-			Object sel = ((IStructuredSelection) selection).getFirstElement();
-			if (sel instanceof IProject && ((IProject) sel).isOpen()) {
-				return JavaCore.create((IProject) sel);	// Will return null if not exist.
-			} else if (sel instanceof IJavaProject && ((IJavaProject) sel).isOpen())
-				return (IJavaProject) sel;
-			else
-				return null;
-		}
-	}
-	
-	/**
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public SelectDefaultConfigurationActionDelegate() {
-		super(JEMUIPlugin.getPlugin().getDescriptor().getResourceString("%Action.selectDefault"));
-		setEnabled(false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-	}
-
-	private IWorkbenchWindow window;
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run()
-	 */
-	public void run() {
-		selectDialog();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		run();
-	}	
-
-	protected IJavaProject javaproject;
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		javaproject = getSelectedJavaProject(selection);
-		try {
-			setEnabled(
-				javaproject != null
-					&& javaproject.getProject().getPersistentProperty(ProxyLaunchSupport.PROPERTY_LAUNCH_CONFIGURATION) != null);
-		} catch (Exception e) {
-			setEnabled(false);	// Some error, so not enabled.
-		}
-		if (action != null)			
-			action.setEnabled(isEnabled());
-		if (javaproject != null)
-			setToolTipText(MessageFormat.format(JEMUIPlugin.getPlugin().getDescriptor().getResourceString("%Action.selectDefaultTip"), new Object[] {javaproject.getElementName()}));
-		else
-			setToolTipText(getText());
-	}
-	
-	private static final Object[] EMPTY = new Object[0];
-	protected void selectDialog() {
-		try {
-			ILabelProvider labelProvider = DebugUITools.newDebugModelPresentation();
-			
-			CheckedTreeSelectionDialog dialog = new CheckedTreeSelectionDialog(window.getShell(), labelProvider, new ITreeContentProvider() {
-				public Object[] getChildren(Object parentElement) {
-					return EMPTY;
-				}
-
-				public Object getParent(Object element) {
-					return null;
-				}
-
-				public boolean hasChildren(Object element) {
-					return false;
-				}
-
-				public Object[] getElements(Object inputElement) {
-					if (inputElement != null && inputElement instanceof Object[])
-						return (Object[]) inputElement;
-					else 
-						return null;
-				}
-
-				public void dispose() {
-				}
-
-				public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-				}
-			}) {
-				protected CheckboxTreeViewer createTreeViewer(Composite parent) {
-					final CheckboxTreeViewer treeViewer = super.createTreeViewer(parent);
-					treeViewer.addCheckStateListener(new ICheckStateListener() {
-						boolean processingCheck = false;
-						public void checkStateChanged(CheckStateChangedEvent event) {
-							if (!processingCheck) {
-								try {
-									processingCheck = true;
-									if (event.getChecked()) {
-										// We are checking something, make sure old one unchecked.
-										Object[] checked = treeViewer.getCheckedElements();
-										for (int i = 0; i < checked.length; i++) {
-											if (checked[i] != event.getElement())
-												treeViewer.setChecked(checked[i], false);
-										}
-									}
-								} finally {
-									processingCheck = false;
-								}
-							}
-
-						}
-					});
-					return treeViewer;
-				}
-				
-				protected Composite createSelectionButtons(Composite composite) {
-					return new Composite(composite, SWT.NONE);	// We don't want selection buttons since only one can be selected at a time.
-				}
-			};
-			dialog.setTitle(ProxyUIMessages.getString("Select.title")); //$NON-NLS-1$	
-			dialog.setMessage(MessageFormat.format(ProxyUIMessages.getString("Select.message"), new Object[] { javaproject.getElementName()})); //$NON-NLS-1$			
-
-			ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations();
-			List configsList = new ArrayList(configs.length+1);
-			String jpName = javaproject.getElementName();
-			for (int i = 0; i < configs.length; i++) {
-				if (IProxyConstants.ID_PROXY_LAUNCH_GROUP.equals(configs[i].getCategory()) && !configs[i].getAttribute(IDebugUIConstants.ATTR_PRIVATE, false) && jpName.equals(configs[i].getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, "")))
-					configsList.add(configs[i]);
-			}
-			configs = (ILaunchConfiguration[]) configsList.toArray(new ILaunchConfiguration[configsList.size()]);
-			dialog.setInput(configs);
-
-			String launchName = javaproject.getProject().getPersistentProperty(ProxyLaunchSupport.PROPERTY_LAUNCH_CONFIGURATION);
-			ILaunchConfiguration config = null;
-			if (launchName != null) {
-				for (int i = 0; i < configs.length; i++) {
-					if (configs[i].getName().equals(launchName)) {
-						config = configs[i];
-						break;
-					}
-				}
-				if (config != null) {
-					dialog.setInitialSelections(new Object[] { config });
-				}
-			}
-			if (dialog.open() == Window.OK) {
-				config = (ILaunchConfiguration) dialog.getFirstResult();
-				if (config != null)
-					javaproject.getProject().setPersistentProperty(ProxyLaunchSupport.PROPERTY_LAUNCH_CONFIGURATION, config.getName());
-				else
-					javaproject.getProject().setPersistentProperty(ProxyLaunchSupport.PROPERTY_LAUNCH_CONFIGURATION, ProxyLaunchSupport.NOT_SET);
-			} 
-			
-		} catch (CoreException e) {
-			ErrorDialog.openError(window.getShell(), null, null, e.getStatus());
-			ProxyPlugin.getPlugin().getLogger().log(e, Level.WARNING);
-		}					
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		// This is called instead of init(WorkbenchWindow) when this is on popup menu.
-		window = targetPart.getSite().getWorkbenchWindow();
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/messages.properties b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/messages.properties
deleted file mode 100644
index 778c8d1..0000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/messages.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/Attic/messages.properties,v $
-# $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $
-#
-
-Select.title=Select Default
-Select.message=Select default configuration for project "{0}":
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/LocalLaunchProjectTab.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/LocalLaunchProjectTab.java
deleted file mode 100644
index c3fe573..0000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/LocalLaunchProjectTab.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: LocalLaunchProjectTab.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $ 
- */
-package org.eclipse.jem.internal.ui.proxy.remote;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.internal.debug.ui.launcher.JavaLaunchConfigurationTab;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.ide.IDE;
-
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
- 
-/**
- * 
- * @since 1.0.0
- */
-public class LocalLaunchProjectTab extends JavaLaunchConfigurationTab {
-		
-	// Project UI widgets
-	protected Label fProjLabel;
-	protected Text fProjText;
-	protected Button fProjButton;
-			
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite comp = new Composite(parent, SWT.NONE);
-		setControl(comp);
-		GridLayout topLayout = new GridLayout();
-		comp.setLayout(topLayout);		
-		GridData gd;
-		
-		createVerticalSpacer(comp, 1);
-		
-		Composite projComp = new Composite(comp, SWT.NONE);
-		GridLayout projLayout = new GridLayout();
-		projLayout.numColumns = 2;
-		projLayout.marginHeight = 0;
-		projLayout.marginWidth = 0;
-		projComp.setLayout(projLayout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		projComp.setLayoutData(gd);
-		projComp.setFont(font);
-		
-		fProjLabel = new Label(projComp, SWT.NONE);
-		fProjLabel.setText(ProxyRemoteUIMessages.getString("LocalLaunchProjectTab.Project")); //$NON-NLS-1$
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		fProjLabel.setLayoutData(gd);
-		fProjLabel.setFont(font);
-		
-		fProjText = new Text(projComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fProjText.setLayoutData(gd);
-		fProjText.setFont(font);
-		fProjText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		fProjButton = createPushButton(projComp, ProxyRemoteUIMessages.getString("LocalLaunchProjectTab.Browse"), null); //$NON-NLS-1$
-		fProjButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleProjectButtonSelected();
-			}
-		});
-				
-	}
-		
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration config) {
-		updateProjectFromConfig(config);
-	}
-	
-	protected void updateProjectFromConfig(ILaunchConfiguration config) {
-		String projectName = ""; //$NON-NLS-1$
-		try {
-			projectName = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, "");	
-		} catch (CoreException ce) {
-			ProxyPlugin.getPlugin().getLogger().log(ce);
-		}
-		fProjText.setText(projectName);
-	}
-			
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy config) {
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, fProjText.getText());		
-	}
-			
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-	}
-			
-		
-	/**
-	 * Show a dialog that lets the user select a project.  This in turn provides
-	 * context for the main type, allowing the user to key a main type name, or
-	 * constraining the search for main types to the specified project.
-	 */
-	protected void handleProjectButtonSelected() {
-		IJavaProject project = chooseJavaProject();
-		if (project == null) {
-			return;
-		}
-		
-		String projectName = project.getElementName();
-		fProjText.setText(projectName);		
-	}
-	
-	/**
-	 * Realize a Java Project selection dialog and return the first selected project,
-	 * or null if there was none.
-	 */
-	protected IJavaProject chooseJavaProject() {
-		IJavaProject[] projects;
-		try {
-			projects= JavaCore.create(getWorkspaceRoot()).getJavaProjects();
-		} catch (JavaModelException e) {
-			ProxyPlugin.getPlugin().getLogger().log(e);
-			projects= new IJavaProject[0];
-		}
-		
-		ILabelProvider labelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), labelProvider);
-		dialog.setTitle(ProxyRemoteUIMessages.getString("LocalLaunchProjectTab.Project_Selection")); //$NON-NLS-1$
-		dialog.setMessage(ProxyRemoteUIMessages.getString("LocalLaunchProjectTab.ChooseProject")); //$NON-NLS-1$
-		dialog.setElements(projects);
-		
-		IJavaProject javaProject = getJavaProject();
-		if (javaProject != null) {
-			dialog.setInitialSelections(new Object[] { javaProject });
-		}
-		if (dialog.open() == Window.OK) {			
-			return (IJavaProject) dialog.getFirstResult();
-		}			
-		return null;		
-	}
-	
-	/**
-	 * Return the IJavaProject corresponding to the project name in the project name
-	 * text field, or null if the text does not match a project name.
-	 */
-	protected IJavaProject getJavaProject() {
-		String projectName = fProjText.getText().trim();
-		if (projectName.length() < 1) {
-			return null;
-		}
-		return getJavaModel().getJavaProject(projectName);		
-	}
-	
-	/**
-	 * Convenience method to get the workspace root.
-	 */
-	private IWorkspaceRoot getWorkspaceRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-	
-	/**
-	 * Convenience method to get access to the java model.
-	 */
-	private IJavaModel getJavaModel() {
-		return JavaCore.create(getWorkspaceRoot());
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration config) {
-		
-		setErrorMessage(null);
-		setMessage(null);
-		
-		String name = fProjText.getText().trim();
-		if (name.length() > 0) {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IStatus status = workspace.validateName(name, IResource.PROJECT);
-			if (status.isOK()) {
-				IProject project= ResourcesPlugin.getWorkspace().getRoot().getProject(name);
-				if (!project.exists()) {
-					setErrorMessage(MessageFormat.format(ProxyRemoteUIMessages.getString("LocalLaunchProjectTab.ProjectNotExist"), new String[] {name})); //$NON-NLS-1$
-					return false;
-				}
-				if (!project.isOpen()) {
-					setErrorMessage(MessageFormat.format(ProxyRemoteUIMessages.getString("LocalLaunchProjectTab.ProjectNotOpen"), new String[] {name})); //$NON-NLS-1$
-					return false;
-				}
-			} else {
-				setErrorMessage(MessageFormat.format(ProxyRemoteUIMessages.getString("LocalLaunchProjectTab.ProjectValidateError"), new String[]{status.getMessage()})); //$NON-NLS-1$
-				return false;
-			}
-		}
-		
-		return false;	// Kludge. We always return false so that "Run" button is never enabled. We can't launch these configurations using the standard way. Only through ProxyLaunchSupport.
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy config) {
-		IJavaElement javaElement = getContext();
-		if (javaElement != null) {
-			initializeJavaProject(javaElement, config);
-		} else {
-			// We set empty attributes for project so that when one config is
-			// compared to another, the existence of empty attributes doesn't cause an
-			// incorrect result (the performApply() method can result in empty values
-			// for these attributes being set on a config if there is nothing in the
-			// corresponding text boxes)
-			config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, ""); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return ProxyRemoteUIMessages.getString("LocalLaunchProjectTab.name"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return PlatformUI.getWorkbench().getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT);
-	}
-}
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/LocalLaunchTabGroup.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/LocalLaunchTabGroup.java
deleted file mode 100644
index bfc2894..0000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/LocalLaunchTabGroup.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- * $RCSfile: LocalLaunchTabGroup.java,v $ $Revision: 1.1 $ $Date: 2004/03/04 16:14:29 $
- */
-package org.eclipse.jem.internal.ui.proxy.remote;
-
-import org.eclipse.debug.ui.*;
-import org.eclipse.jdt.debug.ui.launchConfigurations.*;
-
-/**
- * Launch Tab Group for the Local Launch of a Remote Proxy Configuration.
- * 
- * @since 1.0.0
- */
-public class LocalLaunchTabGroup extends AbstractLaunchConfigurationTabGroup {
-
-	/**
-	 * Constructs a new Java applet tab group.
-	 */
-	public LocalLaunchTabGroup() {
-	}
-
-	/*
-	 * @see ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs =
-			new ILaunchConfigurationTab[] {
-				new LocalLaunchProjectTab(),
-				new JavaArgumentsTab(),
-				new JavaJRETab(),
-				new JavaClasspathTab(),
-				new JavaSourceLookupTab(),
-				new EnvironmentTab(),
-				new CommonTab()};
-		setTabs(tabs);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/ProxyRemoteUIMessages.java b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/ProxyRemoteUIMessages.java
deleted file mode 100644
index 92db101..0000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/ProxyRemoteUIMessages.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: ProxyRemoteUIMessages.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $ 
- */
-package org.eclipse.jem.internal.ui.proxy.remote;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
- 
-/**
- * Message for Proxy Remote UI
- * 
- * @since 1.0.0
- */
-public class ProxyRemoteUIMessages {
-
-	private static final String BUNDLE_NAME =
-		"org.eclipse.jem.internal.ui.proxy.remote.messages";	//$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ProxyRemoteUIMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/messages.properties b/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/messages.properties
deleted file mode 100644
index 44dea58..0000000
--- a/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/messages.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/Attic/messages.properties,v $
-# $Revision: 1.1 $  $Date: 2004/03/04 16:14:29 $
-#
-
-LocalLaunchProjectTab.name=&Project
-LocalLaunchProjectTab.Project=&Project
-LocalLaunchProjectTab.Browse=&Browse...
-LocalLaunchProjectTab.Project_Selection=Project Selection
-LocalLaunchProjectTab.ChooseProject=Choose a &project to for the launch:
-LocalLaunchProjectTab.ProjectNotExist=Project "{0}" doesn't exist.
-LocalLaunchProjectTab.ProjectNotOpen=Project "{0}" is not open.
-LocalLaunchProjectTab.ProjectValidateError=Project validation error. Msg is "{0}."
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.workbench/.classpath b/plugins/org.eclipse.jem.workbench/.classpath
deleted file mode 100644
index 7682dad..0000000
--- a/plugins/org.eclipse.jem.workbench/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="workbench/"/>
-    <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jem.workbench/.cvsignore b/plugins/org.eclipse.jem.workbench/.cvsignore
deleted file mode 100644
index 60463af..0000000
--- a/plugins/org.eclipse.jem.workbench/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-build.xml
diff --git a/plugins/org.eclipse.jem.workbench/.project b/plugins/org.eclipse.jem.workbench/.project
deleted file mode 100644
index 7a23e6f..0000000
--- a/plugins/org.eclipse.jem.workbench/.project
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jem.workbench</name>
-	<comment></comment>
-	<projects>
-		<project>com.ibm.wtp.common.util</project>
-		<project>com.ibm.wtp.emf.workbench</project>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.emf.ecore.xmi</project>
-		<project>org.eclipse.jdt.core</project>
-		<project>org.eclipse.jem</project>
-		<project>org.eclipse.jem.proxy</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jem.workbench/about.html b/plugins/org.eclipse.jem.workbench/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/plugins/org.eclipse.jem.workbench/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.workbench/build.properties b/plugins/org.eclipse.jem.workbench/build.properties
deleted file mode 100644
index 96800e6..0000000
--- a/plugins/org.eclipse.jem.workbench/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.workbench.jar = workbench/
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               workbench.jar,\
-               about.html
-src.includes = about.html
-
diff --git a/plugins/org.eclipse.jem.workbench/plugin.properties b/plugins/org.eclipse.jem.workbench/plugin.properties
deleted file mode 100644
index c05f9ff..0000000
--- a/plugins/org.eclipse.jem.workbench/plugin.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.workbench/plugin.properties,v $
-# $Revision: 1.2 $  $Date: 2004/01/13 16:17:42 $
-#
-
-
-pluginName=Java EMF Model Workbench Support
-providerName = Eclipse.org
-
-JavaEMFNatureName=JavaEMFNature Properties
diff --git a/plugins/org.eclipse.jem.workbench/plugin.xml b/plugins/org.eclipse.jem.workbench/plugin.xml
deleted file mode 100644
index 7b2f9f8..0000000
--- a/plugins/org.eclipse.jem.workbench/plugin.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.jem.workbench"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.jem.internal.plugin.JavaPlugin">
-
-   <runtime>
-      <library name="workbench.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.jem.internal.adapters.jdom,org.eclipse.jem.internal.plugin,org.eclipse.jem.workbench.utility"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.jem"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.emf.ecore.xmi"/>
-      <import plugin="org.eclipse.jem.proxy"/>
-      <import plugin="com.ibm.wtp.common.util"/>
-      <import plugin="com.ibm.wtp.emf.workbench"/>
-   </requires>
-
-
-   <extension
-         id="JavaEMFNature"
-         name="%JavaEMFNatureName"
-         point="org.eclipse.core.resources.natures">
-      <runtime>
-         <run
-               class="org.eclipse.jem.internal.plugin.JavaEMFNature">
-         </run>
-      </runtime>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMAdaptor.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMAdaptor.java
deleted file mode 100644
index 4c406ea..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMAdaptor.java
+++ /dev/null
@@ -1,349 +0,0 @@
-package org.eclipse.jem.internal.adapters.jdom;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JDOMAdaptor.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:42 $ 
- */
-
-import java.io.File;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor;
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-import org.eclipse.jem.java.impl.JavaRefFactoryImpl;
-/**
- * Insert the type's description here.
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public abstract class JDOMAdaptor extends JavaReflectionAdaptor {
-
-	protected final static JavaRefPackage JAVA_PACK = JavaRefFactoryImpl.getPackage();
-	protected IJavaProject sourceProject;
-	final public static int INVALID_LINENO = -1;
-	final protected Integer fLINENOLock = new Integer(INVALID_LINENO);
-	// This object is not static, as it is used as synchronization element.
-	private int fResolvedLineNo = INVALID_LINENO; // Line offset in source file
-	private int fResolvedColNo = INVALID_LINENO; // Column offset in source file
-	public JDOMAdaptor(Notifier target, IJavaProject workingProject) {
-		super(target);
-		setSourceProject(workingProject);
-	}
-	protected void clearSource() {
-		// To be overidden if needed.
-	}
-	/**
-	 * Scan for CRs and LFs within a character buffer
-	 * Creation date: (8/17/2001 2:14:13 PM)
-	 * @return int  LineNo at charOffset
-	 * @param charOffset int
-	 * @param buffer org.eclipse.jdt.core.IBuffer
-	 */
-	private void computeLineOffset(int charOffset, IBuffer buffer) {
-
-		fResolvedColNo = fResolvedLineNo = INVALID_LINENO;
-
-		if (buffer == null)
-			return;
-
-		char[] charBuff = buffer.getCharacters();
-
-		if (charBuff == null)
-			return;
-
-		int LineCount = 0;
-		int ColNo = 0;
-		for (int i = 0; i <= charOffset; i++) {
-			ColNo++;
-			if (charBuff[i] == '\r') {
-				LineCount++;
-				ColNo = 0;
-				if (charBuff[i + 1] == '\n')
-					i++; // skip LineFeed followed  a CR
-			} else if (charBuff[i] == '\n') {
-				LineCount++;
-				ColNo = 0;
-			}
-
-		}
-		fResolvedColNo = ColNo;
-		fResolvedLineNo = LineCount;
-	}
-	/**
-	 * computeMethodID - generate the unique ID to be used to identify a method.
-	 * Similar to a Signature, but hopefully more readable.
-	 * The name format will be:
-	 * 	simpleTypeName.methodName(my.package.Parm_Type1,parmType2
-	 * Note: This implementation is tightly coupled with ReflectionAdapter.getTypeNamesFromMethodID().
-	 */
-	public static String computeMethodID(IMethod jdomMethod) {
-		return computeMethodID(jdomMethod, jdomMethod.getDeclaringType(), null);
-	}
-	/**
-	 * computeMethodID - generate the unique ID to be used to identify a method.
-	 * Similar to a Signature, but hopefully more readable.
-	 * The name format will be:
-	 * 	simpleTypeName.methodName(my.package.Parm_Type1,parmType2
-	 * Note: This implementation is tightly coupled with ReflectionAdapter.getTypeNamesFromMethodID().
-	 */
-	public static String computeMethodID(IMethod jdomMethod, IType type, Map typeCache) {
-		StringBuffer out = new StringBuffer();
-		out.append(type.getTypeQualifiedName());
-		out.append(C_CLASS_MEMBER_DELIMITER);
-		out.append(jdomMethod.getElementName());
-		out.append(C_METHOD_PARM_DELIMITER);
-		String[] parmTypeNames = jdomMethod.getParameterTypes();
-		String parmName;
-		for (int i = 0; i < parmTypeNames.length; i++) {
-			parmName = convertJDOMtypeName(parmTypeNames[i]);
-			parmName = JDOMSearchHelper.getResolvedTypeName(parmName, type, typeCache);
-			out.append(parmName);
-			if (i < (parmTypeNames.length - 1))
-				out.append(C_PARM_PARM_DELIMITER);
-		}
-		try {
-			if (jdomMethod.isConstructor())
-				out.append(S_CONSTRUCTOR_TOKEN);
-		} catch (JavaModelException e) {
-		}
-		return out.toString();
-	}
-	/**
-	 * computeMethodName - generate the name to be used to identify a method.
-	 * For the moment, names are simple, and UUID's are complex.
-	 */
-	public static String computeMethodName(IMethod jdomMethod) {
-		return jdomMethod.getElementName();
-	}
-	/**
-	 * Java content has changed, but no structural changes that require
-	 * to reflectValues();  e.g., the body of a method has changed.
-	 * Creation date: (8/17/2001 10:47:58 AM)
-	 */
-	public void contentChanged() {
-		synchronized (fLINENOLock) {
-			fResolvedLineNo = INVALID_LINENO;
-			fResolvedColNo = INVALID_LINENO;
-		}
-	}
-	/**
-	 * computeMethodID - generate the unique ID to be used to identify a method.
-	 * Similar to a Signature, but hopefully more readable.
-	 * The name format will be:
-	 * 	methodName_parmType1_parmType2
-	 */
-	public static String convertJDOMtypeName(String jdomTypeName) {
-		return signatureToString(jdomTypeName);
-	}
-	/**
-	 * createJavaField - instantiate a Java Field based on the passed Java Model IField
-	 * We are deferring field contents assuming that its adaptor will reflect its details.
-	 */
-	public Field createJavaField(IField jdomField, XMIResource resource) {
-		String name = jdomField.getElementName();
-		Field newField = getJavaFactory().createField();
-		newField.setName(name);
-		resource.setID(newField, ((JavaClass) getTarget()).getName() + C_CLASS_MEMBER_DELIMITER + name);
-		return newField;
-	}
-	/**
-	 * createJavaMethod - instantiate a Java Method based on the passed Java Model IMethod
-	 * We are deferring method contents assuming that its adaptor will reflect its details.
-	 * We need to store enough info in the empty Method to find its Java source.
-	 * The UUID will eventually hold enough info to identify the source, so we use it.
-	 */
-	public Method createJavaMethod(IMethod jdomMethod, XMIResource resource) {
-		Method newMethod = getJavaFactory().createMethod();
-		// We use a simple name, but a complex ID 
-		newMethod.setName(computeMethodName(jdomMethod));
-		resource.setID(newMethod, computeMethodID(jdomMethod, getType(), getTypeResolutionCache()));
-		return newMethod;
-	}
-	/*
-	 *  Leave the target as is, but flush it so
-	 *  that notifications go through, and clear
-	 *  the source.
-	 */
-
-	public void deprecateSource() {
-		hasReflected = false; // Note:  There is a potential race condidtion here as already existing in
-		//        the flushReflectedValuesIfNecessary()/reflectValues()
-		flushReflectedValuesIfNecessary(true); // induce clients to get Notified.
-	}
-	protected IPath getBinaryPathFromQualifiedName(String qualifiedName) {
-		return new Path(qualifiedName.replace('.', File.separatorChar) + ".class"); //$NON-NLS-1$
-	}
-	public IType getBinaryType(String qualifiedName) {
-		try {
-			if (getSourceProject() != null) {
-				IJavaElement found = getSourceProject().findElement(getBinaryPathFromQualifiedName(qualifiedName));
-				if (found != null)
-					return ((IClassFile) found).getType();
-			}
-		} catch (JavaModelException jme) {
-			System.out.println(ResourceHandler.getString("Error_Looking_Up_Type_ERROR_", (new Object[] { qualifiedName, jme.getMessage()}))); //$NON-NLS-1$ = "Error looking up type: "
-		}
-		return null;
-	}
-	/**
-	 * Compute a column number from the ISourceRange offset
-	 * Cache the line number thereafter.  Source change will
-	 * Invoke the contentChanged() method.
-	 * Creation date: (8/17/2001 11:16:51 AM)
-	 * @return int
-	 */
-	public int getColNo() {
-
-		synchronized (fLINENOLock) {
-			if (fResolvedColNo == INVALID_LINENO)
-				resolveLineColNo();
-		}
-		return fResolvedColNo;
-	}
-	/**
-	 * Compute a line number from the ISourceRange offset
-	 * Cache the line number thereafter.  Source change will
-	 * Invoke the contentChanged() method.
-	 * Creation date: (8/17/2001 11:16:51 AM)
-	 * @return int
-	 */
-	public int getLineNo() {
-
-		synchronized (fLINENOLock) {
-			if (fResolvedLineNo == INVALID_LINENO)
-				resolveLineColNo();
-		}
-		return fResolvedLineNo;
-	}
-	/**
-	 * Insert the method's description here.
-	 * Creation date: (8/17/2001 1:18:29 PM)
-	 */
-	public abstract Object getReflectionSource();
-	/* 
-	 * Resolve a type name in the context of a Type.
-	 * (Borrowed from org.eclipse.jdt.ui.codemanipulation.StubUtility.getResolvedTypeName())
-	 * The input is a simple or qualified name, NOT a signature
-	 * The output will be a qualified name, NOT a signature
-	 */
-	public static String getResolvedTypeName(String typeName, IType declaringType) {
-		String name = typeName;
-		try {
-			name = JDOMSearchHelper.resolveSimpleTypeName(declaringType, typeName);
-		} catch (JavaModelException e) {
-			// ignore
-		}
-		return name;
-	}
-
-	protected IJavaProject getSourceProject() {
-		return sourceProject;
-	}
-	protected abstract IType getType();
-	protected abstract Map getTypeResolutionCache();
-
-	public void releaseSourceType() {
-		deprecateSource();
-	}
-
-	public Notification releaseSourceTypeNoNotification() {
-		hasReflected = false; // Note:  There is a potential race condidtion here as already existing in
-		//        the flushReflectedValuesIfNecessary()/reflectValues()
-		return flushReflectedValuesIfNecessaryNoNotification(true); // induce clients to get Notified.
-	}
-	/**
-	 * Insert the method's description here.
-	 * Creation date: (8/21/2001 8:09:34 AM)
-	 */
-	private void resolveLineColNo() {
-
-		IMember rs = (IMember) getReflectionSource();
-		if (rs != null) {
-			int offset = INVALID_LINENO;
-			try {
-				ISourceRange sr = rs.getNameRange();
-				if (sr.getLength() <= 0)
-					return;
-				offset = sr.getOffset();
-			} catch (JavaModelException je) {
-				return;
-			}
-			ICompilationUnit cu = rs.getCompilationUnit();
-			if (cu != null) {
-				try {
-					IBuffer buffer = cu.getBuffer();
-					computeLineOffset(offset, buffer);
-				} catch (JavaModelException je) {
-				}
-			}
-		}
-	}
-	protected void setSourceProject(IJavaProject workingProject) {
-		sourceProject = workingProject;
-	}
-	/**
-	 * Converts a type signature to a readable string.
-	 *
-	 * Uses Signature.toString(), then tries to undo bad replacement for inner classes.
-	 *
-	 */
-	public static String signatureToString(String signature) throws IllegalArgumentException {
-		boolean hasDollar = (signature.indexOf(Signature.C_DOLLAR) != -1);
-		String result = Signature.toString(signature);
-		if (hasDollar) {
-			int newPos = result.lastIndexOf("."); //$NON-NLS-1$
-			if (newPos != -1) {
-				result = result.substring(0, newPos) + "$" + result.substring(newPos + 1); //$NON-NLS-1$
-			}
-		}
-		return result;
-	}
-	/**
-	 * setType - set our type here
-	 */
-	protected String typeNameFromSignature(String sig) {
-		return typeNameFromSignature(sig, getType());
-	}
-	/**
-	 * setType - set our type here
-	 */
-	protected String typeNameFromSignature(String sig, IType parent) {
-		return typeNameFromSignature(sig, parent, getTypeResolutionCache());
-	}
-	/**
-	 * setType - set our type here
-	 */
-	public static String typeNameFromSignature(String sig, IType parent, Map typeCache) {
-		String result;
-		String componentSignature = Signature.getElementType(sig);
-		int arrayDimensions = Signature.getArrayCount(sig);
-		result = JDOMSearchHelper.getResolvedTypeName(signatureToString(componentSignature), parent, typeCache);
-		for (int i = 0; i < arrayDimensions; i++) {
-			result = result + "[]"; //$NON-NLS-1$
-		}
-		return result;
-	}
-	/**
-	 * @deprecated
-	 * @see org.eclipse.jem.internal.adapters.jdom.JDOMSearchHelper#findType(String, boolean, IJavaProject, JDOMAdaptor)
-	 */
-	public IType getType(String qualifiedName) {
-		return JDOMSearchHelper.findType(qualifiedName, false, getSourceProject(), this);
-	}
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMClassFinder.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMClassFinder.java
deleted file mode 100644
index 31c19f2..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMClassFinder.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package org.eclipse.jem.internal.adapters.jdom;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JDOMClassFinder.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:33:53 $ 
- */
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-/**
- * Insert the type's description here.
- * Creation date: (8/16/2000 11:06:46 PM)
- * @author: Administrator
- */
-public class JDOMClassFinder {
-	
-	private static JDOMClassFinder instance;
-/**
- * JDOMClassFinder constructor comment.
- */
-public JDOMClassFinder() {
-	super();
-}
-protected IPath getBinaryPathFromQualifiedName(String qualifiedName) {
-	return new Path(qualifiedName.replace('.', File.separatorChar) + ".class");//$NON-NLS-1$
-}
-public IType getBinaryType(String qualifiedName) {
-	try {
-		IJavaElement found = getJavaElement(qualifiedName);
-		return ((IClassFile) found).getType();
-	} catch (JavaModelException jme) {
-		System.out.println(ResourceHandler.getString("Error_Looking_Up_Type_ERROR_", (new Object[] {qualifiedName, jme.getMessage()}))); //$NON-NLS-1$ = "Error looking up type: "
-	}
-	return null;
-}
-public IJavaElement getJavaElement(String qualifiedName) {
-	try {
-		if (getSourceProject() != null)
-			return getSourceProject().findElement(getPathFromQualifiedName(qualifiedName));
-	} catch (JavaModelException jme) {
-		System.out.println(ResourceHandler.getString("Error_Looking_Up_Type_ERROR_", (new Object[] {qualifiedName, jme.getMessage()}))); //$NON-NLS-1$ = "Error looking up type: "
-	}
-	return null;
-}
-protected IPath getPathFromQualifiedName(String qualifiedName) {
-	return new Path(qualifiedName.replace('.', File.separatorChar) + ".java");//$NON-NLS-1$
-}
-protected IJavaProject getSourceProject() {
-	//return (IJavaProject) ((JavaRefPackage)EPackage.Registry.INSTANCE.getEPackage(JavaRefPackage.eNS_URI)).getJavaRefFactory().getJavaContext();
-	return null;
-}
-public IType getType(String qualifiedName) {
-	try {
-		IJavaElement found = getJavaElement(qualifiedName);
-		if (found != null)
-			if (found instanceof IClassFile)
-				return ((IClassFile) found).getType();
-			else
-				if (found instanceof ICompilationUnit) {
-					ICompilationUnit foundCU = (ICompilationUnit) found;
-					// strip the ".java", lifted from CompilationUnit.getMainTypeName()
-					String cuMainTypeName = foundCU.getElementName();
-					cuMainTypeName = cuMainTypeName.substring(0, cuMainTypeName.length() - 5);
-					return foundCU.getType(cuMainTypeName);
-				}
-	} catch (JavaModelException jme) {
-		System.out.println(ResourceHandler.getString("Error_Looking_Up_Type_ERROR_", (new Object[] {qualifiedName, jme.getMessage()}))); //$NON-NLS-1$ = "Error looking up type: "
-	}
-	return null;
-}
-/**
- * Insert the method's description here.
- * Creation date: (8/16/2000 11:19:48 PM)
- * @return com.ibm.etools.java.adapters.JDOMClassFinder
- */
-public static JDOMClassFinder instance() {
-	if (instance == null)
-		instance = new JDOMClassFinder();
-	return instance;
-}
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMSearchHelper.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMSearchHelper.java
deleted file mode 100644
index bf07bf9..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JDOMSearchHelper.java
+++ /dev/null
@@ -1,357 +0,0 @@
-package org.eclipse.jem.internal.adapters.jdom;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JDOMSearchHelper.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:33:53 $ 
- */
-
-import java.io.File;
-import java.util.*;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-/**
- * Insert the type's description here.
- * Creation date: (9/26/2001 11:09:30 AM)
- * @author: Administrator
- */
-public class JDOMSearchHelper {
-	
-	private static final String RESOLVED_NAME = " :: RESOLVED_NAME :: "; //$NON-NLS-1$
-	private static final String PERIOD = "."; //$NON-NLS-1$
-	private static final String BOOLEAN = "boolean"; //$NON-NLS-1$
-	private static final String BYTE = "byte"; //$NON-NLS-1$
-	private static final String CHAR = "char"; //$NON-NLS-1$
-	private static final String SHORT = "short"; //$NON-NLS-1$
-	private static final String INT = "int"; //$NON-NLS-1$
-	private static final String LONG = "long"; //$NON-NLS-1$
-	private static final String FLOAT = "float"; //$NON-NLS-1$
-	private static final String DOUBLE = "double"; //$NON-NLS-1$
-	private static final String VOID = "void"; //$NON-NLS-1$
-	/**
-	 * JDOMSearchHelper constructor comment.
-	 */
-	public JDOMSearchHelper() {
-		super();
-	}
-	/**
-	 * If the @simpleName is an inner class, we need to resolve only the declaring class.
-	 */
-	private static String[][] getTypeNameInfo(IType type, String simpleName, boolean isForReflection) throws JavaModelException {
-		String[][] result = null;
-		String declaringName, typeName;
-		typeName = simpleName;
-		if (type != null) {
-			if (isForReflection)
-				typeName = typeName.replace('.', '$');
-			int index = typeName.indexOf("$"); //$NON-NLS-1$
-			if (index > 0) {
-				declaringName = typeName.substring(0, index);
-				result = type.resolveType(declaringName);
-				if (result != null) {
-					if (isForReflection)
-						result[0][1] = result[0][1].replace('.', '$');
-					result[0][1] += typeName.substring(index, typeName.length());
-				}
-			} else {
-				index = typeName.indexOf("["); //$NON-NLS-1$
-				if (index > 0) {
-					declaringName = typeName.substring(0, index);
-					result = type.resolveType(declaringName);
-					if (result != null)
-						result[0][1] = result[0][1] + typeName.substring(index);
-				} else
-					result = type.resolveType(typeName);
-			}
-		}
-		return result;
-	}
-	/**
-	 * Returns true if the type is a primitive.
-	 */
-	public final static boolean isPrimitive(String type) {
-		return (BOOLEAN.equals(type) || INT.equals(type) || CHAR.equals(type) || SHORT.equals(type) || LONG.equals(type) || FLOAT.equals(type) || DOUBLE.equals(type) || BYTE.equals(type));
-	}
-	/**
-	 * Returns true if the type is a primitive.
-	 */
-	public final static boolean isPrimitiveOrVoid(String type) {
-		return isPrimitive(type) || isVoid(type);
-	}
-	/**
-	 * Returns true if the type is a primitive.
-	 */
-	public final static boolean isVoid(String type) {
-		return VOID.equals(type);
-	}
-	/**
-	 * Returns true if the two signatures match within the scope of the specified type.
-	 */
-	public static boolean matchTypeSignatures(IType type, String signature1, String signature2) throws JavaModelException {
-		return matchTypeSignatures(type, signature1, signature2, null);
-	}
-	/**
-	 * Returns true if the two signatures match within the scope of the specified type.
-	 */
-	public static boolean matchTypeSignatures(IType type, String signature1, String signature2, Map resolvedNameCache) throws JavaModelException {
-		boolean result = false;
-		String sig1 = signature1;
-		String sig2 = signature2;
-		// First check array count.
-		if (Signature.getArrayCount(sig1) == Signature.getArrayCount(sig2)) {
-			// We have the same array count, get the element types for consideration.
-			sig1 = Signature.getElementType(sig1);
-			sig2 = Signature.getElementType(sig2);
-
-			// There are three cases:
-			//		1) Both are unqualified (both being primitive will fall into this),
-			//		2) Both are qualified, and
-			//		3) One is qualified and the other is not (one could be primitive).
-
-			// For the first two cases a compare of the readable names will always do.
-			if (!((sig1.indexOf('.') == -1) ^ (sig2.indexOf('.') == -1))) {
-				result = Signature.toString(sig1).equals(Signature.toString(sig2));
-			} else {
-				// This is case 3.
-				// First root out one being primitive.
-				if (((sig1.charAt(0) == 'Q') || (sig1.charAt(0) == 'L')) && ((sig2.charAt(0) == 'Q') || (sig2.charAt(0) == 'L'))) {
-					// Get the readable name of the qualified signature
-					// and the simple name of the other.
-					String qualifiedName = null;
-					String simpleName = null;
-					if (sig1.indexOf('.') == -1) {
-						qualifiedName = Signature.toString(sig2);
-						simpleName = Signature.toString(sig1);
-					} else {
-						qualifiedName = Signature.toString(sig1);
-						simpleName = Signature.toString(sig2);
-					}
-
-					// If the simple name resolves to the qualified name, we have a match.
-					result = qualifiedName.equals(resolveSimpleTypeName(type, simpleName, resolvedNameCache));
-				}
-			}
-		}
-
-		return result;
-	}
-	private static boolean needsToResolveName(IType type, String simpleName, boolean isForReflection) {
-		return !(type.isBinary() || (!isForReflection && simpleName.indexOf(PERIOD) > -1) || isPrimitiveOrVoid(simpleName));
-	}
-	/**
-	 * Returns the qualified name for the simple name within the scope of the type.
-	 * Returns null if the name can not be resolved.
-	 */
-	public static String resolveSimpleTypeName(IType type, String simpleName) throws JavaModelException {
-		return resolveSimpleTypeName(type, simpleName, null);
-	}
-	/**
-	 * Returns the qualified name for the simple name within the scope of the type.
-	 * Returns null if the name can not be resolved.
-	 */
-	public static String resolveSimpleTypeName(IType type, String simpleName, Map resolvedNameCache) throws JavaModelException {
-		return resolveSimpleTypeName(type, simpleName, resolvedNameCache, false);
-	}
-
-	/**
-	 * Returns the qualified name for the simple name within the scope of the type.
-	 * Returns null if the name can not be resolved.
-	 */
-	public static String resolveSimpleTypeName(IType type, String simpleName, Map resolvedNameCache, boolean isForReflection) throws JavaModelException {
-		if (!needsToResolveName(type, simpleName, isForReflection))
-			return simpleName;
-		String key = null, qualifiedName = null;
-		if (resolvedNameCache != null) {
-			key = type.getFullyQualifiedName() + RESOLVED_NAME + simpleName;
-			qualifiedName = (String) resolvedNameCache.get(key);
-		}
-		if (qualifiedName == null) {
-			String[][] result = getTypeNameInfo(type, simpleName, isForReflection);
-			if (result != null) {
-				String packName = result[0][0];
-				if (packName.length() == 0) {
-					qualifiedName = result[0][1];
-					if (isForReflection)
-						qualifiedName = qualifiedName.replace('.', '$');					
-				} else {
-					StringBuffer b = new StringBuffer();
-					b.append(result[0][0]).append(PERIOD);
-					String typeName = result[0][1];
-					if (isForReflection)
-						typeName = typeName.replace('.', '$');
-					b.append(typeName);
-					qualifiedName = b.toString();
-				}
-			} else {
-				qualifiedName = simpleName;
-			}
-			if (resolvedNameCache != null)
-				resolvedNameCache.put(key, qualifiedName);
-		}
-		return qualifiedName;
-	}
-	/**
-	 * Searches for a matching method and sets it in the
-	 * descriptor if found.
-	 */
-	public static IMethod searchForMatchingMethod(IType type, String methodName, String[] parmSigs) throws JavaModelException {
-		return searchForMatchingMethod(type, methodName, parmSigs, null);
-	}
-	/**
-	 * Searches for a matching method and sets it in the
-	 * descriptor if found.
-	 */
-	public static IMethod searchForMatchingMethod(IType type, String methodName, String[] parmSigs, Map resolvedNameCache) throws JavaModelException {
-
-		// First get all the methods by this name and with this many parms.
-		IMethod[] allMethods = type.getMethods();
-		List candidateMethods = new ArrayList();
-		for (int i = 0; i < allMethods.length; i++) {
-			int parmSigsLength = (parmSigs != null ? parmSigs.length : 0);
-			if ((allMethods[i].getElementName().equals(methodName)) && (allMethods[i].getNumberOfParameters() == parmSigsLength))
-				candidateMethods.add(allMethods[i]);
-		}
-
-		// For each candidate consider each parm for a match.
-		// Take the first one that matches on all parms.
-		IMethod next = null;
-		String[] nextParmSigs = null;
-		boolean found = false;
-		Iterator candidateIter = candidateMethods.iterator();
-		while (!found && (candidateIter.hasNext())) {
-			next = (IMethod) candidateIter.next();
-			nextParmSigs = next.getParameterTypes();
-			found = true;
-			for (int i = 0;(found && (i < nextParmSigs.length)); i++)
-				found &= matchTypeSignatures(type, parmSigs[i], nextParmSigs[i], resolvedNameCache);
-		}
-		return found ? next : null;
-	}
-
-	/**
-	* The returned Object[] will contain two entries.  The
-	* first will be the IJavaElement that was found and the
-	* second will be the qualifiedName used to find it.
-	*/
-	protected static Object[] findActualJavaElement(String qualifiedName, IJavaProject javaProject, JDOMAdaptor adaptor) {
-		Object[] result = new Object[2];
-		if (adaptor == null)
-			result[1] = qualifiedName;
-		else 
-			//Ensure the name is qualified
-			result[1] = getResolvedTypeName(qualifiedName, adaptor.getType(), adaptor.getTypeResolutionCache());
-		
-		result[0] = findJavaElement((String) result[1], javaProject, adaptor);
-		if (result[0] == null)
-			findInnerJavaElement(result, javaProject, adaptor);
-		return result;
-	}
-
-	/**
-	 * The returned Object[] will contain two entries.  The
-	 * first will be the IJavaElement that was found and the
-	 * second will be the qualifiedName used to find it.
-	 */
-	protected static void findInnerJavaElement(Object[] info, IJavaProject javaProject, JDOMAdaptor adaptor) {
-		String qualifiedName, innerName;
-		qualifiedName = (String) info[1];
-		int index = qualifiedName.lastIndexOf("."); //$NON-NLS-1$
-		if (index > 0) {
-			innerName = qualifiedName.substring(0, index);
-			innerName += "$"; //$NON-NLS-1$
-			innerName += qualifiedName.substring(index + 1, qualifiedName.length());
-			if (adaptor != null) {
-				//Ensure the name is qualified which it may not be if an inner class
-				innerName = getResolvedTypeName(innerName, adaptor.getType(), adaptor.getTypeResolutionCache());
-			}
-			info[1] = innerName;
-			info[0] = findJavaElement(innerName, javaProject, adaptor);
-			if (info[0] == null)
-				findInnerJavaElement(info, javaProject, adaptor);
-		}
-	}
-
-	protected static IJavaElement findJavaElement(String qualifiedName, IJavaProject javaProject, JDOMAdaptor adaptor) {
-		try {
-			if (javaProject != null) {
-				return javaProject.findElement(getPathFromQualifiedName(qualifiedName));
-			}
-		} catch (JavaModelException jme) {
-			System.out.println(ResourceHandler.getString("Error_Looking_Up_Type_ERROR_", (new Object[] { qualifiedName, jme.getMessage()}))); //$NON-NLS-1$ = "Error looking up type: "
-		}
-		return null;
-	}
-	
-	protected static IPath getPathFromQualifiedName(String qualifiedName) {
-		return new Path(qualifiedName.replace('.', File.separatorChar) + ".java"); //$NON-NLS-1$
-	}
-	/* 
-	* Resolve a type name in the context of a Type.
-	* (Borrowed from org.eclipse.jdt.ui.codemanipulation.StubUtility.getResolvedTypeName())
-	* The input is a simple or qualified name, NOT a signature
-	* The output will be a qualified name, NOT a signature
-	*/
-	public static String getResolvedTypeName(String typeName, IType declaringType, Map typeCache) {
-		String name = typeName;
-		try {
-			name = JDOMSearchHelper.resolveSimpleTypeName(declaringType, typeName, typeCache, true);
-		} catch (JavaModelException e) {
-			// ignore
-		}
-		return name;
-	}
-
-	public static IType findType(String qualifiedName, boolean useAdvancedForInners, IJavaProject javaProject, JDOMAdaptor adaptor) {
-		try {
-			IJavaElement found = null;
-			String resolvedName = qualifiedName;
-			if (useAdvancedForInners) {
-				Object[] result = findActualJavaElement(qualifiedName, javaProject, adaptor);
-				found = (IJavaElement) result[0];
-				resolvedName = (String) result[1];
-			} else
-				found = findJavaElement(qualifiedName, javaProject, adaptor);
-			if (found != null)
-				if (found instanceof IClassFile)
-					return ((IClassFile) found).getType();
-				else if (found instanceof ICompilationUnit) {
-					ICompilationUnit foundCU = (ICompilationUnit) found;
-					// strip the ".java", lifted from CompilationUnit.getMainTypeName()
-					String cuMainTypeName = foundCU.getElementName();
-					cuMainTypeName = cuMainTypeName.substring(0, cuMainTypeName.length() - 5);
-					return foundCU.getType(cuMainTypeName);
-				} else if (found instanceof IType) {
-					int index = resolvedName.lastIndexOf('$'); //$NON-NLS-1$
-					if (index > -1)
-						return ((IType) found).getType(resolvedName.substring(index + 1, resolvedName.length()));
-					else
-						return (IType) found;
-				}
-		} catch (JavaModelException jme) {
-			System.out.println(ResourceHandler.getString("Error_Looking_Up_Type_ERROR_", (new Object[] { qualifiedName, jme.getMessage()}))); //$NON-NLS-1$ = "Error looking up type: "
-		}
-		return null;
-	}
-	
-	public static IType findType(String packageName, String qualifiedTypeName, IJavaProject javaProject) {
-		try {
-			if (javaProject != null)
-				return javaProject.findType(packageName, qualifiedTypeName);
-		} catch (JavaModelException jme) {
-			System.out.println(ResourceHandler.getString("Error_Looking_Up_Type_ERROR_", (new Object[] { packageName + "." + qualifiedTypeName, jme.getMessage()}))); //$NON-NLS-1$ = "Error looking up type: "
-		}
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaClassJDOMAdaptor.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaClassJDOMAdaptor.java
deleted file mode 100644
index 7109c34..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaClassJDOMAdaptor.java
+++ /dev/null
@@ -1,394 +0,0 @@
-package org.eclipse.jem.internal.adapters.jdom;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaClassJDOMAdaptor.java,v $
- *  $Revision: 1.5 $  $Date: 2004/02/24 19:33:35 $ 
- */
-
-import java.util.*;
-import java.util.logging.Level;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jdt.core.*;
-
-import com.ibm.wtp.common.UIContextDetermination;
-
-import org.eclipse.jem.internal.java.adapters.*;
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-import org.eclipse.jem.internal.plugin.JavaPlugin;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.java.impl.JavaClassImpl;
-
-
-public class JavaClassJDOMAdaptor extends JDOMAdaptor implements IJavaClassAdaptor {
-	private static final String OBJECT_TYPE_NAME = "java.lang.Object"; //$NON-NLS-1$
-
-	protected IType sourceType = null;
-	protected JavaReflectionAdapterFactory adapterFactory;
-	private Map typeResolutionCache = new HashMap(25);
-	public JavaClassJDOMAdaptor(Notifier target, IJavaProject workingProject, JavaReflectionAdapterFactory inFactory) {
-		super(target, workingProject);
-		setAdapterFactory(inFactory);
-	}
-	/**
-	 * addFields - reflect our fields
-	 */
-	protected void addFields() {
-		try {
-			XMIResource resource = (XMIResource) getJavaClassTarget().eResource();
-			IField[] fields = getSourceType().getFields();
-			List targetFields = getJavaClassTarget().getFieldsGen();
-			for (int i = 0; i < fields.length; i++) {
-				targetFields.add(createJavaField(fields[i], resource));
-			}
-		} catch (JavaModelException npe) {
-			// name stays null and we carry on
-		}
-	}
-	/**
-	 * addMethods - reflect our methods
-	 */
-	protected void addMethods() {
-		try {
-			XMIResource resource = (XMIResource) getJavaClassTarget().eResource();
-			IMethod[] methods = getSourceType().getMethods();
-			List targetMethods = getJavaClassTarget().getMethodsGen();
-			Method method = null;
-			JavaMethodJDOMAdaptor adaptor = null;
-			for (int i = 0; i < methods.length; i++) {
-				adaptor = null;
-				method = createJavaMethod(methods[i], resource);
-				targetMethods.add(method);
-				adaptor = (JavaMethodJDOMAdaptor) retrieveAdaptorFrom(method);
-				if (adaptor != null)
-					adaptor.setSourceMethod(methods[i]);
-			}
-		} catch (JavaModelException npe) {
-			// name stays null and we carry on
-		}
-	}
-	/**
-	 * Clear source Type ;
-	 */
-	protected void clearSource() {
-		sourceType = null;
-	}
-
-	/**
-	 * Clear the reflected fields list.
-	 */
-	protected boolean flushFields() {
-		getJavaClassTarget().getFieldsGen().clear();
-		return true;
-	}
-	/**
-	 * Clear the implements list.
-	 */
-	protected boolean flushImplements() {
-		getJavaClassTarget().getImplementsInterfacesGen().clear();
-		return true;
-	}
-	/**
-	 * Clear the reflected methods list.
-	 */
-	protected boolean flushMethods() {
-		getJavaClassTarget().getMethodsGen().clear();
-		return true;
-	}
-	protected boolean flushModifiers() {
-		JavaClass javaClassTarget = (JavaClass) getTarget();
-		javaClassTarget.setAbstract(false);
-		javaClassTarget.setFinal(false);
-		javaClassTarget.setPublic(false);
-		javaClassTarget.setKind(TypeKind.UNDEFINED_LITERAL);
-		return true;
-	}
-	protected boolean flushInnerClasses() {
-		getJavaClassTarget().getDeclaredClassesGen().clear();
-		return true;
-	}
-	/**
-	 * Clear the reflected values.
-	 */
-	protected boolean flushReflectedValues(boolean clearCachedModelObject) {
-		if (clearCachedModelObject)
-			setSourceType(null);
-		typeResolutionCache.clear();
-		return primFlushReflectedValues();
-	}
-
-	/**
-	 * @see com.ibm.etools.java.adapters.JavaReflectionAdaptor#postFlushReflectedValuesIfNecessary()
-	 */
-	protected void postFlushReflectedValuesIfNecessary(boolean isExisting) {
-		getJavaClassTarget().setReflected(false);
-		super.postFlushReflectedValuesIfNecessary(isExisting);
-	}
-
-	/**
-	 * Set the supertype to be null.
-	 */
-	protected boolean flushSuper() {
-		List targetSupers = getJavaClassTarget().getESuperTypesGen();
-		targetSupers.clear();
-		return true;
-	}
-	protected JavaReflectionAdapterFactory getAdapterFactory() {
-		return adapterFactory;
-	}
-	/**
-	 * getBinaryType - return the IType which describes our existing Java class file
-	 */
-	protected IType getBinaryType() {
-		return this.getBinaryType(((JavaClass) getTarget()).getQualifiedName());
-	}
-	/**
-	 * Return the target typed to a JavaClass.
-	 */
-	protected JavaClassImpl getJavaClassTarget() {
-		return (JavaClassImpl) getTarget();
-	}
-	public Object getReflectionSource() {
-		return getSourceType();
-	}
-	/**
-	 * getSourceType - return the IType which describes our existing Java class or source file
-	 */
-	public IType getSourceType() {
-		if (sourceType == null) {
-			JavaClassImpl javaClass = (JavaClassImpl) getTarget();
-			sourceType = JDOMSearchHelper.findType(javaClass.getJavaPackage().getName(), javaClass.primGetName(), getSourceProject());
-		}
-		return sourceType;
-	}
-	/**
-	 * getSourceType - return the IType which describes our existing Java class or source file
-	 */
-	protected IType getType() {
-		return getSourceType();
-	}
-	protected Map getTypeResolutionCache() {
-		return typeResolutionCache;
-	}
-	/**
-	 * getValueIn method comment.
-	 */
-	public Object getValueIn(EObject object, EObject attribute) {
-		// At this point, this adapter does not dynamically compute any values,
-		// all values are pushed back into the target on the initial call.
-		return super.getValueIn(object, attribute);
-	}
-	/**
-	 * Return true if the sourceType is null or if
-	 * it is a binary type.
-	 */
-	public boolean isSourceTypeFromBinary() {
-		if (getSourceType() == null)
-			return false; //must be new?
-		return getSourceType().isBinary();
-	}
-	/**
-	 * Clear the reflected values.
-	 */
-	protected boolean primFlushReflectedValues() {
-		boolean result = flushModifiers();
-		result &= flushSuper();
-		result &= flushImplements();
-		result &= flushMethods();
-		result &= flushFields();
-		result &= flushInnerClasses();
-		return result;
-	}
-
-	protected JavaClass reflectJavaClass(String qualifiedName) {
-		IType type = JDOMSearchHelper.findType(qualifiedName, true, getSourceProject(), this);
-		if (type != null)
-			return reflectJavaClass(type);
-		else
-			return createJavaClassRef(qualifiedName);
-	}
-	protected JavaClass reflectJavaClass(IType aType) {
-		if (aType != null) {
-			JavaClass javaClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType(aType.getFullyQualifiedName(), (EObject) getTarget());
-			if (javaClass != null) {
-				JavaClassJDOMAdaptor adaptor = (JavaClassJDOMAdaptor) EcoreUtil.getAdapter(javaClass.eAdapters(), ReadAdaptor.TYPE_KEY);
-				if (adaptor != null)
-					adaptor.setSourceType(aType);
-			}
-			return javaClass;
-		}
-		return null;
-	}
-	/**
-	 * reflectValues - template method, subclasses override to pump values into target.
-	 * on entry: name, containing package (and qualified name), and document must be set.
-	 * Return true always and the JavaReflectionSynchronizer will flush with the type can
-	 * be found again.  In headless mode, return true only if the type is found.  This is
-	 * needed becauce most headless tasks are done under one operation and the JavaReflectionSynchronizer
-	 * may not have a chance to flush a bad reflection before the real type needs to be found and can be found.
-	 * JavaClass adaptor:
-	 * - set modifiers
-	 * - set name
-	 * - set reference to super
-	 * - create methods
-	 * - create fields
-	 * - add imports
-	 */
-	public boolean reflectValues() {
-		super.reflectValues();
-		primFlushReflectedValues();
-		boolean isHeadless = UIContextDetermination.getCurrentContext() == UIContextDetermination.HEADLESS_CONTEXT;
-		if (getSourceProject() != null && getSourceType() != null && getSourceType().exists()) {
-			setModifiers();
-			setNaming();
-			try {
-				setSuper();
-			} catch (InheritanceCycleException e) {
-				JavaPlugin.getDefault().getLogger().log(e);
-			}
-			setImplements();
-			addMethods();
-			addFields();
-			reflectInnerClasses();
-			//addImports();
-			if (isHeadless) {
-				registerWithFactory();
-				return true;
-			}
-		}
-		if (isHeadless)
-			return false;
-		else {
-			registerWithFactory();
-			return true;
-		}
-	}
-	private void registerWithFactory() {
-		getAdapterFactory().registerReflection(getJavaClassTarget().getQualifiedNameForReflection(), this);
-	}
-
-	/**
-	 * @see com.ibm.etools.java.adapters.ReflectionAdaptor#notifyChanged(new ENotificationImpl((InternalEObject)Notifier, int,(EStructuralFeature) EObject, Object, Object, int))
-	 */
-	public void notifyChanged(Notification notification) {
-		if (notification.getEventType() == Notification.REMOVING_ADAPTER
-			&& notification.getOldValue() == this
-			&& notification.getNotifier() == getTarget())
-			getAdapterFactory().unregisterReflection(getJavaClassTarget().getQualifiedNameForReflection());
-
-	}
-
-	protected void setAdapterFactory(JavaReflectionAdapterFactory inFactory) {
-		adapterFactory = inFactory;
-	}
-	/**
-	 * setImplements - set our implemented/super interfaces here
-	 * For an interface, these are superclasses.
-	 * For a class, these are implemented interfaces.
-	 */
-	protected void setImplements() {
-		try {
-			String[] interfaceNames = getSourceType().getSuperInterfaceNames();
-			JavaClass ref;
-			// needs work, the names above will be simple names if we are relfecting from a source file
-			List list = getJavaClassTarget().getImplementsInterfacesGen();
-			for (int i = 0; i < interfaceNames.length; i++) {
-				ref = reflectJavaClass(interfaceNames[i]);
-				list.add(ref);
-			}
-		} catch (JavaModelException npe) {
-			// name stays null and we carry on
-		}
-	}
-	/**
-	 * setModifiers - set the attribute values related to modifiers here
-	 */
-	protected void setModifiers() {
-		JavaClass javaClassTarget = (JavaClass) getTarget();
-		try {
-			javaClassTarget.setAbstract(Flags.isAbstract(getSourceType().getFlags()));
-			javaClassTarget.setFinal(Flags.isFinal(getSourceType().getFlags()));
-			javaClassTarget.setPublic(Flags.isPublic(getSourceType().getFlags()));
-			// Set type to class or interface, not yet handling EXCEPTION
-			if (getSourceType().isClass())
-				javaClassTarget.setKind(TypeKind.CLASS_LITERAL);
-			else
-				javaClassTarget.setKind(TypeKind.INTERFACE_LITERAL);
-		} catch (JavaModelException npe) {
-			JavaPlugin.getDefault().getLogger().log(ResourceHandler.getString("Error_Introspecting_Flags_ERROR_", new Object[] { javaClassTarget.getQualifiedName(), npe.getMessage()}), Level.WARNING); //$NON-NLS-1$ = "error introspecting flags on {0}"
-		}
-	}
-	/**
-	 * setNaming - set the naming values here
-	 * 	- qualified name (package name + name) must be set first, that is the path to the real Java class
-	 *	- ID - simple name, identity within a package document
-	 * 	- null UUID
-	 */
-	protected void setNaming() {
-		/* Naming has been provided by the JavaReflectionKey 
-		JavaClass javaClassTarget = (JavaClass) getTarget();
-		String packageName = getSourceType().getPackageFragment().getElementName();
-		javaClassTarget.refSetUUID((String)null);
-		((XMIResource)javaClassTarget.eResource()).setID(javaClassTarget,getSourceType().getElementName());
-		*/
-	}
-	protected void setSourceType(IType aType) {
-		sourceType = aType;
-	}
-	/**
-	 * setSuper - set our supertype here, implemented interface are handled separately
-	 */
-	protected void setSuper() throws InheritanceCycleException {
-		String superName = null;
-		try {
-			if (!getSourceType().isInterface()) {
-				superName = getSourceType().getSuperclassName();
-				//Source files return null if extends does not exist.
-				if (superName == null && !getSourceType().getFullyQualifiedName().equals(OBJECT_TYPE_NAME))
-					superName = OBJECT_TYPE_NAME;
-				if (superName != null) {
-					JavaClass javaClassTarget = (JavaClass) getTarget();
-					javaClassTarget.setSupertype(reflectJavaClass(superName));
-				}
-			}
-		} catch (JavaModelException npe) {
-		}
-	}
-	/**
-	 * Return true if the sourceType can be found.
-	 */
-	public boolean sourceTypeExists() {
-		return getSourceType() != null;
-	}
-	protected void reflectInnerClasses() {
-		IType[] innerClasses = null;
-		try {
-			innerClasses = getSourceType().getTypes();
-		} catch (JavaModelException e) {
-		}
-		if (innerClasses != null && innerClasses.length != 0) {
-			List declaredClasses = getJavaClassTarget().getDeclaredClassesGen();
-			JavaClass inner;
-			ResourceSet set = getTargetResource().getResourceSet();
-			String packageName = getSourceType().getPackageFragment().getElementName();
-			for (int i = 0; i < innerClasses.length; i++) {
-				inner = (JavaClass) JavaRefFactory.eINSTANCE.reflectType(packageName, innerClasses[i].getTypeQualifiedName(), set);
-				declaredClasses.add(inner);
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaFieldJDOMAdaptor.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaFieldJDOMAdaptor.java
deleted file mode 100644
index c370558..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaFieldJDOMAdaptor.java
+++ /dev/null
@@ -1,256 +0,0 @@
-package org.eclipse.jem.internal.adapters.jdom;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaFieldJDOMAdaptor.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:42 $ 
- */
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.internal.core.JavaElement;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-/**
- * Insert the type's description here.
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public class JavaFieldJDOMAdaptor extends JDOMAdaptor {
-	private static final String BEGIN_COMMENT = "/*"; //$NON-NLS-1$
-	private static final String END_COMMENT = "*/"; //$NON-NLS-1$
-	protected IField sourceField = null;
-	protected IType parentType = null;
-	public JavaFieldJDOMAdaptor(Notifier target, IJavaProject workingProject) {
-		super(target, workingProject);
-	}
-	protected void clearSource() {
-		sourceField = null;
-	}
-	/**
-	 * Return a String for the source starting after the field's name to the end of
-	 * the source range.  This will be the source after the name which could include comments.
-	 */
-	protected String getFieldInitializerSource() {
-		IOpenable openable = ((JavaElement) getSourceField()).getOpenableParent();
-		try {
-			ISourceRange nameRange, sourceRange;
-			int start = -1, length = 0;
-			IBuffer buffer = openable.getBuffer();
-			if (buffer == null) {
-				return ""; //$NON-NLS-1$
-			}
-			nameRange = getSourceField().getNameRange();
-			start = nameRange.getOffset() + nameRange.getLength();
-			if (start != -1) {
-				sourceRange = getSourceField().getSourceRange();
-				if (sourceRange.getOffset() != -1)
-					length = sourceRange.getOffset() + sourceRange.getLength() - start;
-				return buffer.getText(start, length);
-			}
-			return null;
-		} catch (JavaModelException e) {
-			return ""; //$NON-NLS-1$
-		}
-	}
-	/**
-	 * Return the field source string without comments
-	 */
-	protected String getFieldInitializerSourceWithoutComments() {
-		String s = getFieldInitializerSource();
-		int start = 0;
-		int startComment = -1;
-		int endComment = -1;
-		while (start < s.length()) {
-			startComment = s.indexOf(BEGIN_COMMENT, start);
-			if (startComment > 0) {
-				String newString;
-				endComment = s.indexOf(END_COMMENT, start);
-				newString = s.substring(start, startComment);
-				s = newString + s.substring(endComment + END_COMMENT.length(), s.length());
-				start = 0;
-				startComment = -1;
-				endComment = -1;
-			} else {
-				start = s.length();
-			}
-		}
-		return s;
-	}
-	/**
-	 * getFieldInitializerString - parse the source for our source field 
-	 * 	and return the initialization string.
-	 *  Return null if no initialization string or constant value is present.
-	 * i.e. - public String foo = "foo default"; should return "foo default" (including quotes)
-	 */
-	protected String getFieldInitializerString() {
-		String result = null;
-		try {
-			if (!getParentType().isBinary()) {
-				String source = getFieldInitializerSourceWithoutComments();
-				if (source != null && source.length() != 0) {
-					int equalsPos = source.indexOf('=');//$NON-NLS-1$
-					int endPos = source.indexOf(',');//$NON-NLS-1$
-					if (endPos == -1)
-						endPos = source.length() - 1;
-					if (equalsPos != -1) {
-						// Copy from after "=" to before ";" or ","
-						result = source.substring(equalsPos + 1, endPos);
-						result = result.trim();
-					}
-				}
-			} else {
-				// Binary type, see if we can use the constant
-				// it's not clear from the API's, but this is probably only
-				// available for statics.
-				Object constantValue = getSourceField().getConstant();
-				// Need to convert the constant to a String
-				if (constantValue != null) {
-					result = constantValue.toString();
-					if (constantValue instanceof String) {
-						result = "\"" + result + "\""; //$NON-NLS-2$//$NON-NLS-1$
-					}
-				}
-			}
-		} catch (JavaModelException e) {
-			// punt
-		}
-		return result;
-	}
-	/**
-	 * getParentType - return the IType which corresponds to our parent JavaClass
-	 * we're going to do this a lot, so cache it.
-	 */
-	protected IType getParentType() {
-		if (parentType == null) {
-			Field targetField = (Field) getTarget();
-			JavaClass parentJavaClass = (JavaClass) targetField.getJavaClass();
-			if (parentJavaClass != null) {
-				JavaClassJDOMAdaptor pa = (JavaClassJDOMAdaptor) EcoreUtil.getAdapter(parentJavaClass.eAdapters(), ReadAdaptor.TYPE_KEY);
-				if (pa != null)
-					parentType = pa.getSourceType();
-			}
-		}
-		return parentType;
-	}
-	public Object getReflectionSource() {
-		return getSourceField();
-	}
-	/**
-	 * getSourceField - return the IField which describes our implementing field
-	 */
-	protected IField getSourceField() {
-		if (sourceField == null) {
-			IType parent = this.getParentType();
-			if (parent != null)
-				sourceField = parent.getField(((Field) getTarget()).getName());
-		}
-		return sourceField;
-	}
-	public Field getTargetField() {
-		return (Field) getTarget();
-	}
-	protected IType getType() {
-		return getParentType();
-	}
-	protected Map getTypeResolutionCache() {
-		Field field = getTargetField();
-		if (field != null) {
-			JavaClass javaClass = field.getJavaClass();
-			if (javaClass != null) {
-				JDOMAdaptor classAdaptor = (JDOMAdaptor) retrieveAdaptorFrom(javaClass);
-				if (classAdaptor != null)
-					return classAdaptor.getTypeResolutionCache();
-			}
-		}
-		return null;
-	}
-	/**
-	 * getValueIn method comment.
-	 */
-	public Object getValueIn(EObject object, EObject attribute) {
-		// At this point, this adapter does not dynamically compute any values,
-		// all values are pushed back into the target on the initial call.
-		return super.getValueIn(object, attribute);
-	}
-	/**
-	 * reflectValues - template method, subclasses override to pump values into target.
-	 * on entry: name, containing package (and qualified name), and document must be set.
-	 * JavaClass adaptor:
-	 *	- set modifiers
-	 *	- set name
-	 * 	- set type
-	 */
-	public boolean reflectValues() {
-		if (getSourceProject() != null && getSourceField() != null) {
-			setModifiers();
-			//	setNaming();
-			setType();
-			return true;
-		}
-		return false;
-	}
-	/**
-	 * setModifiers - set the attribute values related to modifiers here
-	 */
-	protected void setModifiers() {
-		Field javaFieldTarget = (Field) getTarget();
-		try {
-			String initializer = getFieldInitializerString();
-			if (initializer != null)
-				javaFieldTarget.setInitializer(createBlock(javaFieldTarget.getName(), initializer));
-			int flags = getSourceField().getFlags();
-			javaFieldTarget.setFinal(Flags.isFinal(flags));
-			javaFieldTarget.setStatic(Flags.isStatic(flags));
-			javaFieldTarget.setTransient(Flags.isTransient(flags));
-			javaFieldTarget.setVolatile(Flags.isVolatile(flags));
-			// Set visibility
-			if (Flags.isPublic(flags))
-				javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PUBLIC_LITERAL);
-			else if (Flags.isPrivate(flags))
-				javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PRIVATE_LITERAL);
-			else if (Flags.isProtected(flags))
-				javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PROTECTED_LITERAL);
-			else
-				javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PACKAGE_LITERAL);
-		} catch (JavaModelException npe) {
-			System.out.println(ResourceHandler.getString("Error_Introspecting_Flags_ERROR_", new Object[] {((XMIResource) javaFieldTarget.eResource()).getID(javaFieldTarget), npe.getMessage()})); //$NON-NLS-1$ = "error introspecting flags on {0}"
-		}
-	}
-	/**
-	 * setNaming - set the naming values here
-	 * 	- qualified name must be set first, that is the path to the real Java class
-	 *	- ID
-	 * 	- null UUID
-	 */
-	protected void setNaming() {
-		Field javaFieldTarget = (Field) getTarget();
-		JavaClass parent = javaFieldTarget.getContainingJavaClass();
-		((XMIResource) javaFieldTarget.eResource()).setID(javaFieldTarget, parent.getName() + "_" + javaFieldTarget.getName()); //$NON-NLS-1$
-	}
-	/**
-	 * setType - set our type here
-	 */
-	protected void setType() {
-		String typeName = null;
-		try {
-			typeName = typeNameFromSignature(getSourceField().getTypeSignature());
-		} catch (JavaModelException npe) {
-			// name stays null and we carry on
-		}
-		setFieldType(getTargetField(), typeName);
-	}
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaJDOMAdapterFactory.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaJDOMAdapterFactory.java
deleted file mode 100644
index 628a388..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaJDOMAdapterFactory.java
+++ /dev/null
@@ -1,205 +0,0 @@
-package org.eclipse.jem.internal.adapters.jdom;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaJDOMAdapterFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:33:53 $ 
- */
-import java.util.*;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jem.internal.java.adapters.JavaReflectionAdapterFactory;
-import org.eclipse.jem.internal.java.adapters.ReflectionAdaptor;
-/**
- * Insert the type's description here.
- * Creation date: (6/13/2000 1:20:31 PM)
- * @author: Administrator
- */
-public class JavaJDOMAdapterFactory extends JavaReflectionAdapterFactory {
-	
-	protected JavaReflectionSynchronizer synchronizer;
-	protected IJavaProject javaProject;
-/**
- * JavaJDOMAdapterFactory constructor comment.
- */
-public JavaJDOMAdapterFactory() {
-	super();
-}
-/**
- * JavaJDOMAdapterFactory constructor comment.
- */
-public JavaJDOMAdapterFactory(IJavaProject aJavaProject) {
-	this();
-	setJavaProject(aJavaProject);
-}
-protected ReflectionAdaptor createJavaClassAdaptor(Notifier target) {
-	return new JavaClassJDOMAdaptor(target, getJavaProject(), this);
-}
-protected ReflectionAdaptor createJavaFieldAdaptor(Notifier target) {
-	return new JavaFieldJDOMAdaptor(target, getJavaProject());
-}
-protected ReflectionAdaptor createJavaMethodAdaptor(Notifier target) {
-	return new JavaMethodJDOMAdaptor(target, getJavaProject());
-}
-/**
- *  Flush ALL adapters, worst case
- * We also want to ensure that the source types are also cleared
- * in this worst case scenario.
- */
-public void flushAll() {
-	doFlush(reflected.values(),true, true);
-}
-
-public List flushAllNoNotification() {
-	return doFlush(reflected.values(),true, false);
-}
-
-public void flushPackage(String packageName, boolean noFlushIfSourceFound) {
-	List adaptors = getReflectedForPackage(packageName, noFlushIfSourceFound);
-	doFlush(adaptors, true, true);
-}
-public List flushPackageNoNotification(String packageName, boolean noFlushIfSourceFound) {
-	List adaptors = getReflectedForPackage(packageName, noFlushIfSourceFound);
-	return doFlush(adaptors, true, false);
-}
-/**
- * Return a List of reflection adaptors that belong to 
- * the packageName.
- * @param packageName
- * @return
- */
-private List getReflectedForPackage(String packageName, boolean filterFoundTypes) {
-	if (packageName != null && !reflected.isEmpty()) {
-		isBusyIteratingReflected = true;
-		List result = null;
-		try {
-			Iterator it = reflected.entrySet().iterator();
-			Map.Entry entry;
-			String key;
-			JavaClassJDOMAdaptor adaptor;
-			while (it.hasNext()) {
-				entry = (Map.Entry) it.next();
-				adaptor = (JavaClassJDOMAdaptor) entry.getValue();
-				if (filterFoundTypes && adaptor.sourceType != null)
-					continue;
-				key = (String) entry.getKey();
-				if (key.startsWith(packageName) && key.indexOf('.', packageName.length() + 1) < 0) {
-					if (result == null)
-						result = new ArrayList();
-					result.add(entry.getValue());
-				}	
-			}
-		} finally {
-			finishedIteratingReflected();
-		}
-		if (result != null)
-			return result;
-	}
-	return Collections.EMPTY_LIST;
-}
-private List doFlush(Collection adaptors, boolean clearSourceType, boolean doNotify) {
-	if (!adaptors.isEmpty()) {
-		isBusyIteratingReflected = true;
-		List notifications = doNotify ? null : new ArrayList(adaptors.size());
-		try {
-			Notification notification;
-			Iterator i = adaptors.iterator();
-			JDOMAdaptor adaptor;
-			while (i.hasNext()) {
-				adaptor = (JDOMAdaptor) i.next();
-				if (doNotify)
-					adaptor.flushReflectedValuesIfNecessary(clearSourceType);
-				else {
-					notification = adaptor.flushReflectedValuesIfNecessaryNoNotification(clearSourceType);
-					if (notification != null)
-						notifications.add(notification);
-				}
-			}
-		} finally {
-			finishedIteratingReflected();
-		}
-		return notifications;
-	}
-	return Collections.EMPTY_LIST;
-}
-// Flush the adapter for a source object
-public void flushReflection(String source) {
-	JDOMAdaptor a = (JDOMAdaptor) reflected.get(source);
-	if (a != null)
-		a.flushReflectedValuesIfNecessary();
-}
-public Notification flushReflectionNoNotification(String source) {
-	JDOMAdaptor a = (JDOMAdaptor) reflected.get(source);
-	if (a != null)
-		return a.flushReflectedValuesIfNecessaryNoNotification(false);
-	return null;
-}
-/**
- * Insert the method's description here.
- * Creation date: (11/2/2000 3:02:31 PM)
- * @return org.eclipse.jdt.core.api.IJavaProject
- */
-public IJavaProject getJavaProject() {
-	return javaProject;
-}
-/**
- * Create a Java Model listener which will flush invalidated adaptors.
- * This will cause those adapters to re-reflect their target object's contents.
- */
-protected void initializeSynchronizer() {
-	synchronizer = new JavaReflectionSynchronizer(this);
-}
-public boolean isFactoryForType(Object type) {
-	return type.equals(TYPE_NAME);
-}
-/**
- * Notify all JDOMAdapters which use the same target ICompilationUnit
- * Creation date: (8/17/2001 4:45:43 PM)
- */
-public void notifyContentChanged(ICompilationUnit targetCU) {
-
-	if (targetCU == null || reflected.values()==null) return ;
-	isBusyIteratingReflected = true;
-	try {
-		Iterator i = reflected.values().iterator();
-		while (i.hasNext()) {
-			Object a = (ReflectionAdaptor) i.next() ;
-			if (a instanceof JDOMAdaptor) {
-				JDOMAdaptor adaptor = (JDOMAdaptor) a;
-				IMember reflectionSource = (IMember) adaptor.getReflectionSource();
-				ICompilationUnit adapterCU = null ;
-				if (reflectionSource != null) {
-					try {
-					   adapterCU = reflectionSource.getCompilationUnit();
-					} catch (Throwable e) {} 
-				}
-				if (adapterCU != null && targetCU.equals(adapterCU)) {
-			       adaptor.contentChanged();
-				}
-			}
-		}
-	} finally {
-		finishedIteratingReflected();  	
-	}
-}
-/**
- * Insert the method's description here.
- * Creation date: (11/2/2000 3:02:31 PM)
- * @param newJavaProject org.eclipse.jdt.core.IJavaProject
- */
-public void setJavaProject(IJavaProject newJavaProject) {
-	javaProject = newJavaProject;
-	if (newJavaProject != null && synchronizer == null)
-		initializeSynchronizer();
-}
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaMethodJDOMAdaptor.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaMethodJDOMAdaptor.java
deleted file mode 100644
index 038d685..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaMethodJDOMAdaptor.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package org.eclipse.jem.internal.adapters.jdom;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaMethodJDOMAdaptor.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:42 $ 
- */
-
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-import org.eclipse.jem.java.impl.MethodImpl;
-/**
- * Insert the type's description here.
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public class JavaMethodJDOMAdaptor extends JDOMAdaptor {
-	
-	protected IMethod sourceMethod = null;
-	protected IType parentType = null;
-public JavaMethodJDOMAdaptor(Notifier target, IJavaProject workingProject) {
-	super(target, workingProject);
-}
-/**
- * addExceptions - reflect our exception list
- */
-protected void addExceptions() {
-	try {
-		IMethod sourceMethod = getSourceMethod();
-		String[] exceptionNames = sourceMethod.getExceptionTypes();
-		List exceptions = ((MethodImpl) getTarget()).getJavaExceptionsGen();
-		for (int i = 0; i < exceptionNames.length; i++) {
-			exceptions.add(createJavaClassRef(typeNameFromSignature(exceptionNames[i])));
-		}
-	} catch (JavaModelException npe) {
-		// name stays null and we carry on
-	}
-}
-/**
- * addParameters - reflect our parms
- */
-protected void addParameters() {
-	String[] parmNames = new String[0], parmTypeNames = getSourceMethod().getParameterTypes();
-	try {
-		parmNames = getSourceMethod().getParameterNames();
-	} catch (JavaModelException npe) {
-		// name stays null and we carry on
-	}
-	// Temp hack to work around a JavaModel bug, above call on a Binary method may return null
-	if (parmNames == null || parmNames.length == 0) {
-		parmNames = new String[parmTypeNames.length];
-		for (int i = 0; i < parmTypeNames.length; i++) {
-			parmNames[i] = "arg" + i;//$NON-NLS-1$
-		}
-	}
-	MethodImpl javaMethodTarget = (MethodImpl) getTarget();
-	List params = javaMethodTarget.getParametersGen();
-	for (int i = 0; i < parmNames.length; i++) {
-		params.add(createJavaParameter(javaMethodTarget, parmNames[i], typeNameFromSignature(parmTypeNames[i])));
-	}
-}
-protected void clearSource() {
-	sourceMethod=null ;
-}
-protected JavaClass getContainingJavaClass() {
-	return ((Method)getTarget()).getContainingJavaClass();
-}
-/**
- * getParentType - return the IType which corresponds to our parent JavaClass
- * we're going to do this a lot, so cache it.
- */
-protected IType getParentType() {
-	if (parentType == null) {
-		Method targetMethod = (Method) getTarget();
-		JavaClass parentJavaClass = targetMethod.getContainingJavaClass();
-		JavaClassJDOMAdaptor pa = (JavaClassJDOMAdaptor) EcoreUtil.getAdapter(parentJavaClass.eAdapters(),ReadAdaptor.TYPE_KEY);
-		if (pa != null)
-			parentType = pa.getSourceType();
-	}
-	return parentType;
-}
-/**
- * getParmTypeSignatures - return an array of Strings (in Signature format) for our parameter types
- * 	For reflection purposes, we can only rely on our UUID, since our parms may
- *  not yet be known.
- * see org.eclipse.jdt.core.SourceMapper.convertTypeNamesToSigs()
- */
-protected String[] getParmTypeSignatures() {
-	Method javaMethodTarget = (Method) getTarget();
-	String[] typeNames = getTypeNamesFromMethodID(((XMIResource)javaMethodTarget.eResource()).getID(javaMethodTarget));
-	if (typeNames == null)
-		return emptyStringArray;
-	int n = typeNames.length;
-	if (n == 0)
-		return emptyStringArray;
-	String[] typeSigs = new String[n];
-	try {
-	for (int i = 0; i < n; ++i) {
-		typeSigs[i] = Signature.createTypeSignature(new String(typeNames[i]), getParentType().isBinary());
-	}
-	} catch (IllegalArgumentException e) {
-		e.printStackTrace();
-	}
-	return typeSigs;
-}
-public Object getReflectionSource() {
-	return getSourceMethod();
-}
-/**
- * getsourceMethod - return the IMethod which describes our implementing method
- */
-public IMethod getSourceMethod() {
-	if ((sourceMethod == null) || (!sourceMethod.exists())) {
-		try {
-			IType parent = this.getParentType();
-			if (parent != null) {
-				String[] parmNames = this.getParmTypeSignatures();
-				sourceMethod = JDOMSearchHelper.searchForMatchingMethod(parent, ((Method) getTarget()).getName(), parmNames);
-			}
-		} catch (JavaModelException e) {
-			//do nothing
-		}
-	}
-	return sourceMethod;
-}
-protected IType getType() {
-	return getParentType();
-}
-protected Map getTypeResolutionCache() {
-	Method method = (Method) getTarget();
-	if (method != null) {
-		JavaClass javaClass = method.getJavaClass();
-		if (javaClass != null) {
-			JDOMAdaptor classAdaptor = (JDOMAdaptor) retrieveAdaptorFrom(javaClass);
-			if (classAdaptor != null)
-				return classAdaptor.getTypeResolutionCache();
-		}
-	}
-	return null;
-}
-/**
- * getValueIn method comment.
- */
-public Object getValueIn(EObject object, EObject attribute) {
-	// At this point, this adapter does not dynamically compute any values,
-	// all values are pushed back into the target on the initial call.
-	return super.getValueIn(object, attribute);
-}
-/**
- * reflectValues - template method, subclasses override to pump values into target.
- * on entry: UUID, name, containing package (and qualified name), and document must be set.
- * Method adaptor:
- *	- set modifiers
- *	- set name
- * 	- set return type
- * 	- add parameters
- * 	- add exceptions
- */
-public boolean reflectValues() {
-	if (getSourceProject() != null && getSourceMethod() != null && sourceMethod.exists()) {
-		setGeneratedFlag();
-		setModifiers();
-		setNaming();
-		setReturnType();
-		addParameters();
-		addExceptions();
-		return true;
-	}
-	return false;
-}
-/**
- * Set the generated flag if @generated is found in the source.
- */
-protected void setGeneratedFlag() {
-	Method methodTarget = (Method) getTarget();
-	try {
-		String source = getSourceMethod().getSource();
-		if (source != null) {
-			int index = source.indexOf(Method.GENERATED_COMMENT_TAG);
-			if (index > 0)
-				methodTarget.setIsGenerated(true);
-		}
-	} catch (JavaModelException npe) {
-		//System.out.println(ResourceHandler.getString("Error_Setting_GenFlag_ERROR_", new Object[] {((XMIResource)methodTarget.eResource()).getID(methodTarget), npe.getMessage()}));  //$NON-NLS-1$ = "error setting the generated flag on {0}, exception: {1}"
-	}
-}
-/**
- * setModifiers - set the attribute values related to modifiers here
- */
-protected void setModifiers() {
-	Method methodTarget = (Method) getTarget();
-	try {
-		methodTarget.setFinal(Flags.isFinal(getSourceMethod().getFlags()));
-		methodTarget.setNative(Flags.isNative(getSourceMethod().getFlags()));
-		methodTarget.setStatic(Flags.isStatic(getSourceMethod().getFlags()));
-		methodTarget.setSynchronized(Flags.isSynchronized(getSourceMethod().getFlags()));
-		methodTarget.setConstructor(getSourceMethod().isConstructor());
-
-		JavaClass javaClass = getContainingJavaClass();
-		//Set abstract
-		if (javaClass.getKind().getValue() == TypeKind.INTERFACE)
-			methodTarget.setAbstract(true);
-		else
-			methodTarget.setAbstract(Flags.isAbstract(getSourceMethod().getFlags()));
-		// Set visibility
-		if (javaClass.getKind().getValue() == TypeKind.INTERFACE || Flags.isPublic(getSourceMethod().getFlags()))
-			methodTarget.setJavaVisibility(JavaVisibilityKind.PUBLIC_LITERAL);
-		else
-			if (Flags.isPrivate(getSourceMethod().getFlags()))
-				methodTarget.setJavaVisibility(JavaVisibilityKind.PRIVATE_LITERAL);
-			else
-				if (Flags.isProtected(getSourceMethod().getFlags()))
-					methodTarget.setJavaVisibility(JavaVisibilityKind.PROTECTED_LITERAL);
-				else
-					//Visibility must be package
-					methodTarget.setJavaVisibility(JavaVisibilityKind.PACKAGE_LITERAL);
-	} catch (JavaModelException npe) {
-		System.out.println(ResourceHandler.getString("Error_Introspecting_Flags_ERROR_", (new Object[] {((XMIResource)methodTarget.eResource()).getID(methodTarget), npe.getMessage()})));  //$NON-NLS-1$ = "error introspecting flags on {0}, exception: {1}"
-	}
-}
-/**
- * setNaming - set the naming values here
- * 	- qualified name must be set first, that is the path to the real Java class
- *	- ID
- * 	- name-based UUID
- */
-protected void setNaming() {
-	//
-	//	naming is currently a no-op since the name and UUID must be set prior to reflection
-	//	...and ID is redundant with UUID.
-	//	javaFieldTarget.setID(parent.getQualifiedName() + "_" + javaFieldTarget.getName());
-}
-/**
- * setType - set our return type here
- */
-protected void setReturnType() {
-	String typeName = null;
-	try {
-		typeName = typeNameFromSignature(getSourceMethod().getReturnType());
-	} catch (JavaModelException npe) {
-		// name stays null and we carry on
-	}
-	if (typeName != null) {
-		Method javaMethodTarget = (Method) getTarget();
-		javaMethodTarget.setEType(createJavaClassRef(typeName));
-	}
-}
-/**
- * Insert the method's description here.
- * Creation date: (10/3/2001 10:08:34 AM)
- * @param newSourceMethod org.eclipse.jdt.core.IMethod
- */
-public void setSourceMethod(org.eclipse.jdt.core.IMethod newSourceMethod) {
-	sourceMethod = newSourceMethod;
-}
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaModelListener.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaModelListener.java
deleted file mode 100644
index e9a9256..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaModelListener.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package org.eclipse.jem.internal.adapters.jdom;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaModelListener.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:17:42 $ 
- */
-
-import org.eclipse.jdt.core.*;
-
-/**
- * Insert the type's description here.
- * Creation date: (10/31/2000 1:13:12 PM)
- * @author: Administrator
- */
-public class JavaModelListener implements IElementChangedListener {
-	
-/**
- * JavaModelListener constructor comment.
- */
-public JavaModelListener() {
-	super();
-	JavaCore.addElementChangedListener(this, ElementChangedEvent.POST_CHANGE | ElementChangedEvent.POST_RECONCILE);
-}
-/**
- * One or more attributes of one or more elements maintained by
- * the Java model have changed. The specific details of the change
- * are described by the given <code>ElementChangedEvent</code>.
- *
- * @see ElementChangedEvent
- */
-public void elementChanged(ElementChangedEvent event) {
-	processDelta((IJavaElementDelta) event.getSource());
-}
-/**
- * Generically dispatch the children of the delta.
- *
- */
-protected void processChildren(IJavaElement element, IJavaElementDelta delta) {
-	IJavaElementDelta[] children = delta.getAffectedChildren();
-	for (int i = 0; i < children.length; i++) {
-		processDelta(children[i]);
-	}
-}
-/**
- * Source context has been changed.
- * Creation date: (8/17/2001 3:58:31 PM)
- * @param param org.eclipse.jdt.core.IJavaElementDelta
- */
-protected void processContentChanged(IJavaElementDelta delta) {
-	  // override to implement specific behavior
-}
-/**
- * Dispatch the detailed handling of an element changed event.
- *
- * @see ElementChangedEvent
- */
-public void processDelta(IJavaElementDelta delta) {
-	IJavaElement element = delta.getElement();
-	
-	switch (element.getElementType()) {
-		case IJavaElement.JAVA_MODEL :
-			processJavaElementChanged((IJavaModel) element, delta);
-			break;
-		case IJavaElement.JAVA_PROJECT :
-			processJavaElementChanged((IJavaProject) element, delta);
-			break;
-		case IJavaElement.PACKAGE_FRAGMENT_ROOT :
-			processJavaElementChanged((IPackageFragmentRoot) element, delta);
-			break;
-		case IJavaElement.PACKAGE_FRAGMENT :
-			processJavaElementChanged((IPackageFragment) element, delta);
-			break;
-		case IJavaElement.COMPILATION_UNIT :
-			processJavaElementChanged((ICompilationUnit) element, delta);
-			processContentChanged(delta) ;   
-			break;
-		case IJavaElement.CLASS_FILE :
-			processJavaElementChanged((IClassFile) element, delta);
-			break;
-		case IJavaElement.TYPE :
-			processJavaElementChanged((IType) element, delta);
-			break;
-		// Note: if we are to update the Method/Field adapters, we should process the
-		//       IJavaElement.METHOD and IJavaElement.FIELD 
-	}	
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IClassFile element, IJavaElementDelta delta) {
-	// override to implement specific behavior
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(ICompilationUnit element, IJavaElementDelta delta) {
-	processChildren(element, delta);
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IJavaModel element, IJavaElementDelta delta) {
-	processChildren(element, delta);
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IJavaProject element, IJavaElementDelta delta) {
-	processChildren(element, delta);
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IPackageFragment element, IJavaElementDelta delta) {
-	processChildren(element, delta);
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IPackageFragmentRoot element, IJavaElementDelta delta) {
-	processChildren(element, delta);
-}
-/**
- * Handle the change for a single element, children will be handled separately.
- *
- */
-protected void processJavaElementChanged(IType element, IJavaElementDelta delta) {
-	// override to implement specific behavior
-}
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaReflectionSynchronizer.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaReflectionSynchronizer.java
deleted file mode 100644
index 7eb682a..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/adapters/jdom/JavaReflectionSynchronizer.java
+++ /dev/null
@@ -1,388 +0,0 @@
-package org.eclipse.jem.internal.adapters.jdom;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaReflectionSynchronizer.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/20 00:44:17 $ 
- */
-
-import java.util.*;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.jdt.core.*;
-
-import org.eclipse.jem.internal.plugin.JavaPlugin;
-/**
- * Insert the type's description here.
- * Creation date: (11/1/2000 11:42:05 AM)
- * @author: Administrator
- */
-public class JavaReflectionSynchronizer extends JavaModelListener {
-	
-	private static final IPath CLASSPATH_PATH = new Path(".classpath"); //$NON-NLS-1$
-	protected JavaJDOMAdapterFactory fAdapterFactory;
-	protected boolean flushedAll = false;
-	protected List flushTypes = new ArrayList();
-	protected List notifications = new ArrayList();
-	/**
-	 * JavaReflectionSynchronizer constructor comment.
-	 */
-	public JavaReflectionSynchronizer(JavaJDOMAdapterFactory synchronizee) {
-		super();
-		fAdapterFactory = synchronizee;
-	}
-	/**
-	 * Tell the reflection factory to flush the passed IType
-	 */
-	protected Notification doFlush(IType element) {
-		return getAdapterFactory().flushReflectionNoNotification(element.getFullyQualifiedName());
-	}
-	protected void flush(IType element) {
-		if (!flushTypes.contains(element))
-			flushTypes.add(element);
-	}
-	protected void flushPackage(String packageName, boolean noFlushIfSourceFound) {
-		notifications.addAll(getAdapterFactory().flushPackageNoNotification(packageName, true));
-	}
-	protected JavaJDOMAdapterFactory getAdapterFactory() {
-		return fAdapterFactory;
-	}
-	private boolean isClassPathChange(IJavaElementDelta delta) {
-		int flags = delta.getFlags();
-		return (delta.getKind() == IJavaElementDelta.CHANGED && ((flags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) != 0) || ((flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0) || ((flags & IJavaElementDelta.F_REORDER) != 0));
-	}
-	/**
-	 * If the complation unit's content has changed, notify all adapters which point to it.
-	 * This change may not require a call to flush() if the structure of the entity has not changed.
-	 * Creation date: (8/17/2001 3:58:31 PM)
-	 * @param param org.eclipse.jdt.core.IJavaElementDelta
-	 */
-	public void processContentChanged(IJavaElementDelta delta) {
-		if (delta == null)
-			return;
-		// Any change will be notified, as changes to childrens may impact the text-location of this element.
-		IJavaElement element = delta.getElement();
-		if (element.getElementType() == IJavaElement.COMPILATION_UNIT)
-			if (((delta.getFlags()) & (IJavaElementDelta.F_CONTENT | IJavaElementDelta.F_MODIFIERS | IJavaElementDelta.F_CHILDREN | IJavaElementDelta.F_MOVED_TO | IJavaElementDelta.F_MOVED_FROM)) != 0) {
-				getAdapterFactory().notifyContentChanged((ICompilationUnit) element);
-			}
-	}
-	/**
-	 * Handle the change for a single element, children will be handled separately.
-	 *
-	 */
-	protected void processJavaElementChanged(ICompilationUnit element, IJavaElementDelta delta) {
-		if (!element.isWorkingCopy()) {
-			switch (delta.getKind()) {
-				case IJavaElementDelta.CHANGED : {						
-					if ((delta.getFlags() & IJavaElementDelta.F_PRIMARY_WORKING_COPY) != 0) {
-						try {
-							IType[] flushTypes = element.getAllTypes();
-							for (int i = 0; i < flushTypes.length; i++)
-								flush(flushTypes[i]);
-						} catch (JavaModelException e) {
-						}
-						
-					}
-					
-					break;
-				}
-				case IJavaElementDelta.ADDED :
-				case IJavaElementDelta.REMOVED : {
-					disAssociateSourcePlusInner(getFullNameFromElement(element));
-					return;
-				}
-			}
-			processChildren(element, delta);
-		}
-	}
-	/**
-	 * Handle the change for a single element, children will be handled separately.
-	 *
-	 */
-	protected void processJavaElementChanged(IJavaProject element, IJavaElementDelta delta) {
-		if (isInClasspath(element)) {
-			if (delta.getKind() == IJavaElementDelta.REMOVED) {
-				if (element.equals(getAdapterFactory().getJavaProject()))
-					stopSynchronizer();
-				else
-					flushAll(); //another dependent project has changed so flush all to be safe
-				return;
-			} else if (delta.getKind() == IJavaElementDelta.ADDED || isClasspathResourceChange(delta)) {
-				flushAll();
-				return;
-			}
-			processChildren(element, delta);
-		}
-	}
-	/**
-	 * Handle the change for a single element, children will be handled separately.
-	 */
-	protected void processJavaElementChanged(IClassFile element, IJavaElementDelta delta) {
-		int kind = delta.getKind();
-		if (kind == IJavaElementDelta.REMOVED || kind == IJavaElementDelta.ADDED) {
-			// It doesn't matter if totally removed or just moved somewhere else, we will clear out and remove the
-			// adapter because there could be a rename which would be a different class.
-			// Currently the element is already deleted and there is no way to find the types in the unit to remove.
-			// So instead we ask factory to remove all it any that start with it plus for inner classes.
-			disAssociateSourcePlusInner(getFullNameFromElement(element));
-			return; // Since the classfile was removed we don't need to process the children (actually the children list will be empty
-		}
-		IJavaElementDelta[] children = delta.getAffectedChildren();
-		for (int ii = 0; ii < children.length; ii++) {
-			processDelta(children[ii]);
-		}
-	}
-	/**
-	 * Method isClasspathResourceChange.
-	 * @param delta
-	 * @return boolean
-	 */
-	private boolean isClasspathResourceChange(IJavaElementDelta delta) {
-		IResourceDelta[] resources = delta.getResourceDeltas();
-		if (resources == null)
-			return false;
-		IPath path = null;
-		for (int i = 0; i < resources.length; i++) {
-			if (resources[i].getKind() == IResourceDelta.CHANGED) {
-				path = resources[i].getProjectRelativePath();
-				if (path.equals(CLASSPATH_PATH))
-					return true;
-			}
-		}
-		return false;
-	}
-	/**
-	 * Handle the change for a single element, children will be handled separately.
-	 *
-	 */
-	protected void processJavaElementChanged(IPackageFragmentRoot element, IJavaElementDelta delta) {
-		if (flushedAll)
-			return;
-		if (isClassPathChange(delta))
-			flushAll();
-		else
-			super.processJavaElementChanged(element, delta);
-	}
-	
-	/* 
-	 * We will force the flushing of all adaptors for the given package name.
-	 * This is necessary if a type was reflected prior to the package existing or
-	 * if the package is deleted.
-	 * @see org.eclipse.jem.internal.adapters.jdom.JavaModelListener#processJavaElementChanged(org.eclipse.jdt.core.IPackageFragment, org.eclipse.jdt.core.IJavaElementDelta)
-	 */
-	protected void processJavaElementChanged(IPackageFragment element, IJavaElementDelta delta) {
-		switch (delta.getKind()) {
-			case IJavaElementDelta.ADDED : {
-				if (delta.getAffectedChildren().length == 0)
-					flushPackage(delta.getElement().getElementName(), true);
-					break;
-			}
-			case IJavaElementDelta.REMOVED :{
-				if (delta.getAffectedChildren().length == 0)
-					getAdapterFactory().flushPackage(delta.getElement().getElementName(), false);
-					break;
-			}
-			default :
-				super.processJavaElementChanged(element, delta);
-		}
-	}
-
-	/**
-	 * Handle the change for a single element, children will be handled separately.
-	 *
-	 */
-	protected void processJavaElementChanged(IType element, IJavaElementDelta delta) {
-		int kind = delta.getKind();
-		if (kind == IJavaElementDelta.REMOVED || kind == IJavaElementDelta.ADDED) {
-			disAssociateSourcePlusInner(element.getFullyQualifiedName());
-		} else {
-			flush(element);
-			processChildren(element, delta);
-			// Note, if a method element or a field was changed, there may be delta.getAffectedChildren()
-			//       that will have to be processed if we are to update the JavaMethod/JavaField JDOMAdaptor s.	
-		}
-	}
-	/**
-	 * Given that an IType does not exists anymore, assume
-	 * that the type's name is package.filename (without the .java)
-	 * If we are wrong (if, then a rare case),  we will flush.
-	 * Next access will induce a reflection attempt.
-	 */
-	protected void processRemoveOrAdd(ICompilationUnit element) {
-		disAssociateSource(getFullNameFromElement(element));
-	}
-	protected String getFullNameFromElement(IJavaElement element) {
-		String name = element.getElementName();
-		if (element == null || name.length() <= 5 || !name.substring(name.length() - 5).equals(".java")) { //$NON-NLS-1$
-			// Should not be here, 
-			JavaPlugin.getDefault().getLogger().log("Invalid .java file: " + name, Level.FINE); //$NON-NLS-1$
-			// Make a guess, at worst case, nothing will come out of this.
-			int index = name.lastIndexOf("."); //$NON-NLS-1$
-			if (index >= 0)
-				name = name.substring(0, index) + ".java"; // rename the extension to .java //$NON-NLS-1$
-			else
-				name = name + ".java"; //$NON-NLS-1$
-		}
-		if (element.getParent().getElementName() == null || element.getParent().getElementName().length() == 0)
-			return name.substring(0, name.length() - 5);
-		else
-			return element.getParent().getElementName() + "." + name.substring(0, name.length() - 5); //$NON-NLS-1$
-	}
-	/**
-	 * Stop the synchronizer from listening to any more changes.
-	 */
-	public void stopSynchronizer() {
-		JavaCore.removeElementChangedListener(this);
-	}
-	/**
-	 * This method will check to see if a <code>javaProject</code> is a project in the
-	 * classpath of the adapterFactory java project.
-	 */
-	protected boolean isInClasspath(IJavaProject javaProject) {
-		IJavaProject adapterJavaProject = getAdapterFactory().getJavaProject();
-		if (javaProject.equals(adapterJavaProject))
-			return true;
-		return isInClasspath(javaProject, adapterJavaProject, true, new HashSet());
-	}
-	protected boolean isInClasspath(IJavaProject testProject, IJavaProject targetProject, boolean isFirstLevel, Set visited) {
-		if (visited.contains(targetProject))
-			return false;
-		visited.add(targetProject);
-		IClasspathEntry[] entries = null;
-		try {
-			entries = targetProject.getRawClasspath();
-		} catch (JavaModelException e) {
-			return false;
-		}
-		IClasspathEntry entry, resEntry;
-		IJavaProject proj = null;
-		List projects = null;
-		for (int i = 0; i < entries.length; i++) {
-			entry = entries[i];
-			if (entry.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
-				resEntry = JavaCore.getResolvedClasspathEntry(entry);
-				proj = getJavaProject(entry);
-				if (isFirstLevel || resEntry.isExported()) {
-					if (proj.equals(testProject))
-						return true;
-					else {
-						if (projects == null)
-							projects = new ArrayList();
-						projects.add(proj);
-					}
-				}
-			}
-		}
-		return isInClasspath(testProject, projects, false, visited);
-	}
-	protected boolean isInClasspath(IJavaProject testProject, List someJavaProjects, boolean isFirstLevel, Set visited) {
-		if (someJavaProjects == null)
-			return false;
-		int size = someJavaProjects.size();
-		IJavaProject javaProj = null;
-		for (int i = 0; i < size; i++) {
-			javaProj = (IJavaProject) someJavaProjects.get(i);
-			return isInClasspath(testProject, javaProj, isFirstLevel, visited);
-		}
-		return false;
-	}
-	protected IJavaProject getJavaProject(IClasspathEntry entry) {
-		IProject proj = getWorkspaceRoot().getProject(entry.getPath().segment(0));
-		if (proj != null)
-			return (IJavaProject) JavaCore.create(proj);
-		return null;
-	}
-	protected IWorkspaceRoot getWorkspaceRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-	/**
-	 * @see org.eclipse.jem.internal.adapters.jdom.JavaModelListener#elementChanged(ElementChangedEvent)
-	 */
-	public void elementChanged(ElementChangedEvent event) {
-		try {
-			flushTypes.clear();
-			notifications.clear();
-			super.elementChanged(event);
-			flushTypes();
-			processNotifications();
-		} finally {
-			flushedAll = false;
-			flushTypes.clear();
-			notifications.clear();
-		}
-	}
-	/**
-	 * 
-	 */
-	private void flushTypes() {
-		if (!flushTypes.isEmpty()) {
-			IType type = null;
-			Notification not;
-			for (int i = 0; i < flushTypes.size(); i++) {
-				type = (IType) flushTypes.get(i);
-				not = doFlush(type);
-				if (not != null)
-					notifications.add(not);
-			}
-		}
-	}
-	/**
-	 * @param notifications
-	 */
-	private void processNotifications() {
-		Notifier notifier;
-		Notification not;
-		for (int i = 0; i < notifications.size(); i++) {
-			not = (Notification) notifications.get(i);
-			notifier = (Notifier) not.getNotifier();
-			if (notifier != null)
-				try {
-					notifier.eNotify(not);
-				} catch (Exception e) {
-					JavaPlugin.getDefault().getLogger().log(e); //catch exceptions so all notifications are processed
-				} 
-		}
-	}
-	protected void disAssociateSource(String qualifiedName) {
-		Notification not = getAdapterFactory().disAssociateSource(qualifiedName, false);
-		if (not != null)
-			notifications.add(not);
-	}
-	protected void disAssociateSourcePlusInner(String qualifiedName) {
-		Notification not = getAdapterFactory().disAssociateSourcePlusInner(qualifiedName, false);
-		if (not != null)
-			notifications.add(not);
-	}
-	protected void flushAll() {
-		notifications.addAll(getAdapterFactory().flushAllNoNotification());
-		flushedAll = true;
-	}
-	/**
-	 * @see org.eclipse.jem.internal.adapters.jdom.JavaModelListener#processChildren(IJavaElement, IJavaElementDelta)
-	 */
-	protected void processChildren(IJavaElement element, IJavaElementDelta delta) {
-		if (!flushedAll)
-			super.processChildren(element, delta);
-	}
-	/**
-	 * @see org.eclipse.jem.internal.adapters.jdom.JavaModelListener#processDelta(IJavaElementDelta)
-	 */
-	public void processDelta(IJavaElementDelta delta) {
-		if (!flushedAll)
-			super.processDelta(delta);
-	}
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/IJavaProjectInfo.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/IJavaProjectInfo.java
deleted file mode 100644
index c898b1a..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/IJavaProjectInfo.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.jem.internal.plugin;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2001, 2002 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- */
-
-/**
- * Insert the type's description here.
- * Creation date: (05/07/01 10:06:28 PM)
- * @author: Administrator
- */
-public interface IJavaProjectInfo {
-public String getSourcePath();
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaEMFNature.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaEMFNature.java
deleted file mode 100644
index 3b4d0b6..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaEMFNature.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.eclipse.jem.internal.plugin;
-/***************************************************************************************************
- * Copyright (c) 2001, 2003 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
- **************************************************************************************************/
-/*
- * $RCSfile: JavaEMFNature.java,v $ $Revision: 1.5 $ $Date: 2004/03/06 18:39:45 $
- */
-
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import com.ibm.wtp.emf.workbench.*;
-import com.ibm.wtp.emf.workbench.nature.EMFNature;
-
-import org.eclipse.jem.internal.adapters.jdom.JavaJDOMAdapterFactory;
-import org.eclipse.jem.internal.java.adapters.JavaXMIFactoryImpl;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-
-public class JavaEMFNature extends EMFNature {
-	public static final String NATURE_ID = "org.eclipse.jem.workbench.JavaEMFNature";
-/**
- * JavaMOFNatureRuntime constructor comment.
- */
-public JavaEMFNature() {
-	super();
-}
-/**
- * Get a IJavaMOFNatureRuntime that corresponds to the supplied project.
- * @return IJavaMOFNatureRuntime
- * @param project com.ibm.itp.core.api.resources.IProject
- */
-public static JavaEMFNature createRuntime(IProject project) throws CoreException {
-	if(!hasRuntime(project))
-		addNatureToProject(project, NATURE_ID);
-
-	return getRuntime(project);
-}
-
-/**
- * Return the nature's ID.
- */
-public java.lang.String getNatureID() {
-	return NATURE_ID;
-}
-/**
- * Return the ID of the plugin that this nature is contained within.
- */
-protected java.lang.String getPluginID() {
-	return JavaPlugin.getDefault().getDescriptor().getUniqueIdentifier();
-}
-/**
- * Get a IJavaMOFNatureRuntime that corresponds to the supplied project.
- * First check for registered natures.
- * @return IJavaMOFNatureRuntime
- * @param project com.ibm.itp.core.api.resources.IProject
- */
-public static JavaEMFNature getRuntime(IProject project) {
-	JavaEMFNature nature = null;
-	List runtimes = EMFNature.getRegisteredRuntimes(project);
-	for (int i=0; i<runtimes.size(); i++) {
-		if (runtimes.get(i) instanceof JavaEMFNature)
-			nature = (JavaEMFNature) runtimes.get(i);
-	}
-	if (nature == null)
-		nature = primGetRuntime(project);
-	return nature;
-}
-/**
- * Return whether or not the project has a runtime created on it.
- * Check for registered natures first.
- * @return boolean
- * @param project com.ibm.itp.core.api.resources.IProject
- */
-public static boolean hasRuntime(IProject project) {
-	JavaEMFNature nature = null;
-	List runtimes = EMFNature.getRegisteredRuntimes(project);
-	for (int i=0; i<runtimes.size(); i++) {
-		if (runtimes.get(i) instanceof JavaEMFNature)
-			nature = (JavaEMFNature) runtimes.get(i);
-	}
-	if (nature == null)
-		return primHasRuntime(project);
-	else
-		return true;
-
-}
-/**
- * Get a IJavaMOFNatureRuntime that corresponds to the supplied project.
- * Do not check for other registered types.
- * @return IJavaMOFNatureRuntime
- * @param project com.ibm.itp.core.api.resources.IProject
- */
-public static JavaEMFNature primGetRuntime(IProject project) {
-	try {
-		return (JavaEMFNature) project.getNature(NATURE_ID);
-	} catch (CoreException e) {
-		return null;
-	}
-}
-/**
- * Return whether or not the project has a runtime created on it.
- * Do not check for registered nature ids.
- * @return boolean
- * @param project com.ibm.itp.core.api.resources.IProject
- */
-public static boolean primHasRuntime(IProject project) {
-	try {
-		return project.hasNature(NATURE_ID);
-	} catch (CoreException e) {
-		return false;
-	}
-}
-
-/**
- * primary contribute to context
- */
-public void primaryContributeToContext(EMFWorkbenchContextBase aNature) {
-	if (emfContext == aNature) return;
-	emfContext = aNature;
-	ResourceSet set = aNature.getResourceSet();
-	set.getResourceFactoryRegistry().getProtocolToFactoryMap().put(JavaXMIFactoryImpl.SCHEME, JavaXMIFactoryImpl.INSTANCE);	
-	WorkbenchURIConverter conv = (WorkbenchURIConverter) set.getURIConverter();
-	configureURIConverter(conv);
-	addAdapterFactories(set);	
-}
-
-/**
- * secondary contribute to context
- */
-public void secondaryContributeToContext(EMFWorkbenchContextBase aNature) {
-	primaryContributeToContext(aNature);
-}
-
-/**
- * Remove the project as a container from the converter and add
- * the source folder.
- */
-protected void configureURIConverter(WorkbenchURIConverter conv) {
-	conv.removeInputContainer(getProject());
-	conv.addInputContainer(getEMFRoot());
-}
-
-/**
- * Add Adaptor factories to aContext which is now
- * being used for this nature.
- */
-protected void addAdapterFactories(ResourceSet aSet) {
-	addJavaReflectionAdapterFactories(aSet);
-}
-
-protected void addJavaReflectionAdapterFactories(ResourceSet aSet) {
-	List factories = aSet.getAdapterFactories();
-	// The context may already have a JavaReflection adaptor factory, so remove it
-	if (!factories.isEmpty()) {
-		AdapterFactory factory = EcoreUtil.getAdapterFactory(factories, ReadAdaptor.TYPE_KEY);
-		if (factory != null)
-			factories.remove(factory);
-	}
-	// This should maybe be considered a logic error, but we can recover easily
-	factories.add(new JavaJDOMAdapterFactory(ProjectUtilities.getJavaProject(project)));
-}
-
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaPlugin.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaPlugin.java
deleted file mode 100644
index 9dc61c9..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaPlugin.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.jem.internal.plugin;
-/***************************************************************************************************
- * Copyright (c) 2001, 2003 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
- **************************************************************************************************/
-/*
- * $RCSfile: JavaPlugin.java,v $ $Revision: 1.4 $ $Date: 2004/02/24 19:33:35 $
- */
-
-import org.eclipse.core.runtime.*;
-
-import com.ibm.wtp.common.logger.proxy.Logger;
-import com.ibm.wtp.emf.workbench.plugin.EMFWorkbenchPlugin;
-import com.ibm.wtp.logger.proxyrender.EclipseLogger;
-
-import org.eclipse.jem.internal.adapters.jdom.JavaJDOMAdapterFactory;
-import org.eclipse.jem.internal.java.adapters.jdk.JavaJDKAdapterFactory;
-import org.eclipse.jem.java.impl.JavaRefFactoryImpl;
-
-/**
- * This is a top-level class of the java plugin tool.
- * 
- * @see AbstractUIPlugin for additional information on UI plugins
- */
-
-public class JavaPlugin extends Plugin {
-
-	private static JavaPlugin inst;
-	private Logger logger;
-
-	/**
-	 * Create the Java plugin and cache its default instance
-	 */
-	public JavaPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		inst = this;
-	}
-
-	public Logger getLogger() {
-		if (logger == null)
-			logger = EclipseLogger.getEclipseLogger(this);
-		return logger;
-	}
-
-	/**
-	 * Get the plugin singleton.
-	 */
-	static public JavaPlugin getDefault() {
-		return inst;
-	}
-
-	public void startup() throws CoreException {
-		JavaRefFactoryImpl.setReflectionAdapterFactoryClass(JavaJDOMAdapterFactory.class);
-		EMFWorkbenchPlugin.getPluginResourceSet().getAdapterFactories().add(new JavaJDKAdapterFactory());
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaProjectInfo.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaProjectInfo.java
deleted file mode 100644
index f8a625f..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/internal/plugin/JavaProjectInfo.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.jem.internal.plugin;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaProjectInfo.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:33:53 $ 
- */
-/**
- * Insert the type's description here.
- * Creation date: (05/07/01 10:09:26 PM)
- * @author: Administrator
- */
-public class JavaProjectInfo implements IJavaProjectInfo {
-	
-	public final static String DEFAULT_JAVA_OUTPUT_PATH = "bin";//$NON-NLS-1$
-	public final static String DEFAULT_SOURCE_PATH = "source";//$NON-NLS-1$
-	protected String sourcePath;
-/**
- * JavaProjectInfo constructor comment.
- */
-public JavaProjectInfo() {
-	super();
-}
-/**
- * Subclasses should override as necessary
- */
-protected String getDefaultSourcePath() {
-	return DEFAULT_SOURCE_PATH;
-}
-/**
- * Get the class path for the reciever. By default ask the template
- * @return java.lang.String
- */
-public String getSourcePath() {
-	if (sourcePath == null)
-		sourcePath = getDefaultSourcePath();
-	return sourcePath;
-}
-public void setSourcePath(String path) {
-	sourcePath = path;
-}
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ASTBoundResolver.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ASTBoundResolver.java
deleted file mode 100644
index f49ff80..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ASTBoundResolver.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: ASTBoundResolver.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/05 15:45:24 $ 
- */
-package org.eclipse.jem.workbench.utility;
-
-import org.eclipse.jdt.core.dom.*;
-import org.eclipse.jdt.core.dom.Name;
-import org.eclipse.jdt.core.dom.Type;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.PTName;
- 
-/**
- * This works on resolved AST nodes. If the nodes had not been resolved, this will return noting.
- * 
- * @since 1.0.0
- */
-public class ASTBoundResolver extends ParseTreeCreationFromAST.Resolver {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.workbench.utility.ParseTreeCreationFromAST.IResolver#resolveName(org.eclipse.jdt.core.dom.Name)
-	 */
-	public PTExpression resolveName(Name name) {
-		IBinding binding = name.resolveBinding();
-		if (binding == null)
-			return null;
-		
-		switch (binding.getKind()) {
-			case IBinding.TYPE:
-				String typename = getTypeName((ITypeBinding) binding);
-				PTName ptname = InstantiationFactory.eINSTANCE.createPTName();
-				ptname.setName(typename);
-				return ptname;
-			case IBinding.VARIABLE:
-				IVariableBinding variableBinding = (IVariableBinding) binding;
-				if (variableBinding.isField()) {
-					if (Modifier.isStatic(variableBinding.getModifiers())) {
-						PTFieldAccess fa = InstantiationFactory.eINSTANCE.createPTFieldAccess();
-						// If just a simple name, then it is like this.field, so no receiver. Not sure how to handle this yet.
-						if (name.isQualifiedName()) {
-							// There are parts before this one. Get them as an expression (either a name, or another field access)
-							fa.setReceiver(resolveName(((QualifiedName) name).getQualifier()));
-						}
-						fa.setField(variableBinding.getName());
-						return fa;
-					} else {
-						throwInvalidExpressionException("Not sure how to handle yet local field access of \""+variableBinding.getName()+"\"");
-//						push(new PushFieldVariable(variableId, getTypeSignature(declaringTypeBinding), fCounter));
-//						push(new PushThis(getEnclosingLevel(node, declaringTypeBinding)));
-//						storeInstruction();
-					}
-				} else {
-					throwInvalidExpressionException("Not sure how to handle yet local variable access of \""+variableBinding.getName()+"\"");
-//					push(new PushLocalVariable(variableId));
-				}				
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.workbench.utility.IResolver#resolveType(org.eclipse.jdt.core.dom.Type)
-	 */
-	public String resolveType(Type type) {
-		ITypeBinding binding = type.resolveBinding();
-		return (binding != null) ? getTypeName(binding) : null; 
-	}
-	
-	private String getTypeName(ITypeBinding typeBinding) {
-		StringBuffer name;
-		if (typeBinding.isArray()) {
-			name= new StringBuffer(getTypeName(typeBinding.getElementType()));
-			int dimensions= typeBinding.getDimensions();
-			for (int i= 0; i < dimensions; i++) {
-				name.append("[]"); //$NON-NLS-1$
-			}
-			return name.toString();
-		}
-		name= new StringBuffer(typeBinding.getName());
-		IPackageBinding packageBinding= typeBinding.getPackage();
-		typeBinding= typeBinding.getDeclaringClass();
-		while(typeBinding != null) {
-			name.insert(0, '$').insert(0, typeBinding.getName());
-			typeBinding= typeBinding.getDeclaringClass();
-		}
-		if (packageBinding != null && !packageBinding.isUnnamed()) {
-			name.insert(0, '.').insert(0, packageBinding.getName());
-		}
-		return name.toString();
-	}
-	
-
-}
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/JemProjectUtilities.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/JemProjectUtilities.java
deleted file mode 100644
index 4cf63b0..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/JemProjectUtilities.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package org.eclipse.jem.workbench.utility;
-/***************************************************************************************************
- * Copyright (c) 2001, 2003 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
- **************************************************************************************************/
-/*
- * $RCSfile: JemProjectUtilities.java,v $ $Revision: 1.3 $ $Date: 2004/03/06 18:39:45 $
- */
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.*;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaRefFactory;
-
-import com.ibm.wtp.emf.workbench.WorkbenchResourceHelperBase;
-import com.ibm.wtp.emf.workbench.plugin.EMFWorkbenchPlugin;
-
-public class JemProjectUtilities {
-
-	public static JavaClass getJavaClass(IFile aFile) {
-		if (aFile == null)
-			return null;
-		IProject project = aFile.getProject();
-		List folders = getSourceContainers(project);
-		folders.addAll(getLibraryContainers(project));
-		IContainer folder = null;
-		IPath folderPath, filePath, javaPath;
-		filePath = aFile.getProjectRelativePath();
-		if (folders != null) {
-			for (int i = 0; i < folders.size(); i++) {
-				folder = (IContainer) folders.get(i);
-				folderPath = folder.getProjectRelativePath();
-				int segments = filePath.matchingFirstSegments(folderPath);
-				if (segments > 0) {
-					javaPath = filePath.removeFirstSegments(segments);
-					javaPath = javaPath.removeFileExtension();
-					String qualifiedName = javaPath.toString().replace('/', '.');
-					return (JavaClass) JavaRefFactory.eINSTANCE.reflectType(qualifiedName, WorkbenchResourceHelperBase.getResourceSet(project));
-				}
-			}
-		}
-		return null;
-	}
-	
-	public static List getSourceContainers(IProject p) {
-		try {
-			List sourceContainers = new ArrayList();
-			List sourcePaths = getSourcePaths(p);
-			if (sourcePaths != null && !sourcePaths.isEmpty()) {
-				for (int i = 0; i < sourcePaths.size(); i++) {
-					IPath path = (IPath) sourcePaths.get(i);
-					if (path.isEmpty())
-						sourceContainers.add(p);
-					else
-						sourceContainers.add(p.getFolder(path));
-				}
-			}
-			return sourceContainers;
-		} catch (IllegalArgumentException ex) {
-			return Collections.EMPTY_LIST;
-		}
-	}
-	protected static List getSourcePaths(IProject p) {
-		IJavaProject javaProj = getJavaProject(p);
-		if (javaProj == null)
-			return null;
-		IClasspathEntry[] cp = null;
-		try {
-			cp = javaProj.getRawClasspath();
-		} catch (JavaModelException ex) {
-			EMFWorkbenchPlugin.getLogger().logError(ex);
-			return null;
-		}
-		List sourcePaths = new ArrayList();
-		for (int i = 0; i < cp.length; i++) {
-			if (cp[i].getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-				sourcePaths.add(cp[i].getPath().removeFirstSegments(1));
-			}
-		}
-		return sourcePaths;
-	}
-	
-	/**
-	 * return list of path that contain classes
-	 */
-	public static List getLibraryContainers(IProject p) {
-		try {
-			List libraryContainers = new ArrayList();
-			List libraryPaths = getlibraryPaths(p);
-			if (libraryPaths != null && !libraryPaths.isEmpty()) {
-				for (int i = 0; i < libraryPaths.size(); i++) {
-					IPath path = (IPath) libraryPaths.get(i);
-					if (path.isEmpty())
-						libraryContainers.add(p);
-					else
-						libraryContainers.add(p.getFolder(path));
-				}
-			}
-			return libraryContainers;
-		} catch (IllegalArgumentException ex) {
-			return Collections.EMPTY_LIST;
-		}
-	}
-	
-	/**
-	 * return list of path that may contain classes
-	 */
-	protected static List getlibraryPaths(IProject p) {
-		IJavaProject javaProj = getJavaProject(p);
-		if (javaProj == null)
-			return null;
-		IClasspathEntry[] cp = null;
-		try {
-			cp = javaProj.getRawClasspath();
-		} catch (JavaModelException ex) {
-			EMFWorkbenchPlugin.getLogger().logError(ex);
-			return null;
-		}
-		List libraryPaths = new ArrayList();
-		for (int i = 0; i < cp.length; i++) {
-			if (cp[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
-				libraryPaths.add(cp[i].getPath().removeFirstSegments(1));
-			}
-		}
-		return libraryPaths;
-	}
-	
-	public static IJavaProject getJavaProject(IProject p) {
-		try {
-			return (IJavaProject) p.getNature(JavaCore.NATURE_ID);
-		} catch (CoreException ignore) {
-			return null;
-		}
-	}
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ParseTreeCreationFromAST.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ParseTreeCreationFromAST.java
deleted file mode 100644
index 9f415f1..0000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ParseTreeCreationFromAST.java
+++ /dev/null
@@ -1,525 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: ParseTreeCreationFromAST.java,v $
- *  $Revision: 1.4 $  $Date: 2004/03/07 18:31:01 $ 
- */
-package org.eclipse.jem.workbench.utility;
-
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.jdt.core.dom.*;
-import org.eclipse.jdt.core.dom.Expression;
-
-import org.eclipse.jem.internal.instantiation.*;
- 
-/**
- * Create a parse tree from an AST node.
- * @since 1.0.0
- */
-public class ParseTreeCreationFromAST extends ASTVisitor {
-	protected final Resolver resolver;
-	protected PTExpression expression;	// Each visit (or endvisit) will put into expression the result of the visit if it produced an expression.
-	
-	/**
-	 * This is the abstract base class used by ParseTreeCreationFromAST to resolve the types to the appropriate
-	 * types (e.g. "String" to "java.lang.String"). 
-	 * 
-	 * @see org.eclipse.jem.workbench.utility.ParseTreeCreationFromAST
-	 * @since 1.0.0
-	 */
-	public static abstract class Resolver {
-		
-		/**
-		 * Resolve the Name. It can return either a PTName if it is just a classname,
-		 * or a PTFieldAccess if it resolves to a PTFieldAccess. The PTFieldAccess should
-		 * be complete. e.g we have class like:
-		 * <code>
-		 * 	package xyz; 
-		 * 	public class AClass {
-		 * 		public java.awt.Rectangle rect;
-		 * 	} 
-		 * </code>
-		 * Then a Name like <code>AClass.rect.x</code> should resolve to:
-		 * 
-		 * PTFieldAccess:
-		 * 	receiver: 
-		 * 		PTFieldAccess
-		 * 			receiver: xyz.AClass
-		 * 			field: "rect"
-		 * 	field: "x"
-		 *
-		 * Actually it can return any valid expression that has a value (i.e. it cannot be a method invocation with a <code>void</code> return type). 
-		 * 
-		 * @param name
-		 * @return Either a fully-qualified name (as a PTName) or a PTFieldAccess, any other type of expression.
-		 * 
-		 * @since 1.0.0
-		 */
-		public abstract PTExpression resolveName(Name name) throws InvalidExpressionException;
-		
-		/**
-		 * Resolve the type. If it is an array type return it in format "type[][]".
-		 * 
-		 * @param type
-		 * @return The type name, including brackets if array type.
-		 * 
-		 * @since 1.0.0
-		 */
-		public abstract String resolveType(Type type) throws InvalidExpressionException;
-		
-		/**
-		 * This is used by the resolver if it can't resolve for some reason. This will throw
-		 * an invalid expression exception which will be handled by the ParseTreeCreationFromAST.
-		 * 
-		 * @param msg Message to be put into the exception.
-		 * @throws InvalidExpressionException
-		 * 
-		 * @since 1.0.0
-		 */
-		protected final void throwInvalidExpressionException(String msg) throws InvalidExpressionException {
-			throw new InvalidExpressionException(msg);
-		}
-	}
-	
-	/*
-	 * When an invalid expression has been found this exception should be thrown. It will
-	 * be caught at the top and converted into an InvalidExpression and the rest of the parse tree will be
-	 * thrown away. 
-	 * 
-	 * The message will be a message as to why it is invalid.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected static class InvalidExpressionException extends IllegalArgumentException {
-		
-		/**
-		 * @param s The message to be used in the final invalid expression.
-		 * 
-		 * @since 1.0.0
-		 */
-		public InvalidExpressionException(String s) {
-			super(s);
-		}
-	}
-
-	/**
-	 * Construct with the given resolver.
-	 * 
-	 * @param resolver
-	 * 
-	 * @since 1.0.0
-	 */
-	public ParseTreeCreationFromAST(Resolver resolver) {
-		this.resolver = resolver;
-	}
-
-	/**
-	 * Process the AST Expression and return a PTExpression. If any part was invalid, then
-	 * only an PTInvalidExpression will be returned.
-	 * 
-	 * @param astExpression
-	 * @return The PTExpression.
-	 * 
-	 * @since 1.0.0
-	 */
-	public final PTExpression createExpression(Expression astExpression) {
-		try {
-			return perform(astExpression);
-		} catch (InvalidExpressionException e) {
-			// Create a msg that is formed of the exception message and the full init string.
-			String msg = MessageFormat.format("{0} - {1}", new Object[] {e.getLocalizedMessage(), astExpression.toString()});
-			PTInvalidExpression exp = InstantiationFactory.eINSTANCE.createPTInvalidExpression();
-			exp.setMessage(msg);
-			return exp;
-		}	
-	}
-	
-	/*
-	 * Visit the AST expression and get the ParseTree Expression.
-	 * This is used by the individual visits when parsing a tree.
-	 * It passes to the top method (createExpression), which can
-	 * handle the InvalidExpressionException.
-	 * 
-	 * If any visit doesn't return an expression, then an invalid
-	 * expression exception will be thrown to indicate this. If the
-	 * incoming expression is <code>null</code>, then return of <code>null</code> is ok because
-	 * this would be for an optional expression which didn't exist.
-	 * 
-	 * @return The new ParseTree Expression or <code>null</code> if incoming expression was null. 
-	 * 
-	 * @see createExpression(org.eclipse.jdt.core.dom.Expression)
-	 * @exception InvalidExpressionException
-	 * @since 1.0.0
-	 */
-	protected final PTExpression perform(Expression astExpression) {
-		if (astExpression != null) {
-			expression = null;
-			astExpression.accept(this);
-			if (expression == null)
-				throw new InvalidExpressionException(MessageFormat.format("Expression \"{0}\" is too complicated.", new Object[] {astExpression.toString()}));
-			return expression;
-		} else
-			return null;	// This is ok. It means an optional expression was being processed and the expression didn't exist.
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.ArrayAccess)
-	 */
-	public boolean visit(ArrayAccess node) {
-		PTArrayAccess aa = InstantiationFactory.eINSTANCE.createPTArrayAccess();
-		List indexes = aa.getIndexes();
-		Expression arrayExp = node;
-		while (arrayExp.getNodeType() == ASTNode.ARRAY_ACCESS) {
-			// Visit the index to get the index expression.
-			ArrayAccess array = (ArrayAccess) arrayExp; 
-			indexes.add(0, perform(array.getIndex()));	// We're trying to create the final expression from inside out, the indexes are created in reverse order.
-			arrayExp = array.getArray();
-		}
-		aa.setArray(perform(arrayExp));	// Final arrayExp is the true expression.
-		expression = aa;	// Set the return expression for this visit.
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.ArrayCreation)
-	 */
-	public boolean visit(ArrayCreation node) {
-		PTArrayCreation ac = InstantiationFactory.eINSTANCE.createPTArrayCreation();
-		ac.setType(resolver.resolveType(node.getType()));
-		List acDims = ac.getDimensions();
-		List nDims = node.dimensions();
-		int nsize = nDims.size();
-		for (int i = 0; i < nsize; i++) {
-			acDims.add(perform((Expression) nDims.get(i)));
-		}
-		ac.setInitializer((PTArrayInitializer) perform(node.getInitializer()));
-		expression = ac;
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.ArrayInitializer)
-	 */
-	public boolean visit(ArrayInitializer node) {
-		PTArrayInitializer ai = InstantiationFactory.eINSTANCE.createPTArrayInitializer();
-		List exps = node.expressions();
-		List aiexps = ai.getExpressions();
-		int nexp = exps.size();
-		for (int i = 0; i < nexp; i++) {
-			aiexps.add(perform((Expression) exps.get(i)));
-		}
-		expression = ai;
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.Assignment)
-	 */
-	public boolean visit(Assignment node) {
-		return false;	// We can't handle assignment.
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.BooleanLiteral)
-	 */
-	public boolean visit(BooleanLiteral node) {
-		PTBooleanLiteral bl = InstantiationFactory.eINSTANCE.createPTBooleanLiteral();
-		bl.setBooleanValue(node.booleanValue());
-		expression = bl;
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.CastExpression)
-	 */
-	public boolean visit(CastExpression node) {
-		PTCastExpression ct	= InstantiationFactory.eINSTANCE.createPTCastExpression();
-		ct.setType(resolver.resolveType(node.getType()));
-		ct.setExpression(perform(node.getExpression()));
-		expression = ct;
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.CharacterLiteral)
-	 */
-	public boolean visit(CharacterLiteral node) {
-		PTCharacterLiteral cl = InstantiationFactory.eINSTANCE.createPTCharacterLiteral();
-		cl.setEscapedValue(node.getEscapedValue());
-		cl.setCharValue(node.charValue());
-		expression = cl;
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.ClassInstanceCreation)
-	 */
-	public boolean visit(ClassInstanceCreation node) {
-		if (node.getAnonymousClassDeclaration() != null) {
-			throw new InvalidExpressionException("Cannot process anonymous declarations.");
-		}
-		PTClassInstanceCreation cic = InstantiationFactory.eINSTANCE.createPTClassInstanceCreation();
-		PTExpression type = perform(node.getName());
-		cic.setType(((PTName) type).getName());
-		List args = cic.getArguments();
-		List nargs = node.arguments();
-		int nsize = nargs.size();
-		for (int i = 0; i < nsize; i++) {
-			args.add(perform((Expression) nargs.get(i)));
-		}
-		expression = cic;
-		return false;
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.ConditionalExpression)
-	 */
-	public boolean visit(ConditionalExpression node) {
-		PTConditionalExpression ce = InstantiationFactory.eINSTANCE.createPTConditionalExpression();
-		ce.setCondition(perform(node.getExpression()));
-		ce.setTrue(perform(node.getThenExpression()));
-		ce.setFalse(perform(node.getElseExpression()));
-		expression = ce;
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.FieldAccess)
-	 */
-	public boolean visit(FieldAccess node) {
-		PTFieldAccess fa = InstantiationFactory.eINSTANCE.createPTFieldAccess();
-		fa.setReceiver(perform(node.getExpression()));
-		fa.setField(node.getName().getIdentifier());
-		expression = fa;
-		return false;
-	}
-
-	private static HashMap infixOperToParseOper;
-	private final PTInfixOperator getParseInfix(InfixExpression.Operator operator) {
-		if (prefixOperToParseOper == null) {
-			infixOperToParseOper = new HashMap(5);
-			infixOperToParseOper.put(InfixExpression.Operator.AND, PTInfixOperator.AND_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.CONDITIONAL_AND, PTInfixOperator.CONDITIONAL_AND_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.CONDITIONAL_OR, PTInfixOperator.CONDITIONAL_OR_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.DIVIDE, PTInfixOperator.DIVIDE_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.EQUALS, PTInfixOperator.EQUALS_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.GREATER_EQUALS, PTInfixOperator.GREATER_EQUALS_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.GREATER, PTInfixOperator.GREATER_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.LEFT_SHIFT, PTInfixOperator.LEFT_SHIFT_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.LESS_EQUALS, PTInfixOperator.LESS_EQUALS_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.LESS, PTInfixOperator.LESS_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.MINUS, PTInfixOperator.MINUS_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.NOT_EQUALS, PTInfixOperator.NOT_EQUALS_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.OR, PTInfixOperator.OR_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.PLUS, PTInfixOperator.PLUS_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.REMAINDER, PTInfixOperator.REMAINDER_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.RIGHT_SHIFT_SIGNED, PTInfixOperator.RIGHT_SHIFT_SIGNED_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.RIGHT_SHIFT_UNSIGNED, PTInfixOperator.RIGHT_SHIFT_UNSIGNED_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.TIMES, PTInfixOperator.TIMES_LITERAL);
-			infixOperToParseOper.put(InfixExpression.Operator.XOR, PTInfixOperator.XOR_LITERAL);
-		}
-		return (PTInfixOperator) infixOperToParseOper.get(operator);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.InfixExpression)
-	 */
-	public boolean visit(InfixExpression node) {
-		PTInfixExpression inf = InstantiationFactory.eINSTANCE.createPTInfixExpression();
-		inf.setLeftOperand(perform(node.getLeftOperand()));
-		PTInfixOperator inoper = getParseInfix(node.getOperator());
-		if (inoper == null) {
-			// It is not one we can handle.
-			throw new InvalidExpressionException(
-					MessageFormat.format("Operator \"{0}\" is too complicated to handle.", new Object[] { node.getOperator().toString() }));
-		}
-		inf.setOperator(inoper);
-		inf.setRightOperand(perform(node.getRightOperand()));
-		List eops = inf.getExtendedOperands();
-		List neops = node.extendedOperands();
-		int nsize = neops.size();
-		for (int i = 0; i < nsize; i++) {
-			eops.add(perform((Expression) neops.get(i)));
-		}
-		expression = inf;
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.InstanceofExpression)
-	 */
-	public boolean visit(InstanceofExpression node) {
-		PTInstanceof inof = InstantiationFactory.eINSTANCE.createPTInstanceof();
-		inof.setOperand(perform(node.getLeftOperand()));
-		inof.setType(resolver.resolveType(node.getRightOperand()));
-		expression = inof;
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.PostfixExpression)
-	 */
-	public boolean visit(PostfixExpression node) {
-		return false;	// We can't handle post fix.
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.MethodInvocation)
-	 */
-	public boolean visit(MethodInvocation node) {
-		PTMethodInvocation mi = InstantiationFactory.eINSTANCE.createPTMethodInvocation();
-		mi.setReceiver(perform(node.getExpression()));
-		mi.setName(node.getName().getIdentifier());
-		List args = mi.getArguments();
-		List nargs = node.arguments();
-		int nsize = nargs.size();
-		for (int i = 0; i < nsize; i++) {
-			args.add(perform((Expression) nargs.get(i)));
-		}
-		expression = mi;
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.NullLiteral)
-	 */
-	public boolean visit(NullLiteral node) {
-		expression = InstantiationFactory.eINSTANCE.createPTNullLiteral();
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.NumberLiteral)
-	 */
-	public boolean visit(NumberLiteral node) {
-		PTNumberLiteral nl = InstantiationFactory.eINSTANCE.createPTNumberLiteral();
-		nl.setToken(node.getToken());
-		expression = nl;
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.ParenthesizedExpression)
-	 */
-	public boolean visit(ParenthesizedExpression node) {
-		PTParenthesizedExpression pe = InstantiationFactory.eINSTANCE.createPTParenthesizedExpression();
-		pe.setExpression(perform(node.getExpression()));
-		expression = pe;
-		return false;
-	}
-
-	private static HashMap prefixOperToParseOper;
-	private final PTPrefixOperator getParsePrefix(PrefixExpression.Operator operator) {
-		if (prefixOperToParseOper == null) {
-			prefixOperToParseOper = new HashMap(5);
-			prefixOperToParseOper.put(PrefixExpression.Operator.COMPLEMENT, PTPrefixOperator.COMPLEMENT_LITERAL);
-			prefixOperToParseOper.put(PrefixExpression.Operator.MINUS, PTPrefixOperator.MINUS_LITERAL);
-			prefixOperToParseOper.put(PrefixExpression.Operator.NOT, PTPrefixOperator.NOT_LITERAL);
-			prefixOperToParseOper.put(PrefixExpression.Operator.PLUS, PTPrefixOperator.PLUS_LITERAL);
-		}
-		return (PTPrefixOperator) prefixOperToParseOper.get(operator);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.PrefixExpression)
-	 */
-	public boolean visit(PrefixExpression node) {
-		if (node.getOperand().getNodeType() == ASTNode.NUMBER_LITERAL) {
-			// For number literals we see if it is a "+" or "-" prefix, and if it is, we simply
-			// create a PTNumberLiteral with the operator already in it. It is a simplification.
-			// Any other operator we've left alone since those won't be decoded simply by the
-			// Number decoder.
-			// If not a number literal, then leave alone since needs to be handled as a prefix
-			// operation.
-			PrefixExpression.Operator operator = node.getOperator();
-			if (operator == PrefixExpression.Operator.PLUS || operator == PrefixExpression.Operator.MINUS) {
-				PTNumberLiteral nm = InstantiationFactory.eINSTANCE.createPTNumberLiteral();
-				nm.setToken(operator.toString() + ((NumberLiteral) node.getOperand()).getToken());
-				expression = nm;
-				return false;
-			}
-		}
-
-		PTPrefixExpression pe = InstantiationFactory.eINSTANCE.createPTPrefixExpression();
-		PTPrefixOperator ptoper = getParsePrefix(node.getOperator());
-		if (ptoper == null) {
-			// It is not one we can handle.
-			throw new InvalidExpressionException(
-				MessageFormat.format("Operator \"{0}\" is too complicated to handle.", new Object[] { node.getOperator().toString() }));
-		}
-		pe.setOperator(ptoper);
-		expression = pe;
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.QualifiedName)
-	 */
-	public boolean visit(QualifiedName node) {
-		expression = resolver.resolveName(node);
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.SimpleName)
-	 */
-	public boolean visit(SimpleName node) {
-		expression = resolver.resolveName(node);
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.StringLiteral)
-	 */
-	public boolean visit(StringLiteral node) {
-		PTStringLiteral sl = InstantiationFactory.eINSTANCE.createPTStringLiteral();
-		sl.setEscapedValue(node.getEscapedValue());
-		sl.setLiteralValue(node.getLiteralValue());
-		expression = sl;
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.SuperFieldAccess)
-	 */
-	public boolean visit(SuperFieldAccess node) {
-		return false;	// We can't handle post fix.
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.SuperMethodInvocation)
-	 */
-	public boolean visit(SuperMethodInvocation node) {
-		return false;	// We can't handle post fix.
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.ThisExpression)
-	 */
-	public boolean visit(ThisExpression node) {
-		return false;	// We should be able to handle something of "this", but not quite sure how.
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.TypeLiteral)
-	 */
-	public boolean visit(TypeLiteral node) {
-		PTTypeLiteral ptl = InstantiationFactory.eINSTANCE.createPTTypeLiteral();
-		ptl.setType(resolver.resolveType(node.getType()));
-		expression = ptl;
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem/.classpath b/plugins/org.eclipse.jem/.classpath
deleted file mode 100644
index 34cd7a6..0000000
--- a/plugins/org.eclipse.jem/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="javainst/"/>
-    <classpathentry kind="src" path="mofjava/"/>
-    <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jem/.cvsignore b/plugins/org.eclipse.jem/.cvsignore
deleted file mode 100644
index 60463af..0000000
--- a/plugins/org.eclipse.jem/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-build.xml
diff --git a/plugins/org.eclipse.jem/.options b/plugins/org.eclipse.jem/.options
deleted file mode 100644
index 493f8d4..0000000
--- a/plugins/org.eclipse.jem/.options
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.jem/debug/logtrace=default
-org.eclipse.jem/debug/logtracefile=default
-org.eclipse.jem/debug/loglevel=default
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem/.project b/plugins/org.eclipse.jem/.project
deleted file mode 100644
index 050e90e..0000000
--- a/plugins/org.eclipse.jem/.project
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jem</name>
-	<comment></comment>
-	<projects>
-		<project>com.ibm.wtp.common.util</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.emf.ecore.xmi</project>
-		<project>org.eclipse.jem.proxy</project>
-		<project>org.eclipse.osgi</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>com.ibm.rtp.tools.rose.builder</name>
-			<arguments>
-				<dictionary>
-					<key>rose</key>
-					<value></value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>com.ibm.rtp.tools.rose.toolnature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jem/about.html b/plugins/org.eclipse.jem/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/plugins/org.eclipse.jem/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem/about.ini b/plugins/org.eclipse.jem/about.ini
deleted file mode 100644
index a21a3ec..0000000
--- a/plugins/org.eclipse.jem/about.ini
+++ /dev/null
@@ -1,29 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
diff --git a/plugins/org.eclipse.jem/about.mappings b/plugins/org.eclipse.jem/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/plugins/org.eclipse.jem/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem/about.properties b/plugins/org.eclipse.jem/about.properties
deleted file mode 100644
index b3d5d8c..0000000
--- a/plugins/org.eclipse.jem/about.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem/about.properties,v $
-# $Revision: 1.2 $  $Date: 2003/10/28 16:15:25 $
-#
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Java EMF Model\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright IBM Corp. and others 2003.  All rights reserved.\n\
-Visit http://www.eclipse.org/vep
diff --git a/plugins/org.eclipse.jem/build.properties b/plugins/org.eclipse.jem/build.properties
deleted file mode 100644
index 7e5d034..0000000
--- a/plugins/org.eclipse.jem/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-src.excludes = **/.cvsignore
-source.mofjava.jar = mofjava/
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               javainst.jar,\
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               overrides/,\
-               mofjava.jar,\
-               .options
-jars.compile.order = mofjava.jar,\
-                     javainst.jar
-source.javainst.jar = javainst/
-src.includes = about.html,\
-               model/,\
-               rose/
diff --git a/plugins/org.eclipse.jem/eclipse32.gif b/plugins/org.eclipse.jem/eclipse32.gif
deleted file mode 100644
index f71a8f6..0000000
--- a/plugins/org.eclipse.jem/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ImplicitAllocation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ImplicitAllocation.java
deleted file mode 100644
index 22467ff..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ImplicitAllocation.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ImplicitAllocation.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Implicit Allocation</b></em>'.
- * <p>
- * This class is for an implicit allocation where the object comes from the feature of another object. It is the live Java value from the remote vm.
- * </p> 
- * @since 1.0.0
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This class is for an implicit allocation where the object comes from the feature of another object. It is the live Java value from the remote vm.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.ImplicitAllocation#getParent <em>Parent</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.ImplicitAllocation#getFeature <em>Feature</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getImplicitAllocation()
- * @model 
- * @generated
- */
-public interface ImplicitAllocation extends JavaAllocation{
-	/**
-	 * Returns the value of the '<em><b>Parent</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * The parent who is to give up the value.
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Parent</em>' reference.
-	 * @see #setParent(EObject)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getImplicitAllocation_Parent()
-	 * @model required="true"
-	 * @generated
-	 */
-	EObject getParent();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.ImplicitAllocation#getParent <em>Parent</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Parent</em>' reference.
-	 * @see #getParent()
-	 * @generated
-	 */
-	void setParent(EObject value);
-
-	/**
-	 * Returns the value of the '<em><b>Feature</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * The feature that will be used to query the live value.
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Feature</em>' reference.
-	 * @see #setFeature(EStructuralFeature)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getImplicitAllocation_Feature()
-	 * @model required="true"
-	 * @generated
-	 */
-	EStructuralFeature getFeature();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.ImplicitAllocation#getFeature <em>Feature</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Feature</em>' reference.
-	 * @see #getFeature()
-	 * @generated
-	 */
-	void setFeature(EStructuralFeature value);
-
-} // ImplicitAllocation
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InitStringAllocation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InitStringAllocation.java
deleted file mode 100644
index 261166a..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InitStringAllocation.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: InitStringAllocation.java,v $
- *  $Revision: 1.4 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Init String Allocation</b></em>'.
- * <p>
- * This is used when the allocation string can be parsed by the remote vm. It uses the allocString. 
- * </p>
- * @see org.eclipse.jem.internal.instantiation.JavaAllocation#getAllocString()
- * @since 1.0.0
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This is used when the allocation string can be parsed by the remote vm. It uses the allocString.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.InitStringAllocation#getInitString <em>Init String</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getInitStringAllocation()
- * @model 
- * @generated
- */
-public interface InitStringAllocation extends JavaAllocation{
-	/**
-	 * Returns the value of the '<em><b>Init String</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Init String</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * This is the initialization string for this object.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Init String</em>' attribute.
-	 * @see #setInitString(String)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getInitStringAllocation_InitString()
-	 * @model 
-	 * @generated
-	 */
-	String getInitString();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.InitStringAllocation#getInitString <em>Init String</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Init String</em>' attribute.
-	 * @see #getInitString()
-	 * @generated
-	 */
-	void setInitString(String value);
-
-} // InitStringAllocation
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InstantiationFactory.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InstantiationFactory.java
deleted file mode 100644
index 24d609f..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InstantiationFactory.java
+++ /dev/null
@@ -1,499 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: InstantiationFactory.java,v $
- *  $Revision: 1.5 $  $Date: 2004/01/28 17:37:58 $ 
- */
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.emf.ecore.EObject;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage
- * @generated
- */
-public interface InstantiationFactory extends EFactory{
-	/**
-	 * The singleton instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	InstantiationFactory eINSTANCE = new org.eclipse.jem.internal.instantiation.impl.InstantiationFactoryImpl();
-
-	/**
-	 * Returns a new object of class '<em>Init String Allocation</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Init String Allocation</em>'.
-	 * @generated
-	 */
-	InitStringAllocation createInitStringAllocation();
-
-	/**
-	 * Returns a new object of class '<em>Implicit Allocation</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Implicit Allocation</em>'.
-	 * @generated
-	 */
-	ImplicitAllocation createImplicitAllocation();
-
-	/**
-	 * Returns a new object of class '<em>Parse Tree Allocation</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Parse Tree Allocation</em>'.
-	 * @generated
-	 */
-	ParseTreeAllocation createParseTreeAllocation();
-
-	/**
-	 * Utility to create a parse tree allocation with an expression.
-	 * 
-	 * @param expression
-	 * @return The new parse tree allocation.
-	 * 
-	 * @since 1.0.0
-	 */
-	ParseTreeAllocation createParseTreeAllocation(PTExpression expression);
-	
-	/**
-	 * Returns a new object of class '<em>PT Array Access</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Array Access</em>'.
-	 * @generated
-	 */
-	PTArrayAccess createPTArrayAccess();
-
-	/**
-	 * Utility to create a new array access with the array and indexes.
-	 * 
-	 * @param array
-	 * @param indexes list of index expressions
-	 * @return The new array access.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTArrayAccess createPTArrayAccess(PTExpression array, List indexes);
-
-	/**
-	 * Returns a new object of class '<em>PT Array Creation</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Array Creation</em>'.
-	 * @generated
-	 */
-	PTArrayCreation createPTArrayCreation();
-
-	/**
-	 * Utility to create an array creation with the type, dimensions, and initializer.
-	 * 
-	 * @param type The type, e.g. <code>java.lang.String</code>.
-	 * @param dimensions The dimension expressions, <code>null</code> if no dimension expressions.
-	 * @param initializer The initializer, <code>null</code> if no initializer.
-	 * @return The new array creation.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTArrayCreation createPTArrayCreation(String type, List dimensions, PTArrayInitializer initializer);
-
-	/**
-	 * Returns a new object of class '<em>PT Array Initializer</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Array Initializer</em>'.
-	 * @generated
-	 */
-	PTArrayInitializer createPTArrayInitializer();
-
-	/**
-	 * Utility to create an array initilizer with initialize expessions.
-	 * @param expressions The list of expressions, <code>null</code> if empty array initializer.
-	 * @return The new array initializer.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTArrayInitializer createPTArrayInitializer(List expressions);
-
-	/**
-	 * Returns a new object of class '<em>PT Boolean Literal</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Boolean Literal</em>'.
-	 * @generated
-	 */
-	PTBooleanLiteral createPTBooleanLiteral();
-
-	/**
-	 * Utility to create a boolean literal with a given value.
-	 * @param booleanValue
-	 * @return The new boolean literal.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTBooleanLiteral createPTBooleanLiteral(boolean booleanValue);
-	
-	/**
-	 * Returns a new object of class '<em>PT Cast Expression</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Cast Expression</em>'.
-	 * @generated
-	 */
-	PTCastExpression createPTCastExpression();
-
-	/**
-	 * Utility to create a new cast expression.
-	 * 
-	 * @param type The type of the expression, e.g. <code>short</code> or <code>java.lang.String</code>
-	 * @param expression The expression being cast.
-	 * @return The new cast expression.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTCastExpression createPTCastExpression(String type, PTExpression expression);
-
-	/**
-	 * Returns a new object of class '<em>PT Character Literal</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Character Literal</em>'.
-	 * @generated
-	 */
-	PTCharacterLiteral createPTCharacterLiteral();
-
-	/**
-	 * Utility to create a new character literal.
-	 * @param escapedValue The escaped value to use.
-	 * @return The new character literal.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTCharacterLiteral createPTCharacterLiteral(String escapedValue);	
-
-	/**
-	 * Returns a new object of class '<em>PT Class Instance Creation</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Class Instance Creation</em>'.
-	 * @generated
-	 */
-	PTClassInstanceCreation createPTClassInstanceCreation();
-
-	/**
-	 * Utility to create a new class instance creation.
-	 * 
-	 * @param type The type of the class, e.g. <code>java.lang.String</code>.
-	 * @param arguments The list of expressions for arguments, or <code>null</code> for no args.
-	 * @return The new class instance creation.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTClassInstanceCreation createPTClassInstanceCreation(String type, List arguments);
-
-	/**
-	 * Returns a new object of class '<em>PT Conditional Expression</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Conditional Expression</em>'.
-	 * @generated
-	 */
-	PTConditionalExpression createPTConditionalExpression();
-
-	/**
-	 * Utility to create a new conditional expression with the condition and true/false expressions.
-	 * 
-	 * @param condition
-	 * @param trueExpressoin
-	 * @param falseExpression
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	PTConditionalExpression createPTConditionalExpression(PTExpression condition, PTExpression trueExpressoin, PTExpression falseExpression);
-
-	/**
-	 * Returns a new object of class '<em>PT Field Access</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Field Access</em>'.
-	 * @generated
-	 */
-	PTFieldAccess createPTFieldAccess();
-
-	/**
-	 * Utility to create a new field access with receiver and field name.
-	 * @param receiver The receiver expression, or <code>null</code> if none.
-	 * @param field The field name.
-	 * @return The new field access.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTFieldAccess createPTFieldAccess(PTExpression receiver, String field);	
-
-	/**
-	 * Returns a new object of class '<em>PT Infix Expression</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Infix Expression</em>'.
-	 * @generated
-	 */
-	PTInfixExpression createPTInfixExpression();
-
-	/**
-	 * Utility to create a new infix expression with the left/right/extended operands and the operator.
-	 * @param leftOperand
-	 * @param operator
-	 * @param rightOperand
-	 * @param extendedOperands The list of extended operands, or <code>null</code> if no extended operands.
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	PTInfixExpression createPTInfixExpression(PTExpression leftOperand, PTInfixOperator operator, PTExpression rightOperand, List extendedOperands);
-
-	/**
-	 * Returns a new object of class '<em>PT Instanceof</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Instanceof</em>'.
-	 * @generated
-	 */
-	PTInstanceof createPTInstanceof();
-
-	/**
-	 * Utility to create a new instance of with an operand and a type.
-	 * @param operand
-	 * @param type
-	 * @return The new instance of.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTInstanceof createPTInstanceof(PTExpression operand, String type);
-
-	/**
-	 * Returns a new object of class '<em>PT Method Invocation</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Method Invocation</em>'.
-	 * @generated
-	 */
-	PTMethodInvocation createPTMethodInvocation();
-
-	/**
-	 * Utility to create a new method invocation with a receiver, name, and arguments.
-	 * 
-	 * @param receiver The receiver expression, or <code>null</code> if no receiver.
-	 * @param name The name of the method.
-	 * @param arguments The list of argument expressions, or <code>null</code> if no arguments.
-	 * @return The new method invocation.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTMethodInvocation createPTMethodInvocation(PTExpression receiver, String name, List arguments);
-
-	/**
-	 * Returns a new object of class '<em>PT Name</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Name</em>'.
-	 * @generated
-	 */
-	PTName createPTName();
-
-	/**
-	 * Utility to create a new name with the name.
-	 * 
-	 * @param name
-	 * @return The new name.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTName createPTName(String name);
-
-	/**
-	 * Returns a new object of class '<em>PT Null Literal</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Null Literal</em>'.
-	 * @generated
-	 */
-	PTNullLiteral createPTNullLiteral();
-
-	/**
-	 * Returns a new object of class '<em>PT Number Literal</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Number Literal</em>'.
-	 * @generated
-	 */
-	PTNumberLiteral createPTNumberLiteral();
-
-	/**
-	 * Utility to create a new number literal with the token.
-	 * @param token
-	 * @return The new number literal.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTNumberLiteral createPTNumberLiteral(String token);
-
-	/**
-	 * Returns a new object of class '<em>PT Parenthesized Expression</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Parenthesized Expression</em>'.
-	 * @generated
-	 */
-	PTParenthesizedExpression createPTParenthesizedExpression();
-
-	/**
-	 * Utility to create a new parenthesized expression with the expression.
-	 * @param expression The expression that is in the parenthesis.
-	 * @return The new parenthesized expression.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTParenthesizedExpression createPTParenthesizedExpression(PTExpression expression);
-
-	/**
-	 * Returns a new object of class '<em>PT Prefix Expression</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Prefix Expression</em>'.
-	 * @generated
-	 */
-	PTPrefixExpression createPTPrefixExpression();
-
-	/**
-	 * Utility to create a new prefix expression given an operator and expression.
-	 * @param operator
-	 * @param expression
-	 * @return The new prefix expression.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTPrefixExpression createPTPrefixExpression(PTPrefixOperator operator, PTExpression expression);
-
-	/**
-	 * Returns a new object of class '<em>PT String Literal</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT String Literal</em>'.
-	 * @generated
-	 */
-	PTStringLiteral createPTStringLiteral();
-
-	/**
-	 * Utility to create a new string literal given the escaped literal string.
-	 * @param escapeLiteral
-	 * @return The new string literal.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTStringLiteral createPTStringLiteral(String escapeLiteral);
-
-	/**
-	 * Returns a new object of class '<em>PT This Literal</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT This Literal</em>'.
-	 * @generated
-	 */
-	PTThisLiteral createPTThisLiteral();
-
-	/**
-	 * Returns a new object of class '<em>PT Type Literal</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Type Literal</em>'.
-	 * @generated
-	 */
-	PTTypeLiteral createPTTypeLiteral();
-
-	/**
-	 * Utility to create a new type literal given the type.
-	 * @param type
-	 * @return The new type literal.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTTypeLiteral createPTTypeLiteral(String type);
-
-	/**
-	 * Returns a new object of class '<em>PT Invalid Expression</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Invalid Expression</em>'.
-	 * @generated
-	 */
-	PTInvalidExpression createPTInvalidExpression();
-
-	/**
-	 * Returns a new object of class '<em>PT Instance Reference</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>PT Instance Reference</em>'.
-	 * @generated
-	 */
-	PTInstanceReference createPTInstanceReference();
-
-	/**
-	 * Utility to create a new invalid expression with a message.
-	 * @param message
-	 * @return The new invalid expression.
-	 * 
-	 * @since 1.0.0
-	 */
-	PTInvalidExpression createPTInvalidExpression(String message);
-
-	/**
-	 * Returns a new object of class '<em>Implicit Allocation</em>' as
-	 * utility with a given init string.
-	 * @param initString - String to put into initialization.
-	 * @return The allocation initialized.
-	 * 
-	 * @since 1.0.0
-	 */
-	InitStringAllocation createInitStringAllocation(String initString);
-	
-	/**
-	 * Returns a new object of class '<em>Implicit Allocation</em>' as
-	 * utility with a given parent and feature.
-	 * @param parent The source to get the value from.
-	 * @param sf The feature on the source for the value.
-	 * @return The allocation initialized.
-	 * 
-	 * @since 1.0.0
-	 */
-	ImplicitAllocation createImplicitAllocation(EObject parent, EStructuralFeature sf);
-
-	/**
-	 * Returns the package supported by this factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the package supported by this factory.
-	 * @generated
-	 */
-	InstantiationPackage getInstantiationPackage();
-
-} //InstantiationFactory
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InstantiationPackage.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InstantiationPackage.java
deleted file mode 100644
index 4786715..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/InstantiationPackage.java
+++ /dev/null
@@ -1,1819 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: InstantiationPackage.java,v $
- *  $Revision: 1.6 $  $Date: 2004/01/28 17:37:58 $ 
- */
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- *   <li>each class,</li>
- *   <li>each feature of each class,</li>
- *   <li>each enum,</li>
- *   <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Java Instantiation Package
- * <!-- end-model-doc -->
- * @see org.eclipse.jem.internal.instantiation.InstantiationFactory
- * @generated
- */
-public interface InstantiationPackage extends EPackage{
-	/**
-	 * The package name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNAME = "instantiation"; //$NON-NLS-1$
-
-	/**
-	 * The package namespace URI.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_URI = "http:///org/eclipse/jem/internal/instantiation.ecore"; //$NON-NLS-1$
-
-	/**
-	 * The package namespace name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_PREFIX = "org.eclipse.jem.internal.instantiation"; //$NON-NLS-1$
-
-	/**
-	 * The singleton instance of the package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	InstantiationPackage eINSTANCE = org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl.init();
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.base.IJavaInstance <em>IJava Instance</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.base.IJavaInstance
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getIJavaInstance()
-	 * @generated
-	 */
-	int IJAVA_INSTANCE = 1;
-
-	/**
-	 * The number of structural features of the the '<em>IJava Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IJAVA_INSTANCE_FEATURE_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance <em>IJava Object Instance</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getIJavaObjectInstance()
-	 * @generated
-	 */
-	int IJAVA_OBJECT_INSTANCE = 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance <em>IJava Data Type Instance</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getIJavaDataTypeInstance()
-	 * @generated
-	 */
-	int IJAVA_DATA_TYPE_INSTANCE = 0;
-
-
-	/**
-	 * The number of structural features of the the '<em>IJava Data Type Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IJAVA_DATA_TYPE_INSTANCE_FEATURE_COUNT = IJAVA_INSTANCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>IJava Object Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IJAVA_OBJECT_INSTANCE_FEATURE_COUNT = IJAVA_INSTANCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.JavaAllocationImpl <em>Java Allocation</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.JavaAllocationImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getJavaAllocation()
-	 * @generated
-	 */
-	int JAVA_ALLOCATION = 3;
-
-	/**
-	 * The number of structural features of the the '<em>Java Allocation</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_ALLOCATION_FEATURE_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.InitStringAllocationImpl <em>Init String Allocation</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.InitStringAllocationImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getInitStringAllocation()
-	 * @generated
-	 */
-	int INIT_STRING_ALLOCATION = 4;
-
-	/**
-	 * The feature id for the '<em><b>Init String</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INIT_STRING_ALLOCATION__INIT_STRING = JAVA_ALLOCATION_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>Init String Allocation</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INIT_STRING_ALLOCATION_FEATURE_COUNT = JAVA_ALLOCATION_FEATURE_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.ImplicitAllocationImpl <em>Implicit Allocation</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.ImplicitAllocationImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getImplicitAllocation()
-	 * @generated
-	 */
-	int IMPLICIT_ALLOCATION = 5;
-
-	/**
-	 * The feature id for the '<em><b>Parent</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLICIT_ALLOCATION__PARENT = JAVA_ALLOCATION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Feature</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLICIT_ALLOCATION__FEATURE = JAVA_ALLOCATION_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>Implicit Allocation</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLICIT_ALLOCATION_FEATURE_COUNT = JAVA_ALLOCATION_FEATURE_COUNT + 2;
-
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.ParseTreeAllocationImpl <em>Parse Tree Allocation</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.ParseTreeAllocationImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getParseTreeAllocation()
-	 * @generated
-	 */
-	int PARSE_TREE_ALLOCATION = 6;
-
-	/**
-	 * The feature id for the '<em><b>Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARSE_TREE_ALLOCATION__EXPRESSION = JAVA_ALLOCATION_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>Parse Tree Allocation</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARSE_TREE_ALLOCATION_FEATURE_COUNT = JAVA_ALLOCATION_FEATURE_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTExpressionImpl <em>PT Expression</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTExpressionImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTExpression()
-	 * @generated
-	 */
-	int PT_EXPRESSION = 7;
-
-	/**
-	 * The number of structural features of the the '<em>PT Expression</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_EXPRESSION_FEATURE_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTArrayAccessImpl <em>PT Array Access</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTArrayAccessImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTArrayAccess()
-	 * @generated
-	 */
-	int PT_ARRAY_ACCESS = 8;
-
-	/**
-	 * The feature id for the '<em><b>Array</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_ARRAY_ACCESS__ARRAY = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Indexes</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_ARRAY_ACCESS__INDEXES = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>PT Array Access</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_ARRAY_ACCESS_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTArrayCreationImpl <em>PT Array Creation</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTArrayCreationImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTArrayCreation()
-	 * @generated
-	 */
-	int PT_ARRAY_CREATION = 9;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_ARRAY_CREATION__TYPE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Dimensions</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_ARRAY_CREATION__DIMENSIONS = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Initializer</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_ARRAY_CREATION__INITIALIZER = PT_EXPRESSION_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of structural features of the the '<em>PT Array Creation</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_ARRAY_CREATION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 3;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTArrayInitializerImpl <em>PT Array Initializer</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTArrayInitializerImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTArrayInitializer()
-	 * @generated
-	 */
-	int PT_ARRAY_INITIALIZER = 10;
-
-	/**
-	 * The feature id for the '<em><b>Expressions</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_ARRAY_INITIALIZER__EXPRESSIONS = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>PT Array Initializer</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_ARRAY_INITIALIZER_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTBooleanLiteralImpl <em>PT Boolean Literal</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTBooleanLiteralImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTBooleanLiteral()
-	 * @generated
-	 */
-	int PT_BOOLEAN_LITERAL = 11;
-
-	/**
-	 * The feature id for the '<em><b>Boolean Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_BOOLEAN_LITERAL__BOOLEAN_VALUE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>PT Boolean Literal</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_BOOLEAN_LITERAL_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTCastExpressionImpl <em>PT Cast Expression</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTCastExpressionImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTCastExpression()
-	 * @generated
-	 */
-	int PT_CAST_EXPRESSION = 12;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_CAST_EXPRESSION__TYPE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_CAST_EXPRESSION__EXPRESSION = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>PT Cast Expression</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_CAST_EXPRESSION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTCharacterLiteralImpl <em>PT Character Literal</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTCharacterLiteralImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTCharacterLiteral()
-	 * @generated
-	 */
-	int PT_CHARACTER_LITERAL = 13;
-
-	/**
-	 * The feature id for the '<em><b>Escaped Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_CHARACTER_LITERAL__ESCAPED_VALUE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Char Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_CHARACTER_LITERAL__CHAR_VALUE = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>PT Character Literal</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_CHARACTER_LITERAL_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTClassInstanceCreationImpl <em>PT Class Instance Creation</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTClassInstanceCreationImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTClassInstanceCreation()
-	 * @generated
-	 */
-	int PT_CLASS_INSTANCE_CREATION = 14;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_CLASS_INSTANCE_CREATION__TYPE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_CLASS_INSTANCE_CREATION__ARGUMENTS = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>PT Class Instance Creation</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_CLASS_INSTANCE_CREATION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTConditionalExpressionImpl <em>PT Conditional Expression</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTConditionalExpressionImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTConditionalExpression()
-	 * @generated
-	 */
-	int PT_CONDITIONAL_EXPRESSION = 15;
-
-	/**
-	 * The feature id for the '<em><b>Condition</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_CONDITIONAL_EXPRESSION__CONDITION = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>True</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_CONDITIONAL_EXPRESSION__TRUE = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>False</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_CONDITIONAL_EXPRESSION__FALSE = PT_EXPRESSION_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of structural features of the the '<em>PT Conditional Expression</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_CONDITIONAL_EXPRESSION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 3;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTFieldAccessImpl <em>PT Field Access</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTFieldAccessImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTFieldAccess()
-	 * @generated
-	 */
-	int PT_FIELD_ACCESS = 16;
-
-	/**
-	 * The feature id for the '<em><b>Receiver</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_FIELD_ACCESS__RECEIVER = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Field</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_FIELD_ACCESS__FIELD = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>PT Field Access</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_FIELD_ACCESS_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTInfixExpressionImpl <em>PT Infix Expression</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTInfixExpressionImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTInfixExpression()
-	 * @generated
-	 */
-	int PT_INFIX_EXPRESSION = 17;
-
-	/**
-	 * The feature id for the '<em><b>Left Operand</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_INFIX_EXPRESSION__LEFT_OPERAND = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Operator</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_INFIX_EXPRESSION__OPERATOR = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Right Operand</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_INFIX_EXPRESSION__RIGHT_OPERAND = PT_EXPRESSION_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Extended Operands</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_INFIX_EXPRESSION__EXTENDED_OPERANDS = PT_EXPRESSION_FEATURE_COUNT + 3;
-
-	/**
-	 * The number of structural features of the the '<em>PT Infix Expression</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_INFIX_EXPRESSION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 4;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTInstanceofImpl <em>PT Instanceof</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTInstanceofImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTInstanceof()
-	 * @generated
-	 */
-	int PT_INSTANCEOF = 18;
-
-	/**
-	 * The feature id for the '<em><b>Operand</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_INSTANCEOF__OPERAND = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_INSTANCEOF__TYPE = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>PT Instanceof</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_INSTANCEOF_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTMethodInvocationImpl <em>PT Method Invocation</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTMethodInvocationImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTMethodInvocation()
-	 * @generated
-	 */
-	int PT_METHOD_INVOCATION = 19;
-
-	/**
-	 * The feature id for the '<em><b>Receiver</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_METHOD_INVOCATION__RECEIVER = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_METHOD_INVOCATION__NAME = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_METHOD_INVOCATION__ARGUMENTS = PT_EXPRESSION_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of structural features of the the '<em>PT Method Invocation</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_METHOD_INVOCATION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 3;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTNameImpl <em>PT Name</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTNameImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTName()
-	 * @generated
-	 */
-	int PT_NAME = 20;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_NAME__NAME = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>PT Name</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_NAME_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTNullLiteralImpl <em>PT Null Literal</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTNullLiteralImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTNullLiteral()
-	 * @generated
-	 */
-	int PT_NULL_LITERAL = 21;
-
-	/**
-	 * The number of structural features of the the '<em>PT Null Literal</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_NULL_LITERAL_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTNumberLiteralImpl <em>PT Number Literal</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTNumberLiteralImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTNumberLiteral()
-	 * @generated
-	 */
-	int PT_NUMBER_LITERAL = 22;
-
-	/**
-	 * The feature id for the '<em><b>Token</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_NUMBER_LITERAL__TOKEN = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>PT Number Literal</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_NUMBER_LITERAL_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTParenthesizedExpressionImpl <em>PT Parenthesized Expression</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTParenthesizedExpressionImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTParenthesizedExpression()
-	 * @generated
-	 */
-	int PT_PARENTHESIZED_EXPRESSION = 23;
-
-	/**
-	 * The feature id for the '<em><b>Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_PARENTHESIZED_EXPRESSION__EXPRESSION = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>PT Parenthesized Expression</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_PARENTHESIZED_EXPRESSION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTPrefixExpressionImpl <em>PT Prefix Expression</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTPrefixExpressionImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTPrefixExpression()
-	 * @generated
-	 */
-	int PT_PREFIX_EXPRESSION = 24;
-
-	/**
-	 * The feature id for the '<em><b>Operator</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_PREFIX_EXPRESSION__OPERATOR = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_PREFIX_EXPRESSION__EXPRESSION = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>PT Prefix Expression</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_PREFIX_EXPRESSION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTStringLiteralImpl <em>PT String Literal</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTStringLiteralImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTStringLiteral()
-	 * @generated
-	 */
-	int PT_STRING_LITERAL = 25;
-
-	/**
-	 * The feature id for the '<em><b>Escaped Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_STRING_LITERAL__ESCAPED_VALUE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Literal Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_STRING_LITERAL__LITERAL_VALUE = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>PT String Literal</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_STRING_LITERAL_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTThisLiteralImpl <em>PT This Literal</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTThisLiteralImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTThisLiteral()
-	 * @generated
-	 */
-	int PT_THIS_LITERAL = 26;
-
-	/**
-	 * The number of structural features of the the '<em>PT This Literal</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_THIS_LITERAL_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTTypeLiteralImpl <em>PT Type Literal</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTTypeLiteralImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTTypeLiteral()
-	 * @generated
-	 */
-	int PT_TYPE_LITERAL = 27;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_TYPE_LITERAL__TYPE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>PT Type Literal</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_TYPE_LITERAL_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTInvalidExpressionImpl <em>PT Invalid Expression</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTInvalidExpressionImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTInvalidExpression()
-	 * @generated
-	 */
-	int PT_INVALID_EXPRESSION = 28;
-
-	/**
-	 * The feature id for the '<em><b>Message</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_INVALID_EXPRESSION__MESSAGE = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>PT Invalid Expression</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_INVALID_EXPRESSION_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.impl.PTInstanceReferenceImpl <em>PT Instance Reference</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTInstanceReferenceImpl
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTInstanceReference()
-	 * @generated
-	 */
-	int PT_INSTANCE_REFERENCE = 29;
-
-	/**
-	 * The feature id for the '<em><b>Object</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_INSTANCE_REFERENCE__OBJECT = PT_EXPRESSION_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>PT Instance Reference</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PT_INSTANCE_REFERENCE_FEATURE_COUNT = PT_EXPRESSION_FEATURE_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.PTInfixOperator <em>PT Infix Operator</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.PTInfixOperator
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTInfixOperator()
-	 * @generated
-	 */
-	int PT_INFIX_OPERATOR = 30;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jem.internal.instantiation.PTPrefixOperator <em>PT Prefix Operator</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.internal.instantiation.PTPrefixOperator
-	 * @see org.eclipse.jem.internal.instantiation.impl.InstantiationPackageImpl#getPTPrefixOperator()
-	 * @generated
-	 */
-	int PT_PREFIX_OPERATOR = 31;
-
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance <em>IJava Object Instance</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>IJava Object Instance</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance
-	 * @model instanceClass="org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance" 
-	 * @generated
-	 */
-	EClass getIJavaObjectInstance();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.JavaAllocation <em>Java Allocation</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Java Allocation</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.JavaAllocation
-	 * @generated
-	 */
-	EClass getJavaAllocation();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.InitStringAllocation <em>Init String Allocation</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Init String Allocation</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.InitStringAllocation
-	 * @generated
-	 */
-	EClass getInitStringAllocation();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.InitStringAllocation#getInitString <em>Init String</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Init String</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.InitStringAllocation#getInitString()
-	 * @see #getInitStringAllocation()
-	 * @generated
-	 */
-	EAttribute getInitStringAllocation_InitString();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.ImplicitAllocation <em>Implicit Allocation</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Implicit Allocation</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.ImplicitAllocation
-	 * @generated
-	 */
-	EClass getImplicitAllocation();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.jem.internal.instantiation.ImplicitAllocation#getParent <em>Parent</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Parent</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.ImplicitAllocation#getParent()
-	 * @see #getImplicitAllocation()
-	 * @generated
-	 */
-	EReference getImplicitAllocation_Parent();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.jem.internal.instantiation.ImplicitAllocation#getFeature <em>Feature</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Feature</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.ImplicitAllocation#getFeature()
-	 * @see #getImplicitAllocation()
-	 * @generated
-	 */
-	EReference getImplicitAllocation_Feature();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.ParseTreeAllocation <em>Parse Tree Allocation</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Parse Tree Allocation</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.ParseTreeAllocation
-	 * @generated
-	 */
-	EClass getParseTreeAllocation();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.ParseTreeAllocation#getExpression <em>Expression</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Expression</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.ParseTreeAllocation#getExpression()
-	 * @see #getParseTreeAllocation()
-	 * @generated
-	 */
-	EReference getParseTreeAllocation_Expression();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTExpression <em>PT Expression</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Expression</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTExpression
-	 * @generated
-	 */
-	EClass getPTExpression();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTArrayAccess <em>PT Array Access</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Array Access</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTArrayAccess
-	 * @generated
-	 */
-	EClass getPTArrayAccess();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTArrayAccess#getArray <em>Array</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Array</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTArrayAccess#getArray()
-	 * @see #getPTArrayAccess()
-	 * @generated
-	 */
-	EReference getPTArrayAccess_Array();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.instantiation.PTArrayAccess#getIndexes <em>Indexes</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Indexes</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTArrayAccess#getIndexes()
-	 * @see #getPTArrayAccess()
-	 * @generated
-	 */
-	EReference getPTArrayAccess_Indexes();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTArrayCreation <em>PT Array Creation</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Array Creation</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTArrayCreation
-	 * @generated
-	 */
-	EClass getPTArrayCreation();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getType <em>Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Type</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTArrayCreation#getType()
-	 * @see #getPTArrayCreation()
-	 * @generated
-	 */
-	EAttribute getPTArrayCreation_Type();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getDimensions <em>Dimensions</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Dimensions</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTArrayCreation#getDimensions()
-	 * @see #getPTArrayCreation()
-	 * @generated
-	 */
-	EReference getPTArrayCreation_Dimensions();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getInitializer <em>Initializer</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Initializer</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTArrayCreation#getInitializer()
-	 * @see #getPTArrayCreation()
-	 * @generated
-	 */
-	EReference getPTArrayCreation_Initializer();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTArrayInitializer <em>PT Array Initializer</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Array Initializer</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTArrayInitializer
-	 * @generated
-	 */
-	EClass getPTArrayInitializer();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.instantiation.PTArrayInitializer#getExpressions <em>Expressions</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Expressions</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTArrayInitializer#getExpressions()
-	 * @see #getPTArrayInitializer()
-	 * @generated
-	 */
-	EReference getPTArrayInitializer_Expressions();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTBooleanLiteral <em>PT Boolean Literal</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Boolean Literal</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTBooleanLiteral
-	 * @generated
-	 */
-	EClass getPTBooleanLiteral();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTBooleanLiteral#isBooleanValue <em>Boolean Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Boolean Value</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTBooleanLiteral#isBooleanValue()
-	 * @see #getPTBooleanLiteral()
-	 * @generated
-	 */
-	EAttribute getPTBooleanLiteral_BooleanValue();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTCastExpression <em>PT Cast Expression</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Cast Expression</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTCastExpression
-	 * @generated
-	 */
-	EClass getPTCastExpression();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTCastExpression#getType <em>Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Type</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTCastExpression#getType()
-	 * @see #getPTCastExpression()
-	 * @generated
-	 */
-	EAttribute getPTCastExpression_Type();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTCastExpression#getExpression <em>Expression</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Expression</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTCastExpression#getExpression()
-	 * @see #getPTCastExpression()
-	 * @generated
-	 */
-	EReference getPTCastExpression_Expression();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTCharacterLiteral <em>PT Character Literal</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Character Literal</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTCharacterLiteral
-	 * @generated
-	 */
-	EClass getPTCharacterLiteral();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getEscapedValue <em>Escaped Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Escaped Value</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getEscapedValue()
-	 * @see #getPTCharacterLiteral()
-	 * @generated
-	 */
-	EAttribute getPTCharacterLiteral_EscapedValue();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getCharValue <em>Char Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Char Value</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getCharValue()
-	 * @see #getPTCharacterLiteral()
-	 * @generated
-	 */
-	EAttribute getPTCharacterLiteral_CharValue();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTClassInstanceCreation <em>PT Class Instance Creation</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Class Instance Creation</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTClassInstanceCreation
-	 * @generated
-	 */
-	EClass getPTClassInstanceCreation();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTClassInstanceCreation#getType <em>Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Type</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTClassInstanceCreation#getType()
-	 * @see #getPTClassInstanceCreation()
-	 * @generated
-	 */
-	EAttribute getPTClassInstanceCreation_Type();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.instantiation.PTClassInstanceCreation#getArguments <em>Arguments</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Arguments</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTClassInstanceCreation#getArguments()
-	 * @see #getPTClassInstanceCreation()
-	 * @generated
-	 */
-	EReference getPTClassInstanceCreation_Arguments();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression <em>PT Conditional Expression</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Conditional Expression</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTConditionalExpression
-	 * @generated
-	 */
-	EClass getPTConditionalExpression();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getCondition <em>Condition</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Condition</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTConditionalExpression#getCondition()
-	 * @see #getPTConditionalExpression()
-	 * @generated
-	 */
-	EReference getPTConditionalExpression_Condition();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getTrue <em>True</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>True</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTConditionalExpression#getTrue()
-	 * @see #getPTConditionalExpression()
-	 * @generated
-	 */
-	EReference getPTConditionalExpression_True();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getFalse <em>False</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>False</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTConditionalExpression#getFalse()
-	 * @see #getPTConditionalExpression()
-	 * @generated
-	 */
-	EReference getPTConditionalExpression_False();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTFieldAccess <em>PT Field Access</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Field Access</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTFieldAccess
-	 * @generated
-	 */
-	EClass getPTFieldAccess();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTFieldAccess#getReceiver <em>Receiver</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Receiver</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTFieldAccess#getReceiver()
-	 * @see #getPTFieldAccess()
-	 * @generated
-	 */
-	EReference getPTFieldAccess_Receiver();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTFieldAccess#getField <em>Field</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Field</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTFieldAccess#getField()
-	 * @see #getPTFieldAccess()
-	 * @generated
-	 */
-	EAttribute getPTFieldAccess_Field();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression <em>PT Infix Expression</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Infix Expression</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTInfixExpression
-	 * @generated
-	 */
-	EClass getPTInfixExpression();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getLeftOperand <em>Left Operand</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Left Operand</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTInfixExpression#getLeftOperand()
-	 * @see #getPTInfixExpression()
-	 * @generated
-	 */
-	EReference getPTInfixExpression_LeftOperand();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getOperator <em>Operator</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Operator</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTInfixExpression#getOperator()
-	 * @see #getPTInfixExpression()
-	 * @generated
-	 */
-	EAttribute getPTInfixExpression_Operator();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getRightOperand <em>Right Operand</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Right Operand</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTInfixExpression#getRightOperand()
-	 * @see #getPTInfixExpression()
-	 * @generated
-	 */
-	EReference getPTInfixExpression_RightOperand();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getExtendedOperands <em>Extended Operands</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Extended Operands</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTInfixExpression#getExtendedOperands()
-	 * @see #getPTInfixExpression()
-	 * @generated
-	 */
-	EReference getPTInfixExpression_ExtendedOperands();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTInstanceof <em>PT Instanceof</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Instanceof</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTInstanceof
-	 * @generated
-	 */
-	EClass getPTInstanceof();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTInstanceof#getOperand <em>Operand</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Operand</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTInstanceof#getOperand()
-	 * @see #getPTInstanceof()
-	 * @generated
-	 */
-	EReference getPTInstanceof_Operand();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTInstanceof#getType <em>Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Type</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTInstanceof#getType()
-	 * @see #getPTInstanceof()
-	 * @generated
-	 */
-	EAttribute getPTInstanceof_Type();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation <em>PT Method Invocation</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Method Invocation</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTMethodInvocation
-	 * @generated
-	 */
-	EClass getPTMethodInvocation();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getReceiver <em>Receiver</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Receiver</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTMethodInvocation#getReceiver()
-	 * @see #getPTMethodInvocation()
-	 * @generated
-	 */
-	EReference getPTMethodInvocation_Receiver();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTMethodInvocation#getName()
-	 * @see #getPTMethodInvocation()
-	 * @generated
-	 */
-	EAttribute getPTMethodInvocation_Name();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getArguments <em>Arguments</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Arguments</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTMethodInvocation#getArguments()
-	 * @see #getPTMethodInvocation()
-	 * @generated
-	 */
-	EReference getPTMethodInvocation_Arguments();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTName <em>PT Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Name</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTName
-	 * @generated
-	 */
-	EClass getPTName();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTName#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTName#getName()
-	 * @see #getPTName()
-	 * @generated
-	 */
-	EAttribute getPTName_Name();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTNullLiteral <em>PT Null Literal</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Null Literal</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTNullLiteral
-	 * @generated
-	 */
-	EClass getPTNullLiteral();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTNumberLiteral <em>PT Number Literal</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Number Literal</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTNumberLiteral
-	 * @generated
-	 */
-	EClass getPTNumberLiteral();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTNumberLiteral#getToken <em>Token</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Token</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTNumberLiteral#getToken()
-	 * @see #getPTNumberLiteral()
-	 * @generated
-	 */
-	EAttribute getPTNumberLiteral_Token();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTParenthesizedExpression <em>PT Parenthesized Expression</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Parenthesized Expression</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTParenthesizedExpression
-	 * @generated
-	 */
-	EClass getPTParenthesizedExpression();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTParenthesizedExpression#getExpression <em>Expression</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Expression</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTParenthesizedExpression#getExpression()
-	 * @see #getPTParenthesizedExpression()
-	 * @generated
-	 */
-	EReference getPTParenthesizedExpression_Expression();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTPrefixExpression <em>PT Prefix Expression</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Prefix Expression</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTPrefixExpression
-	 * @generated
-	 */
-	EClass getPTPrefixExpression();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTPrefixExpression#getOperator <em>Operator</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Operator</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTPrefixExpression#getOperator()
-	 * @see #getPTPrefixExpression()
-	 * @generated
-	 */
-	EAttribute getPTPrefixExpression_Operator();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.instantiation.PTPrefixExpression#getExpression <em>Expression</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Expression</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTPrefixExpression#getExpression()
-	 * @see #getPTPrefixExpression()
-	 * @generated
-	 */
-	EReference getPTPrefixExpression_Expression();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTStringLiteral <em>PT String Literal</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT String Literal</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTStringLiteral
-	 * @generated
-	 */
-	EClass getPTStringLiteral();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTStringLiteral#getEscapedValue <em>Escaped Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Escaped Value</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTStringLiteral#getEscapedValue()
-	 * @see #getPTStringLiteral()
-	 * @generated
-	 */
-	EAttribute getPTStringLiteral_EscapedValue();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTStringLiteral#getLiteralValue <em>Literal Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Literal Value</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTStringLiteral#getLiteralValue()
-	 * @see #getPTStringLiteral()
-	 * @generated
-	 */
-	EAttribute getPTStringLiteral_LiteralValue();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTThisLiteral <em>PT This Literal</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT This Literal</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTThisLiteral
-	 * @generated
-	 */
-	EClass getPTThisLiteral();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTTypeLiteral <em>PT Type Literal</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Type Literal</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTTypeLiteral
-	 * @generated
-	 */
-	EClass getPTTypeLiteral();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTTypeLiteral#getType <em>Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Type</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTTypeLiteral#getType()
-	 * @see #getPTTypeLiteral()
-	 * @generated
-	 */
-	EAttribute getPTTypeLiteral_Type();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTInvalidExpression <em>PT Invalid Expression</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Invalid Expression</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTInvalidExpression
-	 * @generated
-	 */
-	EClass getPTInvalidExpression();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.instantiation.PTInvalidExpression#getMessage <em>Message</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Message</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTInvalidExpression#getMessage()
-	 * @see #getPTInvalidExpression()
-	 * @generated
-	 */
-	EAttribute getPTInvalidExpression_Message();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.PTInstanceReference <em>PT Instance Reference</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>PT Instance Reference</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTInstanceReference
-	 * @generated
-	 */
-	EClass getPTInstanceReference();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.jem.internal.instantiation.PTInstanceReference#getObject <em>Object</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Object</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTInstanceReference#getObject()
-	 * @see #getPTInstanceReference()
-	 * @generated
-	 */
-	EReference getPTInstanceReference_Object();
-
-	/**
-	 * Returns the meta object for enum '{@link org.eclipse.jem.internal.instantiation.PTInfixOperator <em>PT Infix Operator</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for enum '<em>PT Infix Operator</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTInfixOperator
-	 * @generated
-	 */
-	EEnum getPTInfixOperator();
-
-	/**
-	 * Returns the meta object for enum '{@link org.eclipse.jem.internal.instantiation.PTPrefixOperator <em>PT Prefix Operator</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for enum '<em>PT Prefix Operator</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.PTPrefixOperator
-	 * @generated
-	 */
-	EEnum getPTPrefixOperator();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance <em>IJava Data Type Instance</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>IJava Data Type Instance</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance
-	 * @model instanceClass="org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance" 
-	 * @generated
-	 */
-	EClass getIJavaDataTypeInstance();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jem.internal.instantiation.base.IJavaInstance <em>IJava Instance</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>IJava Instance</em>'.
-	 * @see org.eclipse.jem.internal.instantiation.base.IJavaInstance
-	 * @model instanceClass="org.eclipse.jem.internal.instantiation.base.IJavaInstance" 
-	 * @generated
-	 */
-	EClass getIJavaInstance();
-
-	/**
-	 * Returns the factory that creates the instances of the model.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the factory that creates the instances of the model.
-	 * @generated
-	 */
-	InstantiationFactory getInstantiationFactory();
-
-} //InstantiationPackage
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/JavaAllocation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/JavaAllocation.java
deleted file mode 100644
index 64bafe2..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/JavaAllocation.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaAllocation.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/19 22:50:15 $ 
- */
- 
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Java Allocation</b></em>'.
- * <p>
- * This class is the abstract base class of the allocation class. It is the value of the "allocation" property on a Java Object so that the actual allocation can be controlled. For example, there could be one for just init string, or one for serialized.
- * </p>
- * @since 1.0.0
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This class is the abstract base class of the allocation class. It is the value of the "allocation" property on a Java Object so that the actual allocation can be controlled. For example, there could be one for just init string, or one for serialized.
- * <!-- end-model-doc -->
- *
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getJavaAllocation()
- * @model abstract="true"
- * @generated
- */
-public interface JavaAllocation extends EObject{
-} // JavaAllocation
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayAccess.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayAccess.java
deleted file mode 100644
index d759e78..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayAccess.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTArrayAccess.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:21 $ 
- */
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Array Access</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Array access. e.g. x[3]. 
- * 
- * Unlike AST, the entire expression of type x[3][4] will be done in one expression rather than having a separate ArrayAccess for each dimension. This is just a simplification. This can only be used if it is a simple array access where it is of the form {expression}[expression][expression].
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTArrayAccess#getArray <em>Array</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTArrayAccess#getIndexes <em>Indexes</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayAccess()
- * @model 
- * @generated
- */
-public interface PTArrayAccess extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Array</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The expression representing the array to access.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Array</em>' containment reference.
-	 * @see #setArray(PTExpression)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayAccess_Array()
-	 * @model containment="true"
-	 * @generated
-	 */
-	PTExpression getArray();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTArrayAccess#getArray <em>Array</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Array</em>' containment reference.
-	 * @see #getArray()
-	 * @generated
-	 */
-	void setArray(PTExpression value);
-
-	/**
-	 * Returns the value of the '<em><b>Indexes</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jem.internal.instantiation.PTExpression}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The expressions representing the indexes of the access.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Indexes</em>' containment reference list.
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayAccess_Indexes()
-	 * @model type="org.eclipse.jem.internal.instantiation.PTExpression" containment="true" required="true"
-	 * @generated
-	 */
-	EList getIndexes();
-
-} // ArrayAccess
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayCreation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayCreation.java
deleted file mode 100644
index 6895ce6..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayCreation.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTArrayCreation.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:21 $ 
- */
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Array Creation</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Array Creation expression, e.g. new int[3] or new java.langString[][] {{"a"}, {"b"}}
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getType <em>Type</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getDimensions <em>Dimensions</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getInitializer <em>Initializer</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayCreation()
- * @model 
- * @generated
- */
-public interface PTArrayCreation extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The fully-qualified type, e.g. int[][] or java.lang.String[], including the number of dimension brackets.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Type</em>' attribute.
-	 * @see #setType(String)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayCreation_Type()
-	 * @model 
-	 * @generated
-	 */
-	String getType();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getType <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Type</em>' attribute.
-	 * @see #getType()
-	 * @generated
-	 */
-	void setType(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Dimensions</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jem.internal.instantiation.PTExpression}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The list of expressions for the dimensions. You can have [3][4][] but [][33] is invalid. So for each dimension that has an expression, there will be an entry in the list, in the correct order. When you reach the empty dimensions, the list will end too. 
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Dimensions</em>' containment reference list.
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayCreation_Dimensions()
-	 * @model type="org.eclipse.jem.internal.instantiation.PTExpression" containment="true"
-	 * @generated
-	 */
-	EList getDimensions();
-
-	/**
-	 * Returns the value of the '<em><b>Initializer</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * This is the initializer, if any, for this array. E.g. new int[] {2,3}. It is the {2,3}.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Initializer</em>' containment reference.
-	 * @see #setInitializer(PTArrayInitializer)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayCreation_Initializer()
-	 * @model containment="true"
-	 * @generated
-	 */
-	PTArrayInitializer getInitializer();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTArrayCreation#getInitializer <em>Initializer</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Initializer</em>' containment reference.
-	 * @see #getInitializer()
-	 * @generated
-	 */
-	void setInitializer(PTArrayInitializer value);
-
-} // ArrayCreation
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayInitializer.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayInitializer.java
deleted file mode 100644
index d86999a..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTArrayInitializer.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTArrayInitializer.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:21 $ 
- */
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Array Initializer</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Array initialization expression. This is the entire expression, e.g. {2, 3}, or {{2,3}, 4}. In the second case, the {2,3} will be an ArrayInitializer contained within the expressions list for the top ArrayInitializer.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTArrayInitializer#getExpressions <em>Expressions</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayInitializer()
- * @model 
- * @generated
- */
-public interface PTArrayInitializer extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Expressions</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jem.internal.instantiation.PTExpression}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * This isthe list of expressions within the initializer, e.g. {2, 3}, or {{2,3}, 4}. In the first case it will be two NumberLiterals. In the second case, the {2,3} will be an ArrayInitializer, followed by a NumberLiteral.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Expressions</em>' containment reference list.
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTArrayInitializer_Expressions()
-	 * @model type="org.eclipse.jem.internal.instantiation.PTExpression" containment="true"
-	 * @generated
-	 */
-	EList getExpressions();
-
-} // ArrayInitializer
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTBooleanLiteral.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTBooleanLiteral.java
deleted file mode 100644
index 09f2239..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTBooleanLiteral.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTBooleanLiteral.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Boolean Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This represents a primitive boolean literal, i.e. true or false directly in the code.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTBooleanLiteral#isBooleanValue <em>Boolean Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTBooleanLiteral()
- * @model 
- * @generated
- */
-public interface PTBooleanLiteral extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Boolean Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The value of the literal.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Boolean Value</em>' attribute.
-	 * @see #setBooleanValue(boolean)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTBooleanLiteral_BooleanValue()
-	 * @model 
-	 * @generated
-	 */
-	boolean isBooleanValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTBooleanLiteral#isBooleanValue <em>Boolean Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Boolean Value</em>' attribute.
-	 * @see #isBooleanValue()
-	 * @generated
-	 */
-	void setBooleanValue(boolean value);
-
-} // BooleanLiteral
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTCastExpression.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTCastExpression.java
deleted file mode 100644
index d300e84..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTCastExpression.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTCastExpression.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Cast</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Cast expression, e.g. (short) 10
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTCastExpression#getType <em>Type</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTCastExpression#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTCastExpression()
- * @model 
- * @generated
- */
-public interface PTCastExpression extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * This is the fully-qualified type of the cast, e.g. int or java.lang.String
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Type</em>' attribute.
-	 * @see #setType(String)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTCastExpression_Type()
-	 * @model 
-	 * @generated
-	 */
-	String getType();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTCastExpression#getType <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Type</em>' attribute.
-	 * @see #getType()
-	 * @generated
-	 */
-	void setType(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The expression being casted.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Expression</em>' containment reference.
-	 * @see #setExpression(PTExpression)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTCastExpression_Expression()
-	 * @model containment="true"
-	 * @generated
-	 */
-	PTExpression getExpression();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTCastExpression#getExpression <em>Expression</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Expression</em>' containment reference.
-	 * @see #getExpression()
-	 * @generated
-	 */
-	void setExpression(PTExpression value);
-
-} // Cast
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTCharacterLiteral.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTCharacterLiteral.java
deleted file mode 100644
index c9c7a72..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTCharacterLiteral.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTCharacterLiteral.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Character Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This represents a primitive character expression, e.g. 'a' or '\r'.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getEscapedValue <em>Escaped Value</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getCharValue <em>Char Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTCharacterLiteral()
- * @model 
- * @generated
- */
-public interface PTCharacterLiteral extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Escaped Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * This is the escaped character. In other words the literal exactly as it is in the java file. E.g. 'a' or '\r'. Including the surrounding single quotes themselves.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Escaped Value</em>' attribute.
-	 * @see #setEscapedValue(String)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTCharacterLiteral_EscapedValue()
-	 * @model 
-	 * @generated
-	 */
-	String getEscapedValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getEscapedValue <em>Escaped Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Escaped Value</em>' attribute.
-	 * @see #getEscapedValue()
-	 * @generated
-	 */
-	void setEscapedValue(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Char Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The actual primitive character without the quotes. Escape are evaluated and turned into their character value. This is a transient field. If not set when created when queried it will create it. Typically it will be set when created from an AST node since the node already has evaluated it.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Char Value</em>' attribute.
-	 * @see #setCharValue(char)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTCharacterLiteral_CharValue()
-	 * @model transient="true"
-	 * @generated
-	 */
-	char getCharValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTCharacterLiteral#getCharValue <em>Char Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Char Value</em>' attribute.
-	 * @see #getCharValue()
-	 * @generated
-	 */
-	void setCharValue(char value);
-
-} // CharacterLiteral
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTClassInstanceCreation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTClassInstanceCreation.java
deleted file mode 100644
index 1d99467..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTClassInstanceCreation.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTClassInstanceCreation.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:21 $ 
- */
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Class Instance Creation</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Class instance creation expression. E.g. new String("a")
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTClassInstanceCreation#getType <em>Type</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTClassInstanceCreation#getArguments <em>Arguments</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTClassInstanceCreation()
- * @model 
- * @generated
- */
-public interface PTClassInstanceCreation extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * This is the type of the class. E.g. java.lang.String. This should be fully-qualified for allocation purposes. It should also be in reflection format, i.e. if X is an inner class of j.Y, then the type here should be "j.Y$X". 
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Type</em>' attribute.
-	 * @see #setType(String)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTClassInstanceCreation_Type()
-	 * @model 
-	 * @generated
-	 */
-	String getType();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTClassInstanceCreation#getType <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Type</em>' attribute.
-	 * @see #getType()
-	 * @generated
-	 */
-	void setType(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jem.internal.instantiation.PTExpression}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The arguments to the constructor.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Arguments</em>' containment reference list.
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTClassInstanceCreation_Arguments()
-	 * @model type="org.eclipse.jem.internal.instantiation.PTExpression" containment="true"
-	 * @generated
-	 */
-	EList getArguments();
-
-} // ClassInstanceCreation
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTConditionalExpression.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTConditionalExpression.java
deleted file mode 100644
index ce96773..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTConditionalExpression.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTConditionalExpression.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Conditional Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * The test Expresson, e.g. (x=3) ? 1 : 2
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getCondition <em>Condition</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getTrue <em>True</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getFalse <em>False</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTConditionalExpression()
- * @model 
- * @generated
- */
-public interface PTConditionalExpression extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Condition</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The condition expression.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Condition</em>' containment reference.
-	 * @see #setCondition(PTExpression)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTConditionalExpression_Condition()
-	 * @model containment="true"
-	 * @generated
-	 */
-	PTExpression getCondition();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getCondition <em>Condition</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Condition</em>' containment reference.
-	 * @see #getCondition()
-	 * @generated
-	 */
-	void setCondition(PTExpression value);
-
-	/**
-	 * Returns the value of the '<em><b>True</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The true expression
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>True</em>' containment reference.
-	 * @see #setTrue(PTExpression)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTConditionalExpression_True()
-	 * @model containment="true"
-	 * @generated
-	 */
-	PTExpression getTrue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getTrue <em>True</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>True</em>' containment reference.
-	 * @see #getTrue()
-	 * @generated
-	 */
-	void setTrue(PTExpression value);
-
-	/**
-	 * Returns the value of the '<em><b>False</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The false expression.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>False</em>' containment reference.
-	 * @see #setFalse(PTExpression)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTConditionalExpression_False()
-	 * @model containment="true"
-	 * @generated
-	 */
-	PTExpression getFalse();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTConditionalExpression#getFalse <em>False</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>False</em>' containment reference.
-	 * @see #getFalse()
-	 * @generated
-	 */
-	void setFalse(PTExpression value);
-
-} // ConditionalExpression
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTExpression.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTExpression.java
deleted file mode 100644
index 66c3c71..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTExpression.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTExpression.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:21 $ 
- */
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTExpression()
- * @model abstract="true"
- * @generated
- */
-public interface PTExpression extends EObject{
-	/**
-	 * Accepts the given visitor on a visit of the current node.
-	 * 
-	 * @param visitor the visitor object
-	 * @exception IllegalArgumentException if the visitor is null
-	 */
-	public void accept(ParseVisitor visitor);
-} // Expression
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTFieldAccess.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTFieldAccess.java
deleted file mode 100644
index fc7a5d8..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTFieldAccess.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTFieldAccess.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Field Access</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Access a field expression, e.g. java.awt.Color.red
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTFieldAccess#getReceiver <em>Receiver</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTFieldAccess#getField <em>Field</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTFieldAccess()
- * @model 
- * @generated
- */
-public interface PTFieldAccess extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Receiver</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The expression representing the object that the field is in, e.g. java.awt.Color.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Receiver</em>' containment reference.
-	 * @see #setReceiver(PTExpression)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTFieldAccess_Receiver()
-	 * @model containment="true"
-	 * @generated
-	 */
-	PTExpression getReceiver();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTFieldAccess#getReceiver <em>Receiver</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Receiver</em>' containment reference.
-	 * @see #getReceiver()
-	 * @generated
-	 */
-	void setReceiver(PTExpression value);
-
-	/**
-	 * Returns the value of the '<em><b>Field</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The name of the field being accessed, e.g. red.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Field</em>' attribute.
-	 * @see #setField(String)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTFieldAccess_Field()
-	 * @model 
-	 * @generated
-	 */
-	String getField();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTFieldAccess#getField <em>Field</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Field</em>' attribute.
-	 * @see #getField()
-	 * @generated
-	 */
-	void setField(String value);
-
-} // FieldAccess
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInfixExpression.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInfixExpression.java
deleted file mode 100644
index da63fe7..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInfixExpression.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTInfixExpression.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/11 01:48:01 $ 
- */
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Infix Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * An expression with an operator that has two operands, e.g. 3 + 4.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getLeftOperand <em>Left Operand</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getOperator <em>Operator</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getRightOperand <em>Right Operand</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getExtendedOperands <em>Extended Operands</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInfixExpression()
- * @model 
- * @generated
- */
-public interface PTInfixExpression extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Left Operand</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Left Operand</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Left Operand</em>' containment reference.
-	 * @see #setLeftOperand(PTExpression)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInfixExpression_LeftOperand()
-	 * @model containment="true"
-	 * @generated
-	 */
-	PTExpression getLeftOperand();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getLeftOperand <em>Left Operand</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Left Operand</em>' containment reference.
-	 * @see #getLeftOperand()
-	 * @generated
-	 */
-	void setLeftOperand(PTExpression value);
-
-	/**
-	 * Returns the value of the '<em><b>Operator</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.jem.internal.instantiation.PTInfixOperator}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The operator, e.g. +
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Operator</em>' attribute.
-	 * @see org.eclipse.jem.internal.instantiation.PTInfixOperator
-	 * @see #setOperator(PTInfixOperator)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInfixExpression_Operator()
-	 * @model 
-	 * @generated
-	 */
-	PTInfixOperator getOperator();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getOperator <em>Operator</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Operator</em>' attribute.
-	 * @see org.eclipse.jem.internal.instantiation.PTInfixOperator
-	 * @see #getOperator()
-	 * @generated
-	 */
-	void setOperator(PTInfixOperator value);
-
-	/**
-	 * Returns the value of the '<em><b>Right Operand</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The right expression. i.e. 4 of "3 + 4"
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Right Operand</em>' containment reference.
-	 * @see #setRightOperand(PTExpression)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInfixExpression_RightOperand()
-	 * @model containment="true"
-	 * @generated
-	 */
-	PTExpression getRightOperand();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTInfixExpression#getRightOperand <em>Right Operand</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Right Operand</em>' containment reference.
-	 * @see #getRightOperand()
-	 * @generated
-	 */
-	void setRightOperand(PTExpression value);
-
-	/**
-	 * Returns the value of the '<em><b>Extended Operands</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jem.internal.instantiation.PTExpression}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Used when there are a series of infix operations of the same operator, e.g. 1 + 2 + 3 + 4. 1 and 2 will go into left and right, while {3, 4} will go into the extended operands. 
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Extended Operands</em>' containment reference list.
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInfixExpression_ExtendedOperands()
-	 * @model type="org.eclipse.jem.internal.instantiation.PTExpression" containment="true"
-	 * @generated
-	 */
-	EList getExtendedOperands();
-	
-	/**
-	 * Compress the expression
-	 * If there is no left operand and a right operand, or vice versa, and no extended operands
-	 * return the remaining single operand
-	 * If there is no left operand and a right and some extended ones shuffle everything along
-	 * so that the right becomes the left and the first extended moves into the right
-	 * or if no right and a left then just move the first extended into the right
-	 * 
-	 * @since 1.0.0
-	 */
-	PTExpression asCompressedExpression();
-
-} // InfixExpression
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInfixOperator.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInfixOperator.java
deleted file mode 100644
index eb25210..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInfixOperator.java
+++ /dev/null
@@ -1,619 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTInfixOperator.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:28 $ 
- */
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Infix Operator</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Enumerator for the operator on an InfixExpression.
- * <!-- end-model-doc -->
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInfixOperator()
- * @model
- * @generated
- */
-public final class PTInfixOperator extends AbstractEnumerator {
-	/**
-	 * The '<em><b>TIMES</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #TIMES_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int TIMES = 0;
-
-	/**
-	 * The '<em><b>DIVIDE</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #DIVIDE_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int DIVIDE = 1;
-
-	/**
-	 * The '<em><b>REMAINDER</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #REMAINDER_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int REMAINDER = 2;
-
-	/**
-	 * The '<em><b>PLUS</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #PLUS_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int PLUS = 3;
-
-	/**
-	 * The '<em><b>MINUS</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #MINUS_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int MINUS = 4;
-
-	/**
-	 * The '<em><b>LEFT SHIFT</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #LEFT_SHIFT_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int LEFT_SHIFT = 5;
-
-	/**
-	 * The '<em><b>RIGHT SHIFT SIGNED</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #RIGHT_SHIFT_SIGNED_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int RIGHT_SHIFT_SIGNED = 6;
-
-	/**
-	 * The '<em><b>RIGHT SHIFT UNSIGNED</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #RIGHT_SHIFT_UNSIGNED_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int RIGHT_SHIFT_UNSIGNED = 7;
-
-	/**
-	 * The '<em><b>LESS</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #LESS_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int LESS = 8;
-
-	/**
-	 * The '<em><b>GREATER</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #GREATER_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int GREATER = 9;
-
-	/**
-	 * The '<em><b>LESS EQUALS</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #LESS_EQUALS_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int LESS_EQUALS = 10;
-
-	/**
-	 * The '<em><b>GREATER EQUALS</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #GREATER_EQUALS_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int GREATER_EQUALS = 11;
-
-	/**
-	 * The '<em><b>EQUALS</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #EQUALS_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int EQUALS = 12;
-
-	/**
-	 * The '<em><b>NOT EQUALS</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #NOT_EQUALS_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int NOT_EQUALS = 13;
-
-	/**
-	 * The '<em><b>XOR</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #XOR_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int XOR = 14;
-
-	/**
-	 * The '<em><b>AND</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #AND_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int AND = 15;
-
-	/**
-	 * The '<em><b>OR</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #OR_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int OR = 16;
-
-	/**
-	 * The '<em><b>CONDITIONAL AND</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #CONDITIONAL_AND_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int CONDITIONAL_AND = 17;
-
-	/**
-	 * The '<em><b>CONDITIONAL OR</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #CONDITIONAL_OR_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int CONDITIONAL_OR = 18;
-
-	/**
-	 * The '<em><b>TIMES</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * * operator
-	 * <!-- end-model-doc -->
-	 * @see #TIMES
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator TIMES_LITERAL = new PTInfixOperator(TIMES, "TIMES");
-
-	/**
-	 * The '<em><b>DIVIDE</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * / operator
-	 * <!-- end-model-doc -->
-	 * @see #DIVIDE
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator DIVIDE_LITERAL = new PTInfixOperator(DIVIDE, "DIVIDE");
-
-	/**
-	 * The '<em><b>REMAINDER</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * % operator
-	 * <!-- end-model-doc -->
-	 * @see #REMAINDER
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator REMAINDER_LITERAL = new PTInfixOperator(REMAINDER, "REMAINDER");
-
-	/**
-	 * The '<em><b>PLUS</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * + operator
-	 * <!-- end-model-doc -->
-	 * @see #PLUS
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator PLUS_LITERAL = new PTInfixOperator(PLUS, "PLUS");
-
-	/**
-	 * The '<em><b>MINUS</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * - operator
-	 * <!-- end-model-doc -->
-	 * @see #MINUS
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator MINUS_LITERAL = new PTInfixOperator(MINUS, "MINUS");
-
-	/**
-	 * The '<em><b>LEFT SHIFT</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * << operator
-	 * <!-- end-model-doc -->
-	 * @see #LEFT_SHIFT
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator LEFT_SHIFT_LITERAL = new PTInfixOperator(LEFT_SHIFT, "LEFT_SHIFT");
-
-	/**
-	 * The '<em><b>RIGHT SHIFT SIGNED</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * >> operator
-	 * <!-- end-model-doc -->
-	 * @see #RIGHT_SHIFT_SIGNED
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator RIGHT_SHIFT_SIGNED_LITERAL = new PTInfixOperator(RIGHT_SHIFT_SIGNED, "RIGHT_SHIFT_SIGNED");
-
-	/**
-	 * The '<em><b>RIGHT SHIFT UNSIGNED</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * >>> operator
-	 * <!-- end-model-doc -->
-	 * @see #RIGHT_SHIFT_UNSIGNED
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator RIGHT_SHIFT_UNSIGNED_LITERAL = new PTInfixOperator(RIGHT_SHIFT_UNSIGNED, "RIGHT_SHIFT_UNSIGNED");
-
-	/**
-	 * The '<em><b>LESS</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * <  operator
-	 * <!-- end-model-doc -->
-	 * @see #LESS
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator LESS_LITERAL = new PTInfixOperator(LESS, "LESS");
-
-	/**
-	 * The '<em><b>GREATER</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * > operator
-	 * <!-- end-model-doc -->
-	 * @see #GREATER
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator GREATER_LITERAL = new PTInfixOperator(GREATER, "GREATER");
-
-	/**
-	 * The '<em><b>LESS EQUALS</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * <= operator
-	 * <!-- end-model-doc -->
-	 * @see #LESS_EQUALS
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator LESS_EQUALS_LITERAL = new PTInfixOperator(LESS_EQUALS, "LESS_EQUALS");
-
-	/**
-	 * The '<em><b>GREATER EQUALS</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * >= operator
-	 * <!-- end-model-doc -->
-	 * @see #GREATER_EQUALS
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator GREATER_EQUALS_LITERAL = new PTInfixOperator(GREATER_EQUALS, "GREATER_EQUALS");
-
-	/**
-	 * The '<em><b>EQUALS</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * == operator
-	 * <!-- end-model-doc -->
-	 * @see #EQUALS
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator EQUALS_LITERAL = new PTInfixOperator(EQUALS, "EQUALS");
-
-	/**
-	 * The '<em><b>NOT EQUALS</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * != operator
-	 * <!-- end-model-doc -->
-	 * @see #NOT_EQUALS
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator NOT_EQUALS_LITERAL = new PTInfixOperator(NOT_EQUALS, "NOT_EQUALS");
-
-	/**
-	 * The '<em><b>XOR</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * ^ operator
-	 * <!-- end-model-doc -->
-	 * @see #XOR
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator XOR_LITERAL = new PTInfixOperator(XOR, "XOR");
-
-	/**
-	 * The '<em><b>AND</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * & operator
-	 * <!-- end-model-doc -->
-	 * @see #AND
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator AND_LITERAL = new PTInfixOperator(AND, "AND");
-
-	/**
-	 * The '<em><b>OR</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * |  operator
-	 * <!-- end-model-doc -->
-	 * @see #OR
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator OR_LITERAL = new PTInfixOperator(OR, "OR");
-
-	/**
-	 * The '<em><b>CONDITIONAL AND</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * && operator
-	 * <!-- end-model-doc -->
-	 * @see #CONDITIONAL_AND
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator CONDITIONAL_AND_LITERAL = new PTInfixOperator(CONDITIONAL_AND, "CONDITIONAL_AND");
-
-	/**
-	 * The '<em><b>CONDITIONAL OR</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * || operator
-	 * <!-- end-model-doc -->
-	 * @see #CONDITIONAL_OR
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTInfixOperator CONDITIONAL_OR_LITERAL = new PTInfixOperator(CONDITIONAL_OR, "CONDITIONAL_OR");
-
-	/**
-	 * An array of all the '<em><b>PT Infix Operator</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static final PTInfixOperator[] VALUES_ARRAY =
-		new PTInfixOperator[] {
-			TIMES_LITERAL,
-			DIVIDE_LITERAL,
-			REMAINDER_LITERAL,
-			PLUS_LITERAL,
-			MINUS_LITERAL,
-			LEFT_SHIFT_LITERAL,
-			RIGHT_SHIFT_SIGNED_LITERAL,
-			RIGHT_SHIFT_UNSIGNED_LITERAL,
-			LESS_LITERAL,
-			GREATER_LITERAL,
-			LESS_EQUALS_LITERAL,
-			GREATER_EQUALS_LITERAL,
-			EQUALS_LITERAL,
-			NOT_EQUALS_LITERAL,
-			XOR_LITERAL,
-			AND_LITERAL,
-			OR_LITERAL,
-			CONDITIONAL_AND_LITERAL,
-			CONDITIONAL_OR_LITERAL,
-		};
-	
-	private static final String[] OPERATOR_STRING;
-	static {
-		OPERATOR_STRING = new String[VALUES_ARRAY.length];
-		OPERATOR_STRING[TIMES] = "*";
-		OPERATOR_STRING[DIVIDE] = "/";
-		OPERATOR_STRING[REMAINDER] = "%";
-		OPERATOR_STRING[PLUS] = "+";
-		OPERATOR_STRING[MINUS] = "-";
-		OPERATOR_STRING[LEFT_SHIFT] = "<";
-		OPERATOR_STRING[RIGHT_SHIFT_SIGNED] = ">>";
-		OPERATOR_STRING[RIGHT_SHIFT_UNSIGNED] = ">>>";
-		OPERATOR_STRING[LESS] = "<";
-		OPERATOR_STRING[GREATER] = ">";
-		OPERATOR_STRING[LESS_EQUALS] = "<=";
-		OPERATOR_STRING[GREATER_EQUALS] = ">=";
-		OPERATOR_STRING[EQUALS] = "==";
-		OPERATOR_STRING[NOT_EQUALS] = "!=";
-		OPERATOR_STRING[XOR] = "^";
-		OPERATOR_STRING[AND] = "&";
-		OPERATOR_STRING[OR] = "|";
-		OPERATOR_STRING[CONDITIONAL_AND] = "&&";
-		OPERATOR_STRING[CONDITIONAL_OR] = "||";
-	}
-
-	/**
-	 * A public read-only list of all the '<em><b>PT Infix Operator</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>PT Infix Operator</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static PTInfixOperator get(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			PTInfixOperator result = VALUES_ARRAY[i];
-			if (result.toString().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>PT Infix Operator</b></em>' literal with the specified value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static PTInfixOperator get(int value) {
-		switch (value) {
-			case TIMES: return TIMES_LITERAL;
-			case DIVIDE: return DIVIDE_LITERAL;
-			case REMAINDER: return REMAINDER_LITERAL;
-			case PLUS: return PLUS_LITERAL;
-			case MINUS: return MINUS_LITERAL;
-			case LEFT_SHIFT: return LEFT_SHIFT_LITERAL;
-			case RIGHT_SHIFT_SIGNED: return RIGHT_SHIFT_SIGNED_LITERAL;
-			case RIGHT_SHIFT_UNSIGNED: return RIGHT_SHIFT_UNSIGNED_LITERAL;
-			case LESS: return LESS_LITERAL;
-			case GREATER: return GREATER_LITERAL;
-			case LESS_EQUALS: return LESS_EQUALS_LITERAL;
-			case GREATER_EQUALS: return GREATER_EQUALS_LITERAL;
-			case EQUALS: return EQUALS_LITERAL;
-			case NOT_EQUALS: return NOT_EQUALS_LITERAL;
-			case XOR: return XOR_LITERAL;
-			case AND: return AND_LITERAL;
-			case OR: return OR_LITERAL;
-			case CONDITIONAL_AND: return CONDITIONAL_AND_LITERAL;
-			case CONDITIONAL_OR: return CONDITIONAL_OR_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private PTInfixOperator(int value, String name) {
-		super(value, name);
-	}
-
-	/**
-	 * Return the operator string (i.e. for PLUS return "+").
-	 * @return The operator string.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getOperator() {
-		return OPERATOR_STRING[getValue()];
-	}
-
-} //InfixOperator
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInstanceReference.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInstanceReference.java
deleted file mode 100644
index 3f0b600..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInstanceReference.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTInstanceReference.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:27 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-import org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>PT Instance Reference</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTInstanceReference#getObject <em>Object</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInstanceReference()
- * @model 
- * @generated
- */
-public interface PTInstanceReference extends PTExpression {
-	/**
-	 * Returns the value of the '<em><b>Object</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Object</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Object</em>' reference.
-	 * @see #setObject(IJavaObjectInstance)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInstanceReference_Object()
-	 * @model required="true"
-	 * @generated
-	 */
-	IJavaObjectInstance getObject();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTInstanceReference#getObject <em>Object</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Object</em>' reference.
-	 * @see #getObject()
-	 * @generated
-	 */
-	void setObject(IJavaObjectInstance value);
-
-} // PTInstanceReference
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInstanceof.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInstanceof.java
deleted file mode 100644
index e6bdfbb..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInstanceof.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTInstanceof.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Instanceof</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Instanceof expression, e.g. x instanceof java.lang.String
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTInstanceof#getOperand <em>Operand</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTInstanceof#getType <em>Type</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInstanceof()
- * @model 
- * @generated
- */
-public interface PTInstanceof extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Operand</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The value to test, e.g. x in x instanceof java.lang.String
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Operand</em>' containment reference.
-	 * @see #setOperand(PTExpression)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInstanceof_Operand()
-	 * @model containment="true"
-	 * @generated
-	 */
-	PTExpression getOperand();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTInstanceof#getOperand <em>Operand</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Operand</em>' containment reference.
-	 * @see #getOperand()
-	 * @generated
-	 */
-	void setOperand(PTExpression value);
-
-	/**
-	 * Returns the value of the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The type of the instance test, e.g. java.lang.String. It must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Type</em>' attribute.
-	 * @see #setType(String)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInstanceof_Type()
-	 * @model 
-	 * @generated
-	 */
-	String getType();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTInstanceof#getType <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Type</em>' attribute.
-	 * @see #getType()
-	 * @generated
-	 */
-	void setType(String value);
-
-} // Instanceof
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInvalidExpression.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInvalidExpression.java
deleted file mode 100644
index 2c46040..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTInvalidExpression.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTInvalidExpression.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Invalid Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This is used when we have some expression we just can't evaluate for our purposes. It allows us to tell the evaluation what is actually wrong. It should be placed as the root expression to prevent processing much of the tree and then finally fail.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTInvalidExpression#getMessage <em>Message</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInvalidExpression()
- * @model 
- * @generated
- */
-public interface PTInvalidExpression extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Message</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * A message as to why it is invalid.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Message</em>' attribute.
-	 * @see #setMessage(String)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTInvalidExpression_Message()
-	 * @model 
-	 * @generated
-	 */
-	String getMessage();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTInvalidExpression#getMessage <em>Message</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Message</em>' attribute.
-	 * @see #getMessage()
-	 * @generated
-	 */
-	void setMessage(String value);
-
-} // InvalidExpression
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTMethodInvocation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTMethodInvocation.java
deleted file mode 100644
index 2e8cd10..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTMethodInvocation.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTMethodInvocation.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:21 $ 
- */
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Method Invocation</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * MethodInvocation expression, e.g. x.getY(3)
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getReceiver <em>Receiver</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getArguments <em>Arguments</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTMethodInvocation()
- * @model 
- * @generated
- */
-public interface PTMethodInvocation extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Receiver</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Who the method is invoked against. This may be not set, which means "this". It may also be a Name, which would mean a class like "java.lang.String"
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Receiver</em>' containment reference.
-	 * @see #setReceiver(PTExpression)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTMethodInvocation_Receiver()
-	 * @model containment="true"
-	 * @generated
-	 */
-	PTExpression getReceiver();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getReceiver <em>Receiver</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Receiver</em>' containment reference.
-	 * @see #getReceiver()
-	 * @generated
-	 */
-	void setReceiver(PTExpression value);
-
-	/**
-	 * Returns the value of the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The name of the method being invoked.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTMethodInvocation_Name()
-	 * @model 
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTMethodInvocation#getName <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Name</em>' attribute.
-	 * @see #getName()
-	 * @generated
-	 */
-	void setName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jem.internal.instantiation.PTExpression}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The list of arguments, if any, to the method.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Arguments</em>' containment reference list.
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTMethodInvocation_Arguments()
-	 * @model type="org.eclipse.jem.internal.instantiation.PTExpression" containment="true"
-	 * @generated
-	 */
-	EList getArguments();
-
-} // MethodInvocation
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTName.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTName.java
deleted file mode 100644
index 68059c3..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTName.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTName.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Name</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This represents a name. This can happen for the receiver of a method invocation, e.g. x.getY() or java.lang.String.valueOf(10). In these cases you would have a name of "x" or "java.lang.String".
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTName#getName <em>Name</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTName()
- * @model 
- * @generated
- */
-public interface PTName extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The name, which can be a type or a variable. If it is a type, then  it must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTName_Name()
-	 * @model 
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTName#getName <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Name</em>' attribute.
-	 * @see #getName()
-	 * @generated
-	 */
-	void setName(String value);
-
-} // Name
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTNullLiteral.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTNullLiteral.java
deleted file mode 100644
index 67399c3..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTNullLiteral.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTNullLiteral.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Null Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Represents the expression "null"
- * <!-- end-model-doc -->
- *
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTNullLiteral()
- * @model 
- * @generated
- */
-public interface PTNullLiteral extends PTExpression{
-} // NullLiteral
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTNumberLiteral.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTNumberLiteral.java
deleted file mode 100644
index dc65d93..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTNumberLiteral.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTNumberLiteral.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Number Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Represent a number primitive literal, e.g. 10. One optimization that will be performed is that if an expression is of the form +number or -number, it will be converted from a PrefixExpression with a NumberLiteral to just a NumberLiteral. This will simplify the model.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTNumberLiteral#getToken <em>Token</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTNumberLiteral()
- * @model 
- * @generated
- */
-public interface PTNumberLiteral extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Token</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The token value, e.g. 10, 10d, or -10.75
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Token</em>' attribute.
-	 * @see #setToken(String)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTNumberLiteral_Token()
-	 * @model 
-	 * @generated
-	 */
-	String getToken();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTNumberLiteral#getToken <em>Token</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Token</em>' attribute.
-	 * @see #getToken()
-	 * @generated
-	 */
-	void setToken(String value);
-
-} // NumberLiteral
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTParenthesizedExpression.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTParenthesizedExpression.java
deleted file mode 100644
index 05e5386..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTParenthesizedExpression.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTParenthesizedExpression.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Parenthesized Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * An expression within parenthesis, e.g. (x+3)
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTParenthesizedExpression#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTParenthesizedExpression()
- * @model 
- * @generated
- */
-public interface PTParenthesizedExpression extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The expression wrapped by the parenthesis, e.g. (x+3) then the expression is "x+3"
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Expression</em>' containment reference.
-	 * @see #setExpression(PTExpression)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTParenthesizedExpression_Expression()
-	 * @model containment="true"
-	 * @generated
-	 */
-	PTExpression getExpression();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTParenthesizedExpression#getExpression <em>Expression</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Expression</em>' containment reference.
-	 * @see #getExpression()
-	 * @generated
-	 */
-	void setExpression(PTExpression value);
-
-} // ParenthesizedExpression
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTPrefixExpression.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTPrefixExpression.java
deleted file mode 100644
index 5161809..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTPrefixExpression.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTPrefixExpression.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Prefix Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * A one operand operator, where the operator comes before the operand, e.g. - (x+3). In AST, even -3 is modeled as a PrefixExpression of operator "-" and expression of NumberLiteral(3). But we optimize this away and just use a NumberLiteral(-3) directly instead.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTPrefixExpression#getOperator <em>Operator</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTPrefixExpression#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTPrefixExpression()
- * @model 
- * @generated
- */
-public interface PTPrefixExpression extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Operator</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.jem.internal.instantiation.PTPrefixOperator}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The operator of this expression.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Operator</em>' attribute.
-	 * @see org.eclipse.jem.internal.instantiation.PTPrefixOperator
-	 * @see #setOperator(PTPrefixOperator)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTPrefixExpression_Operator()
-	 * @model 
-	 * @generated
-	 */
-	PTPrefixOperator getOperator();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTPrefixExpression#getOperator <em>Operator</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Operator</em>' attribute.
-	 * @see org.eclipse.jem.internal.instantiation.PTPrefixOperator
-	 * @see #getOperator()
-	 * @generated
-	 */
-	void setOperator(PTPrefixOperator value);
-
-	/**
-	 * Returns the value of the '<em><b>Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The expression that the operator is applied to.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Expression</em>' containment reference.
-	 * @see #setExpression(PTExpression)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTPrefixExpression_Expression()
-	 * @model containment="true"
-	 * @generated
-	 */
-	PTExpression getExpression();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTPrefixExpression#getExpression <em>Expression</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Expression</em>' containment reference.
-	 * @see #getExpression()
-	 * @generated
-	 */
-	void setExpression(PTExpression value);
-
-} // PrefixExpression
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTPrefixOperator.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTPrefixOperator.java
deleted file mode 100644
index b5caf70..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTPrefixOperator.java
+++ /dev/null
@@ -1,213 +0,0 @@
-package org.eclipse.jem.internal.instantiation;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTPrefixOperator.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:21 $ 
- */
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Prefix Operator</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The prefix expression operator. We are not modeling ++ and --.
- * <!-- end-model-doc -->
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTPrefixOperator()
- * @model
- * @generated
- */
-public final class PTPrefixOperator extends AbstractEnumerator {
-	/**
-	 * The '<em><b>PLUS</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #PLUS_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int PLUS = 0;
-
-	/**
-	 * The '<em><b>MINUS</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #MINUS_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int MINUS = 1;
-
-	/**
-	 * The '<em><b>COMPLEMENT</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #COMPLEMENT_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int COMPLEMENT = 2;
-
-	/**
-	 * The '<em><b>NOT</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #NOT_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int NOT = 3;
-
-	/**
-	 * The '<em><b>PLUS</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * + operator
-	 * <!-- end-model-doc -->
-	 * @see #PLUS
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTPrefixOperator PLUS_LITERAL = new PTPrefixOperator(PLUS, "PLUS");
-
-	/**
-	 * The '<em><b>MINUS</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * - operator
-	 * <!-- end-model-doc -->
-	 * @see #MINUS
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTPrefixOperator MINUS_LITERAL = new PTPrefixOperator(MINUS, "MINUS");
-
-	/**
-	 * The '<em><b>COMPLEMENT</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * ~ operator
-	 * <!-- end-model-doc -->
-	 * @see #COMPLEMENT
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTPrefixOperator COMPLEMENT_LITERAL = new PTPrefixOperator(COMPLEMENT, "COMPLEMENT");
-
-	/**
-	 * The '<em><b>NOT</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * ! operator
-	 * <!-- end-model-doc -->
-	 * @see #NOT
-	 * @generated
-	 * @ordered
-	 */
-	public static final PTPrefixOperator NOT_LITERAL = new PTPrefixOperator(NOT, "NOT");
-
-	/**
-	 * An array of all the '<em><b>PT Prefix Operator</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static final PTPrefixOperator[] VALUES_ARRAY =
-		new PTPrefixOperator[] {
-			PLUS_LITERAL,
-			MINUS_LITERAL,
-			COMPLEMENT_LITERAL,
-			NOT_LITERAL,
-		};
-	
-	private static final String[] OPERATOR_STRING;
-	static {
-		OPERATOR_STRING = new String[VALUES_ARRAY.length];
-		OPERATOR_STRING[PLUS] = "+";
-		OPERATOR_STRING[MINUS] = "-";
-		OPERATOR_STRING[COMPLEMENT] = "~";
-		OPERATOR_STRING[NOT] = "!";
-	}
-
-	/**
-	 * A public read-only list of all the '<em><b>PT Prefix Operator</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>PT Prefix Operator</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static PTPrefixOperator get(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			PTPrefixOperator result = VALUES_ARRAY[i];
-			if (result.toString().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>PT Prefix Operator</b></em>' literal with the specified value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static PTPrefixOperator get(int value) {
-		switch (value) {
-			case PLUS: return PLUS_LITERAL;
-			case MINUS: return MINUS_LITERAL;
-			case COMPLEMENT: return COMPLEMENT_LITERAL;
-			case NOT: return NOT_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private PTPrefixOperator(int value, String name) {
-		super(value, name);
-	}
-
-	/**
-	 * Return the operator string (i.e. for PLUS return "+").
-	 * @return The operator string.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getOperator() {
-		return OPERATOR_STRING[getValue()];
-	}
-} //PrefixOperator
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTStringLiteral.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTStringLiteral.java
deleted file mode 100644
index a34e5ec..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTStringLiteral.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTStringLiteral.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>String Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Representation of a string literal, e.g. "asdf".
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTStringLiteral#getEscapedValue <em>Escaped Value</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTStringLiteral#getLiteralValue <em>Literal Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTStringLiteral()
- * @model 
- * @generated
- */
-public interface PTStringLiteral extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Escaped Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * This is the escaped string. In other words the literal exactly as it is in the java file. E.g. "ab" or "c\r". Including the surrounding quotes themselves.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Escaped Value</em>' attribute.
-	 * @see #setEscapedValue(String)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTStringLiteral_EscapedValue()
-	 * @model 
-	 * @generated
-	 */
-	String getEscapedValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTStringLiteral#getEscapedValue <em>Escaped Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Escaped Value</em>' attribute.
-	 * @see #getEscapedValue()
-	 * @generated
-	 */
-	void setEscapedValue(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Literal Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The actual string without the quotes. Escape are evaluated and turned into their character value. This is a transient field. If not set when created when queried it will create it. Typically it will be set when created from an AST node since the node already has evaluated it.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Literal Value</em>' attribute.
-	 * @see #setLiteralValue(String)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTStringLiteral_LiteralValue()
-	 * @model transient="true"
-	 * @generated
-	 */
-	String getLiteralValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTStringLiteral#getLiteralValue <em>Literal Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Literal Value</em>' attribute.
-	 * @see #getLiteralValue()
-	 * @generated
-	 */
-	void setLiteralValue(String value);
-
-} // StringLiteral
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTThisLiteral.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTThisLiteral.java
deleted file mode 100644
index 36f615e..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTThisLiteral.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTThisLiteral.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>This Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Represents "this", e.g. this.getX() will be a MethodInvocation with the receiver being a ThisLiteral. We can't handle the format XYZ.this because that is for inner classes and we don't support that right now.
- * <!-- end-model-doc -->
- *
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTThisLiteral()
- * @model 
- * @generated
- */
-public interface PTThisLiteral extends PTExpression{
-} // ThisLiteral
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTTypeLiteral.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTTypeLiteral.java
deleted file mode 100644
index d1dc2a2..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/PTTypeLiteral.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTTypeLiteral.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:25:15 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Type Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * This represents a literal of the form j.XYZ.class. For instance in a method invocation x.getX(jXYZ.class) the argument will be a TypeLiteral.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.PTTypeLiteral#getType <em>Type</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTTypeLiteral()
- * @model 
- * @generated
- */
-public interface PTTypeLiteral extends PTExpression{
-	/**
-	 * Returns the value of the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The type of the literal.  It must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y.
-	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Type</em>' attribute.
-	 * @see #setType(String)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getPTTypeLiteral_Type()
-	 * @model 
-	 * @generated
-	 */
-	String getType();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.PTTypeLiteral#getType <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Type</em>' attribute.
-	 * @see #getType()
-	 * @generated
-	 */
-	void setType(String value);
-
-} // TypeLiteral
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ParseTreeAllocation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ParseTreeAllocation.java
deleted file mode 100644
index f459879..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ParseTreeAllocation.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: ParseTreeAllocation.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 23:18:28 $ 
- */
-package org.eclipse.jem.internal.instantiation;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Parse Tree Allocation</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * Allocations via Parse Trees.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.ParseTreeAllocation#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getParseTreeAllocation()
- * @model 
- * @generated
- */
-public interface ParseTreeAllocation extends JavaAllocation{
-	/**
-	 * Returns the value of the '<em><b>Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Expression</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Expression</em>' containment reference.
-	 * @see #setExpression(PTExpression)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#getParseTreeAllocation_Expression()
-	 * @model containment="true" required="true"
-	 * @generated
-	 */
-	PTExpression getExpression();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.internal.instantiation.ParseTreeAllocation#getExpression <em>Expression</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Expression</em>' containment reference.
-	 * @see #getExpression()
-	 * @generated
-	 */
-	void setExpression(PTExpression value);
-
-} // ParseTreeAllocation
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ParseVisitor.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ParseVisitor.java
deleted file mode 100644
index 0aab528..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/ParseVisitor.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: ParseVisitor.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 20:11:47 $ 
- */
-package org.eclipse.jem.internal.instantiation;
- 
-/**
- * A visitor for abstract parse expression trees.
- * <p>
- * For each different concrete Expression node type <it>T</it> there are
- * a pair of methods:
- * <ul>
- * <li><code>public boolean visit(<it>T</it> node)</code> - Visits
- * the given node to perform some arbitrary operation. If <code>true</code>
- * is returned, the given node's child nodes will be visited next; however,
- * if <code>false</code> is returned, the given node's child nodes will 
- * not be visited. The default implementation provided by this class does
- * nothing and returns <code>true</code>. Subclasses may reimplement
- * this method as needed.</li>
- * <li><code>public void endVisit(<it>T</it> node)</code> - Visits
- * the given node to perform some arbitrary operation. When used in the
- * conventional way, this method is called after all of the given node's
- * children have been visited (or immediately, if <code>visit</code> returned
- * <code>false</code>). The default implementation provided by this class does
- * nothing. Subclasses may reimplement this method as needed.</li>
- * </ul>
- * </p>
- * In addition, there are a pair of methods for visiting AST nodes in the 
- * abstract, regardless of node type:
- * <ul>
- * <li><code>public void preVisit(ASTNode node)</code> - Visits
- * the given node to perform some arbitrary operation. 
- * This method is invoked prior to the appropriate type-specific
- * <code>visit</code> method.
- * The default implementation of this method does nothing.
- * Subclasses may reimplement this method as needed.</li>
- * <li><code>public void postVisit(ASTNode node)</code> - Visits
- * the given node to perform some arbitrary operation. 
- * This method is invoked after the appropriate type-specific
- * <code>endVisit</code> method.
- * The default implementation of this method does nothing.
- * Subclasses may reimplement this method as needed.</li>
- * </ul>
- * <p>
- * For nodes with list-valued properties, the child nodes within the list
- * are visited in order. For nodes with multiple properties, the child nodes
- * are visited in the order that most closely corresponds to the lexical
- * reading order of the source program. For instance, for a type declaration
- * node, the child ordering is: name, superclass, superinterfaces, and 
- * body declarations.
- * </p>
- * <p>
- * While it is possible to modify the tree in the visitor, care is required to
- * ensure that the consequences are as expected and desirable.
- * During the course of an ordinary visit starting at a given node, every node
- * in the subtree is visited exactly twice, first with <code>visit</code> and
- * then with <code>endVisit</code>. During a traversal of a stationary tree, 
- * each node is either behind (after <code>endVisit</code>), ahead (before 
- * <code>visit</code>), or in progress (between <code>visit</code> and
- * the matching <code>endVisit</code>). Changes to the "behind" region of the
- * tree are of no consequence to the visit in progress. Changes to the "ahead"
- * region will be taken in stride. Changes to the "in progress" portion are
- * the more interesting cases. With a node, the various properties are arranged
- * in a linear list, with a cursor that separates the properties that have
- * been visited from the ones that are still to be visited (the cursor
- * is between the elements, rather than on an element). The cursor moves from
- * the head to the tail of this list, advancing to the next position just
- * <it>before</it> <code>visit</code> if called for that child. After the child
- * subtree has been completely visited, the visit moves on the child 
- * immediately after the cursor. Removing a child while it is being visited
- * does not alter the course of the visit. But any children added at positions
- * after the cursor are considered in the "ahead" portion and will be visited.
- * </p>
- * <p>
- * Cases to watch out for:
- * <ul>
- * <li>Moving a child node further down the list. This could result in the
- * child subtree being visited multiple times; these visits are sequential.</li>
- * <li>Moving a child node up into an ancestor. If the new home for
- * the node is in the "ahead" portion, the subtree will be visited 
- * a second time; again, these visits are sequential.</li>
- * <li>Moving a node down into a child. If the new home for
- * the node is in the "ahead" portion, the subtree will be visited 
- * a second time; in this case, the visits will be nested. In some cases,
- * this can lead to a stack overflow or out of memory condition.</li>
- * </ul>
- * </p>
- *
- * Note: This is based upon the visit concept in org.eclipse.jdt.core.dom.ASTVisitor. 
- *
- * @see Expression#accept
- *  
- * @since 1.0.0
- */
-public class ParseVisitor {
-	/**
-	 * Visits the given parse node prior to the type-specific visit. (before <code>visit</code>).
-	 * <p>
-	 * The default implementation does nothing. Subclasses may reimplement.
-	 * </p>
-	 * 
-	 * @param node
-	 *            the node to visit
-	 */
-	public void preVisit(PTExpression node) {
-		// default implementation: do nothing
-	}
-
-	/**
-	 * Visits the given parse node following the type-specific visit (after <code>endVisit</code>).
-	 * <p>
-	 * The default implementation does nothing. Subclasses may reimplement.
-	 * </p>
-	 * 
-	 * @param node
-	 *            the node to visit
-	 */
-	public void postVisit(PTExpression node) {
-		// default implementation: do nothing
-	}
-
-	public boolean visit(PTArrayAccess node) {
-		return true;
-	}
-	public boolean visit(PTArrayCreation node) {
-		return true;
-	}
-	public boolean visit(PTArrayInitializer node) {
-		return true;
-	}
-	public boolean visit(PTBooleanLiteral node) {
-		return true;
-	}
-	public boolean visit(PTCastExpression node) {
-		return true;
-	}
-	public boolean visit(PTCharacterLiteral node) {
-		return true;
-	}
-	public boolean visit(PTClassInstanceCreation node) {
-		return true;
-	}
-	public boolean visit(PTConditionalExpression node) {
-		return true;
-	}
-	public boolean visit(PTFieldAccess node) {
-		return true;
-	}
-	public boolean visit(PTInfixExpression node) {
-		return true;
-	}
-	public boolean visit(PTInstanceof node) {
-		return true;
-	}
-	public boolean visit(PTInvalidExpression node) {
-		return true;
-	}
-	public boolean visit(PTMethodInvocation node) {
-		return true;
-	}
-	public boolean visit(PTName node) {
-		return true;
-	}
-	public boolean visit(PTNullLiteral node) {
-		return true;
-	}
-	public boolean visit(PTNumberLiteral node) {
-		return true;
-	}
-	public boolean visit(PTParenthesizedExpression node) {
-		return true;
-	}
-	public boolean visit(PTPrefixExpression node) {
-		return true;
-	}
-	public boolean visit(PTStringLiteral node) {
-		return true;
-	}
-	public boolean visit(PTThisLiteral node) {
-		return true;
-	}
-	public boolean visit(PTTypeLiteral node) {
-		return true;
-	}
-	public boolean visit(PTInstanceReference node) {
-		return true;
-	}
-
-	public void endVisit(PTArrayAccess node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTArrayCreation node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTArrayInitializer node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTBooleanLiteral node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTCastExpression node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTCharacterLiteral node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTClassInstanceCreation node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTConditionalExpression node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTFieldAccess node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTInfixExpression node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTInstanceof node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTInvalidExpression node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTMethodInvocation node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTName node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTNullLiteral node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTNumberLiteral node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTParenthesizedExpression node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTPrefixExpression node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTStringLiteral node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTThisLiteral node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTTypeLiteral node) {
-		// default implementation: do nothing
-	}
-	public void endVisit(PTInstanceReference node) {
-		// default implementation: do nothing
-	}
-	
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaDataTypeInstance.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaDataTypeInstance.java
deleted file mode 100644
index 15691f7..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaDataTypeInstance.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.jem.internal.instantiation.base;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IJavaDataTypeInstance.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:12:30 $ 
- */
-
-/**
- * Interface for instances of java data types.
- */
-
-public interface IJavaDataTypeInstance extends IJavaInstance {
-
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaInstance.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaInstance.java
deleted file mode 100644
index 43a07aa..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaInstance.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.jem.internal.instantiation.base;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IJavaInstance.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/12 21:44:21 $ 
- */
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jem.internal.instantiation.JavaAllocation;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationInstance;
-/**
- * A common interface for Java instances. It will be
- * shared by Java Objects and Java DataType instances.
- */
-public interface IJavaInstance extends EObject, IInstantiationInstance {
-	
-	/**
-	 * Get the allocation object.
-	 * @return The allocation object.
-	 */
-	public JavaAllocation getAllocation();
-	
-	/**
-	 * Set the allocation for this object instance.
-	 * @param allocation
-	 */
-	public void setAllocation(JavaAllocation allocation);	
-	
-	/**
-	 * Return whether the allocation has been set or not.
-	 * @return <code>true</code> if set. 
-	 */
-	public boolean isSetAllocation();
-	
-	/**
-	 * Answer true if we are an instance of one of Java's primitive data types.
-	 * e.g. boolean, char - true otherwise, e.g. java.lang.Boolean
-	 */
-	public boolean isPrimitive();
-	
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaObjectInstance.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaObjectInstance.java
deleted file mode 100644
index 3953fc5..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/IJavaObjectInstance.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.jem.internal.instantiation.base;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IJavaObjectInstance.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/12 21:44:21 $ 
- */
-
-
-/**
- * Interface for java object instances.
- */
-public interface IJavaObjectInstance extends IJavaInstance {
-	
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaDataTypeInstance.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaDataTypeInstance.java
deleted file mode 100644
index 02d3e37..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaDataTypeInstance.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.jem.internal.instantiation.base;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaDataTypeInstance.java,v $
- *  $Revision: 1.4 $  $Date: 2004/01/19 22:50:15 $ 
- */
-
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jem.internal.instantiation.JavaAllocation;
-import org.eclipse.jem.java.JavaHelpers;
-
-/**
- * This is the default instance of a Java Model Datatype (i.e. primitive).
- * It can be created from a string, which becomes the initialization string
- * for the instance. It's toString will be the initialization string.
- *
- * It should not be referenced directly, the IJavaDataTypeInstance interface should be
- * used instead. It is public so that it can be subclassed. 
- */
-public class JavaDataTypeInstance extends EObjectImpl implements IJavaDataTypeInstance {
-
-	protected JavaDataTypeInstance() {
-	}
-
-	/*
-	 * This is here only for JavaFactoryHandler to set the allocation.
-	 * It is not exposed in the interface and should not be called outside.
-	 */
-	public JavaAllocation getAllocation() {
-		return isSetAllocation() ? (JavaAllocation) eGet(JavaInstantiation.getAllocationFeature(this)) : null;
-	}
-	
-	public boolean isSetAllocation() {
-		return eIsSet(JavaInstantiation.getAllocationFeature(this));
-	}
-	
-	public void setAllocation(JavaAllocation allocation) {
-		eSet(JavaInstantiation.getAllocationFeature(this), allocation);
-	}
-			
-	public JavaHelpers getJavaType() {
-		return (JavaHelpers) eClass();
-	}
-		
-	public String toString() {
-		return isSetAllocation() ? getAllocation().toString() : ""; //$NON-NLS-1$
-	}
-	public boolean isPrimitive(){
-		return true;
-	}
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaFactoryHandler.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaFactoryHandler.java
deleted file mode 100644
index 89f5168..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaFactoryHandler.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.jem.internal.instantiation.base;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaFactoryHandler.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/13 16:16:21 $ 
- */
-
-import org.eclipse.emf.ecore.*;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaDataType;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationHandler;
-
-/**
- * Adapter on JavaFactoryImpl to do instantiation.
- */
-public class JavaFactoryHandler implements IInstantiationHandler {
-
-	public final static JavaFactoryHandler INSTANCE = new JavaFactoryHandler();
-
-	/**
-	 * Constructor for JavaFactoryAdapter.
-	 */
-	protected JavaFactoryHandler() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.java.instantiation.IInstantiationHandler#handlesClass(org.eclipse.emf.ecore.EClass)
-	 */
-	public boolean handlesClass(EClass type) {
-		return type instanceof JavaClass || type instanceof JavaDataType;
-		// During XMI loading, it can't tell the JavaDataType is different than JavaClass.
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.java.instantiation.IInstantiationHandler#handlesDataType(org.eclipse.jem.java.JavaDataType)
-	 */
-	public boolean handlesDataType(JavaDataType type) {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.java.instantiation.IInstantiationHandler#create(org.eclipse.emf.ecore.EClass)
-	 */
-	public EObject create(EClass javaClass) {
-		EObject result = javaClass instanceof JavaClass ? (EObject) new JavaObjectInstance() : new JavaDataTypeInstance();
-		((InternalEObject) result).eSetClass(javaClass);
-		return result;
-	}
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaInstantiation.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaInstantiation.java
deleted file mode 100644
index 872e367..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaInstantiation.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.jem.internal.instantiation.base;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaInstantiation.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/13 16:16:21 $ 
- */
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationHandlerFactoryAdapter;
-
-/**
- * This class is used to initialize java model instantiation code and to access dynamic features.
- */
-public class JavaInstantiation {
-	
-	
-	public static final String ALLOCATION = "allocation";  //$NON-NLS-1$
-
-	/**
-	 * Get a structural feature from an instance of an IJavaObjectInstance, where the feature
-	 * is specified by its name.
-	 */
-	public static EStructuralFeature getSFeature(IJavaObjectInstance jobject, String featureName) {
-		return jobject.eClass().getEStructuralFeature(featureName);
-	}
-	
-	/**
-	 * Get a reference from an instance of an IJavaObjectInstance, where the feature
-	 * is specified by its name.
-	 */
-	public static EReference getReference(IJavaObjectInstance jobject, String featureName) {
-		return (EReference) getSFeature(jobject, featureName);
-	}	
-	
-	/**
-	 * Get a structural feature from an instance of an IJavaObjectInstance, where the feature
-	 * is specified by its URI (e.g. "java:/java.lang#Object/class").
-	 */
-	public static EStructuralFeature getSFeature(IJavaObjectInstance jobject, URI sfURI) {
-		return getSFeature((JavaClass) jobject.getJavaType(), sfURI);
-	}
-
-	/**
-	 * Get a structural feature from a JavaClass, where the feature
-	 * is specified by its URI (e.g. "java:/java.lang#Object/class").
-	 */
-	public static EStructuralFeature getSFeature(JavaClass jclass, URI sfURI) {
-		return getSFeature(jclass.eResource().getResourceSet(), sfURI);
-	}
-	
-	/**
-	 * Get a structural feature from a ResourceSet, where the feature
-	 * is specified by its URI (e.g. "java:/java.lang#Object/class").
-	 */
-	public static EStructuralFeature getSFeature(ResourceSet rset, URI sfURI) {
-		return (EStructuralFeature) rset.getEObject(sfURI, true);
-	}	
-	
-	/**
-	 * Get a reference from an instance of an IJavaObjectInstance, where the feature
-	 * is specified by its URI (e.g. "java:/java.lang#Object/class").
-	 */
-	public static EReference getReference(IJavaObjectInstance jobject, URI sfURI) {
-		return (EReference) getSFeature((JavaClass) jobject.getJavaType(), sfURI);
-	}
-
-	/**
-	 * Get a reference from a JavaClass, where the feature
-	 * is specified by its URI (e.g. "java:/java.lang#Object/class").
-	 */
-	public static EReference getReference(JavaClass jclass, URI sfURI) {
-		return (EReference) getSFeature(jclass.eResource().getResourceSet(), sfURI);
-	}
-	
-	/**
-	 * Get a reference from a ResourceSet, where the feature
-	 * is specified by its URI (e.g. "java:/java.lang#Object/class").
-	 */
-	public static EReference getReference(ResourceSet rset, URI sfURI) {
-		return (EReference) rset.getEObject(sfURI, true);
-	}	
-	
-	/**
-	 * Get the allocation Feature for this object. Since it depends
-	 * on what resource that the metaclass is defined in, we must look for it.
-	 */
-	public static EReference getAllocationFeature(IJavaInstance jinstance) {
-		return (EReference) jinstance.eClass().getEStructuralFeature(ALLOCATION);
-	}
-			
-	public static void initialize(ResourceSet rset) {
-			if (EcoreUtil.getExistingAdapter(rset, IInstantiationHandlerFactoryAdapter.ADAPTER_KEY) == null)
-				rset.eAdapters().add(new JavaInstantiationHandlerFactoryAdapter());
-	}
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaInstantiationHandlerFactoryAdapter.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaInstantiationHandlerFactoryAdapter.java
deleted file mode 100644
index 9d14fd4..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaInstantiationHandlerFactoryAdapter.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.jem.internal.instantiation.base;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaInstantiationHandlerFactoryAdapter.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:16:21 $ 
- */
-
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-
-import org.eclipse.jem.java.impl.JavaFactoryImpl;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationHandler;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationHandlerFactoryAdapter;
-
-/**
- * This adapter is attached to the resource set for a java model. The
- * JavaXMIFactory will ask for this adapter and ask it for the IInstantiationHandler.
- */
-public class JavaInstantiationHandlerFactoryAdapter extends AdapterImpl implements IInstantiationHandlerFactoryAdapter {
-
-	/**
-	 * Constructor for JavaInstantiationHandlerFactoryAdapter.
-	 */
-	public JavaInstantiationHandlerFactoryAdapter() {
-		super();
-	}
-
-	/**
-	 * @see org.eclipse.jem.internal.instantiation.IInstantiationHandlerFactoryAdapter#getInstantiationHandler(JavaFactoryImpl)
-	 */
-	public IInstantiationHandler getInstantiationHandler(JavaFactoryImpl factory) {
-		return JavaFactoryHandler.INSTANCE;
-	}
-
-	/**
-	 * @see org.eclipse.emf.common.notify.Adapter#isAdapterForType(Object)
-	 */
-	public boolean isAdapterForType(Object type) {
-		return IInstantiationHandlerFactoryAdapter.ADAPTER_KEY == type;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaObjectInstance.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaObjectInstance.java
deleted file mode 100644
index 47f013c..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/JavaObjectInstance.java
+++ /dev/null
@@ -1,257 +0,0 @@
-package org.eclipse.jem.internal.instantiation.base;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaObjectInstance.java,v $
- *  $Revision: 1.5 $  $Date: 2004/02/11 15:02:19 $ 
- */
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jem.internal.instantiation.JavaAllocation;
-import org.eclipse.jem.java.JavaHelpers;
-
-/**
- * This is the default instance for java model objects.
- * It should not be referenced directly, the IJavaObjectInstance interface should be
- * used instead. It is public so that it can be subclassed.
- */
-public class JavaObjectInstance extends EObjectImpl implements IJavaObjectInstance {
-
-	
-	public JavaHelpers getJavaType(){
-		return (JavaHelpers) eClass();
-	}
-	
-	public JavaAllocation getAllocation() {
-		return isSetAllocation() ? (JavaAllocation) eGet(JavaInstantiation.getAllocationFeature(this)) : null;
-	}
-	
-	public boolean isSetAllocation() {
-		return eIsSet(JavaInstantiation.getAllocationFeature(this));
-	}
-	
-	public void setAllocation(JavaAllocation allocation) {
-		eSet(JavaInstantiation.getAllocationFeature(this), allocation);
-	}
-	
-	
-	public boolean isPrimitive(){
-		return false;
-	}
-	
-	public String toString() {
-		// EObject's toString is too big for us, so we do a customized one.
-		StringBuffer result = new StringBuffer(getClass().getName());
-		result.append('@');
-		result.append(Integer.toHexString(hashCode()));
-		
-		if (eIsProxy())
-		{
-		  result.append(" (eProxyURI: "); //$NON-NLS-1$
-		  result.append(eProxyURI());
-		  result.append(')');
-		}
-		if(getJavaType() != null){
-			result.append('{');
-			result.append(getJavaType().getQualifiedName());
-			result.append('}');
-		}
-		
-		try {
-			JavaAllocation allocation = getAllocation();
-			if (allocation != null) {
-				result.append(':'); //$NON-NLS-1$
-				result.append(allocation.toString());
-			}
-		} catch (IllegalArgumentException e) {
-		} catch (NullPointerException e) {
-			// This can occur because sometimes this eClass can't be constructed right and won't have an initstring feature.
-			// In that case an NPE is thrown.
-		}
-		return result.toString();
-	}
-	
-	protected static class JavaObjectInstancePropertiesHolder extends EPropertiesHolderImpl {
-		private EList allStructuralFeatures;
-		
-		public JavaObjectInstancePropertiesHolder() {
-		}
-		
-		public Object[] eSettings() {
-			return eSettings;
-		}
-
-		public EList getAllStructuralFeatures() {
-			return allStructuralFeatures;
-		}
-		
-		/*
-		 * Clear the cache. This is due to 
-		 * structural features have changed.
-		 */
-		public void clearCache() {
-			eSettings = null;
-			setEContents(null);
-			setECrossReferences(null);
-			allStructuralFeatures = null;			
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.emf.ecore.impl.EObjectImpl.EPropertiesHolderImpl#allocateSettings(int)
-		 */
-		public void allocateSettings(int maximumDynamicFeatureID) {
-			if (allStructuralFeatures == null)
-				allStructuralFeatures = getEClass().getEAllStructuralFeatures();			
-			super.allocateSettings(maximumDynamicFeatureID);
-		}
-		
-		
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.emf.ecore.impl.EObjectImpl.EPropertiesHolderImpl#setEContents(org.eclipse.emf.common.util.EList)
-		 */
-		public void setEContents(EList eContents) {
-			if (allStructuralFeatures == null)
-				allStructuralFeatures = getEClass().getEAllStructuralFeatures();
-			super.setEContents(eContents);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.emf.ecore.impl.EObjectImpl.EPropertiesHolderImpl#setECrossReferences(org.eclipse.emf.common.util.EList)
-		 */
-		public void setECrossReferences(EList eCrossReferences) {
-			if (allStructuralFeatures == null)
-				allStructuralFeatures = getEClass().getEAllStructuralFeatures();
-			super.setECrossReferences(eCrossReferences);
-		}
-
-	}
-	
-	protected EPropertiesHolder eProperties()
-	{
-	  if (eProperties == null)
-	  {
-		eProperties = new JavaObjectInstancePropertiesHolder();
-	  }
-	  return eProperties;
-	}
-		
-	/**
-	 * @see org.eclipse.emf.ecore.InternalEObject#eSetClass(EClass)
-	 */
-	public void eSetClass(EClass eClass) {
-		super.eSetClass(eClass);
-		migrate();
-	}
-
-	/**
-	 * @param newEClass New eClass set to. (null) when migrating while not setting a new EClass.
-	 */
-	protected void migrate() {
-		// Note: This is extremelly implementation dependent. It may change for any implementation of EMF.	
-		if (eProperties != null && (eProperties.hasSettings() || eProperties.getEContents() != null || eProperties.getECrossReferences() != null)) {
-			// Maybe need to reconstruct settings or clear cache.
-			JavaObjectInstancePropertiesHolder properties = (JavaObjectInstancePropertiesHolder) eProperties;
-			EList oldAllFeatures = properties.getAllStructuralFeatures();
-			
-			// See if migration needed.
-			if (properties.getEClass().getEAllStructuralFeatures() == oldAllFeatures)
-				return;	// No migration needed.
-			
-			Object[] oldSettings = properties.eSettings();			
-			properties.clearCache();	// Clear the cache so we can rebuild it.
-			if (oldSettings == null) {
-				return;	// It was just either contents or crossrefs, and they have been appropriately cleared.			
-			}
-			
-			// It is assumed that any SF that (by identity) is in
-			// both the old and the new eClass, then it doesn't have any internal changes. It simply changed position
-			// in the settings list. Otherwise, need to see if compatible by same name, and if so, move it.			
-			eSettings();	// Create new settings
-			Object[] newSettings = properties.eSettings();
-			int staticFeatureCnt = eStaticFeatureCount();			
-			for (int oldIndex = 0; oldIndex < oldSettings.length; oldIndex++) {
-				if (oldSettings[oldIndex] != null) {
-					EStructuralFeature sf = (EStructuralFeature) oldAllFeatures.get(oldIndex+staticFeatureCnt);
-					int newIndex = super.eDynamicFeatureID(sf);	// To avoid recurse on migrate.
-					if (newIndex > -1) {
-						moveESetting(oldSettings, newSettings, oldIndex, sf, newIndex);
-					} else {
-						// See if it exists by name and is compatible.
-						EStructuralFeature newSF = properties.getEClass().getEStructuralFeature(sf.getName());
-						if (newSF != null && newSF.getClass().equals(sf.getClass()) &&
-							newSF.isMany() == sf.isMany() && newSF.isChangeable() == sf.isChangeable()) {
-							boolean compatible = newSF.isUnique() == sf.isUnique() || !newSF.isUnique();	// If new is not unique, then doesn't matter if old and new are the same
-							if (newSF instanceof EReference) {
-								EReference newRef = (EReference) newSF;
-								EReference ref = (EReference) sf;
-								compatible = newRef.isContainment() == ref.isContainment() && newRef.getEReferenceType().isSuperTypeOf(ref.getEReferenceType());
-							} else
-								compatible = newSF.getEType().equals(sf.getEType());
-								
-							if (compatible) {
-								newIndex = eDynamicFeatureID(newSF);
-								moveESetting(oldSettings, newSettings, oldIndex, newSF, newIndex);
-							}
-						}
-					}
-				}
-			}
-		} 
-	}
-
-	private void moveESetting(Object[] oldSettings, Object[] newSettings, int oldIndex, EStructuralFeature sf, int newIndex) {
-		// See if single vs many.
-		if (!sf.isMany())
-			newSettings[newIndex] = oldSettings[oldIndex];	// Great, we can just move it over.
-		else {
-			// Many is more difficult. Need to create a new dynamic list of right type, and
-			// then just copy over the data from the old one. We create new one by doing a simple eGet.
-			// This will construct an empty one with no notifications going out.
-			// Note: This is extremelly implementation dependent. We will be throwing away the old
-			// oldMany, so it is ok to reuse the actual array of data for the newMany.
-			BasicEList newMany = (BasicEList) eGet(sf);
-			BasicEList oldMany = (BasicEList) oldSettings[oldIndex];
-			newMany.setData(oldMany.size(), oldMany.data()); 
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.ecore.impl.EObjectImpl#eDynamicFeatureID(org.eclipse.emf.ecore.EStructuralFeature)
-	 */
-	protected int eDynamicFeatureID(EStructuralFeature eStructuralFeature) {
-		migrate();	// See if migration needed, and do if it does.
-		return super.eDynamicFeatureID(eStructuralFeature);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.ecore.EObject#eContents()
-	 */
-	public EList eContents() {
-		migrate();			
-		return super.eContents();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.ecore.EObject#eCrossReferences()
-	 */
-	public EList eCrossReferences() {
-		migrate();			
-		return super.eCrossReferences();
-	}
-
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/ParseTreeAllocationInstantiationVisitor.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/ParseTreeAllocationInstantiationVisitor.java
deleted file mode 100644
index 32a42da..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/base/ParseTreeAllocationInstantiationVisitor.java
+++ /dev/null
@@ -1,577 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: ParseTreeAllocationInstantiationVisitor.java,v $
- *  $Revision: 1.1 $  $Date: 2004/03/07 18:34:16 $ 
- */
-package org.eclipse.jem.internal.instantiation.base;
-
-import java.util.List;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.ParseVisitor;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.initParser.tree.IExpressionConstants;
-import org.eclipse.jem.internal.proxy.initParser.tree.IExpressionConstants.NoExpressionValueException;
- 
-/**
- * This is the standard parse visitor for instantiating a bean proxy from a java parse tree allocation.
- * It can be reused, but is not thread-safe.
- * 
- * @since 1.0.0
- */
-public class ParseTreeAllocationInstantiationVisitor extends ParseVisitor {
-	
-	/**
-	 * Registry for processing the expressions against.
-	 */
-	private ProxyFactoryRegistry registry;
-	
-	/**
-	 * The expression that is being created and evaluated.
-	 */
-	private IExpression expression;
-	
-	/*
-	 * The next expression type that should be used. It is used when one expression is sending the
-	 * visitation to the next expression. It will set this to what that expression should be using. This
-	 * is necessary because the next expression doesn't know what it should be.
-	 */
-	private int nextExpression = IExpression.ROOTEXPRESSION;
-	
-	/**
-	 * An exception occurred during processing. It is a RuntimeException because
-	 * it can be thrown at any time. It wrappers another exception. That exception
-	 * can be retrieved from the cause of the ProcessingException.
-	 * 
-	 * @see Throwable#getCause()
-	 * @since 1.0.0
-	 */
-	public static class ProcessingException extends RuntimeException {
-		
-		/**
-		 * @param cause
-		 * 
-		 * @since 1.0.0
-		 */
-		public ProcessingException(Throwable cause) {
-			super(cause);
-		}
-	}
-	
-	static final int[] INFIXTOPROXY;
-	static {
-		INFIXTOPROXY = new int[PTInfixOperator.VALUES.size()];
-		INFIXTOPROXY[PTInfixOperator.AND] = IExpressionConstants.IN_AND;
-		INFIXTOPROXY[PTInfixOperator.CONDITIONAL_AND] = IExpressionConstants.IN_CONDITIONAL_AND;
-		INFIXTOPROXY[PTInfixOperator.CONDITIONAL_OR] = IExpressionConstants.IN_CONDITIONAL_OR;
-		INFIXTOPROXY[PTInfixOperator.DIVIDE] = IExpressionConstants.IN_DIVIDE;
-		INFIXTOPROXY[PTInfixOperator.EQUALS] = IExpressionConstants.IN_EQUALS;
-		INFIXTOPROXY[PTInfixOperator.GREATER] = IExpressionConstants.IN_GREATER;
-		INFIXTOPROXY[PTInfixOperator.GREATER_EQUALS] = IExpressionConstants.IN_GREATER_EQUALS;
-		INFIXTOPROXY[PTInfixOperator.LEFT_SHIFT] = IExpressionConstants.IN_LEFT_SHIFT;
-		INFIXTOPROXY[PTInfixOperator.LESS] = IExpressionConstants.IN_LESS;
-		INFIXTOPROXY[PTInfixOperator.LESS_EQUALS] = IExpressionConstants.IN_LESS_EQUALS;
-		INFIXTOPROXY[PTInfixOperator.MINUS] = IExpressionConstants.IN_MINUS;
-		INFIXTOPROXY[PTInfixOperator.NOT_EQUALS] = IExpressionConstants.IN_NOT_EQUALS;
-		INFIXTOPROXY[PTInfixOperator.OR] = IExpressionConstants.IN_OR;
-		INFIXTOPROXY[PTInfixOperator.PLUS] = IExpressionConstants.IN_PLUS;
-		INFIXTOPROXY[PTInfixOperator.REMAINDER] = IExpressionConstants.IN_REMAINDER;
-		INFIXTOPROXY[PTInfixOperator.RIGHT_SHIFT_SIGNED] = IExpressionConstants.IN_RIGHT_SHIFT_SIGNED;
-		INFIXTOPROXY[PTInfixOperator.RIGHT_SHIFT_UNSIGNED] = IExpressionConstants.IN_RIGHT_SHIFT_UNSIGNED;
-		INFIXTOPROXY[PTInfixOperator.TIMES] = IExpressionConstants.IN_TIMES;
-		INFIXTOPROXY[PTInfixOperator.XOR] = IExpressionConstants.IN_XOR;
-	}
-	
-	/**
-	 * A helper method to convert the parse tree's infix operator to the Proxy infix operator.
-	 * 
-	 * @param operator
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static int convertPTInfixOperatorToProxyInfixOperator(PTInfixOperator operator) {
-		return INFIXTOPROXY[operator.getValue()];
-	}
-
-	static final int[] PREFIXTOPROXY;
-	static {
-		PREFIXTOPROXY = new int[PTPrefixOperator.VALUES.size()];
-		PREFIXTOPROXY[PTPrefixOperator.COMPLEMENT] = IExpressionConstants.PRE_COMPLEMENT;
-		PREFIXTOPROXY[PTPrefixOperator.MINUS] = IExpressionConstants.PRE_MINUS;
-		PREFIXTOPROXY[PTPrefixOperator.NOT] = IExpressionConstants.PRE_NOT;
-		PREFIXTOPROXY[PTPrefixOperator.PLUS] = IExpressionConstants.PRE_PLUS;
-	}
-	
-	/**
-	 * A helper method to convert the parse tree's prefix operator to the Proxy prefix operator.
-	 * 
-	 * @param operator
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static int convertPTPrefixOperatorToProxyPrefixOperator(PTPrefixOperator operator) {
-		return PREFIXTOPROXY[operator.getValue()];
-	}
-	
-	/**
-	 * Create the visitor with the given registry.
-	 * 
-	 * @param registry
-	 * 
-	 * @since 1.0.0
-	 */
-	public ParseTreeAllocationInstantiationVisitor() {
-	}
-	
-	/**
-	 * Get the current registry.
-	 * 
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final ProxyFactoryRegistry getRegistry() {
-		return registry;
-	}
-	
-	/**
-	 * Get the current expression.
-	 * 
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected final IExpression getExpression() {
-		return expression;
-	}	
-
-	/**
-	 * Get the beanproxy for the given expression and registry.
-	 * 
-	 * @param expression
-	 * @param registry
-	 * @return
-	 * @throws IllegalStateException
-	 * @throws ThrowableProxy
-	 * @throws NoExpressionValueException
-	 * @throws ProcessingException
-	 * 
-	 * @since 1.0.0
-	 */
-	public IBeanProxy getBeanProxy(PTExpression expression, ProxyFactoryRegistry registry) throws IllegalStateException, IllegalArgumentException, ThrowableProxy, NoExpressionValueException, ProcessingException {
-		this.registry = registry;
-		this.expression = registry.getBeanProxyFactory().createExpression();
-		setNextExpression(IExpression.ROOTEXPRESSION);
-		try {
-			expression.accept(this);
-		} catch (ProcessingException e) {
-			// Handle the most common that make sense to be know distinctly and throw them instead of ProcessingException.
-			Throwable t = e.getCause();
-			if (t instanceof ThrowableProxy)
-				throw (ThrowableProxy) t;
-			else if (t instanceof NoExpressionValueException)
-				throw (NoExpressionValueException) t;
-			else
-				throw e;
-		}
-		
-		return getExpression().getExpressionValue();
-	}
-	
-	/**
-	 * Set the next expression type. (i.e. the <code>forExpression</code> field of most of the create expression methods.
-	 * 
-	 * @param nextExpression
-	 * 
-	 * @see IExpression#createInfixExpression(int, int, int)
-	 * @since 1.0.0
-	 */
-	protected final void setNextExpression(int nextExpression) {
-		this.nextExpression = nextExpression;
-	}
-
-	/**
-	 * Get the next expression type. (i.e. the <code>forExpression</code> field of most of the create expression methods.
-	 * 
-	 * @return
-	 * 
-	 * @see IExpression#createInfixExpression(int, int, int)
-	 * @since 1.0.0
-	 */
-	protected final int getNextExpression() {
-		return nextExpression;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTArrayAccess)
-	 */
-	public boolean visit(PTArrayAccess node) {
-		try {
-			getExpression().createArrayAccess(getNextExpression(), node.getIndexes().size());
-			setNextExpression(IExpression.ARRAYACCESS_ARRAY);
-			node.getArray().accept(this);
-			List idx = node.getIndexes();
-			int s = idx.size();
-			for (int i = 0; i < s; i++) {
-				setNextExpression(IExpression.ARRAYACCESS_INDEX);
-				((PTExpression) idx.get(i)).accept(this);
-			}
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTArrayCreation)
-	 */
-	public boolean visit(PTArrayCreation node) {
-		try {
-			getExpression().createArrayCreation(getNextExpression(), node.getType(), node.getDimensions().size());
-			if (node.getDimensions().isEmpty()) {
-				node.getInitializer().accept(this);	// Array initializer doesn't require a next expression.
-			} else {
-				List dims = node.getDimensions();
-				int s = dims.size();
-				for (int i = 0; i < s; i++) {
-					setNextExpression(IExpression.ARRAYCREATION_DIMENSION);
-					((PTExpression) dims.get(i)).accept(this);
-				}
-			}
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTArrayInitializer)
-	 */
-	public boolean visit(PTArrayInitializer node) {
-		try {
-			getExpression().createArrayInitializer(node.getExpressions().size());
-			List exps = node.getExpressions();
-			int s = exps.size();
-			for (int i = 0; i < s; i++) {
-				setNextExpression(IExpression.ARRAYINITIALIZER_EXPRESSION);
-				((PTExpression) exps.get(i)).accept(this);
-			}
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTBooleanLiteral)
-	 */
-	public boolean visit(PTBooleanLiteral node) {
-		try {
-			getExpression().createPrimitiveLiteral(getNextExpression(), node.isBooleanValue());
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTCastExpression)
-	 */
-	public boolean visit(PTCastExpression node) {
-		try {
-			getExpression().createCastExpression(getNextExpression(), node.getType());
-			setNextExpression(IExpression.CAST_EXPRESSION);
-			node.getExpression().accept(this);
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTCharacterLiteral)
-	 */
-	public boolean visit(PTCharacterLiteral node) {
-		try {
-			getExpression().createPrimitiveLiteral(getNextExpression(), node.getCharValue());
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTClassInstanceCreation)
-	 */
-	public boolean visit(PTClassInstanceCreation node) {
-		try {
-			getExpression().createClassInstanceCreation(getNextExpression(), node.getType(), node.getArguments().size());
-			List args = node.getArguments();
-			int s = args.size();
-			for (int i = 0; i < s; i++) {
-				setNextExpression(IExpression.CLASSINSTANCECREATION_ARGUMENT);
-				((PTExpression) args.get(i)).accept(this);
-			}
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTConditionalExpression)
-	 */
-	public boolean visit(PTConditionalExpression node) {
-		try {
-			getExpression().createConditionalExpression(getNextExpression());
-			setNextExpression(IExpression.CONDITIONAL_CONDITION);
-			node.getCondition().accept(this);
-			setNextExpression(IExpression.CONDITIONAL_TRUE);
-			node.getTrue().accept(this);
-			setNextExpression(IExpression.CONDITIONAL_FALSE);
-			node.getFalse().accept(this);			
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTFieldAccess)
-	 */
-	public boolean visit(PTFieldAccess node) {
-		try {
-			getExpression().createFieldAccess(getNextExpression(), node.getField(), node.getReceiver() != null);
-			if (node.getReceiver() != null) {
-				setNextExpression(IExpression.FIELD_RECEIVER);
-				node.getReceiver().accept(this);
-			}
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTInfixExpression)
-	 */
-	public boolean visit(PTInfixExpression node) {
-		try {
-			getExpression().createInfixExpression(getNextExpression(), convertPTInfixOperatorToProxyInfixOperator(node.getOperator()), node.getExtendedOperands().size());
-			setNextExpression(IExpression.INFIX_LEFT);
-			node.getLeftOperand().accept(this);
-			setNextExpression(IExpression.INFIX_RIGHT);
-			node.getRightOperand().accept(this);
-			List extended = node.getExtendedOperands();
-			int s = extended.size();
-			for (int i = 0; i < s; i++) {
-				setNextExpression(IExpression.INFIX_EXTENDED);
-				((PTExpression) extended.get(i)).accept(this);
-			}
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTInstanceof)
-	 */
-	public boolean visit(PTInstanceof node) {
-		try {
-			getExpression().createInstanceofExpression(getNextExpression(), node.getType());
-			setNextExpression(IExpression.INSTANCEOF_VALUE);
-			node.getOperand().accept(this);
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTInvalidExpression)
-	 */
-	public boolean visit(PTInvalidExpression node) {
-		throw new IllegalArgumentException(node.getMessage());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTMethodInvocation)
-	 */
-	public boolean visit(PTMethodInvocation node) {
-		try {
-			getExpression().createMethodInvocation(getNextExpression(), node.getName(), node.getReceiver() != null, node.getArguments().size());
-			if (node.getReceiver() != null) {
-				setNextExpression(IExpression.METHOD_RECEIVER);
-				node.getReceiver().accept(this);
-			}
-			List args = node.getArguments();
-			int s = args.size();
-			for (int i = 0; i < s; i++) {
-				setNextExpression(IExpression.METHOD_ARGUMENT);
-				((PTExpression) args.get(i)).accept(this);
-			}			
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTName)
-	 */
-	public boolean visit(PTName node) {
-		try {
-			// This is special in the PTName can only be used as a type receiver at this time.
-			getExpression().createTypeReceiver(node.getName());
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTNullLiteral)
-	 */
-	public boolean visit(PTNullLiteral node) {
-		try {
-			// This is special in the PTName can only be used as a type receiver at this time.
-			getExpression().createNull(getNextExpression());
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTNumberLiteral)
-	 */
-	public boolean visit(PTNumberLiteral node) {
-		try {
-			// It is assumed the tokens are trimmed.
-			String lit = node.getToken();
-			char lastChar = lit.charAt(lit.length()-1);
-			if (lastChar == 'l' || lastChar == 'L' ) {
-				// It is definitely a long.
-				// Using decode so that things like 0x3 will be parsed. parseLong won't recognize those.
-				getExpression().createPrimitiveLiteral(getNextExpression(), Long.decode(lit.substring(0, lit.length()-1)).longValue());
-			} else if (lastChar == 'F' || lastChar == 'f') {
-				// It is definitely a float.
-				getExpression().createPrimitiveLiteral(getNextExpression(), Float.parseFloat(lit.substring(0, lit.length()-1)));
-			} else if (lastChar == 'D' || lastChar == 'd')  {
-				// It is definitely a double.
-				getExpression().createPrimitiveLiteral(getNextExpression(), Double.parseDouble(lit.substring(0, lit.length()-1)));
-			} else if (lit.indexOf('.') != -1 || lit.indexOf('e') != -1 || lit.indexOf('E') != -1) {
-					// It is definitely a double. (has a period or an exponent, but does not have an 'f' on the end is always a double).
-					getExpression().createPrimitiveLiteral(getNextExpression(), Double.parseDouble(lit.substring(0, lit.length())));
-			} else {
-				// Using decode so that things like 0x3 will be parsed. parseInt won't recognize those.
-				getExpression().createPrimitiveLiteral(getNextExpression(), Integer.decode(lit).intValue());
-			}
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTParenthesizedExpression)
-	 */
-	public boolean visit(PTParenthesizedExpression node) {
-		node.getExpression().accept(this);	// For instantiation purposes, the parenthesis can be ignored.
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTPrefixExpression)
-	 */
-	public boolean visit(PTPrefixExpression node) {
-		try {
-			getExpression().createPrefixExpression(getNextExpression(), convertPTPrefixOperatorToProxyPrefixOperator(node.getOperator()));
-			setNextExpression(IExpression.PREFIX_OPERAND);
-			node.getExpression().accept(this);
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTStringLiteral)
-	 */
-	public boolean visit(PTStringLiteral node) {
-		try {
-			getExpression().createProxyExpression(getNextExpression(), getRegistry().getBeanProxyFactory().createBeanProxyWith(node.getLiteralValue()));
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTThisLiteral)
-	 */
-	public boolean visit(PTThisLiteral node) {
-		throw new IllegalArgumentException("Currently \"this\" is not supported");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTTypeLiteral)
-	 */
-	public boolean visit(PTTypeLiteral node) {
-		try {
-			getExpression().createTypeLiteral(getNextExpression(), node.getType());
-		} catch (ThrowableProxy e) {
-			throw new ProcessingException(e);
-		} catch (NoExpressionValueException e) {
-			throw new ProcessingException(e);
-		}
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/ImplicitAllocationImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/ImplicitAllocationImpl.java
deleted file mode 100644
index 2327b17..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/ImplicitAllocationImpl.java
+++ /dev/null
@@ -1,225 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ImplicitAllocationImpl.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/19 22:50:15 $ 
- */
- 
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.ImplicitAllocation;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Implicit Allocation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.ImplicitAllocationImpl#getParent <em>Parent</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.ImplicitAllocationImpl#getFeature <em>Feature</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ImplicitAllocationImpl extends JavaAllocationImpl implements ImplicitAllocation {
-	/**
-	 * The cached value of the '{@link #getParent() <em>Parent</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getParent()
-	 * @generated
-	 * @ordered
-	 */
-	protected EObject parent = null;
-
-	/**
-	 * The cached value of the '{@link #getFeature() <em>Feature</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFeature()
-	 * @generated
-	 * @ordered
-	 */
-	protected EStructuralFeature feature = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ImplicitAllocationImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getImplicitAllocation();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EObject getParent() {
-		if (parent != null && parent.eIsProxy()) {
-			EObject oldParent = parent;
-			parent = (EObject)eResolveProxy((InternalEObject)parent);
-			if (parent != oldParent) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, InstantiationPackage.IMPLICIT_ALLOCATION__PARENT, oldParent, parent));
-			}
-		}
-		return parent;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EObject basicGetParent() {
-		return parent;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setParent(EObject newParent) {
-		EObject oldParent = parent;
-		parent = newParent;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.IMPLICIT_ALLOCATION__PARENT, oldParent, parent));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EStructuralFeature getFeature() {
-		if (feature != null && feature.eIsProxy()) {
-			EStructuralFeature oldFeature = feature;
-			feature = (EStructuralFeature)eResolveProxy((InternalEObject)feature);
-			if (feature != oldFeature) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, InstantiationPackage.IMPLICIT_ALLOCATION__FEATURE, oldFeature, feature));
-			}
-		}
-		return feature;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EStructuralFeature basicGetFeature() {
-		return feature;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setFeature(EStructuralFeature newFeature) {
-		EStructuralFeature oldFeature = feature;
-		feature = newFeature;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.IMPLICIT_ALLOCATION__FEATURE, oldFeature, feature));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.IMPLICIT_ALLOCATION__PARENT:
-				if (resolve) return getParent();
-				return basicGetParent();
-			case InstantiationPackage.IMPLICIT_ALLOCATION__FEATURE:
-				if (resolve) return getFeature();
-				return basicGetFeature();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.IMPLICIT_ALLOCATION__PARENT:
-				setParent((EObject)newValue);
-				return;
-			case InstantiationPackage.IMPLICIT_ALLOCATION__FEATURE:
-				setFeature((EStructuralFeature)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.IMPLICIT_ALLOCATION__PARENT:
-				setParent((EObject)null);
-				return;
-			case InstantiationPackage.IMPLICIT_ALLOCATION__FEATURE:
-				setFeature((EStructuralFeature)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.IMPLICIT_ALLOCATION__PARENT:
-				return parent != null;
-			case InstantiationPackage.IMPLICIT_ALLOCATION__FEATURE:
-				return feature != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-} //ImplicitAllocationImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InitStringAllocationImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InitStringAllocationImpl.java
deleted file mode 100644
index be9d408..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InitStringAllocationImpl.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: InitStringAllocationImpl.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/19 22:50:15 $ 
- */
- 
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.InitStringAllocation;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Init String Allocation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.InitStringAllocationImpl#getInitString <em>Init String</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class InitStringAllocationImpl extends JavaAllocationImpl implements InitStringAllocation {
-	/**
-	 * The default value of the '{@link #getInitString() <em>Init String</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getInitString()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String INIT_STRING_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getInitString() <em>Init String</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getInitString()
-	 * @generated
-	 * @ordered
-	 */
-	protected String initString = INIT_STRING_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected InitStringAllocationImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getInitStringAllocation();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getInitString() {
-		return initString;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setInitString(String newInitString) {
-		String oldInitString = initString;
-		initString = newInitString;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.INIT_STRING_ALLOCATION__INIT_STRING, oldInitString, initString));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.INIT_STRING_ALLOCATION__INIT_STRING:
-				return getInitString();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.INIT_STRING_ALLOCATION__INIT_STRING:
-				setInitString((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.INIT_STRING_ALLOCATION__INIT_STRING:
-				setInitString(INIT_STRING_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.INIT_STRING_ALLOCATION__INIT_STRING:
-				return INIT_STRING_EDEFAULT == null ? initString != null : !INIT_STRING_EDEFAULT.equals(initString);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (initString: ");
-		result.append(initString);
-		result.append(')');
-		return result.toString();
-	}
-
-} //InitStringAllocationImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationFactoryImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationFactoryImpl.java
deleted file mode 100644
index d633723..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationFactoryImpl.java
+++ /dev/null
@@ -1,607 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: InstantiationFactoryImpl.java,v $
- *  $Revision: 1.6 $  $Date: 2004/01/28 17:37:58 $ 
- */
-
-import java.util.List;
-
-import org.eclipse.jem.internal.instantiation.*;
-
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class InstantiationFactoryImpl extends EFactoryImpl implements InstantiationFactory {
-	/**
-	 * Creates and instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public InstantiationFactoryImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EObject create(EClass eClass) {
-		switch (eClass.getClassifierID()) {
-			case InstantiationPackage.INIT_STRING_ALLOCATION: return createInitStringAllocation();
-			case InstantiationPackage.IMPLICIT_ALLOCATION: return createImplicitAllocation();
-			case InstantiationPackage.PARSE_TREE_ALLOCATION: return createParseTreeAllocation();
-			case InstantiationPackage.PT_ARRAY_ACCESS: return createPTArrayAccess();
-			case InstantiationPackage.PT_ARRAY_CREATION: return createPTArrayCreation();
-			case InstantiationPackage.PT_ARRAY_INITIALIZER: return createPTArrayInitializer();
-			case InstantiationPackage.PT_BOOLEAN_LITERAL: return createPTBooleanLiteral();
-			case InstantiationPackage.PT_CAST_EXPRESSION: return createPTCastExpression();
-			case InstantiationPackage.PT_CHARACTER_LITERAL: return createPTCharacterLiteral();
-			case InstantiationPackage.PT_CLASS_INSTANCE_CREATION: return createPTClassInstanceCreation();
-			case InstantiationPackage.PT_CONDITIONAL_EXPRESSION: return createPTConditionalExpression();
-			case InstantiationPackage.PT_FIELD_ACCESS: return createPTFieldAccess();
-			case InstantiationPackage.PT_INFIX_EXPRESSION: return createPTInfixExpression();
-			case InstantiationPackage.PT_INSTANCEOF: return createPTInstanceof();
-			case InstantiationPackage.PT_METHOD_INVOCATION: return createPTMethodInvocation();
-			case InstantiationPackage.PT_NAME: return createPTName();
-			case InstantiationPackage.PT_NULL_LITERAL: return createPTNullLiteral();
-			case InstantiationPackage.PT_NUMBER_LITERAL: return createPTNumberLiteral();
-			case InstantiationPackage.PT_PARENTHESIZED_EXPRESSION: return createPTParenthesizedExpression();
-			case InstantiationPackage.PT_PREFIX_EXPRESSION: return createPTPrefixExpression();
-			case InstantiationPackage.PT_STRING_LITERAL: return createPTStringLiteral();
-			case InstantiationPackage.PT_THIS_LITERAL: return createPTThisLiteral();
-			case InstantiationPackage.PT_TYPE_LITERAL: return createPTTypeLiteral();
-			case InstantiationPackage.PT_INVALID_EXPRESSION: return createPTInvalidExpression();
-			case InstantiationPackage.PT_INSTANCE_REFERENCE: return createPTInstanceReference();
-			default:
-				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object createFromString(EDataType eDataType, String initialValue) {
-		switch (eDataType.getClassifierID()) {
-			case InstantiationPackage.PT_INFIX_OPERATOR:
-				return PTInfixOperator.get(initialValue);
-			case InstantiationPackage.PT_PREFIX_OPERATOR:
-				return PTPrefixOperator.get(initialValue);
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertToString(EDataType eDataType, Object instanceValue) {
-		switch (eDataType.getClassifierID()) {
-			case InstantiationPackage.PT_INFIX_OPERATOR:
-				return instanceValue == null ? null : instanceValue.toString();
-			case InstantiationPackage.PT_PREFIX_OPERATOR:
-				return instanceValue == null ? null : instanceValue.toString();
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public InitStringAllocation createInitStringAllocation() {
-		InitStringAllocationImpl initStringAllocation = new InitStringAllocationImpl();
-		return initStringAllocation;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ImplicitAllocation createImplicitAllocation() {
-		ImplicitAllocationImpl implicitAllocation = new ImplicitAllocationImpl();
-		return implicitAllocation;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ParseTreeAllocation createParseTreeAllocation() {
-		ParseTreeAllocationImpl parseTreeAllocation = new ParseTreeAllocationImpl();
-		return parseTreeAllocation;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTArrayAccess createPTArrayAccess() {
-		PTArrayAccessImpl ptArrayAccess = new PTArrayAccessImpl();
-		return ptArrayAccess;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTArrayCreation createPTArrayCreation() {
-		PTArrayCreationImpl ptArrayCreation = new PTArrayCreationImpl();
-		return ptArrayCreation;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTArrayInitializer createPTArrayInitializer() {
-		PTArrayInitializerImpl ptArrayInitializer = new PTArrayInitializerImpl();
-		return ptArrayInitializer;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTBooleanLiteral createPTBooleanLiteral() {
-		PTBooleanLiteralImpl ptBooleanLiteral = new PTBooleanLiteralImpl();
-		return ptBooleanLiteral;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTCastExpression createPTCastExpression() {
-		PTCastExpressionImpl ptCastExpression = new PTCastExpressionImpl();
-		return ptCastExpression;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTCharacterLiteral createPTCharacterLiteral() {
-		PTCharacterLiteralImpl ptCharacterLiteral = new PTCharacterLiteralImpl();
-		return ptCharacterLiteral;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTClassInstanceCreation createPTClassInstanceCreation() {
-		PTClassInstanceCreationImpl ptClassInstanceCreation = new PTClassInstanceCreationImpl();
-		return ptClassInstanceCreation;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTConditionalExpression createPTConditionalExpression() {
-		PTConditionalExpressionImpl ptConditionalExpression = new PTConditionalExpressionImpl();
-		return ptConditionalExpression;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTFieldAccess createPTFieldAccess() {
-		PTFieldAccessImpl ptFieldAccess = new PTFieldAccessImpl();
-		return ptFieldAccess;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTInfixExpression createPTInfixExpression() {
-		PTInfixExpressionImpl ptInfixExpression = new PTInfixExpressionImpl();
-		return ptInfixExpression;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTInstanceof createPTInstanceof() {
-		PTInstanceofImpl ptInstanceof = new PTInstanceofImpl();
-		return ptInstanceof;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTMethodInvocation createPTMethodInvocation() {
-		PTMethodInvocationImpl ptMethodInvocation = new PTMethodInvocationImpl();
-		return ptMethodInvocation;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTName createPTName() {
-		PTNameImpl ptName = new PTNameImpl();
-		return ptName;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTNullLiteral createPTNullLiteral() {
-		PTNullLiteralImpl ptNullLiteral = new PTNullLiteralImpl();
-		return ptNullLiteral;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTNumberLiteral createPTNumberLiteral() {
-		PTNumberLiteralImpl ptNumberLiteral = new PTNumberLiteralImpl();
-		return ptNumberLiteral;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTParenthesizedExpression createPTParenthesizedExpression() {
-		PTParenthesizedExpressionImpl ptParenthesizedExpression = new PTParenthesizedExpressionImpl();
-		return ptParenthesizedExpression;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTPrefixExpression createPTPrefixExpression() {
-		PTPrefixExpressionImpl ptPrefixExpression = new PTPrefixExpressionImpl();
-		return ptPrefixExpression;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTStringLiteral createPTStringLiteral() {
-		PTStringLiteralImpl ptStringLiteral = new PTStringLiteralImpl();
-		return ptStringLiteral;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTThisLiteral createPTThisLiteral() {
-		PTThisLiteralImpl ptThisLiteral = new PTThisLiteralImpl();
-		return ptThisLiteral;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTTypeLiteral createPTTypeLiteral() {
-		PTTypeLiteralImpl ptTypeLiteral = new PTTypeLiteralImpl();
-		return ptTypeLiteral;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTInvalidExpression createPTInvalidExpression() {
-		PTInvalidExpressionImpl ptInvalidExpression = new PTInvalidExpressionImpl();
-		return ptInvalidExpression;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTInstanceReference createPTInstanceReference() {
-		PTInstanceReferenceImpl ptInstanceReference = new PTInstanceReferenceImpl();
-		return ptInstanceReference;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public InstantiationPackage getInstantiationPackage() {
-		return (InstantiationPackage)getEPackage();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @deprecated
-	 * @generated
-	 */
-	public static InstantiationPackage getPackage() {
-		return InstantiationPackage.eINSTANCE;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createImplicitAllocation(org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature)
-	 */
-	public ImplicitAllocation createImplicitAllocation(EObject parent, EStructuralFeature sf) {
-		ImplicitAllocation alloc = createImplicitAllocation();
-		alloc.setParent(parent);
-		alloc.setFeature(sf);
-		return alloc;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createInitStringAllocation(java.lang.String)
-	 */
-	public InitStringAllocation createInitStringAllocation(String initString) {
-		InitStringAllocation alloc = createInitStringAllocation();
-		alloc.setInitString(initString);
-		return alloc;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createParseTreeAllocation(org.eclipse.jem.internal.instantiation.PTExpression)
-	 */
-	public ParseTreeAllocation createParseTreeAllocation(PTExpression expression) {
-		ParseTreeAllocation a = createParseTreeAllocation();
-		a.setExpression(expression);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTArrayAccess(org.eclipse.jem.internal.instantiation.PTExpression, java.util.List)
-	 */
-	public PTArrayAccess createPTArrayAccess(PTExpression array, List indexes) {
-		PTArrayAccess a = createPTArrayAccess();
-		a.setArray(array);
-		a.getIndexes().addAll(indexes);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTArrayCreation(java.lang.String, java.util.List, org.eclipse.jem.internal.instantiation.PTArrayInitializer)
-	 */
-	public PTArrayCreation createPTArrayCreation(String type, List dimensions, PTArrayInitializer initializer) {
-		PTArrayCreation a = createPTArrayCreation();
-		a.setType(type);
-		if (dimensions != null)
-			a.getDimensions().addAll(dimensions);
-		a.setInitializer(initializer);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTArrayInitializer(java.util.List)
-	 */
-	public PTArrayInitializer createPTArrayInitializer(List expressions) {
-		PTArrayInitializer a = createPTArrayInitializer();
-		if (expressions != null)
-			a.getExpressions().addAll(expressions);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTBooleanLiteral(boolean)
-	 */
-	public PTBooleanLiteral createPTBooleanLiteral(boolean booleanValue) {
-		PTBooleanLiteral a = createPTBooleanLiteral();
-		a.setBooleanValue(booleanValue);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTCastExpression(java.lang.String, org.eclipse.jem.internal.instantiation.PTExpression)
-	 */
-	public PTCastExpression createPTCastExpression(String type, PTExpression expression) {
-		PTCastExpression a = createPTCastExpression();
-		a.setType(type);
-		a.setExpression(expression);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTCharacterLiteral(java.lang.String)
-	 */
-	public PTCharacterLiteral createPTCharacterLiteral(String escapedValue) {
-		PTCharacterLiteral a = createPTCharacterLiteral();
-		a.setEscapedValue(escapedValue);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTClassInstanceCreation(java.lang.String, java.util.List)
-	 */
-	public PTClassInstanceCreation createPTClassInstanceCreation(String type, List arguments) {
-		PTClassInstanceCreation a = createPTClassInstanceCreation();
-		a.setType(type);
-		if (arguments != null)
-			a.getArguments().addAll(arguments);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTConditionalExpression(org.eclipse.jem.internal.instantiation.PTExpression, org.eclipse.jem.internal.instantiation.PTExpression, org.eclipse.jem.internal.instantiation.PTExpression)
-	 */
-	public PTConditionalExpression createPTConditionalExpression(
-		PTExpression condition,
-		PTExpression trueExpressoin,
-		PTExpression falseExpression) {
-		PTConditionalExpression a = createPTConditionalExpression();
-		a.setCondition(condition);
-		a.setTrue(trueExpressoin);
-		a.setFalse(falseExpression);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTFieldAccess(org.eclipse.jem.internal.instantiation.PTExpression, java.lang.String)
-	 */
-	public PTFieldAccess createPTFieldAccess(PTExpression receiver, String field) {
-		PTFieldAccess a = createPTFieldAccess();
-		a.setReceiver(receiver);
-		a.setField(field);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTInfixExpression(org.eclipse.jem.internal.instantiation.PTExpression, org.eclipse.jem.internal.instantiation.PTInfixOperator, org.eclipse.jem.internal.instantiation.PTExpression, java.util.List)
-	 */
-	public PTInfixExpression createPTInfixExpression(
-		PTExpression leftOperand,
-		PTInfixOperator operator,
-		PTExpression rightOperand,
-		List extendedOperands) {
-		PTInfixExpression a = createPTInfixExpression();
-		a.setLeftOperand(leftOperand);
-		a.setOperator(operator);
-		a.setRightOperand(rightOperand);
-		if (extendedOperands != null)
-			a.getExtendedOperands().addAll(extendedOperands);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTInstanceof(org.eclipse.jem.internal.instantiation.PTExpression, java.lang.String)
-	 */
-	public PTInstanceof createPTInstanceof(PTExpression operand, String type) {
-		PTInstanceof a = createPTInstanceof();
-		a.setOperand(operand);
-		a.setType(type);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTInvalidExpression(java.lang.String)
-	 */
-	public PTInvalidExpression createPTInvalidExpression(String message) {
-		PTInvalidExpression a = createPTInvalidExpression();
-		a.setMessage(message);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTMethodInvocation(org.eclipse.jem.internal.instantiation.PTExpression, java.lang.String, java.util.List)
-	 */
-	public PTMethodInvocation createPTMethodInvocation(PTExpression receiver, String name, List arguments) {
-		PTMethodInvocation a = createPTMethodInvocation();
-		a.setReceiver(receiver);
-		a.setName(name);
-		if (arguments != null)
-			a.getArguments().addAll(arguments);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTName(java.lang.String)
-	 */
-	public PTName createPTName(String name) {
-		PTName a = createPTName();
-		a.setName(name);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTNumberLiteral(java.lang.String)
-	 */
-	public PTNumberLiteral createPTNumberLiteral(String token) {
-		PTNumberLiteral a = createPTNumberLiteral();
-		a.setToken(token);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTParenthesizedExpression(org.eclipse.jem.internal.instantiation.PTExpression)
-	 */
-	public PTParenthesizedExpression createPTParenthesizedExpression(PTExpression expression) {
-		PTParenthesizedExpression a = createPTParenthesizedExpression();
-		a.setExpression(expression);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTPrefixExpression(org.eclipse.jem.internal.instantiation.PTPrefixOperator, org.eclipse.jem.internal.instantiation.PTExpression)
-	 */
-	public PTPrefixExpression createPTPrefixExpression(PTPrefixOperator operator, PTExpression expression) {
-		PTPrefixExpression a = createPTPrefixExpression();
-		a.setOperator(operator);
-		a.setExpression(expression);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTStringLiteral(java.lang.String)
-	 */
-	public PTStringLiteral createPTStringLiteral(String escapeLiteral) {
-		PTStringLiteral a = createPTStringLiteral();
-		a.setEscapedValue(escapeLiteral);
-		return a;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationFactory#createPTTypeLiteral(java.lang.String)
-	 */
-	public PTTypeLiteral createPTTypeLiteral(String type) {
-		PTTypeLiteral a = createPTTypeLiteral();
-		a.setType(type);
-		return a;
-	}
-
-} //InstantiationFactoryImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationPackageImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationPackageImpl.java
deleted file mode 100644
index 8f150a1..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/InstantiationPackageImpl.java
+++ /dev/null
@@ -1,1346 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: InstantiationPackageImpl.java,v $
- *  $Revision: 1.7 $  $Date: 2004/02/03 23:18:28 $ 
- */
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcorePackage;
-
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-import org.eclipse.emf.ecore.impl.EcorePackageImpl;
-
-import org.eclipse.jem.internal.instantiation.PTArrayAccess;
-import org.eclipse.jem.internal.instantiation.PTArrayCreation;
-import org.eclipse.jem.internal.instantiation.PTArrayInitializer;
-import org.eclipse.jem.internal.instantiation.PTBooleanLiteral;
-import org.eclipse.jem.internal.instantiation.PTCastExpression;
-import org.eclipse.jem.internal.instantiation.PTCharacterLiteral;
-import org.eclipse.jem.internal.instantiation.PTClassInstanceCreation;
-import org.eclipse.jem.internal.instantiation.PTConditionalExpression;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.PTFieldAccess;
-import org.eclipse.jem.internal.instantiation.ImplicitAllocation;
-import org.eclipse.jem.internal.instantiation.PTInfixExpression;
-import org.eclipse.jem.internal.instantiation.PTInfixOperator;
-import org.eclipse.jem.internal.instantiation.PTInstanceReference;
-import org.eclipse.jem.internal.instantiation.InitStringAllocation;
-import org.eclipse.jem.internal.instantiation.PTInstanceof;
-import org.eclipse.jem.internal.instantiation.InstantiationFactory;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTInvalidExpression;
-import org.eclipse.jem.internal.instantiation.JavaAllocation;
-
-import org.eclipse.jem.internal.instantiation.PTMethodInvocation;
-import org.eclipse.jem.internal.instantiation.PTName;
-import org.eclipse.jem.internal.instantiation.PTNullLiteral;
-import org.eclipse.jem.internal.instantiation.PTNumberLiteral;
-import org.eclipse.jem.internal.instantiation.PTParenthesizedExpression;
-import org.eclipse.jem.internal.instantiation.ParseTreeAllocation;
-
-import org.eclipse.jem.internal.instantiation.PTPrefixExpression;
-import org.eclipse.jem.internal.instantiation.PTPrefixOperator;
-import org.eclipse.jem.internal.instantiation.PTStringLiteral;
-import org.eclipse.jem.internal.instantiation.PTThisLiteral;
-import org.eclipse.jem.internal.instantiation.PTTypeLiteral;
-
-import org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance;
-import org.eclipse.jem.internal.instantiation.base.IJavaInstance;
-import org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class InstantiationPackageImpl extends EPackageImpl implements InstantiationPackage {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass iJavaDataTypeInstanceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass iJavaObjectInstanceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass javaAllocationEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass initStringAllocationEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass implicitAllocationEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass parseTreeAllocationEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptExpressionEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptArrayAccessEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptArrayCreationEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptArrayInitializerEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptBooleanLiteralEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptCastExpressionEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptCharacterLiteralEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptClassInstanceCreationEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptConditionalExpressionEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptFieldAccessEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptInfixExpressionEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptInstanceofEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptMethodInvocationEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptNameEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptNullLiteralEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptNumberLiteralEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptParenthesizedExpressionEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptPrefixExpressionEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptStringLiteralEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptThisLiteralEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptTypeLiteralEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptInvalidExpressionEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass ptInstanceReferenceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum ptInfixOperatorEEnum = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum ptPrefixOperatorEEnum = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass iJavaInstanceEClass = null;
-
-	/**
-	 * Creates an instance of the model <b>Package</b>, registered with
-	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
-	 * package URI value.
-	 * <p>Note: the correct way to create the package is via the static
-	 * factory method {@link #init init()}, which also performs
-	 * initialization of the package, or returns the registered package,
-	 * if one already exists.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.emf.ecore.EPackage.Registry
-	 * @see org.eclipse.jem.internal.instantiation.InstantiationPackage#eNS_URI
-	 * @see #init()
-	 * @generated
-	 */
-	private InstantiationPackageImpl() {
-		super(eNS_URI, InstantiationFactory.eINSTANCE);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static boolean isInited = false;
-
-	/**
-	 * Creates, registers, and initializes the <b>Package</b> for this
-	 * model, and for any others upon which it depends.  Simple
-	 * dependencies are satisfied by calling this method on all
-	 * dependent packages before doing anything else.  This method drives
-	 * initialization for interdependent packages directly, in parallel
-	 * with this package, itself.
-	 * <p>Of this package and its interdependencies, all packages which
-	 * have not yet been registered by their URI values are first created
-	 * and registered.  The packages are then initialized in two steps:
-	 * meta-model objects for all of the packages are created before any
-	 * are initialized, since one package's meta-model objects may refer to
-	 * those of another.
-	 * <p>Invocation of this method will not affect any packages that have
-	 * already been initialized.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #eNS_URI
-	 * @see #createPackageContents()
-	 * @see #initializePackageContents()
-	 * @generated
-	 */
-	public static InstantiationPackage init() {
-		if (isInited) return (InstantiationPackage)EPackage.Registry.INSTANCE.get(InstantiationPackage.eNS_URI);
-
-		// Obtain or create and register package.
-		InstantiationPackageImpl theInstantiationPackage = (InstantiationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EPackage ? EPackage.Registry.INSTANCE.get(eNS_URI) : new InstantiationPackageImpl());
-
-		isInited = true;
-
-		// Initialize simple dependencies
-		EcorePackageImpl.init();
-
-		// Obtain or create and register interdependencies
-
-		// Step 1: create meta-model objects
-		theInstantiationPackage.createPackageContents();
-
-		// Step 2: complete initialization
-		theInstantiationPackage.initializePackageContents();
-
-		return theInstantiationPackage;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getIJavaObjectInstance() {
-		return iJavaObjectInstanceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getJavaAllocation() {
-		return javaAllocationEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getInitStringAllocation() {
-		return initStringAllocationEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getInitStringAllocation_InitString() {
-		return (EAttribute)initStringAllocationEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getImplicitAllocation() {
-		return implicitAllocationEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getImplicitAllocation_Parent() {
-		return (EReference)implicitAllocationEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getImplicitAllocation_Feature() {
-		return (EReference)implicitAllocationEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getParseTreeAllocation() {
-		return parseTreeAllocationEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getParseTreeAllocation_Expression() {
-		return (EReference)parseTreeAllocationEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTExpression() {
-		return ptExpressionEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTArrayAccess() {
-		return ptArrayAccessEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTArrayAccess_Array() {
-		return (EReference)ptArrayAccessEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTArrayAccess_Indexes() {
-		return (EReference)ptArrayAccessEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTArrayCreation() {
-		return ptArrayCreationEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTArrayCreation_Type() {
-		return (EAttribute)ptArrayCreationEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTArrayCreation_Dimensions() {
-		return (EReference)ptArrayCreationEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTArrayCreation_Initializer() {
-		return (EReference)ptArrayCreationEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTArrayInitializer() {
-		return ptArrayInitializerEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTArrayInitializer_Expressions() {
-		return (EReference)ptArrayInitializerEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTBooleanLiteral() {
-		return ptBooleanLiteralEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTBooleanLiteral_BooleanValue() {
-		return (EAttribute)ptBooleanLiteralEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTCastExpression() {
-		return ptCastExpressionEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTCastExpression_Type() {
-		return (EAttribute)ptCastExpressionEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTCastExpression_Expression() {
-		return (EReference)ptCastExpressionEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTCharacterLiteral() {
-		return ptCharacterLiteralEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTCharacterLiteral_EscapedValue() {
-		return (EAttribute)ptCharacterLiteralEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTCharacterLiteral_CharValue() {
-		return (EAttribute)ptCharacterLiteralEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTClassInstanceCreation() {
-		return ptClassInstanceCreationEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTClassInstanceCreation_Type() {
-		return (EAttribute)ptClassInstanceCreationEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTClassInstanceCreation_Arguments() {
-		return (EReference)ptClassInstanceCreationEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTConditionalExpression() {
-		return ptConditionalExpressionEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTConditionalExpression_Condition() {
-		return (EReference)ptConditionalExpressionEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTConditionalExpression_True() {
-		return (EReference)ptConditionalExpressionEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTConditionalExpression_False() {
-		return (EReference)ptConditionalExpressionEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTFieldAccess() {
-		return ptFieldAccessEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTFieldAccess_Receiver() {
-		return (EReference)ptFieldAccessEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTFieldAccess_Field() {
-		return (EAttribute)ptFieldAccessEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTInfixExpression() {
-		return ptInfixExpressionEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTInfixExpression_LeftOperand() {
-		return (EReference)ptInfixExpressionEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTInfixExpression_Operator() {
-		return (EAttribute)ptInfixExpressionEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTInfixExpression_RightOperand() {
-		return (EReference)ptInfixExpressionEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTInfixExpression_ExtendedOperands() {
-		return (EReference)ptInfixExpressionEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTInstanceof() {
-		return ptInstanceofEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTInstanceof_Operand() {
-		return (EReference)ptInstanceofEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTInstanceof_Type() {
-		return (EAttribute)ptInstanceofEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTMethodInvocation() {
-		return ptMethodInvocationEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTMethodInvocation_Receiver() {
-		return (EReference)ptMethodInvocationEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTMethodInvocation_Name() {
-		return (EAttribute)ptMethodInvocationEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTMethodInvocation_Arguments() {
-		return (EReference)ptMethodInvocationEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTName() {
-		return ptNameEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTName_Name() {
-		return (EAttribute)ptNameEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTNullLiteral() {
-		return ptNullLiteralEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTNumberLiteral() {
-		return ptNumberLiteralEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTNumberLiteral_Token() {
-		return (EAttribute)ptNumberLiteralEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTParenthesizedExpression() {
-		return ptParenthesizedExpressionEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTParenthesizedExpression_Expression() {
-		return (EReference)ptParenthesizedExpressionEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTPrefixExpression() {
-		return ptPrefixExpressionEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTPrefixExpression_Operator() {
-		return (EAttribute)ptPrefixExpressionEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTPrefixExpression_Expression() {
-		return (EReference)ptPrefixExpressionEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTStringLiteral() {
-		return ptStringLiteralEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTStringLiteral_EscapedValue() {
-		return (EAttribute)ptStringLiteralEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTStringLiteral_LiteralValue() {
-		return (EAttribute)ptStringLiteralEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTThisLiteral() {
-		return ptThisLiteralEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTTypeLiteral() {
-		return ptTypeLiteralEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTTypeLiteral_Type() {
-		return (EAttribute)ptTypeLiteralEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTInvalidExpression() {
-		return ptInvalidExpressionEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPTInvalidExpression_Message() {
-		return (EAttribute)ptInvalidExpressionEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPTInstanceReference() {
-		return ptInstanceReferenceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPTInstanceReference_Object() {
-		return (EReference)ptInstanceReferenceEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EEnum getPTInfixOperator() {
-		return ptInfixOperatorEEnum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EEnum getPTPrefixOperator() {
-		return ptPrefixOperatorEEnum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getIJavaDataTypeInstance() {
-		return iJavaDataTypeInstanceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getIJavaInstance() {
-		return iJavaInstanceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public InstantiationFactory getInstantiationFactory() {
-		return (InstantiationFactory)getEFactoryInstance();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isCreated = false;
-
-	/**
-	 * Creates the meta-model objects for the package.  This method is
-	 * guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void createPackageContents() {
-		if (isCreated) return;
-		isCreated = true;
-
-		// Create classes and their features
-		iJavaDataTypeInstanceEClass = createEClass(IJAVA_DATA_TYPE_INSTANCE);
-
-		iJavaInstanceEClass = createEClass(IJAVA_INSTANCE);
-
-		iJavaObjectInstanceEClass = createEClass(IJAVA_OBJECT_INSTANCE);
-
-		javaAllocationEClass = createEClass(JAVA_ALLOCATION);
-
-		initStringAllocationEClass = createEClass(INIT_STRING_ALLOCATION);
-		createEAttribute(initStringAllocationEClass, INIT_STRING_ALLOCATION__INIT_STRING);
-
-		implicitAllocationEClass = createEClass(IMPLICIT_ALLOCATION);
-		createEReference(implicitAllocationEClass, IMPLICIT_ALLOCATION__PARENT);
-		createEReference(implicitAllocationEClass, IMPLICIT_ALLOCATION__FEATURE);
-
-		parseTreeAllocationEClass = createEClass(PARSE_TREE_ALLOCATION);
-		createEReference(parseTreeAllocationEClass, PARSE_TREE_ALLOCATION__EXPRESSION);
-
-		ptExpressionEClass = createEClass(PT_EXPRESSION);
-
-		ptArrayAccessEClass = createEClass(PT_ARRAY_ACCESS);
-		createEReference(ptArrayAccessEClass, PT_ARRAY_ACCESS__ARRAY);
-		createEReference(ptArrayAccessEClass, PT_ARRAY_ACCESS__INDEXES);
-
-		ptArrayCreationEClass = createEClass(PT_ARRAY_CREATION);
-		createEAttribute(ptArrayCreationEClass, PT_ARRAY_CREATION__TYPE);
-		createEReference(ptArrayCreationEClass, PT_ARRAY_CREATION__DIMENSIONS);
-		createEReference(ptArrayCreationEClass, PT_ARRAY_CREATION__INITIALIZER);
-
-		ptArrayInitializerEClass = createEClass(PT_ARRAY_INITIALIZER);
-		createEReference(ptArrayInitializerEClass, PT_ARRAY_INITIALIZER__EXPRESSIONS);
-
-		ptBooleanLiteralEClass = createEClass(PT_BOOLEAN_LITERAL);
-		createEAttribute(ptBooleanLiteralEClass, PT_BOOLEAN_LITERAL__BOOLEAN_VALUE);
-
-		ptCastExpressionEClass = createEClass(PT_CAST_EXPRESSION);
-		createEAttribute(ptCastExpressionEClass, PT_CAST_EXPRESSION__TYPE);
-		createEReference(ptCastExpressionEClass, PT_CAST_EXPRESSION__EXPRESSION);
-
-		ptCharacterLiteralEClass = createEClass(PT_CHARACTER_LITERAL);
-		createEAttribute(ptCharacterLiteralEClass, PT_CHARACTER_LITERAL__ESCAPED_VALUE);
-		createEAttribute(ptCharacterLiteralEClass, PT_CHARACTER_LITERAL__CHAR_VALUE);
-
-		ptClassInstanceCreationEClass = createEClass(PT_CLASS_INSTANCE_CREATION);
-		createEAttribute(ptClassInstanceCreationEClass, PT_CLASS_INSTANCE_CREATION__TYPE);
-		createEReference(ptClassInstanceCreationEClass, PT_CLASS_INSTANCE_CREATION__ARGUMENTS);
-
-		ptConditionalExpressionEClass = createEClass(PT_CONDITIONAL_EXPRESSION);
-		createEReference(ptConditionalExpressionEClass, PT_CONDITIONAL_EXPRESSION__CONDITION);
-		createEReference(ptConditionalExpressionEClass, PT_CONDITIONAL_EXPRESSION__TRUE);
-		createEReference(ptConditionalExpressionEClass, PT_CONDITIONAL_EXPRESSION__FALSE);
-
-		ptFieldAccessEClass = createEClass(PT_FIELD_ACCESS);
-		createEReference(ptFieldAccessEClass, PT_FIELD_ACCESS__RECEIVER);
-		createEAttribute(ptFieldAccessEClass, PT_FIELD_ACCESS__FIELD);
-
-		ptInfixExpressionEClass = createEClass(PT_INFIX_EXPRESSION);
-		createEReference(ptInfixExpressionEClass, PT_INFIX_EXPRESSION__LEFT_OPERAND);
-		createEAttribute(ptInfixExpressionEClass, PT_INFIX_EXPRESSION__OPERATOR);
-		createEReference(ptInfixExpressionEClass, PT_INFIX_EXPRESSION__RIGHT_OPERAND);
-		createEReference(ptInfixExpressionEClass, PT_INFIX_EXPRESSION__EXTENDED_OPERANDS);
-
-		ptInstanceofEClass = createEClass(PT_INSTANCEOF);
-		createEReference(ptInstanceofEClass, PT_INSTANCEOF__OPERAND);
-		createEAttribute(ptInstanceofEClass, PT_INSTANCEOF__TYPE);
-
-		ptMethodInvocationEClass = createEClass(PT_METHOD_INVOCATION);
-		createEReference(ptMethodInvocationEClass, PT_METHOD_INVOCATION__RECEIVER);
-		createEAttribute(ptMethodInvocationEClass, PT_METHOD_INVOCATION__NAME);
-		createEReference(ptMethodInvocationEClass, PT_METHOD_INVOCATION__ARGUMENTS);
-
-		ptNameEClass = createEClass(PT_NAME);
-		createEAttribute(ptNameEClass, PT_NAME__NAME);
-
-		ptNullLiteralEClass = createEClass(PT_NULL_LITERAL);
-
-		ptNumberLiteralEClass = createEClass(PT_NUMBER_LITERAL);
-		createEAttribute(ptNumberLiteralEClass, PT_NUMBER_LITERAL__TOKEN);
-
-		ptParenthesizedExpressionEClass = createEClass(PT_PARENTHESIZED_EXPRESSION);
-		createEReference(ptParenthesizedExpressionEClass, PT_PARENTHESIZED_EXPRESSION__EXPRESSION);
-
-		ptPrefixExpressionEClass = createEClass(PT_PREFIX_EXPRESSION);
-		createEAttribute(ptPrefixExpressionEClass, PT_PREFIX_EXPRESSION__OPERATOR);
-		createEReference(ptPrefixExpressionEClass, PT_PREFIX_EXPRESSION__EXPRESSION);
-
-		ptStringLiteralEClass = createEClass(PT_STRING_LITERAL);
-		createEAttribute(ptStringLiteralEClass, PT_STRING_LITERAL__ESCAPED_VALUE);
-		createEAttribute(ptStringLiteralEClass, PT_STRING_LITERAL__LITERAL_VALUE);
-
-		ptThisLiteralEClass = createEClass(PT_THIS_LITERAL);
-
-		ptTypeLiteralEClass = createEClass(PT_TYPE_LITERAL);
-		createEAttribute(ptTypeLiteralEClass, PT_TYPE_LITERAL__TYPE);
-
-		ptInvalidExpressionEClass = createEClass(PT_INVALID_EXPRESSION);
-		createEAttribute(ptInvalidExpressionEClass, PT_INVALID_EXPRESSION__MESSAGE);
-
-		ptInstanceReferenceEClass = createEClass(PT_INSTANCE_REFERENCE);
-		createEReference(ptInstanceReferenceEClass, PT_INSTANCE_REFERENCE__OBJECT);
-
-		// Create enums
-		ptInfixOperatorEEnum = createEEnum(PT_INFIX_OPERATOR);
-		ptPrefixOperatorEEnum = createEEnum(PT_PREFIX_OPERATOR);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isInitialized = false;
-
-	/**
-	 * Complete the initialization of the package and its meta-model.  This
-	 * method is guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void initializePackageContents() {
-		if (isInitialized) return;
-		isInitialized = true;
-
-		// Initialize package
-		setName(eNAME);
-		setNsPrefix(eNS_PREFIX);
-		setNsURI(eNS_URI);
-
-		// Obtain other dependent packages
-		EcorePackageImpl theEcorePackage = (EcorePackageImpl)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
-
-		// Add supertypes to classes
-		iJavaDataTypeInstanceEClass.getESuperTypes().add(this.getIJavaInstance());
-		iJavaObjectInstanceEClass.getESuperTypes().add(this.getIJavaInstance());
-		initStringAllocationEClass.getESuperTypes().add(this.getJavaAllocation());
-		implicitAllocationEClass.getESuperTypes().add(this.getJavaAllocation());
-		parseTreeAllocationEClass.getESuperTypes().add(this.getJavaAllocation());
-		ptArrayAccessEClass.getESuperTypes().add(this.getPTExpression());
-		ptArrayCreationEClass.getESuperTypes().add(this.getPTExpression());
-		ptArrayInitializerEClass.getESuperTypes().add(this.getPTExpression());
-		ptBooleanLiteralEClass.getESuperTypes().add(this.getPTExpression());
-		ptCastExpressionEClass.getESuperTypes().add(this.getPTExpression());
-		ptCharacterLiteralEClass.getESuperTypes().add(this.getPTExpression());
-		ptClassInstanceCreationEClass.getESuperTypes().add(this.getPTExpression());
-		ptConditionalExpressionEClass.getESuperTypes().add(this.getPTExpression());
-		ptFieldAccessEClass.getESuperTypes().add(this.getPTExpression());
-		ptInfixExpressionEClass.getESuperTypes().add(this.getPTExpression());
-		ptInstanceofEClass.getESuperTypes().add(this.getPTExpression());
-		ptMethodInvocationEClass.getESuperTypes().add(this.getPTExpression());
-		ptNameEClass.getESuperTypes().add(this.getPTExpression());
-		ptNullLiteralEClass.getESuperTypes().add(this.getPTExpression());
-		ptNumberLiteralEClass.getESuperTypes().add(this.getPTExpression());
-		ptParenthesizedExpressionEClass.getESuperTypes().add(this.getPTExpression());
-		ptPrefixExpressionEClass.getESuperTypes().add(this.getPTExpression());
-		ptStringLiteralEClass.getESuperTypes().add(this.getPTExpression());
-		ptThisLiteralEClass.getESuperTypes().add(this.getPTExpression());
-		ptTypeLiteralEClass.getESuperTypes().add(this.getPTExpression());
-		ptInvalidExpressionEClass.getESuperTypes().add(this.getPTExpression());
-		ptInstanceReferenceEClass.getESuperTypes().add(this.getPTExpression());
-
-		// Initialize classes and features; add operations and parameters
-		initEClass(iJavaDataTypeInstanceEClass, IJavaDataTypeInstance.class, "IJavaDataTypeInstance", IS_ABSTRACT, IS_INTERFACE);
-
-		initEClass(iJavaInstanceEClass, IJavaInstance.class, "IJavaInstance", IS_ABSTRACT, IS_INTERFACE);
-
-		initEClass(iJavaObjectInstanceEClass, IJavaObjectInstance.class, "IJavaObjectInstance", IS_ABSTRACT, IS_INTERFACE);
-
-		initEClass(javaAllocationEClass, JavaAllocation.class, "JavaAllocation", IS_ABSTRACT, !IS_INTERFACE);
-
-		initEClass(initStringAllocationEClass, InitStringAllocation.class, "InitStringAllocation", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getInitStringAllocation_InitString(), ecorePackage.getEString(), "initString", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(implicitAllocationEClass, ImplicitAllocation.class, "ImplicitAllocation", !IS_ABSTRACT, !IS_INTERFACE);
-		initEReference(getImplicitAllocation_Parent(), theEcorePackage.getEObject(), null, "parent", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getImplicitAllocation_Feature(), theEcorePackage.getEStructuralFeature(), null, "feature", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(parseTreeAllocationEClass, ParseTreeAllocation.class, "ParseTreeAllocation", !IS_ABSTRACT, !IS_INTERFACE);
-		initEReference(getParseTreeAllocation_Expression(), this.getPTExpression(), null, "expression", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptExpressionEClass, PTExpression.class, "PTExpression", IS_ABSTRACT, !IS_INTERFACE);
-
-		initEClass(ptArrayAccessEClass, PTArrayAccess.class, "PTArrayAccess", !IS_ABSTRACT, !IS_INTERFACE);
-		initEReference(getPTArrayAccess_Array(), this.getPTExpression(), null, "array", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getPTArrayAccess_Indexes(), this.getPTExpression(), null, "indexes", null, 1, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptArrayCreationEClass, PTArrayCreation.class, "PTArrayCreation", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getPTArrayCreation_Type(), ecorePackage.getEString(), "type", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getPTArrayCreation_Dimensions(), this.getPTExpression(), null, "dimensions", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getPTArrayCreation_Initializer(), this.getPTArrayInitializer(), null, "initializer", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptArrayInitializerEClass, PTArrayInitializer.class, "PTArrayInitializer", !IS_ABSTRACT, !IS_INTERFACE);
-		initEReference(getPTArrayInitializer_Expressions(), this.getPTExpression(), null, "expressions", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptBooleanLiteralEClass, PTBooleanLiteral.class, "PTBooleanLiteral", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getPTBooleanLiteral_BooleanValue(), ecorePackage.getEBoolean(), "booleanValue", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptCastExpressionEClass, PTCastExpression.class, "PTCastExpression", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getPTCastExpression_Type(), ecorePackage.getEString(), "type", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getPTCastExpression_Expression(), this.getPTExpression(), null, "expression", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptCharacterLiteralEClass, PTCharacterLiteral.class, "PTCharacterLiteral", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getPTCharacterLiteral_EscapedValue(), ecorePackage.getEString(), "escapedValue", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getPTCharacterLiteral_CharValue(), ecorePackage.getEChar(), "charValue", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptClassInstanceCreationEClass, PTClassInstanceCreation.class, "PTClassInstanceCreation", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getPTClassInstanceCreation_Type(), ecorePackage.getEString(), "type", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getPTClassInstanceCreation_Arguments(), this.getPTExpression(), null, "arguments", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptConditionalExpressionEClass, PTConditionalExpression.class, "PTConditionalExpression", !IS_ABSTRACT, !IS_INTERFACE);
-		initEReference(getPTConditionalExpression_Condition(), this.getPTExpression(), null, "condition", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getPTConditionalExpression_True(), this.getPTExpression(), null, "true", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getPTConditionalExpression_False(), this.getPTExpression(), null, "false", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptFieldAccessEClass, PTFieldAccess.class, "PTFieldAccess", !IS_ABSTRACT, !IS_INTERFACE);
-		initEReference(getPTFieldAccess_Receiver(), this.getPTExpression(), null, "receiver", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getPTFieldAccess_Field(), ecorePackage.getEString(), "field", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptInfixExpressionEClass, PTInfixExpression.class, "PTInfixExpression", !IS_ABSTRACT, !IS_INTERFACE);
-		initEReference(getPTInfixExpression_LeftOperand(), this.getPTExpression(), null, "leftOperand", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getPTInfixExpression_Operator(), this.getPTInfixOperator(), "operator", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getPTInfixExpression_RightOperand(), this.getPTExpression(), null, "rightOperand", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getPTInfixExpression_ExtendedOperands(), this.getPTExpression(), null, "extendedOperands", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptInstanceofEClass, PTInstanceof.class, "PTInstanceof", !IS_ABSTRACT, !IS_INTERFACE);
-		initEReference(getPTInstanceof_Operand(), this.getPTExpression(), null, "operand", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getPTInstanceof_Type(), ecorePackage.getEString(), "type", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptMethodInvocationEClass, PTMethodInvocation.class, "PTMethodInvocation", !IS_ABSTRACT, !IS_INTERFACE);
-		initEReference(getPTMethodInvocation_Receiver(), this.getPTExpression(), null, "receiver", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getPTMethodInvocation_Name(), ecorePackage.getEString(), "name", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getPTMethodInvocation_Arguments(), this.getPTExpression(), null, "arguments", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptNameEClass, PTName.class, "PTName", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getPTName_Name(), ecorePackage.getEString(), "name", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptNullLiteralEClass, PTNullLiteral.class, "PTNullLiteral", !IS_ABSTRACT, !IS_INTERFACE);
-
-		initEClass(ptNumberLiteralEClass, PTNumberLiteral.class, "PTNumberLiteral", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getPTNumberLiteral_Token(), ecorePackage.getEString(), "token", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptParenthesizedExpressionEClass, PTParenthesizedExpression.class, "PTParenthesizedExpression", !IS_ABSTRACT, !IS_INTERFACE);
-		initEReference(getPTParenthesizedExpression_Expression(), this.getPTExpression(), null, "expression", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptPrefixExpressionEClass, PTPrefixExpression.class, "PTPrefixExpression", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getPTPrefixExpression_Operator(), this.getPTPrefixOperator(), "operator", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getPTPrefixExpression_Expression(), this.getPTExpression(), null, "expression", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptStringLiteralEClass, PTStringLiteral.class, "PTStringLiteral", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getPTStringLiteral_EscapedValue(), ecorePackage.getEString(), "escapedValue", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getPTStringLiteral_LiteralValue(), ecorePackage.getEString(), "literalValue", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptThisLiteralEClass, PTThisLiteral.class, "PTThisLiteral", !IS_ABSTRACT, !IS_INTERFACE);
-
-		initEClass(ptTypeLiteralEClass, PTTypeLiteral.class, "PTTypeLiteral", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getPTTypeLiteral_Type(), ecorePackage.getEString(), "type", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptInvalidExpressionEClass, PTInvalidExpression.class, "PTInvalidExpression", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getPTInvalidExpression_Message(), ecorePackage.getEString(), "message", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(ptInstanceReferenceEClass, PTInstanceReference.class, "PTInstanceReference", !IS_ABSTRACT, !IS_INTERFACE);
-		initEReference(getPTInstanceReference_Object(), this.getIJavaObjectInstance(), null, "object", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		// Initialize enums and add enum literals
-		initEEnum(ptInfixOperatorEEnum, PTInfixOperator.class, "PTInfixOperator");
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.TIMES_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.DIVIDE_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.REMAINDER_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.PLUS_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.MINUS_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.LEFT_SHIFT_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.RIGHT_SHIFT_SIGNED_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.RIGHT_SHIFT_UNSIGNED_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.LESS_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.GREATER_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.LESS_EQUALS_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.GREATER_EQUALS_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.EQUALS_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.NOT_EQUALS_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.XOR_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.AND_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.OR_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.CONDITIONAL_AND_LITERAL);
-		addEEnumLiteral(ptInfixOperatorEEnum, PTInfixOperator.CONDITIONAL_OR_LITERAL);
-
-		initEEnum(ptPrefixOperatorEEnum, PTPrefixOperator.class, "PTPrefixOperator");
-		addEEnumLiteral(ptPrefixOperatorEEnum, PTPrefixOperator.PLUS_LITERAL);
-		addEEnumLiteral(ptPrefixOperatorEEnum, PTPrefixOperator.MINUS_LITERAL);
-		addEEnumLiteral(ptPrefixOperatorEEnum, PTPrefixOperator.COMPLEMENT_LITERAL);
-		addEEnumLiteral(ptPrefixOperatorEEnum, PTPrefixOperator.NOT_LITERAL);
-
-		// Create resource
-		createResource(eNS_URI);
-	}
-} //InstantiationPackageImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/JavaAllocationImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/JavaAllocationImpl.java
deleted file mode 100644
index 12e27c8..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/JavaAllocationImpl.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaAllocationImpl.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/19 22:50:15 $ 
- */
- 
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.JavaAllocation;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Java Allocation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public abstract class JavaAllocationImpl extends EObjectImpl implements JavaAllocation {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected JavaAllocationImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getJavaAllocation();
-	}
-
-} //JavaAllocationImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/NaiveExpressionFlattener.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/NaiveExpressionFlattener.java
deleted file mode 100644
index c325b1e..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/NaiveExpressionFlattener.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-/*
- *  $RCSfile: NaiveExpressionFlattener.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/03 22:26:27 $ 
- */
-package org.eclipse.jem.internal.instantiation.impl;
-
-import java.util.List;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTArrayAccess;
-import org.eclipse.jem.internal.instantiation.ParseVisitor;
- 
-/**
- * This naively flattens the ParseTree. It just works with what's there.
- * 
- * @since 1.0.0
- */
-public class NaiveExpressionFlattener extends ParseVisitor {
-	
-	private StringBuffer buffer = new StringBuffer(100);
-	
-	protected final StringBuffer getStringBuffer() {
-		return buffer;
-	}
-	
-	/**
-	 * Return the string result of the flattening.
-	 * @return The flattened string.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getResult() {
-		return buffer.toString();
-	}
-	
-	/**
-	 * Reset the result so that flattener can be used again.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void reset() {
-		buffer.setLength(0);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTArrayAccess)
-	 */
-	public boolean visit(PTArrayAccess node) {
-		node.getArray().accept(this);
-		if (!node.getIndexes().isEmpty()) {
-			List indexes = node.getIndexes();
-			for (int i = 0; i < indexes.size(); i++) {
-				buffer.append('[');
-				((PTExpression) indexes.get(i)).accept(this);
-				buffer.append(']');
-			}
-		}
-		return false;
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTArrayCreation)
-	 */
-	public boolean visit(PTArrayCreation node) {
-		String type = node.getType();
-		buffer.append("new ");
-		int ob = type.indexOf('[');
-		buffer.append(type.substring(0, ob));
-		int realdims = 0;
-		while (ob != -1) {
-			realdims++;
-			ob = type.indexOf('[',ob+1);
-		}
-		List dims = node.getDimensions();
-		for (int i = 0; i < dims.size(); i++) {
-			buffer.append('[');
-			((PTExpression) dims.get(i)).accept(this);
-			buffer.append(']');
-		}
-		for (int i=dims.size(); i < realdims; i++) {
-			buffer.append("[]");
-		}
-		
-		if (node.getInitializer() != null) {
-			buffer.append(' ');
-			((PTExpression) node.getInitializer()).accept(this);
-		}
-		
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTArrayInitializer)
-	 */
-	public boolean visit(PTArrayInitializer node) {
-		buffer.append('{');
-		List exp = node.getExpressions();
-		for (int i = 0; i < exp.size(); i++) {
-			if (i != 0)
-				buffer.append(',');
-			((PTExpression) exp.get(i)).accept(this);
-		}
-		buffer.append('}');
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTBooleanLiteral)
-	 */
-	public boolean visit(PTBooleanLiteral node) {
-		buffer.append(node.isBooleanValue() ? "true" : "false");
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTCastExpression)
-	 */
-	public boolean visit(PTCastExpression node) {
-		buffer.append('(');
-		buffer.append(node.getType());
-		buffer.append(") ");
-		node.getExpression().accept(this);
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTCharacterLiteral)
-	 */
-	public boolean visit(PTCharacterLiteral node) {
-		buffer.append(node.getEscapedValue());
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTClassInstanceCreation)
-	 */
-	public boolean visit(PTClassInstanceCreation node) {
-		buffer.append("new ");
-		buffer.append(node.getType());
-		buffer.append('(');
-		List args = node.getArguments();
-		for (int i = 0; i < args.size(); i++) {
-			if (i != 0)
-				buffer.append(',');
-			((PTExpression) args.get(i)).accept(this);
-		}
-		buffer.append(')');
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTConditionalExpression)
-	 */
-	public boolean visit(PTConditionalExpression node) {
-		node.getCondition().accept(this);
-		buffer.append(" ? ");
-		node.getTrue().accept(this);
-		buffer.append(" : ");
-		node.getFalse().accept(this);
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTFieldAccess)
-	 */
-	public boolean visit(PTFieldAccess node) {
-		node.getReceiver().accept(this);
-		buffer.append('.');
-		buffer.append(node.getField());
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTInfixExpression)
-	 */
-	public boolean visit(PTInfixExpression node) {
-		node.getLeftOperand().accept(this);
-		buffer.append(' ');
-		String oper = node.getOperator().getOperator();
-		buffer.append(oper);
-		buffer.append(' ');
-		node.getRightOperand().accept(this);
-		List ext = node.getExtendedOperands();
-		for (int i = 0; i < ext.size(); i++) {
-			buffer.append(' ');
-			buffer.append(oper);
-			buffer.append(' ');
-			((PTExpression) ext.get(i)).accept(this);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTInstanceof)
-	 */
-	public boolean visit(PTInstanceof node) {
-		node.getOperand().accept(this);
-		buffer.append(" instanceof ");
-		buffer.append(node.getType());
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTInvalidExpression)
-	 */
-	public boolean visit(PTInvalidExpression node) {
-		buffer.append(" invalid: \"");
-		buffer.append(node.getMessage());
-		buffer.append("\"");
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTMethodInvocation)
-	 */
-	public boolean visit(PTMethodInvocation node) {
-		if (node.getReceiver() != null) {
-			node.getReceiver().accept(this);
-			buffer.append('.');
-		}
-		
-		buffer.append(node.getName());
-		buffer.append('(');
-		List args = node.getArguments();
-		for (int i = 0; i < args.size(); i++) {
-			if (i != 0)
-				buffer.append(',');
-			((PTExpression) args.get(i)).accept(this);
-		}
-		buffer.append(')');
-		return false;	
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTName)
-	 */
-	public boolean visit(PTName node) {
-		buffer.append(node.getName());
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTNullLiteral)
-	 */
-	public boolean visit(PTNullLiteral node) {
-		buffer.append("null");
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTNumberLiteral)
-	 */
-	public boolean visit(PTNumberLiteral node) {
-		buffer.append(node.getToken());
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTParenthesizedExpression)
-	 */
-	public boolean visit(PTParenthesizedExpression node) {
-		buffer.append('(');
-		node.getExpression().accept(this);
-		buffer.append(')');
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTPrefixExpression)
-	 */
-	public boolean visit(PTPrefixExpression node) {
-		buffer.append(node.getOperator().getOperator());
-		node.getExpression().accept(this);
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTStringLiteral)
-	 */
-	public boolean visit(PTStringLiteral node) {
-		buffer.append(node.getEscapedValue());
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTThisLiteral)
-	 */
-	public boolean visit(PTThisLiteral node) {
-		buffer.append("this");
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.ParseVisitor#visit(org.eclipse.jem.internal.instantiation.PTTypeLiteral)
-	 */
-	public boolean visit(PTTypeLiteral node) {
-		buffer.append(node.getType());
-		buffer.append(".class");
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayAccessImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayAccessImpl.java
deleted file mode 100644
index af52096..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayAccessImpl.java
+++ /dev/null
@@ -1,244 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTArrayAccessImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTArrayAccess;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Array Access</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTArrayAccessImpl#getArray <em>Array</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTArrayAccessImpl#getIndexes <em>Indexes</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTArrayAccessImpl extends PTExpressionImpl implements PTArrayAccess {
-	/**
-	 * The cached value of the '{@link #getArray() <em>Array</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getArray()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTExpression array = null;
-
-	/**
-	 * The cached value of the '{@link #getIndexes() <em>Indexes</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getIndexes()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList indexes = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTArrayAccessImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTArrayAccess();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTExpression getArray() {
-		return array;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetArray(PTExpression newArray, NotificationChain msgs) {
-		PTExpression oldArray = array;
-		array = newArray;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_ARRAY_ACCESS__ARRAY, oldArray, newArray);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setArray(PTExpression newArray) {
-		if (newArray != array) {
-			NotificationChain msgs = null;
-			if (array != null)
-				msgs = ((InternalEObject)array).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_ARRAY_ACCESS__ARRAY, null, msgs);
-			if (newArray != null)
-				msgs = ((InternalEObject)newArray).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_ARRAY_ACCESS__ARRAY, null, msgs);
-			msgs = basicSetArray(newArray, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_ARRAY_ACCESS__ARRAY, newArray, newArray));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getIndexes() {
-		if (indexes == null) {
-			indexes = new EObjectContainmentEList(PTExpression.class, this, InstantiationPackage.PT_ARRAY_ACCESS__INDEXES);
-		}
-		return indexes;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case InstantiationPackage.PT_ARRAY_ACCESS__ARRAY:
-					return basicSetArray(null, msgs);
-				case InstantiationPackage.PT_ARRAY_ACCESS__INDEXES:
-					return ((InternalEList)getIndexes()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_ARRAY_ACCESS__ARRAY:
-				return getArray();
-			case InstantiationPackage.PT_ARRAY_ACCESS__INDEXES:
-				return getIndexes();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_ARRAY_ACCESS__ARRAY:
-				setArray((PTExpression)newValue);
-				return;
-			case InstantiationPackage.PT_ARRAY_ACCESS__INDEXES:
-				getIndexes().clear();
-				getIndexes().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_ARRAY_ACCESS__ARRAY:
-				setArray((PTExpression)null);
-				return;
-			case InstantiationPackage.PT_ARRAY_ACCESS__INDEXES:
-				getIndexes().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_ARRAY_ACCESS__ARRAY:
-				return array != null;
-			case InstantiationPackage.PT_ARRAY_ACCESS__INDEXES:
-				return indexes != null && !indexes.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		boolean visitChildren = visitor.visit(this);
-		if (visitChildren) {
-			// visit children in normal left to right reading order
-			acceptChild(visitor, getArray());
-			if (indexes != null)
-				acceptChildren(visitor, indexes);
-		}
-		visitor.endVisit(this);
-	}	
-
-} //ArrayAccessImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayCreationImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayCreationImpl.java
deleted file mode 100644
index bd2bc0d..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayCreationImpl.java
+++ /dev/null
@@ -1,299 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTArrayCreationImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTArrayCreation;
-import org.eclipse.jem.internal.instantiation.PTArrayInitializer;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Array Creation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTArrayCreationImpl#getType <em>Type</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTArrayCreationImpl#getDimensions <em>Dimensions</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTArrayCreationImpl#getInitializer <em>Initializer</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTArrayCreationImpl extends PTExpressionImpl implements PTArrayCreation {
-	/**
-	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String TYPE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected String type = TYPE_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getDimensions() <em>Dimensions</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDimensions()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList dimensions = null;
-
-	/**
-	 * The cached value of the '{@link #getInitializer() <em>Initializer</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getInitializer()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTArrayInitializer initializer = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTArrayCreationImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTArrayCreation();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getType() {
-		return type;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setType(String newType) {
-		String oldType = type;
-		type = newType;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_ARRAY_CREATION__TYPE, oldType, type));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getDimensions() {
-		if (dimensions == null) {
-			dimensions = new EObjectContainmentEList(PTExpression.class, this, InstantiationPackage.PT_ARRAY_CREATION__DIMENSIONS);
-		}
-		return dimensions;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTArrayInitializer getInitializer() {
-		return initializer;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetInitializer(PTArrayInitializer newInitializer, NotificationChain msgs) {
-		PTArrayInitializer oldInitializer = initializer;
-		initializer = newInitializer;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER, oldInitializer, newInitializer);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setInitializer(PTArrayInitializer newInitializer) {
-		if (newInitializer != initializer) {
-			NotificationChain msgs = null;
-			if (initializer != null)
-				msgs = ((InternalEObject)initializer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER, null, msgs);
-			if (newInitializer != null)
-				msgs = ((InternalEObject)newInitializer).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER, null, msgs);
-			msgs = basicSetInitializer(newInitializer, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER, newInitializer, newInitializer));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case InstantiationPackage.PT_ARRAY_CREATION__DIMENSIONS:
-					return ((InternalEList)getDimensions()).basicRemove(otherEnd, msgs);
-				case InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER:
-					return basicSetInitializer(null, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_ARRAY_CREATION__TYPE:
-				return getType();
-			case InstantiationPackage.PT_ARRAY_CREATION__DIMENSIONS:
-				return getDimensions();
-			case InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER:
-				return getInitializer();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_ARRAY_CREATION__TYPE:
-				setType((String)newValue);
-				return;
-			case InstantiationPackage.PT_ARRAY_CREATION__DIMENSIONS:
-				getDimensions().clear();
-				getDimensions().addAll((Collection)newValue);
-				return;
-			case InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER:
-				setInitializer((PTArrayInitializer)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_ARRAY_CREATION__TYPE:
-				setType(TYPE_EDEFAULT);
-				return;
-			case InstantiationPackage.PT_ARRAY_CREATION__DIMENSIONS:
-				getDimensions().clear();
-				return;
-			case InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER:
-				setInitializer((PTArrayInitializer)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_ARRAY_CREATION__TYPE:
-				return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
-			case InstantiationPackage.PT_ARRAY_CREATION__DIMENSIONS:
-				return dimensions != null && !dimensions.isEmpty();
-			case InstantiationPackage.PT_ARRAY_CREATION__INITIALIZER:
-				return initializer != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	public String toString() {
-		return super.toString();	// Really want toString to be final at PTExpression, but EMF doesn't allow it.
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		boolean visitChildren = visitor.visit(this);
-		if (visitChildren) {
-			// visit children in normal left to right reading order
-			acceptChildren(visitor, dimensions);
-			acceptChild(visitor, getInitializer());
-		}
-		visitor.endVisit(this);
-	}	
-} //ArrayCreationImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayInitializerImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayInitializerImpl.java
deleted file mode 100644
index 8ec8f45..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTArrayInitializerImpl.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTArrayInitializerImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTArrayInitializer;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Array Initializer</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTArrayInitializerImpl#getExpressions <em>Expressions</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTArrayInitializerImpl extends PTExpressionImpl implements PTArrayInitializer {
-	/**
-	 * The cached value of the '{@link #getExpressions() <em>Expressions</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getExpressions()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList expressions = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTArrayInitializerImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTArrayInitializer();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getExpressions() {
-		if (expressions == null) {
-			expressions = new EObjectContainmentEList(PTExpression.class, this, InstantiationPackage.PT_ARRAY_INITIALIZER__EXPRESSIONS);
-		}
-		return expressions;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case InstantiationPackage.PT_ARRAY_INITIALIZER__EXPRESSIONS:
-					return ((InternalEList)getExpressions()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_ARRAY_INITIALIZER__EXPRESSIONS:
-				return getExpressions();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_ARRAY_INITIALIZER__EXPRESSIONS:
-				getExpressions().clear();
-				getExpressions().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_ARRAY_INITIALIZER__EXPRESSIONS:
-				getExpressions().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_ARRAY_INITIALIZER__EXPRESSIONS:
-				return expressions != null && !expressions.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		boolean visitChildren = visitor.visit(this);
-		if (visitChildren) {
-			acceptChildren(visitor, expressions);
-		}
-		visitor.endVisit(this);
-	}
-} //ArrayInitializerImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTBooleanLiteralImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTBooleanLiteralImpl.java
deleted file mode 100644
index a614320..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTBooleanLiteralImpl.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTBooleanLiteralImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTBooleanLiteral;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Boolean Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTBooleanLiteralImpl#isBooleanValue <em>Boolean Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTBooleanLiteralImpl extends PTExpressionImpl implements PTBooleanLiteral {
-	/**
-	 * The default value of the '{@link #isBooleanValue() <em>Boolean Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isBooleanValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean BOOLEAN_VALUE_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isBooleanValue() <em>Boolean Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isBooleanValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean booleanValue = BOOLEAN_VALUE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTBooleanLiteralImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTBooleanLiteral();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isBooleanValue() {
-		return booleanValue;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setBooleanValue(boolean newBooleanValue) {
-		boolean oldBooleanValue = booleanValue;
-		booleanValue = newBooleanValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_BOOLEAN_LITERAL__BOOLEAN_VALUE, oldBooleanValue, booleanValue));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_BOOLEAN_LITERAL__BOOLEAN_VALUE:
-				return isBooleanValue() ? Boolean.TRUE : Boolean.FALSE;
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_BOOLEAN_LITERAL__BOOLEAN_VALUE:
-				setBooleanValue(((Boolean)newValue).booleanValue());
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_BOOLEAN_LITERAL__BOOLEAN_VALUE:
-				setBooleanValue(BOOLEAN_VALUE_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_BOOLEAN_LITERAL__BOOLEAN_VALUE:
-				return booleanValue != BOOLEAN_VALUE_EDEFAULT;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	public String toString() {
-		return super.toString();	// Really want toString to be final at PTExpression, but EMF doesn't allow it.
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		visitor.visit(this);
-		visitor.endVisit(this);
-	}
-
-} //BooleanLiteralImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTCastExpressionImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTCastExpressionImpl.java
deleted file mode 100644
index b9431e9..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTCastExpressionImpl.java
+++ /dev/null
@@ -1,254 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTCastExpressionImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTCastExpression;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Cast</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTCastExpressionImpl#getType <em>Type</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTCastExpressionImpl#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTCastExpressionImpl extends PTExpressionImpl implements PTCastExpression {
-	/**
-	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String TYPE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected String type = TYPE_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getExpression()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTExpression expression = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTCastExpressionImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTCastExpression();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getType() {
-		return type;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setType(String newType) {
-		String oldType = type;
-		type = newType;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CAST_EXPRESSION__TYPE, oldType, type));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTExpression getExpression() {
-		return expression;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetExpression(PTExpression newExpression, NotificationChain msgs) {
-		PTExpression oldExpression = expression;
-		expression = newExpression;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION, oldExpression, newExpression);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setExpression(PTExpression newExpression) {
-		if (newExpression != expression) {
-			NotificationChain msgs = null;
-			if (expression != null)
-				msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION, null, msgs);
-			if (newExpression != null)
-				msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION, null, msgs);
-			msgs = basicSetExpression(newExpression, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION, newExpression, newExpression));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION:
-					return basicSetExpression(null, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CAST_EXPRESSION__TYPE:
-				return getType();
-			case InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION:
-				return getExpression();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CAST_EXPRESSION__TYPE:
-				setType((String)newValue);
-				return;
-			case InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION:
-				setExpression((PTExpression)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CAST_EXPRESSION__TYPE:
-				setType(TYPE_EDEFAULT);
-				return;
-			case InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION:
-				setExpression((PTExpression)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CAST_EXPRESSION__TYPE:
-				return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
-			case InstantiationPackage.PT_CAST_EXPRESSION__EXPRESSION:
-				return expression != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	public String toString() {
-		return super.toString();	// Really want toString to be final at PTExpression, but EMF doesn't allow it.
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		boolean visitChildren = visitor.visit(this);
-		if (visitChildren) {
-			// visit children in normal left to right reading order
-			acceptChild(visitor, getExpression());
-		}
-		visitor.endVisit(this);
-	}
-} //CastImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTCharacterLiteralImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTCharacterLiteralImpl.java
deleted file mode 100644
index b42477f..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTCharacterLiteralImpl.java
+++ /dev/null
@@ -1,387 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTCharacterLiteralImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTCharacterLiteral;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Character Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTCharacterLiteralImpl#getEscapedValue <em>Escaped Value</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTCharacterLiteralImpl#getCharValue <em>Char Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTCharacterLiteralImpl extends PTExpressionImpl implements PTCharacterLiteral {
-	/**
-	 * The default value of the '{@link #getEscapedValue() <em>Escaped Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getEscapedValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String ESCAPED_VALUE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getEscapedValue() <em>Escaped Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getEscapedValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected String escapedValue = ESCAPED_VALUE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getCharValue() <em>Char Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getCharValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final char CHAR_VALUE_EDEFAULT = '\u0000';
-
-	/**
-	 * The cached value of the '{@link #getCharValue() <em>Char Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getCharValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected char charValue = CHAR_VALUE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTCharacterLiteralImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTCharacterLiteral();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getEscapedValue() {
-		return escapedValue;
-	}
-
-	public void setEscapedValue(String newEscapedValue) {
-		charValueSet = false;
-		setCharValueGen(CHAR_VALUE_EDEFAULT);
-		setEscapedValueGen(newEscapedValue);
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setEscapedValueGen(String newEscapedValue) {
-		String oldEscapedValue = escapedValue;
-		escapedValue = newEscapedValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CHARACTER_LITERAL__ESCAPED_VALUE, oldEscapedValue, escapedValue));
-	}
-
-	private boolean charValueSet;
-	
-	public char getCharValue() {
-		if (!charValueSet && escapedValue != ESCAPED_VALUE_EDEFAULT) {
-			String s = getEscapedValue();
-			int len = s.length();
-			if (len < 2 || s.charAt(0) != '\'' || s.charAt(len-1) != '\'' ) {
-				throw new IllegalArgumentException();
-			}
-			char c = s.charAt(1);
-			if (c == '\'') {
-				throw new IllegalArgumentException();
-			}
-			if (c == '\\') {
-				if (len == 4) {
-					setCharValueGen(getCharEscaped(s.charAt(2)));
-				} else if (len == 8) {
-					//handle the case of unicode.
-					int currentPosition = 2;
-					int c1 = 0, c2 = 0, c3 = 0, c4 = 0;
-					if (s.charAt(currentPosition++) == 'u') {
-						if ((c1 = Character.getNumericValue(s.charAt(currentPosition++))) > 15
-								|| c1 < 0
-								|| (c2 = Character.getNumericValue(s.charAt(currentPosition++))) > 15
-								|| c2 < 0
-								|| (c3 = Character.getNumericValue(s.charAt(currentPosition++))) > 15
-								|| c3 < 0
-								|| (c4 = Character.getNumericValue(s.charAt(currentPosition++))) > 15
-								|| c4 < 0){
-							throw new IllegalArgumentException("illegal character literal");//$NON-NLS-1$
-						} else {
-							setCharValueGen((char) (((c1 * 16 + c2) * 16 + c3) * 16 + c4));
-						}
-					} else {
-						throw new IllegalArgumentException("illegal character literal");//$NON-NLS-1$
-					}
-				} else {
-					throw new IllegalArgumentException("illegal character literal");//$NON-NLS-1$
-				}
-			} else
-				setCharValueGen(c);
-			
-			charValueSet = true;
-		}
-		return getCharValueGen();
-	}
-	
-	public static char getCharEscaped(char nextChar) {
-		switch(nextChar) {
-			case 'b' :
-				return '\b';
-			case 't' :
-				return '\t';
-			case 'n' :
-				return '\n';
-			case 'f' :
-				return '\f';
-			case 'r' :
-				return '\r';
-			case '\"':
-				return '\"';
-			case '\'':
-				return '\'';
-			case '\\':
-				return '\\';
-			case '0' :
-				return '\0';
-			case '1' :
-				return '\1';
-			case '2' :
-				return '\2';
-			case '3' :
-				return '\3';
-			case '4' :
-				return '\4';
-			case '5' :
-				return '\5';
-			case '6' :
-				return '\6';
-			case '7' :
-				return '\7';
-			default:
-				throw new IllegalArgumentException("illegal character");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public char getCharValueGen() {
-		return charValue;
-	}
-
-	public void setCharValue(char newCharValue) {		
-		charValueSet = true;
-		setCharValueGen(newCharValue);
-		
-		StringBuffer b = new StringBuffer(8);
-		b.append('\''); // opening delimiter
-		appendCharacter(newCharValue, b);
-		b.append('\''); // closing delimiter
-		setEscapedValueGen(b.toString());
-	}
-	
-	public static void appendCharacter(char character, StringBuffer b) {
-		switch(character) {
-			case '\b' :
-				b.append("\\b"); //$NON-NLS-1$
-				break;
-			case '\t' :
-				b.append("\\t"); //$NON-NLS-1$
-				break;
-			case '\n' :
-				b.append("\\n"); //$NON-NLS-1$
-				break;
-			case '\f' :
-				b.append("\\f"); //$NON-NLS-1$
-				break;
-			case '\r' :
-				b.append("\\r"); //$NON-NLS-1$
-				break;
-			case '\"':
-				b.append("\\\""); //$NON-NLS-1$
-				break;
-			case '\'':
-				b.append("\\\'"); //$NON-NLS-1$
-				break;
-			case '\\':
-				b.append("\\\\"); //$NON-NLS-1$
-				break;
-			case '\0' :
-				b.append("\\0"); //$NON-NLS-1$
-				break;
-			case '\1' :
-				b.append("\\1"); //$NON-NLS-1$
-				break;
-			case '\2' :
-				b.append("\\2"); //$NON-NLS-1$
-				break;
-			case '\3' :
-				b.append("\\3"); //$NON-NLS-1$
-				break;
-			case '\4' :
-				b.append("\\4"); //$NON-NLS-1$
-				break;
-			case '\5' :
-				b.append("\\5"); //$NON-NLS-1$
-				break;
-			case '\6' :
-				b.append("\\6"); //$NON-NLS-1$
-				break;
-			case '\7' :
-				b.append("\\7"); //$NON-NLS-1$
-				break;			
-			default:
-				// use a simple algorithm, if char is < 255 then just use it, else use it as unicode.
-				if (character < 255)
-					b.append(character);
-				else {
-					b.append("\\u");
-					String s = Integer.toString((int) character, 16);
-					int zeros = 4-s.length();
-					while (zeros-- > 0) {
-						b.append('0');
-					}
-					b.append(s);
-				}	
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setCharValueGen(char newCharValue) {
-		char oldCharValue = charValue;
-		charValue = newCharValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CHARACTER_LITERAL__CHAR_VALUE, oldCharValue, charValue));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CHARACTER_LITERAL__ESCAPED_VALUE:
-				return getEscapedValue();
-			case InstantiationPackage.PT_CHARACTER_LITERAL__CHAR_VALUE:
-				return new Character(getCharValue());
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CHARACTER_LITERAL__ESCAPED_VALUE:
-				setEscapedValue((String)newValue);
-				return;
-			case InstantiationPackage.PT_CHARACTER_LITERAL__CHAR_VALUE:
-				setCharValue(((Character)newValue).charValue());
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CHARACTER_LITERAL__ESCAPED_VALUE:
-				setEscapedValue(ESCAPED_VALUE_EDEFAULT);
-				return;
-			case InstantiationPackage.PT_CHARACTER_LITERAL__CHAR_VALUE:
-				setCharValue(CHAR_VALUE_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CHARACTER_LITERAL__ESCAPED_VALUE:
-				return ESCAPED_VALUE_EDEFAULT == null ? escapedValue != null : !ESCAPED_VALUE_EDEFAULT.equals(escapedValue);
-			case InstantiationPackage.PT_CHARACTER_LITERAL__CHAR_VALUE:
-				return charValue != CHAR_VALUE_EDEFAULT;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	public String toString() {
-		return super.toString();	// Really want toString to be final at PTExpression, but EMF doesn't allow it.
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		visitor.visit(this);
-		visitor.endVisit(this);
-	}
-} //CharacterLiteralImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTClassInstanceCreationImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTClassInstanceCreationImpl.java
deleted file mode 100644
index ba0f659..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTClassInstanceCreationImpl.java
+++ /dev/null
@@ -1,231 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTClassInstanceCreationImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTClassInstanceCreation;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Class Instance Creation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTClassInstanceCreationImpl#getType <em>Type</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTClassInstanceCreationImpl#getArguments <em>Arguments</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTClassInstanceCreationImpl extends PTExpressionImpl implements PTClassInstanceCreation {
-	/**
-	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String TYPE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected String type = TYPE_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getArguments()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList arguments = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTClassInstanceCreationImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTClassInstanceCreation();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getType() {
-		return type;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setType(String newType) {
-		String oldType = type;
-		type = newType;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CLASS_INSTANCE_CREATION__TYPE, oldType, type));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getArguments() {
-		if (arguments == null) {
-			arguments = new EObjectContainmentEList(PTExpression.class, this, InstantiationPackage.PT_CLASS_INSTANCE_CREATION__ARGUMENTS);
-		}
-		return arguments;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__ARGUMENTS:
-					return ((InternalEList)getArguments()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__TYPE:
-				return getType();
-			case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__ARGUMENTS:
-				return getArguments();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__TYPE:
-				setType((String)newValue);
-				return;
-			case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__ARGUMENTS:
-				getArguments().clear();
-				getArguments().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__TYPE:
-				setType(TYPE_EDEFAULT);
-				return;
-			case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__ARGUMENTS:
-				getArguments().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__TYPE:
-				return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
-			case InstantiationPackage.PT_CLASS_INSTANCE_CREATION__ARGUMENTS:
-				return arguments != null && !arguments.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	public String toString() {
-		return super.toString();	// Really want toString to be final at PTExpression, but EMF doesn't allow it.
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		boolean visitChildren = visitor.visit(this);
-		if (visitChildren) {
-			// visit children in normal left to right reading order
-			acceptChildren(visitor, arguments);
-		}
-		visitor.endVisit(this);
-	}
-} //ClassInstanceCreationImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTConditionalExpressionImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTConditionalExpressionImpl.java
deleted file mode 100644
index b2584e9..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTConditionalExpressionImpl.java
+++ /dev/null
@@ -1,333 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTConditionalExpressionImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTConditionalExpression;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Conditional Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTConditionalExpressionImpl#getCondition <em>Condition</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTConditionalExpressionImpl#getTrue <em>True</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTConditionalExpressionImpl#getFalse <em>False</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTConditionalExpressionImpl extends PTExpressionImpl implements PTConditionalExpression {
-	/**
-	 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getCondition()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTExpression condition = null;
-
-	/**
-	 * The cached value of the '{@link #getTrue() <em>True</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTrue()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTExpression true_ = null;
-
-	/**
-	 * The cached value of the '{@link #getFalse() <em>False</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFalse()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTExpression false_ = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTConditionalExpressionImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTConditionalExpression();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTExpression getCondition() {
-		return condition;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetCondition(PTExpression newCondition, NotificationChain msgs) {
-		PTExpression oldCondition = condition;
-		condition = newCondition;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION, oldCondition, newCondition);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setCondition(PTExpression newCondition) {
-		if (newCondition != condition) {
-			NotificationChain msgs = null;
-			if (condition != null)
-				msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION, null, msgs);
-			if (newCondition != null)
-				msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION, null, msgs);
-			msgs = basicSetCondition(newCondition, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION, newCondition, newCondition));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTExpression getTrue() {
-		return true_;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetTrue(PTExpression newTrue, NotificationChain msgs) {
-		PTExpression oldTrue = true_;
-		true_ = newTrue;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE, oldTrue, newTrue);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setTrue(PTExpression newTrue) {
-		if (newTrue != true_) {
-			NotificationChain msgs = null;
-			if (true_ != null)
-				msgs = ((InternalEObject)true_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE, null, msgs);
-			if (newTrue != null)
-				msgs = ((InternalEObject)newTrue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE, null, msgs);
-			msgs = basicSetTrue(newTrue, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE, newTrue, newTrue));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTExpression getFalse() {
-		return false_;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetFalse(PTExpression newFalse, NotificationChain msgs) {
-		PTExpression oldFalse = false_;
-		false_ = newFalse;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE, oldFalse, newFalse);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setFalse(PTExpression newFalse) {
-		if (newFalse != false_) {
-			NotificationChain msgs = null;
-			if (false_ != null)
-				msgs = ((InternalEObject)false_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE, null, msgs);
-			if (newFalse != null)
-				msgs = ((InternalEObject)newFalse).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE, null, msgs);
-			msgs = basicSetFalse(newFalse, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE, newFalse, newFalse));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION:
-					return basicSetCondition(null, msgs);
-				case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE:
-					return basicSetTrue(null, msgs);
-				case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE:
-					return basicSetFalse(null, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION:
-				return getCondition();
-			case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE:
-				return getTrue();
-			case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE:
-				return getFalse();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION:
-				setCondition((PTExpression)newValue);
-				return;
-			case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE:
-				setTrue((PTExpression)newValue);
-				return;
-			case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE:
-				setFalse((PTExpression)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION:
-				setCondition((PTExpression)null);
-				return;
-			case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE:
-				setTrue((PTExpression)null);
-				return;
-			case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE:
-				setFalse((PTExpression)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__CONDITION:
-				return condition != null;
-			case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__TRUE:
-				return true_ != null;
-			case InstantiationPackage.PT_CONDITIONAL_EXPRESSION__FALSE:
-				return false_ != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		boolean visitChildren = visitor.visit(this);
-		if (visitChildren) {
-			// visit children in normal left to right reading order
-			acceptChild(visitor, getCondition());
-			acceptChild(visitor, getTrue());
-			acceptChild(visitor, getFalse());
-		}
-		visitor.endVisit(this);
-	}	
-
-} //ConditionalExpressionImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTExpressionImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTExpressionImpl.java
deleted file mode 100644
index 613835c..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTExpressionImpl.java
+++ /dev/null
@@ -1,168 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTExpressionImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public abstract class PTExpressionImpl extends EObjectImpl implements PTExpression {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTExpressionImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTExpression();
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.Expression#accept(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	public final void accept(ParseVisitor visitor) {
-		if (visitor == null) {
-			throw new IllegalArgumentException();
-		}
-		// begin with the generic pre-visit
-		visitor.preVisit(this);
-		// dynamic dispatch to internal method for type-specific visit/endVisit
-		accept0(visitor);
-		// end with the generic post-visit
-		visitor.postVisit(this);
-	}
-
-	/**
-	 * Accepts the given visitor on a type-specific visit of the current node.
-	 * This method must be implemented in all concrete Expression node types.
-	 * <p>
-	 * General template for implementation on each concrete ASTNode class:
-	 * <pre>
-	 * <code>
-	 * boolean visitChildren = visitor.visit(this);
-	 * if (visitChildren) {
-	 *    // visit children in normal left to right reading order
-	 *    acceptChild(visitor, getProperty1());
-	 *    acceptChildren(visitor, rawListProperty);
-	 *    acceptChild(visitor, getProperty2());
-	 * }
-	 * visitor.endVisit(this);
-	 * </code>
-	 * </pre>
-	 * Note that the caller (<code>accept</code>) take cares of invoking
-	 * <code>visitor.preVisit(this)</code> and <code>visitor.postVisit(this)</code>.
-	 * </p>
-	 * 
-	 * @param visitor the visitor object
-	 */
-	protected abstract void accept0(ParseVisitor visitor);
-
-	/**
-	 * Accepts the given visitor on a visit of the current node.
-	 * <p>
-	 * This method should be used by the concrete implementations of
-	 * <code>accept0</code> to traverse optional properties. Equivalent
-	 * to <code>child.accept(visitor)</code> if <code>child</code>
-	 * is not <code>null</code>.
-	 * </p>
-	 * 
-	 * @param visitor the visitor object
-	 * @param child the child Expression node to dispatch too, or <code>null</code>
-	 *    if none
-	 */
-	protected final void acceptChild(ParseVisitor visitor, PTExpression child) {
-		if (child == null) {
-			return;
-		}
-		child.accept(visitor);
-	}
-	
-	/**
-	 * Accepts the given visitor on a visit of the given live list of
-	 * child nodes. 
-	 * @param visitor the visitor object
-	 * @param children the child Expression nodes to dispatch to, or <code>null</code> if none.
-	 */
-	protected final void acceptChildren(ParseVisitor visitor, List children) {
-		if (children != null) {
-			int size = children.size();
-			for (int i = 0; i < size; i++) {
-				acceptChild(visitor, (PTExpression) children.get(i));
-			}
-		} 
-	}
-	
-	public String toString() {
-		// allocate a buffer that is large enough to hold an average compilation unit
-		StringBuffer buffer = new StringBuffer(6000);
-		int p = buffer.length();
-		try {
-			appendDebugString(buffer);
-		} catch (RuntimeException e) {
-			// since debugger sometimes call toString methods, problems can easily happen when
-			// toString is called on an instance that is being initialized
-			buffer.setLength(p);
-			buffer.append("!"); //$NON-NLS-1$
-			buffer.append(standardToString());
-		}
-		// convert to a string, but lose the extra space in the string buffer by copying
-		return buffer.toString();
-	}
-	
-	protected final String standardToString() {
-		return super.toString();
-	}
-	
-	protected void appendDebugString(StringBuffer buffer) {
-		// print the subtree by default
-		appendPrintString(buffer);
-	}
-	
-	/*
-	 * Appends a standard Java source code representation of this subtree to the given
-	 * string buffer.
-	 * 
-	 * @param buffer the string buffer to append to
-	 */
-	protected final void appendPrintString(StringBuffer buffer) {
-		NaiveExpressionFlattener printer = new NaiveExpressionFlattener();
-		this.accept(printer);
-		buffer.append(printer.getResult());
-	}	
-
-} //ExpressionImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTFieldAccessImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTFieldAccessImpl.java
deleted file mode 100644
index 8127249..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTFieldAccessImpl.java
+++ /dev/null
@@ -1,255 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTFieldAccessImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:21 $ 
- */
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.PTFieldAccess;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Field Access</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTFieldAccessImpl#getReceiver <em>Receiver</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTFieldAccessImpl#getField <em>Field</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTFieldAccessImpl extends PTExpressionImpl implements PTFieldAccess {
-	/**
-	 * The cached value of the '{@link #getReceiver() <em>Receiver</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getReceiver()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTExpression receiver = null;
-
-	/**
-	 * The default value of the '{@link #getField() <em>Field</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getField()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String FIELD_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getField() <em>Field</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getField()
-	 * @generated
-	 * @ordered
-	 */
-	protected String field = FIELD_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTFieldAccessImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTFieldAccess();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTExpression getReceiver() {
-		return receiver;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetReceiver(PTExpression newReceiver, NotificationChain msgs) {
-		PTExpression oldReceiver = receiver;
-		receiver = newReceiver;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_FIELD_ACCESS__RECEIVER, oldReceiver, newReceiver);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setReceiver(PTExpression newReceiver) {
-		if (newReceiver != receiver) {
-			NotificationChain msgs = null;
-			if (receiver != null)
-				msgs = ((InternalEObject)receiver).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_FIELD_ACCESS__RECEIVER, null, msgs);
-			if (newReceiver != null)
-				msgs = ((InternalEObject)newReceiver).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_FIELD_ACCESS__RECEIVER, null, msgs);
-			msgs = basicSetReceiver(newReceiver, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_FIELD_ACCESS__RECEIVER, newReceiver, newReceiver));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getField() {
-		return field;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setField(String newField) {
-		String oldField = field;
-		field = newField;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_FIELD_ACCESS__FIELD, oldField, field));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case InstantiationPackage.PT_FIELD_ACCESS__RECEIVER:
-					return basicSetReceiver(null, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_FIELD_ACCESS__RECEIVER:
-				return getReceiver();
-			case InstantiationPackage.PT_FIELD_ACCESS__FIELD:
-				return getField();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_FIELD_ACCESS__RECEIVER:
-				setReceiver((PTExpression)newValue);
-				return;
-			case InstantiationPackage.PT_FIELD_ACCESS__FIELD:
-				setField((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_FIELD_ACCESS__RECEIVER:
-				setReceiver((PTExpression)null);
-				return;
-			case InstantiationPackage.PT_FIELD_ACCESS__FIELD:
-				setField(FIELD_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_FIELD_ACCESS__RECEIVER:
-				return receiver != null;
-			case InstantiationPackage.PT_FIELD_ACCESS__FIELD:
-				return FIELD_EDEFAULT == null ? field != null : !FIELD_EDEFAULT.equals(field);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	public String toString() {
-		return super.toString();	// Really want toString to be final at PTExpression, but EMF doesn't allow it.
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		boolean visitChildren = visitor.visit(this);
-		if (visitChildren) {
-			// visit children in normal left to right reading order
-			acceptChild(visitor, getReceiver());
-		}
-		visitor.endVisit(this);
-	}	
-
-} //FieldAccessImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInfixExpressionImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInfixExpressionImpl.java
deleted file mode 100644
index d84035c..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInfixExpressionImpl.java
+++ /dev/null
@@ -1,396 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTInfixExpressionImpl.java,v $
- *  $Revision: 1.2 $  $Date: 2004/03/11 01:48:01 $ 
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.PTInfixExpression;
-import org.eclipse.jem.internal.instantiation.PTInfixOperator;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Infix Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInfixExpressionImpl#getLeftOperand <em>Left Operand</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInfixExpressionImpl#getOperator <em>Operator</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInfixExpressionImpl#getRightOperand <em>Right Operand</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInfixExpressionImpl#getExtendedOperands <em>Extended Operands</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTInfixExpressionImpl extends PTExpressionImpl implements PTInfixExpression {
-	/**
-	 * The cached value of the '{@link #getLeftOperand() <em>Left Operand</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLeftOperand()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTExpression leftOperand = null;
-
-	/**
-	 * The default value of the '{@link #getOperator() <em>Operator</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOperator()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final PTInfixOperator OPERATOR_EDEFAULT = PTInfixOperator.TIMES_LITERAL;
-
-	/**
-	 * The cached value of the '{@link #getOperator() <em>Operator</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOperator()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTInfixOperator operator = OPERATOR_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getRightOperand() <em>Right Operand</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getRightOperand()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTExpression rightOperand = null;
-
-	/**
-	 * The cached value of the '{@link #getExtendedOperands() <em>Extended Operands</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getExtendedOperands()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList extendedOperands = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTInfixExpressionImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTInfixExpression();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTExpression getLeftOperand() {
-		return leftOperand;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetLeftOperand(PTExpression newLeftOperand, NotificationChain msgs) {
-		PTExpression oldLeftOperand = leftOperand;
-		leftOperand = newLeftOperand;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND, oldLeftOperand, newLeftOperand);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setLeftOperand(PTExpression newLeftOperand) {
-		if (newLeftOperand != leftOperand) {
-			NotificationChain msgs = null;
-			if (leftOperand != null)
-				msgs = ((InternalEObject)leftOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND, null, msgs);
-			if (newLeftOperand != null)
-				msgs = ((InternalEObject)newLeftOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND, null, msgs);
-			msgs = basicSetLeftOperand(newLeftOperand, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND, newLeftOperand, newLeftOperand));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTInfixOperator getOperator() {
-		return operator;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOperator(PTInfixOperator newOperator) {
-		PTInfixOperator oldOperator = operator;
-		operator = newOperator == null ? OPERATOR_EDEFAULT : newOperator;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INFIX_EXPRESSION__OPERATOR, oldOperator, operator));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTExpression getRightOperand() {
-		return rightOperand;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetRightOperand(PTExpression newRightOperand, NotificationChain msgs) {
-		PTExpression oldRightOperand = rightOperand;
-		rightOperand = newRightOperand;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND, oldRightOperand, newRightOperand);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setRightOperand(PTExpression newRightOperand) {
-		if (newRightOperand != rightOperand) {
-			NotificationChain msgs = null;
-			if (rightOperand != null)
-				msgs = ((InternalEObject)rightOperand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND, null, msgs);
-			if (newRightOperand != null)
-				msgs = ((InternalEObject)newRightOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND, null, msgs);
-			msgs = basicSetRightOperand(newRightOperand, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND, newRightOperand, newRightOperand));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getExtendedOperands() {
-		if (extendedOperands == null) {
-			extendedOperands = new EObjectContainmentEList(PTExpression.class, this, InstantiationPackage.PT_INFIX_EXPRESSION__EXTENDED_OPERANDS);
-		}
-		return extendedOperands;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND:
-					return basicSetLeftOperand(null, msgs);
-				case InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND:
-					return basicSetRightOperand(null, msgs);
-				case InstantiationPackage.PT_INFIX_EXPRESSION__EXTENDED_OPERANDS:
-					return ((InternalEList)getExtendedOperands()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND:
-				return getLeftOperand();
-			case InstantiationPackage.PT_INFIX_EXPRESSION__OPERATOR:
-				return getOperator();
-			case InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND:
-				return getRightOperand();
-			case InstantiationPackage.PT_INFIX_EXPRESSION__EXTENDED_OPERANDS:
-				return getExtendedOperands();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND:
-				setLeftOperand((PTExpression)newValue);
-				return;
-			case InstantiationPackage.PT_INFIX_EXPRESSION__OPERATOR:
-				setOperator((PTInfixOperator)newValue);
-				return;
-			case InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND:
-				setRightOperand((PTExpression)newValue);
-				return;
-			case InstantiationPackage.PT_INFIX_EXPRESSION__EXTENDED_OPERANDS:
-				getExtendedOperands().clear();
-				getExtendedOperands().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND:
-				setLeftOperand((PTExpression)null);
-				return;
-			case InstantiationPackage.PT_INFIX_EXPRESSION__OPERATOR:
-				setOperator(OPERATOR_EDEFAULT);
-				return;
-			case InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND:
-				setRightOperand((PTExpression)null);
-				return;
-			case InstantiationPackage.PT_INFIX_EXPRESSION__EXTENDED_OPERANDS:
-				getExtendedOperands().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INFIX_EXPRESSION__LEFT_OPERAND:
-				return leftOperand != null;
-			case InstantiationPackage.PT_INFIX_EXPRESSION__OPERATOR:
-				return operator != OPERATOR_EDEFAULT;
-			case InstantiationPackage.PT_INFIX_EXPRESSION__RIGHT_OPERAND:
-				return rightOperand != null;
-			case InstantiationPackage.PT_INFIX_EXPRESSION__EXTENDED_OPERANDS:
-				return extendedOperands != null && !extendedOperands.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	public String toString() {
-		return super.toString();	// Really want toString to be final at PTExpression, but EMF doesn't allow it.
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		boolean visitChildren = visitor.visit(this);
-		if (visitChildren) {
-			// visit children in normal left to right reading order
-			acceptChild(visitor, getLeftOperand());
-			acceptChild(visitor, getRightOperand());
-			acceptChildren(visitor, extendedOperands);
-		}
-		visitor.endVisit(this);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.PTInfixExpression#asCompressedExpression()
-	 */
-	public PTExpression asCompressedExpression() {
-		// If no left and no right
-		if(getLeftOperand() == null && getRightOperand() != null){
-			// no extends so just use the right operand
-			if(getExtendedOperands().size() == 0){
-				return getRightOperand();
-			} else {
-				// The right becomes the new left
-				setLeftOperand(getRightOperand());
-				// The first operand becomes the right one
-				setRightOperand((PTExpression) getExtendedOperands().get(0));
-				getExtendedOperands().remove(1);
-				return this;
-			}
-		} else if (getRightOperand() == null && getLeftOperand() != null){
-			// no extends so just use the left operand
-			if(getExtendedOperands().size() == 0){
-				return getLeftOperand();
-			} else {
-				// The right becomes the first extended
-				setRightOperand((PTExpression)getExtendedOperands().get(1));
-				getExtendedOperands().remove(1);
-				return this;
-			}			
-		}	
-		return this;
-	}
-} //InfixExpressionImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInstanceReferenceImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInstanceReferenceImpl.java
deleted file mode 100644
index 99c794e..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInstanceReferenceImpl.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * %W%
- * @version %I% %H%
- */
-package org.eclipse.jem.internal.instantiation.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTInstanceReference;
-
-import org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>PT Instance Reference</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInstanceReferenceImpl#getObject <em>Object</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTInstanceReferenceImpl extends PTExpressionImpl implements PTInstanceReference {
-	/**
-	 * The cached value of the '{@link #getObject() <em>Object</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getObject()
-	 * @generated
-	 * @ordered
-	 */
-	protected IJavaObjectInstance object = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTInstanceReferenceImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTInstanceReference();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public IJavaObjectInstance getObject() {
-		if (object != null && object.eIsProxy()) {
-			IJavaObjectInstance oldObject = object;
-			object = (IJavaObjectInstance)eResolveProxy((InternalEObject)object);
-			if (object != oldObject) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, InstantiationPackage.PT_INSTANCE_REFERENCE__OBJECT, oldObject, object));
-			}
-		}
-		return object;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public IJavaObjectInstance basicGetObject() {
-		return object;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setObject(IJavaObjectInstance newObject) {
-		IJavaObjectInstance oldObject = object;
-		object = newObject;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INSTANCE_REFERENCE__OBJECT, oldObject, object));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INSTANCE_REFERENCE__OBJECT:
-				if (resolve) return getObject();
-				return basicGetObject();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INSTANCE_REFERENCE__OBJECT:
-				setObject((IJavaObjectInstance)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INSTANCE_REFERENCE__OBJECT:
-				setObject((IJavaObjectInstance)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INSTANCE_REFERENCE__OBJECT:
-				return object != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.PTExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		visitor.visit(this);
-		visitor.endVisit(this);
-	}
-
-} //PTInstanceReferenceImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInstanceofImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInstanceofImpl.java
deleted file mode 100644
index 145afd0..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInstanceofImpl.java
+++ /dev/null
@@ -1,255 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTInstanceofImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.PTInstanceof;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Instanceof</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInstanceofImpl#getOperand <em>Operand</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInstanceofImpl#getType <em>Type</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTInstanceofImpl extends PTExpressionImpl implements PTInstanceof {
-	/**
-	 * The cached value of the '{@link #getOperand() <em>Operand</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOperand()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTExpression operand = null;
-
-	/**
-	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String TYPE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected String type = TYPE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTInstanceofImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTInstanceof();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTExpression getOperand() {
-		return operand;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetOperand(PTExpression newOperand, NotificationChain msgs) {
-		PTExpression oldOperand = operand;
-		operand = newOperand;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INSTANCEOF__OPERAND, oldOperand, newOperand);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOperand(PTExpression newOperand) {
-		if (newOperand != operand) {
-			NotificationChain msgs = null;
-			if (operand != null)
-				msgs = ((InternalEObject)operand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_INSTANCEOF__OPERAND, null, msgs);
-			if (newOperand != null)
-				msgs = ((InternalEObject)newOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_INSTANCEOF__OPERAND, null, msgs);
-			msgs = basicSetOperand(newOperand, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INSTANCEOF__OPERAND, newOperand, newOperand));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getType() {
-		return type;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setType(String newType) {
-		String oldType = type;
-		type = newType;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INSTANCEOF__TYPE, oldType, type));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case InstantiationPackage.PT_INSTANCEOF__OPERAND:
-					return basicSetOperand(null, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INSTANCEOF__OPERAND:
-				return getOperand();
-			case InstantiationPackage.PT_INSTANCEOF__TYPE:
-				return getType();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INSTANCEOF__OPERAND:
-				setOperand((PTExpression)newValue);
-				return;
-			case InstantiationPackage.PT_INSTANCEOF__TYPE:
-				setType((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INSTANCEOF__OPERAND:
-				setOperand((PTExpression)null);
-				return;
-			case InstantiationPackage.PT_INSTANCEOF__TYPE:
-				setType(TYPE_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INSTANCEOF__OPERAND:
-				return operand != null;
-			case InstantiationPackage.PT_INSTANCEOF__TYPE:
-				return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	public String toString() {
-		return super.toString();	// Really want toString to be final at PTExpression, but EMF doesn't allow it.
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		boolean visitChildren = visitor.visit(this);
-		if (visitChildren) {
-			// visit children in normal left to right reading order
-			acceptChild(visitor, getOperand());
-		}
-		visitor.endVisit(this);
-	}
-
-} //InstanceofImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInvalidExpressionImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInvalidExpressionImpl.java
deleted file mode 100644
index 9a36ce3..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTInvalidExpressionImpl.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTInvalidExpressionImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTInvalidExpression;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Invalid Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTInvalidExpressionImpl#getMessage <em>Message</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTInvalidExpressionImpl extends PTExpressionImpl implements PTInvalidExpression {
-	/**
-	 * The default value of the '{@link #getMessage() <em>Message</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMessage()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String MESSAGE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getMessage() <em>Message</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMessage()
-	 * @generated
-	 * @ordered
-	 */
-	protected String message = MESSAGE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTInvalidExpressionImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTInvalidExpression();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getMessage() {
-		return message;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMessage(String newMessage) {
-		String oldMessage = message;
-		message = newMessage;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_INVALID_EXPRESSION__MESSAGE, oldMessage, message));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INVALID_EXPRESSION__MESSAGE:
-				return getMessage();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INVALID_EXPRESSION__MESSAGE:
-				setMessage((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INVALID_EXPRESSION__MESSAGE:
-				setMessage(MESSAGE_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_INVALID_EXPRESSION__MESSAGE:
-				return MESSAGE_EDEFAULT == null ? message != null : !MESSAGE_EDEFAULT.equals(message);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	public String toString() {
-		return super.toString();	// Really want toString to be final at PTExpression, but EMF doesn't allow it.
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		visitor.visit(this);
-		visitor.endVisit(this);
-	}
-
-} //InvalidExpressionImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTMethodInvocationImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTMethodInvocationImpl.java
deleted file mode 100644
index 2ccce60..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTMethodInvocationImpl.java
+++ /dev/null
@@ -1,298 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTMethodInvocationImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTMethodInvocation;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Method Invocation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTMethodInvocationImpl#getReceiver <em>Receiver</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTMethodInvocationImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTMethodInvocationImpl#getArguments <em>Arguments</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTMethodInvocationImpl extends PTExpressionImpl implements PTMethodInvocation {
-	/**
-	 * The cached value of the '{@link #getReceiver() <em>Receiver</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getReceiver()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTExpression receiver = null;
-
-	/**
-	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String name = NAME_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getArguments()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList arguments = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTMethodInvocationImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTMethodInvocation();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTExpression getReceiver() {
-		return receiver;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetReceiver(PTExpression newReceiver, NotificationChain msgs) {
-		PTExpression oldReceiver = receiver;
-		receiver = newReceiver;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER, oldReceiver, newReceiver);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setReceiver(PTExpression newReceiver) {
-		if (newReceiver != receiver) {
-			NotificationChain msgs = null;
-			if (receiver != null)
-				msgs = ((InternalEObject)receiver).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER, null, msgs);
-			if (newReceiver != null)
-				msgs = ((InternalEObject)newReceiver).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER, null, msgs);
-			msgs = basicSetReceiver(newReceiver, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER, newReceiver, newReceiver));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setName(String newName) {
-		String oldName = name;
-		name = newName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_METHOD_INVOCATION__NAME, oldName, name));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getArguments() {
-		if (arguments == null) {
-			arguments = new EObjectContainmentEList(PTExpression.class, this, InstantiationPackage.PT_METHOD_INVOCATION__ARGUMENTS);
-		}
-		return arguments;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER:
-					return basicSetReceiver(null, msgs);
-				case InstantiationPackage.PT_METHOD_INVOCATION__ARGUMENTS:
-					return ((InternalEList)getArguments()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER:
-				return getReceiver();
-			case InstantiationPackage.PT_METHOD_INVOCATION__NAME:
-				return getName();
-			case InstantiationPackage.PT_METHOD_INVOCATION__ARGUMENTS:
-				return getArguments();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER:
-				setReceiver((PTExpression)newValue);
-				return;
-			case InstantiationPackage.PT_METHOD_INVOCATION__NAME:
-				setName((String)newValue);
-				return;
-			case InstantiationPackage.PT_METHOD_INVOCATION__ARGUMENTS:
-				getArguments().clear();
-				getArguments().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER:
-				setReceiver((PTExpression)null);
-				return;
-			case InstantiationPackage.PT_METHOD_INVOCATION__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case InstantiationPackage.PT_METHOD_INVOCATION__ARGUMENTS:
-				getArguments().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_METHOD_INVOCATION__RECEIVER:
-				return receiver != null;
-			case InstantiationPackage.PT_METHOD_INVOCATION__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case InstantiationPackage.PT_METHOD_INVOCATION__ARGUMENTS:
-				return arguments != null && !arguments.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	public String toString() {
-		return super.toString();	// Really want toString to be final at PTExpression, but EMF doesn't allow it.
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		boolean visitChildren = visitor.visit(this);
-		if (visitChildren) {
-			// visit children in normal left to right reading order
-			acceptChild(visitor, getReceiver());
-			acceptChildren(visitor, arguments);
-		}
-		visitor.endVisit(this);
-	}
-} //MethodInvocationImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNameImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNameImpl.java
deleted file mode 100644
index 34a2cb5..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNameImpl.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTNameImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTName;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Name</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTNameImpl#getName <em>Name</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTNameImpl extends PTExpressionImpl implements PTName {
-	/**
-	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String name = NAME_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTNameImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTName();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setName(String newName) {
-		String oldName = name;
-		name = newName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_NAME__NAME, oldName, name));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_NAME__NAME:
-				return getName();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_NAME__NAME:
-				setName((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_NAME__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_NAME__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	public String toString() {
-		return super.toString();	// Really want toString to be final at PTExpression, but EMF doesn't allow it.
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		visitor.visit(this);
-		visitor.endVisit(this);
-	}
-
-} //NameImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNullLiteralImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNullLiteralImpl.java
deleted file mode 100644
index dac07f2..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNullLiteralImpl.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTNullLiteralImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:21 $ 
- */
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTNullLiteral;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Null Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public class PTNullLiteralImpl extends PTExpressionImpl implements PTNullLiteral {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTNullLiteralImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTNullLiteral();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		visitor.visit(this);
-		visitor.endVisit(this);
-	}	
-
-} //NullLiteralImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNumberLiteralImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNumberLiteralImpl.java
deleted file mode 100644
index fd5ae99..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTNumberLiteralImpl.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTNumberLiteralImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:21 $ 
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTNumberLiteral;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Number Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTNumberLiteralImpl#getToken <em>Token</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTNumberLiteralImpl extends PTExpressionImpl implements PTNumberLiteral {
-	/**
-	 * The default value of the '{@link #getToken() <em>Token</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getToken()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String TOKEN_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getToken() <em>Token</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getToken()
-	 * @generated
-	 * @ordered
-	 */
-	protected String token = TOKEN_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTNumberLiteralImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTNumberLiteral();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getToken() {
-		return token;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setToken(String newToken) {
-		String oldToken = token;
-		token = newToken;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_NUMBER_LITERAL__TOKEN, oldToken, token));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_NUMBER_LITERAL__TOKEN:
-				return getToken();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_NUMBER_LITERAL__TOKEN:
-				setToken((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_NUMBER_LITERAL__TOKEN:
-				setToken(TOKEN_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_NUMBER_LITERAL__TOKEN:
-				return TOKEN_EDEFAULT == null ? token != null : !TOKEN_EDEFAULT.equals(token);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (token: ");
-		result.append(token);
-		result.append(')');
-		return result.toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		visitor.visit(this);
-		visitor.endVisit(this);
-	}
-} //NumberLiteralImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTParenthesizedExpressionImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTParenthesizedExpressionImpl.java
deleted file mode 100644
index 1357f45..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTParenthesizedExpressionImpl.java
+++ /dev/null
@@ -1,198 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTParenthesizedExpressionImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTParenthesizedExpression;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Parenthesized Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTParenthesizedExpressionImpl#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTParenthesizedExpressionImpl extends PTExpressionImpl implements PTParenthesizedExpression {
-	/**
-	 * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getExpression()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTExpression expression = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTParenthesizedExpressionImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTParenthesizedExpression();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTExpression getExpression() {
-		return expression;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetExpression(PTExpression newExpression, NotificationChain msgs) {
-		PTExpression oldExpression = expression;
-		expression = newExpression;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION, oldExpression, newExpression);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setExpression(PTExpression newExpression) {
-		if (newExpression != expression) {
-			NotificationChain msgs = null;
-			if (expression != null)
-				msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION, null, msgs);
-			if (newExpression != null)
-				msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION, null, msgs);
-			msgs = basicSetExpression(newExpression, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION, newExpression, newExpression));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION:
-					return basicSetExpression(null, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION:
-				return getExpression();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION:
-				setExpression((PTExpression)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION:
-				setExpression((PTExpression)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_PARENTHESIZED_EXPRESSION__EXPRESSION:
-				return expression != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		boolean visitChildren = visitor.visit(this);
-		if (visitChildren) {
-			acceptChild(visitor, getExpression());
-		}
-		visitor.endVisit(this);
-	}	
-
-} //ParenthesizedExpressionImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTPrefixExpressionImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTPrefixExpressionImpl.java
deleted file mode 100644
index 5a709a9..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTPrefixExpressionImpl.java
+++ /dev/null
@@ -1,256 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTPrefixExpressionImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTPrefixExpression;
-import org.eclipse.jem.internal.instantiation.PTPrefixOperator;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Prefix Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTPrefixExpressionImpl#getOperator <em>Operator</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTPrefixExpressionImpl#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTPrefixExpressionImpl extends PTExpressionImpl implements PTPrefixExpression {
-	/**
-	 * The default value of the '{@link #getOperator() <em>Operator</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOperator()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final PTPrefixOperator OPERATOR_EDEFAULT = PTPrefixOperator.PLUS_LITERAL;
-
-	/**
-	 * The cached value of the '{@link #getOperator() <em>Operator</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOperator()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTPrefixOperator operator = OPERATOR_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getExpression()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTExpression expression = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTPrefixExpressionImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTPrefixExpression();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTPrefixOperator getOperator() {
-		return operator;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOperator(PTPrefixOperator newOperator) {
-		PTPrefixOperator oldOperator = operator;
-		operator = newOperator == null ? OPERATOR_EDEFAULT : newOperator;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_PREFIX_EXPRESSION__OPERATOR, oldOperator, operator));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTExpression getExpression() {
-		return expression;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetExpression(PTExpression newExpression, NotificationChain msgs) {
-		PTExpression oldExpression = expression;
-		expression = newExpression;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION, oldExpression, newExpression);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setExpression(PTExpression newExpression) {
-		if (newExpression != expression) {
-			NotificationChain msgs = null;
-			if (expression != null)
-				msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION, null, msgs);
-			if (newExpression != null)
-				msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION, null, msgs);
-			msgs = basicSetExpression(newExpression, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION, newExpression, newExpression));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION:
-					return basicSetExpression(null, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_PREFIX_EXPRESSION__OPERATOR:
-				return getOperator();
-			case InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION:
-				return getExpression();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_PREFIX_EXPRESSION__OPERATOR:
-				setOperator((PTPrefixOperator)newValue);
-				return;
-			case InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION:
-				setExpression((PTExpression)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_PREFIX_EXPRESSION__OPERATOR:
-				setOperator(OPERATOR_EDEFAULT);
-				return;
-			case InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION:
-				setExpression((PTExpression)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_PREFIX_EXPRESSION__OPERATOR:
-				return operator != OPERATOR_EDEFAULT;
-			case InstantiationPackage.PT_PREFIX_EXPRESSION__EXPRESSION:
-				return expression != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	public String toString() {
-		return super.toString();	// Really want toString to be final at PTExpression, but EMF doesn't allow it.
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		boolean visitChildren = visitor.visit(this);
-		if (visitChildren) {
-			// visit children in normal left to right reading order
-			acceptChild(visitor, getExpression());
-		}
-		visitor.endVisit(this);
-	}
-
-} //PrefixExpressionImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTStringLiteralImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTStringLiteralImpl.java
deleted file mode 100644
index 4308d12..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTStringLiteralImpl.java
+++ /dev/null
@@ -1,286 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTStringLiteralImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTStringLiteral;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>String Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTStringLiteralImpl#getEscapedValue <em>Escaped Value</em>}</li>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTStringLiteralImpl#getLiteralValue <em>Literal Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTStringLiteralImpl extends PTExpressionImpl implements PTStringLiteral {
-	/**
-	 * The default value of the '{@link #getEscapedValue() <em>Escaped Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getEscapedValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String ESCAPED_VALUE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getEscapedValue() <em>Escaped Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getEscapedValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected String escapedValue = ESCAPED_VALUE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getLiteralValue() <em>Literal Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLiteralValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String LITERAL_VALUE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getLiteralValue() <em>Literal Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLiteralValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected String literalValue = LITERAL_VALUE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTStringLiteralImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTStringLiteral();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getEscapedValue() {
-		return escapedValue;
-	}
-
-	public void setEscapedValue(String newEscapedValue) {
-		stringLiteralSet = false;
-		setLiteralValueGen(LITERAL_VALUE_EDEFAULT);
-		setEscapedValueGen(newEscapedValue);		
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setEscapedValueGen(String newEscapedValue) {
-		String oldEscapedValue = escapedValue;
-		escapedValue = newEscapedValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_STRING_LITERAL__ESCAPED_VALUE, oldEscapedValue, escapedValue));
-	}
-
-	private boolean stringLiteralSet;
-	
-	public String getLiteralValue() {
-		if (!stringLiteralSet && escapedValue != ESCAPED_VALUE_EDEFAULT) {
-			String s = getEscapedValue();
-			int len = s.length();
-			if (len < 2 || s.charAt(0) != '\"' || s.charAt(len-1) != '\"' ) {
-				throw new IllegalArgumentException();
-			}
-			
-			StringBuffer buffer = new StringBuffer(len);
-			int stop = len-1;
-			for (int i = 1; i < stop; i++) {
-				char ati = s.charAt(i);
-				if (ati == '\\') {
-					if (++i < stop) {
-						ati = s.charAt(i);
-						if (ati == 'u') {
-							int c1 = 0, c2 = 0, c3 = 0, c4 = 0;
-							if (i+4 >= stop
-									|| (c1 = Character.getNumericValue(s.charAt(++i))) > 15
-									|| c1 < 0
-									|| (c2 = Character.getNumericValue(s.charAt(++i))) > 15
-									|| c2 < 0
-									|| (c3 = Character.getNumericValue(s.charAt(++i))) > 15
-									|| c3 < 0
-									|| (c4 = Character.getNumericValue(s.charAt(++i))) > 15
-									|| c4 < 0){
-								throw new IllegalArgumentException("illegal string literal");//$NON-NLS-1$
-							} else
-								buffer.append((char) (((c1 * 16 + c2) * 16 + c3) * 16 + c4));
-						} else
-							buffer.append(PTCharacterLiteralImpl.getCharEscaped(ati));
-					} else
-						throw new IllegalArgumentException("illegal string literal");//$NON-NLS-1$
-				} else
-					buffer.append(ati);	
-			}
-			
-			stringLiteralSet = true;
-			setLiteralValueGen(buffer.toString());
-		}
-		
-		return getLiteralValueGen();
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getLiteralValueGen() {
-		return literalValue;
-	}
-
-	public void setLiteralValue(String newLiteralValue) {
-		stringLiteralSet = true;
-		setLiteralValueGen(newLiteralValue);
-		
-		StringBuffer b = new StringBuffer(newLiteralValue.length()+2);
-		b.append('\"'); // opening delimiter
-		int stop = newLiteralValue.length();
-		for (int i = 0; i < stop; i++) {
-			PTCharacterLiteralImpl.appendCharacter(newLiteralValue.charAt(i), b);	
-		}
-		b.append('\"'); // closing delimiter
-		setEscapedValueGen(b.toString());
-		
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setLiteralValueGen(String newLiteralValue) {
-		String oldLiteralValue = literalValue;
-		literalValue = newLiteralValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_STRING_LITERAL__LITERAL_VALUE, oldLiteralValue, literalValue));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_STRING_LITERAL__ESCAPED_VALUE:
-				return getEscapedValue();
-			case InstantiationPackage.PT_STRING_LITERAL__LITERAL_VALUE:
-				return getLiteralValue();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_STRING_LITERAL__ESCAPED_VALUE:
-				setEscapedValue((String)newValue);
-				return;
-			case InstantiationPackage.PT_STRING_LITERAL__LITERAL_VALUE:
-				setLiteralValue((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_STRING_LITERAL__ESCAPED_VALUE:
-				setEscapedValue(ESCAPED_VALUE_EDEFAULT);
-				return;
-			case InstantiationPackage.PT_STRING_LITERAL__LITERAL_VALUE:
-				setLiteralValue(LITERAL_VALUE_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_STRING_LITERAL__ESCAPED_VALUE:
-				return ESCAPED_VALUE_EDEFAULT == null ? escapedValue != null : !ESCAPED_VALUE_EDEFAULT.equals(escapedValue);
-			case InstantiationPackage.PT_STRING_LITERAL__LITERAL_VALUE:
-				return LITERAL_VALUE_EDEFAULT == null ? literalValue != null : !LITERAL_VALUE_EDEFAULT.equals(literalValue);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	public String toString() {
-		return super.toString();	// Really want toString to be final at PTExpression, but EMF doesn't allow it.
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		visitor.visit(this);
-		visitor.endVisit(this);
-	}
-
-} //StringLiteralImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTThisLiteralImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTThisLiteralImpl.java
deleted file mode 100644
index ff5d78f..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTThisLiteralImpl.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTThisLiteralImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTThisLiteral;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>This Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public class PTThisLiteralImpl extends PTExpressionImpl implements PTThisLiteral {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTThisLiteralImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTThisLiteral();
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		visitor.visit(this);
-		visitor.endVisit(this);
-	}	
-
-} //ThisLiteralImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTTypeLiteralImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTTypeLiteralImpl.java
deleted file mode 100644
index e46ed80..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/PTTypeLiteralImpl.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: PTTypeLiteralImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:22 $ 
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.PTTypeLiteral;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Type Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.PTTypeLiteralImpl#getType <em>Type</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PTTypeLiteralImpl extends PTExpressionImpl implements PTTypeLiteral {
-	/**
-	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String TYPE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected String type = TYPE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PTTypeLiteralImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getPTTypeLiteral();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getType() {
-		return type;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setType(String newType) {
-		String oldType = type;
-		type = newType;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PT_TYPE_LITERAL__TYPE, oldType, type));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_TYPE_LITERAL__TYPE:
-				return getType();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_TYPE_LITERAL__TYPE:
-				setType((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_TYPE_LITERAL__TYPE:
-				setType(TYPE_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PT_TYPE_LITERAL__TYPE:
-				return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	public String toString() {
-		return super.toString();	// Really want toString to be final at PTExpression, but EMF doesn't allow it.
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.internal.instantiation.impl.ExpressionImpl#accept0(org.eclipse.jem.internal.instantiation.ParseVisitor)
-	 */
-	protected void accept0(ParseVisitor visitor) {
-		visitor.visit(this);
-		visitor.endVisit(this);
-	}
-} //TypeLiteralImpl
diff --git a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/ParseTreeAllocationImpl.java b/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/ParseTreeAllocationImpl.java
deleted file mode 100644
index 41bd540..0000000
--- a/plugins/org.eclipse.jem/javainst/org/eclipse/jem/internal/instantiation/impl/ParseTreeAllocationImpl.java
+++ /dev/null
@@ -1,193 +0,0 @@
-package org.eclipse.jem.internal.instantiation.impl;
-/*******************************************************************************
- * Copyright (c)  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
- *******************************************************************************/
-/*
- *  $RCSfile: ParseTreeAllocationImpl.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/23 22:53:21 $ 
- */
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.InstantiationPackage;
-import org.eclipse.jem.internal.instantiation.ParseTreeAllocation;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Parse Tree Allocation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.internal.instantiation.impl.ParseTreeAllocationImpl#getExpression <em>Expression</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ParseTreeAllocationImpl extends JavaAllocationImpl implements ParseTreeAllocation {
-	/**
-	 * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getExpression()
-	 * @generated
-	 * @ordered
-	 */
-	protected PTExpression expression = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ParseTreeAllocationImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return InstantiationPackage.eINSTANCE.getParseTreeAllocation();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PTExpression getExpression() {
-		return expression;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetExpression(PTExpression newExpression, NotificationChain msgs) {
-		PTExpression oldExpression = expression;
-		expression = newExpression;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION, oldExpression, newExpression);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setExpression(PTExpression newExpression) {
-		if (newExpression != expression) {
-			NotificationChain msgs = null;
-			if (expression != null)
-				msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION, null, msgs);
-			if (newExpression != null)
-				msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION, null, msgs);
-			msgs = basicSetExpression(newExpression, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION, newExpression, newExpression));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION:
-					return basicSetExpression(null, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION:
-				return getExpression();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION:
-				setExpression((PTExpression)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION:
-				setExpression((PTExpression)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case InstantiationPackage.PARSE_TREE_ALLOCATION__EXPRESSION:
-				return expression != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getExpression() != null ? getExpression().toString() : super.toString();
-	}
-
-} //ParseTreeAllocationImpl
diff --git a/plugins/org.eclipse.jem/model/instance.ecore b/plugins/org.eclipse.jem/model/instance.ecore
deleted file mode 100644
index 0c5723c..0000000
--- a/plugins/org.eclipse.jem/model/instance.ecore
+++ /dev/null
@@ -1,482 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<ecore:EPackage xmi:version="2.0"
-  xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="instantiation"
-    nsURI="http:///org/eclipse/jem/internal/instantiation.ecore" nsPrefix="org.eclipse.jem.internal.instantiation">
-  <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-    <details key="documentation" value="Java Instantiation Package"/>
-  </eAnnotations>
-  <eClassifiers xsi:type="ecore:EClass" name="IJavaDataTypeInstance" instanceClassName="org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance"
-      abstract="true" interface="true" eSuperTypes="#//IJavaInstance"/>
-  <eClassifiers xsi:type="ecore:EClass" name="IJavaInstance" instanceClassName="org.eclipse.jem.internal.instantiation.base.IJavaInstance"
-      abstract="true" interface="true"/>
-  <eClassifiers xsi:type="ecore:EClass" name="IJavaObjectInstance" instanceClassName="org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance"
-      abstract="true" interface="true" eSuperTypes="#//IJavaInstance">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="This interface is the instance of an java object in the java model."/>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="JavaAllocation" abstract="true">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="This class is the abstract base class of the allocation class. It is the value of the &quot;allocation&quot; property on a Java Object so that the actual allocation can be controlled. For example, there could be one for just init string, or one for serialized."/>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="InitStringAllocation" eSuperTypes="#//JavaAllocation">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="This is used when the allocation string can be parsed by the remote vm. It uses the allocString."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="initString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="This is the initialization string for this object."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ImplicitAllocation" eSuperTypes="#//JavaAllocation">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="This class is for an implicit allocation where the object comes from the feature of another object. It is the live Java value from the remote vm."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="parent" lowerBound="1"
-        eType="ecore:EClass ../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//EObject"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="feature" lowerBound="1"
-        eType="ecore:EClass ../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//EStructuralFeature"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ParseTreeAllocation" eSuperTypes="#//JavaAllocation">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Allocations via Parse Trees."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
-        eType="#//PTExpression" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTExpression" abstract="true"/>
-  <eClassifiers xsi:type="ecore:EClass" name="PTArrayAccess" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Array access. e.g. x[3]. &#xD;&#xA;&#xD;&#xA;Unlike AST, the entire expression of type x[3][4] will be done in one expression rather than having a separate ArrayAccess for each dimension. This is just a simplification. This can only be used if it is a simple array access where it is of the form {expression}[expression][expression]."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="array" eType="#//PTExpression"
-        containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The expression representing the array to access."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="indexes" lowerBound="1"
-        upperBound="-1" eType="#//PTExpression" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The expressions representing the indexes of the access."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTArrayCreation" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Array Creation expression, e.g. new int[3] or new java.langString[][] {{&quot;a&quot;}, {&quot;b&quot;}}"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The fully-qualified type, e.g. int[][] or java.lang.String[], including the number of dimension brackets."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="dimensions" upperBound="-1"
-        eType="#//PTExpression" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The list of expressions for the dimensions. You can have [3][4][] but [][33] is invalid. So for each dimension that has an expression, there will be an entry in the list, in the correct order. When you reach the empty dimensions, the list will end too. "/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="initializer" eType="#//PTArrayInitializer"
-        containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="This is the initializer, if any, for this array. E.g. new int[] {2,3}. It is the {2,3}."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTArrayInitializer" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Array initialization expression. This is the entire expression, e.g. {2, 3}, or {{2,3}, 4}. In the second case, the {2,3} will be an ArrayInitializer contained within the expressions list for the top ArrayInitializer."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="expressions" upperBound="-1"
-        eType="#//PTExpression" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="This isthe list of expressions within the initializer, e.g. {2, 3}, or {{2,3}, 4}. In the first case it will be two NumberLiterals. In the second case, the {2,3} will be an ArrayInitializer, followed by a NumberLiteral."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTBooleanLiteral" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="This represents a primitive boolean literal, i.e. true or false directly in the code."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="booleanValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The value of the literal."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTCastExpression" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Cast expression, e.g. (short) 10"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="This is the fully-qualified type of the cast, e.g. int or java.lang.String"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//PTExpression"
-        containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The expression being casted."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTCharacterLiteral" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="This represents a primitive character expression, e.g. 'a' or '\r'."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="escapedValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="This is the escaped character. In other words the literal exactly as it is in the java file. E.g. 'a' or '\r'. Including the surrounding single quotes themselves."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="charValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EChar"
-        transient="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The actual primitive character without the quotes. Escape are evaluated and turned into their character value. This is a transient field. If not set when created when queried it will create it. Typically it will be set when created from an AST node since the node already has evaluated it."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTClassInstanceCreation" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Class instance creation expression. E.g. new String(&quot;a&quot;)"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="This is the type of the class. E.g. java.lang.String. This should be fully-qualified for allocation purposes. It should also be in reflection format, i.e. if X is an inner class of j.Y, then the type here should be &quot;j.Y$X&quot;. "/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
-        eType="#//PTExpression" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The arguments to the constructor."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTConditionalExpression" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="The test Expresson, e.g. (x=3) ? 1 : 2"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//PTExpression"
-        containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The condition expression."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="true" eType="#//PTExpression"
-        containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The true expression"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="false" eType="#//PTExpression"
-        containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The false expression."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTFieldAccess" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Access a field expression, e.g. java.awt.Color.red"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="receiver" eType="#//PTExpression"
-        containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The expression representing the object that the field is in, e.g. java.awt.Color."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="field" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The name of the field being accessed, e.g. red."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTInfixExpression" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="An expression with an operator that has two operands, e.g. 3 + 4."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//PTExpression"
-        containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//PTInfixOperator">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The operator, e.g. +"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//PTExpression"
-        containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The right expression. i.e. 4 of &quot;3 + 4&quot;"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedOperands" upperBound="-1"
-        eType="#//PTExpression" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Used when there are a series of infix operations of the same operator, e.g. 1 + 2 + 3 + 4. 1 and 2 will go into left and right, while {3, 4} will go into the extended operands. "/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="PTInfixOperator">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Enumerator for the operator on an InfixExpression."/>
-    </eAnnotations>
-    <eLiterals name="TIMES">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="* operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="DIVIDE" value="1">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="/ operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="REMAINDER" value="2">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="% operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="PLUS" value="3">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="+ operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="MINUS" value="4">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="- operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="LEFT_SHIFT" value="5">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;&lt; operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="RIGHT_SHIFT_SIGNED" value="6">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value=">> operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="RIGHT_SHIFT_UNSIGNED" value="7">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value=">>> operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="LESS" value="8">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;  operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="GREATER" value="9">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="> operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="LESS_EQUALS" value="10">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;= operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="GREATER_EQUALS" value="11">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value=">= operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="EQUALS" value="12">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="== operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="NOT_EQUALS" value="13">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="!= operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="XOR" value="14">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="^ operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="AND" value="15">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&amp; operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="OR" value="16">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="|  operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="CONDITIONAL_AND" value="17">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&amp;&amp; operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="CONDITIONAL_OR" value="18">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="|| operator"/>
-      </eAnnotations>
-    </eLiterals>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTInstanceof" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Instanceof expression, e.g. x instanceof java.lang.String"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//PTExpression"
-        containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The value to test, e.g. x in x instanceof java.lang.String"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type of the instance test, e.g. java.lang.String. It must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTMethodInvocation" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="MethodInvocation expression, e.g. x.getY(3)"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="receiver" eType="#//PTExpression"
-        containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Who the method is invoked against. This may be not set, which means &quot;this&quot;. It may also be a Name, which would mean a class like &quot;java.lang.String&quot;"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The name of the method being invoked."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
-        eType="#//PTExpression" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The list of arguments, if any, to the method."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTName" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="This represents a name. This can happen for the receiver of a method invocation, e.g. x.getY() or java.lang.String.valueOf(10). In these cases you would have a name of &quot;x&quot; or &quot;java.lang.String&quot;."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The name, which can be a type or a variable. If it is a type, then  it must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTNullLiteral" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Represents the expression &quot;null&quot;"/>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTNumberLiteral" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Represent a number primitive literal, e.g. 10. One optimization that will be performed is that if an expression is of the form +number or -number, it will be converted from a PrefixExpression with a NumberLiteral to just a NumberLiteral. This will simplify the model."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="token" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The token value, e.g. 10, 10d, or -10.75"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTParenthesizedExpression" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="An expression within parenthesis, e.g. (x+3)"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//PTExpression"
-        containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The expression wrapped by the parenthesis, e.g. (x+3) then the expression is &quot;x+3&quot;"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTPrefixExpression" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A one operand operator, where the operator comes before the operand, e.g. - (x+3). In AST, even -3 is modeled as a PrefixExpression of operator &quot;-&quot; and expression of NumberLiteral(3). But we optimize this away and just use a NumberLiteral(-3) directly instead."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//PTPrefixOperator">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The operator of this expression."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//PTExpression"
-        containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The expression that the operator is applied to."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="PTPrefixOperator">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="The prefix expression operator. We are not modeling ++ and --."/>
-    </eAnnotations>
-    <eLiterals name="PLUS">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="+ operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="MINUS" value="1">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="- operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="COMPLEMENT" value="2">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="~ operator"/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="NOT" value="3">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="! operator"/>
-      </eAnnotations>
-    </eLiterals>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTStringLiteral" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Representation of a string literal, e.g. &quot;asdf&quot;."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="escapedValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="This is the escaped string. In other words the literal exactly as it is in the java file. E.g. &quot;ab&quot; or &quot;c\r&quot;. Including the surrounding quotes themselves."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="literalValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
-        transient="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The actual string without the quotes. Escape are evaluated and turned into their character value. This is a transient field. If not set when created when queried it will create it. Typically it will be set when created from an AST node since the node already has evaluated it."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTThisLiteral" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Represents &quot;this&quot;, e.g. this.getX() will be a MethodInvocation with the receiver being a ThisLiteral. We can't handle the format XYZ.this because that is for inner classes and we don't support that right now."/>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTTypeLiteral" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="This represents a literal of the form j.XYZ.class. For instance in a method invocation x.getX(jXYZ.class) the argument will be a TypeLiteral."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type of the literal.  It must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTInvalidExpression" eSuperTypes="#//PTExpression">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="This is used when we have some expression we just can't evaluate for our purposes. It allows us to tell the evaluation what is actually wrong. It should be placed as the root expression to prevent processing much of the tree and then finally fail."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="message" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A message as to why it is invalid."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PTInstanceReference" eSuperTypes="#//PTExpression">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="object" lowerBound="1"
-        eType="#//IJavaObjectInstance"/>
-  </eClassifiers>
-</ecore:EPackage>
diff --git a/plugins/org.eclipse.jem/model/instance.genmodel b/plugins/org.eclipse.jem/model/instance.genmodel
deleted file mode 100644
index 788ea34..0000000
--- a/plugins/org.eclipse.jem/model/instance.genmodel
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<genmodel:GenModel xmi:version="2.0"
-  xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
-  xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.jem/javainst"
-    editDirectory="/org.eclipse.jem.edit/src" editorDirectory="/org.eclipse.jem.editor/src"
-    modelPluginID="" modelName="instance" editPluginClass="org.eclipse.jem.internal.instantiation.provider.instanceEditPlugin"
-    editorPluginClass="org.eclipse.jem.internal.instantiation.presentation.instanceEditorPlugin"
-    updateClasspath="false" usedGenPackages="../../org.eclipse.emf.ecore/src/model/Ecore.genmodel#//ecore">
-  <foreignModel>..\rose\instance.mdl</foreignModel>
-  <foreignModel>WorkspaceRoot</foreignModel>
-  <foreignModel>../..</foreignModel>
-  <genPackages prefix="Instantiation" basePackage="org.eclipse.jem.internal" adapterFactory="false"
-      ecorePackage="instance.ecore#/">
-    <genEnums ecoreEnum="instance.ecore#//PTInfixOperator">
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/TIMES"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/DIVIDE"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/REMAINDER"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/PLUS"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/MINUS"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/LEFT_SHIFT"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/RIGHT_SHIFT_SIGNED"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/RIGHT_SHIFT_UNSIGNED"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/LESS"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/GREATER"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/LESS_EQUALS"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/GREATER_EQUALS"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/EQUALS"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/NOT_EQUALS"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/XOR"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/AND"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/OR"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/CONDITIONAL_AND"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTInfixOperator/CONDITIONAL_OR"/>
-    </genEnums>
-    <genEnums ecoreEnum="instance.ecore#//PTPrefixOperator">
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTPrefixOperator/PLUS"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTPrefixOperator/MINUS"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTPrefixOperator/COMPLEMENT"/>
-      <genEnumLiterals ecoreEnumLiteral="instance.ecore#//PTPrefixOperator/NOT"/>
-    </genEnums>
-    <genClasses ecoreClass="instance.ecore#//IJavaDataTypeInstance"/>
-    <genClasses ecoreClass="instance.ecore#//IJavaInstance"/>
-    <genClasses ecoreClass="instance.ecore#//IJavaObjectInstance"/>
-    <genClasses ecoreClass="instance.ecore#//JavaAllocation"/>
-    <genClasses ecoreClass="instance.ecore#//InitStringAllocation">
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//InitStringAllocation/initString"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//ImplicitAllocation">
-      <genFeatures notify="false" ecoreFeature="ecore:EReference instance.ecore#//ImplicitAllocation/parent"/>
-      <genFeatures notify="false" ecoreFeature="ecore:EReference instance.ecore#//ImplicitAllocation/feature"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//ParseTreeAllocation">
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//ParseTreeAllocation/expression"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTExpression"/>
-    <genClasses ecoreClass="instance.ecore#//PTArrayAccess">
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTArrayAccess/array"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTArrayAccess/indexes"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTArrayCreation">
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTArrayCreation/type"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTArrayCreation/dimensions"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTArrayCreation/initializer"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTArrayInitializer">
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTArrayInitializer/expressions"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTBooleanLiteral">
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTBooleanLiteral/booleanValue"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTCastExpression">
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTCastExpression/type"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTCastExpression/expression"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTCharacterLiteral">
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTCharacterLiteral/escapedValue"/>
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTCharacterLiteral/charValue"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTClassInstanceCreation">
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTClassInstanceCreation/type"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTClassInstanceCreation/arguments"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTConditionalExpression">
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTConditionalExpression/condition"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTConditionalExpression/true"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTConditionalExpression/false"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTFieldAccess">
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTFieldAccess/receiver"/>
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTFieldAccess/field"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTInfixExpression">
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTInfixExpression/leftOperand"/>
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTInfixExpression/operator"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTInfixExpression/rightOperand"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTInfixExpression/extendedOperands"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTInstanceof">
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTInstanceof/operand"/>
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTInstanceof/type"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTMethodInvocation">
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTMethodInvocation/receiver"/>
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTMethodInvocation/name"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTMethodInvocation/arguments"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTName">
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTName/name"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTNullLiteral"/>
-    <genClasses ecoreClass="instance.ecore#//PTNumberLiteral">
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTNumberLiteral/token"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTParenthesizedExpression">
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTParenthesizedExpression/expression"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTPrefixExpression">
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTPrefixExpression/operator"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference instance.ecore#//PTPrefixExpression/expression"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTStringLiteral">
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTStringLiteral/escapedValue"/>
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTStringLiteral/literalValue"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTThisLiteral"/>
-    <genClasses ecoreClass="instance.ecore#//PTTypeLiteral">
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTTypeLiteral/type"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTInvalidExpression">
-      <genFeatures ecoreFeature="ecore:EAttribute instance.ecore#//PTInvalidExpression/message"/>
-    </genClasses>
-    <genClasses ecoreClass="instance.ecore#//PTInstanceReference">
-      <genFeatures notify="false" ecoreFeature="ecore:EReference instance.ecore#//PTInstanceReference/object"/>
-    </genClasses>
-  </genPackages>
-</genmodel:GenModel>
diff --git a/plugins/org.eclipse.jem/model/java.ecore b/plugins/org.eclipse.jem/model/java.ecore
deleted file mode 100644
index 6fa9b44..0000000
--- a/plugins/org.eclipse.jem/model/java.ecore
+++ /dev/null
@@ -1,353 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<ecore:EPackage xmi:version="2.0"
-  xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="java"
-    nsURI="java.xmi" nsPrefix="org.eclipse.jem.internal.java">
-  <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-    <details key="documentation" value="Changes to synch up with Java3e:&#xD;&#xA;- deleted JavaElement, BodyElement which didn't add anything useful&#xD;&#xA;- deleted NestedClass and the association which described nesting, contents can be used instead&#xD;&#xA;- deleted extends/extendedBy which is replaced with MOF subtype/supertype&#xD;&#xA;- deleted the clumsy main diagram&#xD;&#xA;- moved the MOF inheritance details to the MOF binding diagram&#xD;&#xA;- deleted &quot;final&quot; on JavaParameter, don't know what that was supposed to be&#xD;&#xA;- deleted the Category junk&#xD;&#xA;- changed the Block-typed attributes on Field, Method, Initializer to be associations to Block&#xD;&#xA;&#xD;&#xA;Outstanding questions/issues:&#xD;&#xA;- JavaParameterKind should go away if we get the base Parameter kind fixed up&#xD;&#xA;"/>
-  </eAnnotations>
-  <eClassifiers xsi:type="ecore:EClass" name="JavaClass" eSuperTypes="../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//EClass">
-    <eOperations name="isNested" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eOperations name="getField" eType="#//Field">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Return an Field with the passed name, or null."/>
-      </eAnnotations>
-      <eParameters name="fieldName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    </eOperations>
-    <eOperations name="getFieldExtended" eType="#//Field">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value=" Return an Field with the passed name from this JavaClass or any supertypes.&#xD;&#xA;&#xD;&#xA;Return null if a Field named fieldName is not found."/>
-      </eAnnotations>
-      <eParameters name="fieldName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    </eOperations>
-    <eOperations name="getFieldNamed" eType="#//Field">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Return an Field with the passed name, or null."/>
-      </eAnnotations>
-      <eParameters name="fieldName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    </eOperations>
-    <eOperations name="getFieldsExtended" eType="#//JTypeList">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Return all fields, including those from supertypes."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="getMethod" eType="#//Method">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Get the method of this name and these parameters. It will not look up the supertype hierarchy."/>
-      </eAnnotations>
-      <eParameters name="methodName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      <eParameters name="parameterTypes" eType="#//JTypeList">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="List of parameter types."/>
-        </eAnnotations>
-      </eParameters>
-    </eOperations>
-    <eOperations name="getMethodElementSignatures" eType="#//JTypeList">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Return a List of Strings that represent MethodElement signatures from most general to most specific."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="getMethodExtended" eType="#//Method">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Get the method of this name and these parameters. It will look up the supertype hierarchy."/>
-      </eAnnotations>
-      <eParameters name="methodName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      <eParameters name="parameterTypes" eType="#//JTypeList">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="List of parameter types."/>
-        </eAnnotations>
-      </eParameters>
-    </eOperations>
-    <eOperations name="getMethodsExtended" eType="#//JTypeList">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Return all methods, including those from supertypes."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="getOnlySpecificMethods" eType="#//JTypeList">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Return a List of Methods that begins with @aMethodNamePrefix and is not included in the @excludedNames list. If @aMethodNamePrefix is null, all methods will be returned.&#xD;&#xA;"/>
-      </eAnnotations>
-      <eParameters name="aMethodNamePrefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      <eParameters name="excludedNames" eType="#//JTypeList"/>
-    </eOperations>
-    <eOperations name="getPublicMethod" eType="#//Method">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Return a method matching the name, and non-return parameters with fully qualified types matching all the types in the list, if it exists.  It will not look up the supertype hierarchy."/>
-      </eAnnotations>
-      <eParameters name="methodName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      <eParameters name="parameterTypes" eType="#//JTypeList">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="List of parameter types."/>
-        </eAnnotations>
-      </eParameters>
-    </eOperations>
-    <eOperations name="getPublicMethods" eType="#//JTypeList">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Return all methods, it will not go up the supertype hierarchy."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="getPublicMethodsExtended" eType="#//JTypeList">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Return all public methods, including those from supertypes."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="getPublicMethodsNamed" eType="#//JTypeList">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Returns a filtered list on the methods of this class, having a name equal to that of the parameter."/>
-      </eAnnotations>
-      <eParameters name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    </eOperations>
-    <eOperations name="getSupertype" eType="#//JavaClass"/>
-    <eOperations name="implementsInterface" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Test whether the receiver implements the passed interface (or one of its supertypes)."/>
-      </eAnnotations>
-      <eParameters name="interfaceType" eType="#//JavaClass"/>
-    </eOperations>
-    <eOperations name="infoString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Return a string showing our details."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="inheritsFrom" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Tests whether this class inherits from the passed in class."/>
-      </eAnnotations>
-      <eParameters name="javaClass" eType="#//JavaClass"/>
-    </eOperations>
-    <eOperations name="isExistingType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Does this type exist."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="isInterface" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Is this an interface."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="setSupertype">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Set the supertype."/>
-      </eAnnotations>
-      <eParameters name="javaclass" eType="#//JavaClass"/>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//TypeKind"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="public" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="final" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="implementsInterfaces" upperBound="-1"
-        eType="#//JavaClass"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="classImport" upperBound="-1"
-        eType="#//JavaClass"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="packageImports" upperBound="-1"
-        eType="#//JavaPackage"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="fields" upperBound="-1"
-        eType="#//Field" containment="true" eOpposite="#//Field/javaClass"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="methods" upperBound="-1"
-        eType="#//Method" containment="true" eOpposite="#//Method/javaClass"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="initializers" upperBound="-1"
-        eType="#//Initializer" containment="true" eOpposite="#//Initializer/javaClass"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="declaredClasses" upperBound="-1"
-        eType="#//JavaClass" eOpposite="#//JavaClass/declaringClass"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="declaringClass" eType="#//JavaClass"
-        eOpposite="#//JavaClass/declaredClasses"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="javaPackage" eType="#//JavaPackage"
-        changeable="false" volatile="true" transient="true" eOpposite="#//JavaPackage/javaClasses"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1"
-        eType="#//JavaEvent" containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="allEvents" upperBound="-1"
-        eType="#//JavaEvent" volatile="true" transient="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Initializer">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStatic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="javaClass" eType="#//JavaClass"
-        transient="true" eOpposite="#//JavaClass/initializers"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//Block"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="JavaParameter" eSuperTypes="../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//EParameter">
-    <eOperations name="isArray" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Is this parameter type an array type."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="isReturn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Is this a return parameter."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="getJavaType" eType="#//JTypeJavaHelpers"/>
-    <eOperations name="getQualifiedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="final" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="parameterKind" eType="#//JavaParameterKind"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Method" eSuperTypes="../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//EOperation">
-    <eOperations name="getContainingJavaClass" eType="#//JavaClass">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Return the java class that this method is defined in."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="getMethodElementSignature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Return a String with the the method name and its parameters. e.g. &lt;code> setFirstName(java.lang.String) &lt;/code> .&#xD;&#xA; "/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="getParameter" eType="#//JavaParameter">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Return a Parameter with the passed name, or null."/>
-      </eAnnotations>
-      <eParameters name="parameterName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    </eOperations>
-    <eOperations name="getReturnType" eType="#//JTypeJavaHelpers">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Get the return type."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="setReturnType">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Set the return type"/>
-      </eAnnotations>
-      <eParameters name="type" eType="#//JTypeJavaHelpers"/>
-    </eOperations>
-    <eOperations name="getSignature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Replicate the functionality of java.lang.reflect.Method.toString().&#xD;&#xA;&#xD;&#xA;Returns a string describing this Method.  The string is formatted as the method access modifiers, if any, followed by the method return type, followed by a space, followed by the class declaring the method, followed by a period, followed by the method name, followed by a parenthesized, comma-separated list of the method's formal parameter types. If the method throws checked exceptions, the parameter list is followed by a space, followed by the word throws followed by a comma-separated list of the thrown exception types.&#xD;&#xA;&#xD;&#xA;For example:&#xD;&#xA;&#xD;&#xA;    public boolean java.lang.Object.equals(java.lang.Object)&#xD;&#xA;&#xD;&#xA;The access modifiers are placed in canonical order as specified by &quot;The Java Language Specification&quot;.  This is public, &lt;tt>protected&lt;/tt> or &lt;tt>private&lt;/tt> first, and then other modifiers in the following order: &lt;tt>abstract&lt;/tt>, &lt;tt>static&lt;/tt>, &lt;tt>final&lt;/tt>, &lt;tt>synchronized&lt;/tt> &lt;tt>native&lt;/tt>.&#xD;&#xA;"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="isGenerated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Returns true if the method is system generated.&#xD;&#xA;This is usually determined by the @generated tag in the comment."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="setIsGenerated">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Set the isGenerated flag."/>
-      </eAnnotations>
-      <eParameters name="generated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    </eOperations>
-    <eOperations name="isVoid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Is this a void return type method."/>
-      </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="native" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="synchronized" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="final" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="constructor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="static" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="javaVisibility" eType="#//JavaVisibilityKind"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
-        eType="#//JavaParameter" containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="javaExceptions" upperBound="-1"
-        eType="#//JavaClass"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="javaClass" eType="#//JavaClass"
-        transient="true" eOpposite="#//JavaClass/methods"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//Block"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Field" eSuperTypes="../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//ETypedElement">
-    <eOperations name="getContainingJavaClass" eType="#//JavaClass">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Get the class that this field is within."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="isArray" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Is this field an array type."/>
-      </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="final" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="static" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="javaVisibility" eType="#//JavaVisibilityKind"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="transient" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="volatile" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="javaClass" eType="#//JavaClass"
-        transient="true" eOpposite="#//JavaClass/fields"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="initializer" eType="#//Block"
-        containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="TypeKind">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="UNDEFINED=1 CLASS=2 INTERFACE=3 EXCEPTION=4"/>
-    </eAnnotations>
-    <eLiterals name="UNDEFINED"/>
-    <eLiterals name="CLASS" value="1"/>
-    <eLiterals name="INTERFACE" value="2"/>
-    <eLiterals name="EXCEPTION" value="3"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Block">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="source" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
-        eType="#//Block" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Comment" eSuperTypes="#//Block"/>
-  <eClassifiers xsi:type="ecore:EClass" name="Statement" eSuperTypes="#//Block"/>
-  <eClassifiers xsi:type="ecore:EClass" name="JavaPackage" eSuperTypes="../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//EPackage">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="javaClasses" upperBound="-1"
-        eType="#//JavaClass" changeable="false" volatile="true" transient="true" eOpposite="#//JavaClass/javaPackage"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="JavaVisibilityKind">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="PACKAGE=1&#xD;&#xA;PUBLIC=2&#xD;&#xA;PRIVATE=3&#xD;&#xA;PROTECTED=4"/>
-    </eAnnotations>
-    <eLiterals name="PUBLIC"/>
-    <eLiterals name="PRIVATE" value="1"/>
-    <eLiterals name="PROTECTED" value="2"/>
-    <eLiterals name="PACKAGE" value="3"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="JavaParameterKind">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="IN=0&#xD;&#xA;OUT=1&#xD;&#xA;INOUT=2&#xD;&#xA;RETURN=3"/>
-    </eAnnotations>
-    <eLiterals name="IN"/>
-    <eLiterals name="OUT" value="1"/>
-    <eLiterals name="INOUT" value="2"/>
-    <eLiterals name="RETURN" value="3"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="JavaDataType" eSuperTypes="../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//EClass">
-    <eOperations name="getDefaultValueString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Return the default string representing the default value of the primitive."/>
-      </eAnnotations>
-    </eOperations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ArrayType" eSuperTypes="#//JavaClass">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Describes a Java Array type&#xD;&#xA;   For multi-dimensional arrays, it is unlikely that the component type will be&#xD;&#xA;   specified directly.  This would require instantiating a chain of component types&#xD;&#xA;   such as String[][][][]->String[][][]->String[][]->String[]->String.&#xD;&#xA;&#xD;&#xA;  The component type relationship will be computed if the finalComponentType&#xD;&#xA;  and array dimensions is specified.&#xD;&#xA; &#xD;&#xA;  For this reason, the preferred way to create is through the JavaRefFactory factory method:&#xD;&#xA;       createArrayType(JavaClass finalComponentType, int dimensions)"/>
-    </eAnnotations>
-    <eOperations name="getFinalComponentType" eType="#//JTypeJavaHelpers">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Get the final component type for this Array Type.&#xD;&#xA;&#xD;&#xA;In order to ensure a unique instance, we will resolve this type using reflection. It turns out to be most efficient to just do this by trimming the name."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="getComponentTypeAsHelper" eType="#//JTypeJavaHelpers">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Get the component type of this array. &#xD;&#xA;&#xD;&#xA;If this is a multi-dimensional array, the component type will be the nested array type."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="isPrimitiveArray" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Is this an array of java primitives"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="setComponentType">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Set the component type."/>
-      </eAnnotations>
-      <eParameters name="helperComponentType" eType="#//JTypeJavaHelpers"/>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="arrayDimensions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="componentType" lowerBound="1"
-        eType="ecore:EClass ../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//EClassifier"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EDataType" name="JTypeJavaHelpers" instanceClassName="org.eclipse.jem.java.JavaHelpers">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="This interface is a common interface between JavaClass and JavaDataType plus some common helper methods."/>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EDataType" name="JTypeList" instanceClassName="java.util.List">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="java.util.List type"/>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="JavaEvent" abstract="true" eSuperTypes="../../org.eclipse.emf.ecore/src/model/Ecore.ecore#//EStructuralFeature"/>
-</ecore:EPackage>
diff --git a/plugins/org.eclipse.jem/model/javaModel.genmodel b/plugins/org.eclipse.jem/model/javaModel.genmodel
deleted file mode 100644
index f939887..0000000
--- a/plugins/org.eclipse.jem/model/javaModel.genmodel
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<genmodel:GenModel xmi:version="2.0"
-  xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
-  xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.jem/mofjava"
-    editDirectory="/org.eclipse.jem.edit/src" editorDirectory="/org.eclipse.jem.editor/src"
-    modelPluginID="" modelName="Java" modelPluginClass="" editPluginClass="java.provider.JavaEditPlugin"
-    editorPluginClass="java.presentation.JavaEditorPlugin" updateClasspath="false"
-    usedGenPackages="../../org.eclipse.emf.ecore/src/model/Ecore.genmodel#//ecore">
-  <foreignModel>..\rose\javaModel.mdl</foreignModel>
-  <foreignModel>WorkspaceRoot</foreignModel>
-  <foreignModel>../..</foreignModel>
-  <genPackages prefix="JavaRef" basePackage="org.eclipse.jem" ecorePackage="java.ecore#/">
-    <genEnums ecoreEnum="java.ecore#//TypeKind">
-      <genEnumLiterals ecoreEnumLiteral="java.ecore#//TypeKind/UNDEFINED"/>
-      <genEnumLiterals ecoreEnumLiteral="java.ecore#//TypeKind/CLASS"/>
-      <genEnumLiterals ecoreEnumLiteral="java.ecore#//TypeKind/INTERFACE"/>
-      <genEnumLiterals ecoreEnumLiteral="java.ecore#//TypeKind/EXCEPTION"/>
-    </genEnums>
-    <genEnums ecoreEnum="java.ecore#//JavaVisibilityKind">
-      <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaVisibilityKind/PUBLIC"/>
-      <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaVisibilityKind/PRIVATE"/>
-      <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaVisibilityKind/PROTECTED"/>
-      <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaVisibilityKind/PACKAGE"/>
-    </genEnums>
-    <genEnums ecoreEnum="java.ecore#//JavaParameterKind">
-      <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaParameterKind/IN"/>
-      <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaParameterKind/OUT"/>
-      <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaParameterKind/INOUT"/>
-      <genEnumLiterals ecoreEnumLiteral="java.ecore#//JavaParameterKind/RETURN"/>
-    </genEnums>
-    <genDataTypes ecoreDataType="java.ecore#//JTypeJavaHelpers"/>
-    <genDataTypes ecoreDataType="java.ecore#//JTypeList"/>
-    <genClasses ecoreClass="java.ecore#//JavaClass">
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//JavaClass/kind"/>
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//JavaClass/public"/>
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//JavaClass/final"/>
-      <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//JavaClass/implementsInterfaces"/>
-      <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//JavaClass/classImport"/>
-      <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//JavaClass/packageImports"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference java.ecore#//JavaClass/fields"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference java.ecore#//JavaClass/methods"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference java.ecore#//JavaClass/initializers"/>
-      <genFeatures property="None" ecoreFeature="ecore:EReference java.ecore#//JavaClass/declaredClasses"/>
-      <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//JavaClass/declaringClass"/>
-      <genFeatures property="Readonly" ecoreFeature="ecore:EReference java.ecore#//JavaClass/javaPackage"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference java.ecore#//JavaClass/events"/>
-      <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//JavaClass/allEvents"/>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/isNested"/>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/getField">
-        <genParameters ecoreParameter="java.ecore#//JavaClass/getField/fieldName"/>
-      </genOperations>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/getFieldExtended">
-        <genParameters ecoreParameter="java.ecore#//JavaClass/getFieldExtended/fieldName"/>
-      </genOperations>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/getFieldNamed">
-        <genParameters ecoreParameter="java.ecore#//JavaClass/getFieldNamed/fieldName"/>
-      </genOperations>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/getFieldsExtended"/>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/getMethod">
-        <genParameters ecoreParameter="java.ecore#//JavaClass/getMethod/methodName"/>
-        <genParameters ecoreParameter="java.ecore#//JavaClass/getMethod/parameterTypes"/>
-      </genOperations>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/getMethodElementSignatures"/>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/getMethodExtended">
-        <genParameters ecoreParameter="java.ecore#//JavaClass/getMethodExtended/methodName"/>
-        <genParameters ecoreParameter="java.ecore#//JavaClass/getMethodExtended/parameterTypes"/>
-      </genOperations>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/getMethodsExtended"/>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/getOnlySpecificMethods">
-        <genParameters ecoreParameter="java.ecore#//JavaClass/getOnlySpecificMethods/aMethodNamePrefix"/>
-        <genParameters ecoreParameter="java.ecore#//JavaClass/getOnlySpecificMethods/excludedNames"/>
-      </genOperations>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/getPublicMethod">
-        <genParameters ecoreParameter="java.ecore#//JavaClass/getPublicMethod/methodName"/>
-        <genParameters ecoreParameter="java.ecore#//JavaClass/getPublicMethod/parameterTypes"/>
-      </genOperations>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/getPublicMethods"/>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/getPublicMethodsExtended"/>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/getPublicMethodsNamed">
-        <genParameters ecoreParameter="java.ecore#//JavaClass/getPublicMethodsNamed/name"/>
-      </genOperations>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/getSupertype"/>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/implementsInterface">
-        <genParameters ecoreParameter="java.ecore#//JavaClass/implementsInterface/interfaceType"/>
-      </genOperations>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/infoString"/>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/inheritsFrom">
-        <genParameters ecoreParameter="java.ecore#//JavaClass/inheritsFrom/javaClass"/>
-      </genOperations>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/isExistingType"/>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/isInterface"/>
-      <genOperations ecoreOperation="java.ecore#//JavaClass/setSupertype">
-        <genParameters ecoreParameter="java.ecore#//JavaClass/setSupertype/javaclass"/>
-      </genOperations>
-    </genClasses>
-    <genClasses ecoreClass="java.ecore#//Initializer">
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Initializer/isStatic"/>
-      <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//Initializer/javaClass"/>
-      <genFeatures property="Readonly" ecoreFeature="ecore:EReference java.ecore#//Initializer/source"/>
-    </genClasses>
-    <genClasses ecoreClass="java.ecore#//JavaParameter">
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//JavaParameter/final"/>
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//JavaParameter/parameterKind"/>
-      <genOperations ecoreOperation="java.ecore#//JavaParameter/isArray"/>
-      <genOperations ecoreOperation="java.ecore#//JavaParameter/isReturn"/>
-      <genOperations ecoreOperation="java.ecore#//JavaParameter/getJavaType"/>
-      <genOperations ecoreOperation="java.ecore#//JavaParameter/getQualifiedName"/>
-    </genClasses>
-    <genClasses ecoreClass="java.ecore#//Method">
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Method/abstract"/>
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Method/native"/>
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Method/synchronized"/>
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Method/final"/>
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Method/constructor"/>
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Method/static"/>
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Method/javaVisibility"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference java.ecore#//Method/parameters"/>
-      <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//Method/javaExceptions"/>
-      <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//Method/javaClass"/>
-      <genFeatures property="Readonly" ecoreFeature="ecore:EReference java.ecore#//Method/source"/>
-      <genOperations ecoreOperation="java.ecore#//Method/getContainingJavaClass"/>
-      <genOperations ecoreOperation="java.ecore#//Method/getMethodElementSignature"/>
-      <genOperations ecoreOperation="java.ecore#//Method/getParameter">
-        <genParameters ecoreParameter="java.ecore#//Method/getParameter/parameterName"/>
-      </genOperations>
-      <genOperations ecoreOperation="java.ecore#//Method/getReturnType"/>
-      <genOperations ecoreOperation="java.ecore#//Method/setReturnType">
-        <genParameters ecoreParameter="java.ecore#//Method/setReturnType/type"/>
-      </genOperations>
-      <genOperations ecoreOperation="java.ecore#//Method/getSignature"/>
-      <genOperations ecoreOperation="java.ecore#//Method/isGenerated"/>
-      <genOperations ecoreOperation="java.ecore#//Method/setIsGenerated">
-        <genParameters ecoreParameter="java.ecore#//Method/setIsGenerated/generated"/>
-      </genOperations>
-      <genOperations ecoreOperation="java.ecore#//Method/isVoid"/>
-    </genClasses>
-    <genClasses ecoreClass="java.ecore#//Field">
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Field/final"/>
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Field/static"/>
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Field/javaVisibility"/>
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Field/transient"/>
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Field/volatile"/>
-      <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//Field/javaClass"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference java.ecore#//Field/initializer"/>
-      <genOperations ecoreOperation="java.ecore#//Field/getContainingJavaClass"/>
-      <genOperations ecoreOperation="java.ecore#//Field/isArray"/>
-    </genClasses>
-    <genClasses ecoreClass="java.ecore#//Block">
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Block/source"/>
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//Block/name"/>
-      <genFeatures property="None" children="true" ecoreFeature="ecore:EReference java.ecore#//Block/contents"/>
-    </genClasses>
-    <genClasses ecoreClass="java.ecore#//Comment"/>
-    <genClasses ecoreClass="java.ecore#//Statement"/>
-    <genClasses ecoreClass="java.ecore#//JavaPackage">
-      <genFeatures property="None" notify="false" ecoreFeature="ecore:EReference java.ecore#//JavaPackage/javaClasses"/>
-    </genClasses>
-    <genClasses ecoreClass="java.ecore#//JavaDataType">
-      <genOperations ecoreOperation="java.ecore#//JavaDataType/getDefaultValueString"/>
-    </genClasses>
-    <genClasses ecoreClass="java.ecore#//ArrayType">
-      <genFeatures ecoreFeature="ecore:EAttribute java.ecore#//ArrayType/arrayDimensions"/>
-      <genFeatures property="Readonly" ecoreFeature="ecore:EReference java.ecore#//ArrayType/componentType"/>
-      <genOperations ecoreOperation="java.ecore#//ArrayType/getFinalComponentType"/>
-      <genOperations ecoreOperation="java.ecore#//ArrayType/getComponentTypeAsHelper"/>
-      <genOperations ecoreOperation="java.ecore#//ArrayType/isPrimitiveArray"/>
-      <genOperations ecoreOperation="java.ecore#//ArrayType/setComponentType">
-        <genParameters ecoreParameter="java.ecore#//ArrayType/setComponentType/helperComponentType"/>
-      </genOperations>
-    </genClasses>
-    <genClasses ecoreClass="java.ecore#//JavaEvent"/>
-  </genPackages>
-</genmodel:GenModel>
diff --git a/plugins/org.eclipse.jem/mofjava/javaadapters.properties b/plugins/org.eclipse.jem/mofjava/javaadapters.properties
deleted file mode 100644
index a2bfd5f..0000000
--- a/plugins/org.eclipse.jem/mofjava/javaadapters.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem/mofjava/javaadapters.properties,v $
-# $Revision: 1.1 $  $Date: 2003/10/27 17:12:30 $
-#
-
-Failed_reflecting_values_ERROR_=IWAE0001E Failed reflecting values.
-Could_Not_Reflect_Methods_ERROR_=IWAE0002E Could not reflect methods for {0} because one of the methods references a type that could not be loaded.  Exception: {1}
-Could_Not_Reflect_Constructors_ERROR_=IWAE0003E Could not reflect constructors for {0} because one of the methods references a type that could not be loaded.  Exception: {1}
-Could_Not_Reflect_Fields_ERROR_=IWAE0004E Could not reflect fields for {0} because one of the fields is a type that could not be loaded. Exception: {1}
-Error_Looking_Up_Type_ERROR_=IWAE0005E Error looking up type {0}.  Exception: {1}
-Error_Introspecting_Flags_ERROR_=IWAE0006E Error introspecting flags on {0}.  Exception: {1}
-Error_Setting_GenFlag_ERROR_=IWAE0007E Error setting the generated flag on {0}.  Exception: {1}
-Java_Inh_Cycle_ERROR_=IWAE0008E Detected an inheritance cycle when {0} trys to extend {1}.
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/core/JEMPlugin.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/core/JEMPlugin.java
deleted file mode 100644
index 48a219a..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/core/JEMPlugin.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.eclipse.jem.internal.core;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JEMPlugin.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/24 19:33:42 $ 
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Plugin;
-
-import com.ibm.wtp.common.logger.proxy.Logger;
-import com.ibm.wtp.logger.proxyrender.EclipseLogger;
-
-/**
- * org.eclipse.jem plugin
- */
-public class JEMPlugin extends Plugin {
-
-	private static JEMPlugin PLUGIN;
-	private Logger logger;
-	
-	public JEMPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		PLUGIN = this;
-	}
-	
-	public static JEMPlugin getPlugin() {
-		return PLUGIN;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#startup()
-	 */
-	public void startup() throws CoreException {
-		super.startup();
-		logger = EclipseLogger.getEclipseLogger(this);
-	}
-	
-	public Logger getLogger() {
-		return logger;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaClassAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaClassAdaptor.java
deleted file mode 100644
index 23f6985..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaClassAdaptor.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.jem.internal.java.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IJavaClassAdaptor.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:12:30 $ 
- */
-/**
- * Insert the type's description here.
- * Creation date: (8/27/2001 1:17:46 PM)
- * @author: Administrator
- */
-public interface IJavaClassAdaptor {
-/**
- * Return true if the sourceType is null or if
- * it is a binary type.
- */
-boolean isSourceTypeFromBinary() ;
-/**
- * Return true if the sourceType can be found.
- */
-boolean sourceTypeExists() ;
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaReflectionKeyExtension.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaReflectionKeyExtension.java
deleted file mode 100644
index 4fca1fb..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/IJavaReflectionKeyExtension.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.jem.internal.java.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IJavaReflectionKeyExtension.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:12:30 $ 
- */
-/**
- * Interface for JavaReflectionKeyExtensions.
- * They are registered with the JavaXMIFactoryImpl.
- * 
- * @version 	1.0
- * @author R. L. Kulp
- */
-public interface IJavaReflectionKeyExtension {
-
-	/**
-	 * Return object for the given id. Return null if this extension doesn't
-	 * process this type of id.
-	 */
-	public Object getObject(String id, JavaReflectionKey reflectionKey);
-	
-}
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/InternalReadAdaptable.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/InternalReadAdaptable.java
deleted file mode 100644
index 73eedad..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/InternalReadAdaptable.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.jem.internal.java.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: InternalReadAdaptable.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:12:30 $ 
- */
-
-public interface InternalReadAdaptable extends org.eclipse.emf.common.notify.Notifier {
-/**
- * Implementers of this interface need to contain the following method
- * implementations:
- * public Object primRefValue(EObject a) {
- *	return super.getValue(a);
- * }
- * public Object getValue(EObject a) {
- *	return ReflectionAdaptor.getValue(this, a);
- * }
- */
-//public Object primRefValue(EObject a);
-void setReflected(boolean aBoolean);
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionAdapterFactory.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionAdapterFactory.java
deleted file mode 100644
index 21cce55..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionAdapterFactory.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package org.eclipse.jem.internal.java.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaReflectionAdapterFactory.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.jem.java.JavaRefPackage;
-public abstract class JavaReflectionAdapterFactory extends AdapterFactoryImpl {
-	// Maintain a mapping of the source objects to the adaptors which have
-	// relfected from them.  This allows a flush operation to force those
-	// adapters to re-reflect.
-	protected HashMap reflected = new HashMap();
-	protected static final String TYPE_NAME = ReadAdaptor.TYPE_KEY;
-	protected boolean isBusyIteratingReflected = false;
-	protected Map registerQueue;
-	protected List unregisterQueue;
-/**
- * JavaReflectionAdapterFactory constructor comment.
- */
-public JavaReflectionAdapterFactory() {
-	super();
-}
-public Adapter createAdapter(Notifier target) {
-	ReflectionAdaptor adapter = null;
-	EObject object = (EObject) target;
-	JavaRefPackage pack = getJavaRefPackage();
-	if (object.eClass() == pack.getJavaClass())
-		adapter = createJavaClassAdaptor(target);
-	else
-		if (object.eClass() == pack.getArrayType())
-			adapter = createArrayTypeAdaptor(target);
-		else
-			if (object.eClass() == pack.getMethod())
-				adapter = createJavaMethodAdaptor(target);
-			else
-				if (object.eClass() == pack.getField())
-					adapter = createJavaFieldAdaptor(target);
-	return adapter;
-}
-protected ReflectionAdaptor createArrayTypeAdaptor(Notifier target) {
-	// temporary implementation, placeholder to later optimize
-	// Array reflection.  For now, do class reflection.
-	return createJavaClassAdaptor(target);
-}
-protected abstract ReflectionAdaptor createJavaClassAdaptor(Notifier target) ;
-protected abstract ReflectionAdaptor createJavaFieldAdaptor(Notifier target) ;
-protected abstract ReflectionAdaptor createJavaMethodAdaptor(Notifier target) ;
-// Flush the adapter for a source object
-public Notification disAssociateSource(String source) {
-	return disAssociateSource(source, true);
-}
-
-public Notification disAssociateSource(String source, boolean doNotify) {
-	JavaReflectionAdaptor a = (JavaReflectionAdaptor) reflected.get(source);
-	Notification notification = null;
-	if (a != null) {
-		if (doNotify)
-			a.releaseSourceType();
-		else
-			notification = a.releaseSourceTypeNoNotification();
-	}
-	return notification;
-}
-public void flushAll() {}
-// Flush the adapter for a source object
-public void flushReflection(String source) {}
-protected JavaRefPackage getJavaRefPackage() {
-	return (JavaRefPackage) EPackage.Registry.INSTANCE.getEPackage(JavaRefPackage.eNS_URI);
-}
-public void registerReflection(String source, ReflectionAdaptor adapter) {
-	if (isBusyIteratingReflected) {
-		if (registerQueue == null)
-			registerQueue = new HashMap();
-		registerQueue.put(source, adapter);
-	} else
-		reflected.put(source, adapter);
-}
-public void unregisterReflection(String source) {
-	if (isBusyIteratingReflected) {
-		if (unregisterQueue == null)
-			unregisterQueue = new ArrayList();
-		unregisterQueue.add(source);
-	} else
-		reflected.remove(source);
-}
-public void disAssociateSourcePlusInner(String source) {
-	disAssociateSourcePlusInner(source, true);
-}
-
-public Notification disAssociateSourcePlusInner(String source, boolean doNotify) {
-	isBusyIteratingReflected = true;
-	Notification notification = null;
-	try {
-		String innerName = source + '$';
-		Iterator it = reflected.entrySet().iterator();
-		Map.Entry entry;
-		String key;
-		JavaReflectionAdaptor adaptor;
-		while (it.hasNext()) {
-			entry = (Map.Entry) it.next();
-			key = (String) entry.getKey();
-			if (key.equals(source) || key.startsWith(innerName)) {
-				adaptor = (JavaReflectionAdaptor) reflected.get(key);
-				if (adaptor != null) {
-					if (doNotify)
-						adaptor.releaseSourceType();
-					else
-						notification = adaptor.releaseSourceTypeNoNotification();
-				}
-			}
-		}
-	} finally {
-		finishedIteratingReflected();
-	}
-	return notification;
-}
-
-protected void finishedIteratingReflected() {
-	isBusyIteratingReflected = false;
-	if (unregisterQueue != null && !unregisterQueue.isEmpty()) {
-		for (int i = 0; i < unregisterQueue.size(); i++) {
-			reflected.remove(unregisterQueue.get(i));
-		}
-		unregisterQueue.clear();
-	}
-	if (registerQueue != null && !registerQueue.isEmpty()) {
-		Iterator it = registerQueue.entrySet().iterator();
-		Map.Entry entry;
-		while (it.hasNext()) {
-			entry = (Map.Entry) it.next();
-			reflected.put(entry.getKey(), entry.getValue());
-		}
-		registerQueue.clear();
-	}
-}
-}
-
-
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionAdaptor.java
deleted file mode 100644
index 4afb597..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionAdaptor.java
+++ /dev/null
@@ -1,260 +0,0 @@
-package org.eclipse.jem.internal.java.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaReflectionAdaptor.java,v $
- *  $Revision: 1.4 $  $Date: 2004/02/24 19:33:42 $ 
- */
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import com.ibm.wtp.common.logger.proxy.Logger;
-
-import org.eclipse.jem.java.*;
-	
-/**
- * 
- */
-public abstract class JavaReflectionAdaptor extends ReflectionAdaptor {
-	private static final String C_METHOD_DEFAULT_CTOR = String.valueOf(C_METHOD_PARM_DELIMITER) + S_CONSTRUCTOR_TOKEN;
-	protected static final String LEFT_BRACKET = "[";//$NON-NLS-1$
-	public static final EAttribute FLUSH_REFLECTION_SF = EcorePackage.eINSTANCE.getEcoreFactory().createEAttribute();
-	public static final EAttribute FLUSH_NEW_REFLECTION_SF = EcorePackage.eINSTANCE.getEcoreFactory().createEAttribute();
-
-	static {
-		FLUSH_REFLECTION_SF.setName("flushReflectedValues");    //$NON-NLS-1$
-		FLUSH_NEW_REFLECTION_SF.setName("flushNewReflectedValues"); //$NON-NLS-1$
-	}
-	protected boolean hasFlushed = false;
-	protected boolean isFlushing = false;
-/**
- * JavaReflectionAdapter constructor comment.
- */
-public JavaReflectionAdaptor() {
-	super();
-}
-/**
- * JavaReflectionAdapter constructor comment.
- * @param target org.eclipse.emf.common.notify.Notifier
- */
-public JavaReflectionAdaptor(org.eclipse.emf.common.notify.Notifier target) {
-	super(target);
-}
-/**
- * createBlock - instantiate a Block containing the passed source
- */
-public Block createBlock(String name, String sourceString) {
-	Block newBlock = getJavaFactory().createBlock();
-	newBlock.setName(name + "_" + "block");//$NON-NLS-2$//$NON-NLS-1$
-	newBlock.setSource(sourceString);
-	return newBlock;
-}
-/**
- * setSuper - set our supertype here, implemented interface are handled separately
- */
-public JavaClass createJavaClassRef(String targetName) {
-	JavaClass ref = org.eclipse.jem.java.impl.JavaRefFactoryImpl.getActiveFactory().createJavaClass();
-   JavaURL javaurl = new JavaURL(targetName);
-  ((InternalEObject) ref).eSetProxyURI(URI.createURI(javaurl.getFullString()));
-   return ref;
-}
-/**
- * createJavaParameter - instantiate a Java Parameter based on the passed name and type name (a simple name, NOT A SIGNATURE!!!)
- * The id for a parameter has to be complex in order to be parsable into class, method, and parm.
- * It is created by appending the parm name to the method id, with a known separator.
- * It will look something like "Foo.doSomething(java.lang.Integer-arg0"
- */
-public JavaParameter createJavaParameter(Method parentMethod, String parmName, String parmTypeName) {
-	JavaParameter newParm = getJavaFactory().createJavaParameter();
-	newParm.setName(parmName);
-// ((InternalEObject)newParm).eSetID(parentMethod.eID() + C_METHODID_PARMID_DELIMITER + parmName);
-	String classRefString = parmTypeName;
-	newParm.setEType(createJavaClassRef(classRefString));
-	return newParm;
-}
-/**
- * This method will return a List of dimensions for a typeName.
- * For example "foo[][]" would return a List of Integers
- * 1, 1.  At some point we may want to actually capture the size
- * for Fields but we would need the initializer source to determine that.
- */
-public List getArrayDimensions(String typeName) {
-	List dimensions = new java.util.ArrayList();
-	if (typeName != null) {
-		int begin = 0;
-		int index = -1;
-		while (begin < typeName.length()) {
-			index = typeName.indexOf(LEFT_BRACKET, begin);
-			if (index > -1) {
-				dimensions.add(new Integer(1));
-				begin = index + 1;
-			} else {
-				begin = typeName.length();
-			}
-		}
-	}
-	return dimensions;
-}
-/* Get the Java Factory
- */
-protected static JavaRefFactory getJavaFactory() {
-	return ((org.eclipse.jem.java.JavaRefPackage)EPackage.Registry.INSTANCE.getEPackage(org.eclipse.jem.java.JavaRefPackage.eNS_URI)).getJavaRefFactory();
-}
-public abstract Object getReflectionSource();
-/**
- * getTypeNamesFromMethodUUID - Pull the parm type names out of a method ID
- * 		It will be in the form: "simpleclass.methodName(com.fronk.Parm1_type,parm2type"
- */
-protected static String[] getTypeNamesFromMethodID(String methodID) {
-	if (methodID.charAt(methodID.length()-1) == C_METHOD_PARM_DELIMITER || methodID.endsWith(C_METHOD_DEFAULT_CTOR))
-		return emptyStringArray;
-		
-	// Count the parms first.  The number of parms is the number of occurrences of ',' + 1
-	int numParms = 1;
-	int pos = -1;
-	// Skip the '.' after classname
-	pos = methodID.indexOf(C_CLASS_MEMBER_DELIMITER, ++pos);
-	// Look for the start of the parms
-	int parmPos = methodID.indexOf(C_METHOD_PARM_DELIMITER, ++pos);
-	pos = parmPos;
-	while ((pos = methodID.indexOf(C_PARM_PARM_DELIMITER, ++pos)) != -1)
-		numParms++;
-	String[] parmTypeNames = new String[numParms];
-	// now collect the parm names
-	// skip the method name
-	pos = parmPos;
-	int i = 0, end;
-	do {
-		end = methodID.indexOf(C_PARM_PARM_DELIMITER, pos + 1);
-		// This is the last parameter, we may need to strip a trailing &V for a constructor
-		if (end == -1)
-			end = methodID.indexOf(S_CONSTRUCTOR_TOKEN, pos + 1);
-		// otherwise take the rest of the ID
-		if (end == -1)
-			end = methodID.length();
-		parmTypeNames[i++] = methodID.substring(pos + 1, end);
-	} while ((pos = methodID.indexOf(C_PARM_PARM_DELIMITER, ++pos)) != -1);
-	return parmTypeNames;
-}
-public boolean hasReflectionSource() {
-	return (getReflectionSource() != null);
-}
-
-/**
- * Subclasses should override.
- *
- */
-public void releaseSourceType(){
-}
-
-/**
- * Subclasses should override.
- * @return
- */
-public Notification releaseSourceTypeNoNotification() {
-	return null;
-}
-
-public static void releaseSourceType(JavaClass javaClass) {
-	if (javaClass == null)
-		return;
-
-	JavaReflectionAdaptor existing = (JavaReflectionAdaptor) retrieveAdaptorFrom(javaClass);
-	if (existing != null)
-		existing.releaseSourceType();
-}
-/*
- * This method is called by a Field Adaptor to set the type of aField
- * to be aTypeName.  aTypeName may contain array brackets which need
- * to be detected in order to set the array dimensions on aField.
- */
-protected void setFieldType(Field aField, String aTypeName) {
-	if (aField != null && aTypeName != null) {
-		String classRefString = aTypeName;
-		aField.setEType(createJavaClassRef(classRefString));
-	}
-}
-public final boolean flushReflectedValuesIfNecessary() {
-	return flushReflectedValuesIfNecessary(false);
-}
-public final boolean flushReflectedValuesIfNecessary(boolean clearCachedModelObject) {
-	Notification not = flushReflectedValuesIfNecessaryNoNotification(clearCachedModelObject);
-	if (not != null)
-		getTarget().eNotify(not);
-	return hasFlushed;
-}
-
-public Notification flushReflectedValuesIfNecessaryNoNotification(boolean clearCachedModelObject) {
-	if (!hasFlushed && !isFlushing) {
-		boolean isExisting = hasReflectionSource();
-		try {
-			isFlushing = true;
-			hasReflected = false;
-			hasFlushed = flushReflectedValues(clearCachedModelObject);
-		} catch (Throwable e) {
-			hasFlushed = false;
-			Logger.getLogger().log(e);
-			if (e instanceof RuntimeException)
-				throw (RuntimeException) e;
-			else if (e instanceof Error)
-				throw (Error) e;
-			else
-				throw new RuntimeException(e.getMessage());
-		} finally {
-			isFlushing = false;
-			postFlushReflectedValuesIfNecessary(isExisting);
-		}
-		return createFlushNotification(isExisting);
-	}
-	return null;
-}
-
-/**
- * @param isExisting
- * @return
- */
-protected Notification createFlushNotification(boolean isExisting) {
-	EStructuralFeature feature = isExisting ? FLUSH_REFLECTION_SF : FLUSH_NEW_REFLECTION_SF;
-	return new ENotificationImpl((InternalEObject)getTarget(),Notification.SET, feature, null, null);
-}
-protected void postFlushReflectedValuesIfNecessary(boolean isExisting) {
-}
-/**
- * Subclasses should override to perform the actual clearing of the values.
- */
-protected boolean flushReflectedValues(boolean clearCachedModelObject) {
-	return true;
-}
-/**
- * Return a boolean indicating whether reflection had occurred.
- */
-public boolean reflectValuesIfNecessary() {
-	if (isFlushing)
-		return false;
-	return super.reflectValuesIfNecessary();
-}
-
-/**
- * reflectValues - template method, subclasses override to pump values into target
- */
-public boolean reflectValues() {
-	hasFlushed = false;
-	return true;
-}
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionKey.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionKey.java
deleted file mode 100644
index 58c956d..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaReflectionKey.java
+++ /dev/null
@@ -1,434 +0,0 @@
-package org.eclipse.jem.internal.java.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaReflectionKey.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import java.util.*;
-
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-
-import org.eclipse.jem.java.*;
-
-/**
- * This key handles Java Reflection. It creates the appropriate type of entries if
- * they are not already in the resource. There is an extension mechanism for other
- * types of ids that are not recognized by this key. They are registered with the
- * JavaXMIFactory that is used to create these keys, and the factory will pass in
- * a List of these registered extension processers (IJavaReflectionKeyExtension).
- * 
- * Creation date: (10/4/2000 8:24:36 AM)
- * @author: Administrator
- */
-public class JavaReflectionKey {
-	/* Constants for the primitive type names
-	 * These are the values which are used to refer to a primitive type,
-	 * i.e. new JavaURL("int")  or new URL("java://#int")
-	 * These types are cached by pre-loading documents for the primitives,
-	 * in "java://", and for the java.lang (Object and String) classes
-	 */
-	static final public String N_VOID = "void";	 //$NON-NLS-1$
-	static final public String N_INT = "int";//$NON-NLS-1$
-	static final public String N_BOOLEAN = "boolean";//$NON-NLS-1$
-	static final public String N_CHAR = "char";//$NON-NLS-1$
-	static final public String N_BYTE = "byte";//$NON-NLS-1$
-	static final public String N_LONG = "long";//$NON-NLS-1$
-	static final public String N_FLOAT = "float";//$NON-NLS-1$
-	static final public String N_DOUBLE = "double";//$NON-NLS-1$
-	static final public String N_SHORT = "short";//$NON-NLS-1$
-	private static final Collection PRIMITIVES = new ArrayList(8);
-
-	static { initializePrimitivesCollection(); }
-	
-	protected XMIResource resource; //FB
-	protected List extensions;
-//FB /**
-//FB  * JavaReflectionKey constructor comment.
-//FB  */
-//FB public JavaReflectionKey() {
-//FB 	super();
-//FB }
-
-//FB /**
-//FB  * Method JavaReflectionKey.
-//FB  * @param extensions
-//FB  */
-//FB public JavaReflectionKey(List extensions) {
-//FB 	super();
-//FB 	setExtensions(extensions);
-//FB }
-
-//FB /**
-//FB  * Method JavaReflectionKey.
-//FB  * @param extensions
-//FB  * @param extent
-//FB  */
-//FB public JavaReflectionKey(List extensions, Extent extent) {
-//FB 	this(extent);
-//FB 	setExtensions(extensions);
-//FB }
-
-//FB /**
-//FB  * JavaReflectionKey constructor comment.
-//FB  * @param e com.ibm.etools.emf.ref.Extent
-//FB  */
-//FB public JavaReflectionKey(com.ibm.etools.emf.ref.Extent e) {
-//FB 	super(e);
-//FB }
-//FB /**
-//FB  * Set the extensions to use. Typically only called by JavaXMIFactoryImpl.
-//FB  */
-//FB public void setExtensions(List extensions) {
-//FB 	this.extensions = extensions;
-//FB }
-
-//FB ADDED
-public JavaReflectionKey(List extensions, XMIResource resource) {
-  this.extensions = extensions;
-  this.resource = resource;
-}
-//FB END
-
-/* 
- * Create an ArrayType instance in the current document
- * Handles the push and pop of the current document.
- */
-public ArrayType createArrayType() {
-	return getJavaFactory().createArrayType();
-}
-/* 
- * Create a JavaClass instance in the current document
- * Handles the push and pop of the current document.
- */
-public JavaClass createJavaClass() {
-	return getJavaFactory().createJavaClass();
-}
-/**
- * Create a data type and put it in the primitives resource
- */
-protected EClassifier getJavaDataType(String typeName) {
-	JavaDataType result = getJavaFactory().createJavaDataType();
-	result.setName(typeName);
-	// ((InternalEObject)result).eSetID(typeName);
-	//result.eSetUUID((UUID) null);
-	//result.setEPackage(getPackage());
-	getPackage().getEClassifiers().add(result);
-	resource.setID(result, typeName);	
-	return result;
-}
-/* 
- * Create a Field instance in the current document
- * Handles the push and pop of the current document.
- */
-public Field createJavaField() {
-	return getJavaFactory().createField();
-}
-/* 
- * Create a Method instance in the current document
- * Handles the push and pop of the current document.
- */
-public Method createJavaMethod() {
-	return getJavaFactory().createMethod();
-}
-/* 
- * Create a JavaParameter instance in the current document
- */
-public JavaParameter createJavaParameter() {
-	return getJavaFactory().createJavaParameter();
-}
-//FB/**
-//FB * Override to try to introspect objects
-//FB * that aren't found using the default mechanism.
-//FB */
-//FBpublic Object get(Object key) {
-//FB 	Object javaObject = super.get(key);
-//FB 	if (javaObject == null) {
-//FB 		javaObject = getObjectFromExtensions((String) key);
-//FB 		if (javaObject == null)
-//FB 			javaObject = getJavaObject((String) key);
-//FB 	}
-//FB	return javaObject;
-//FB}
-
-//FB ADDED
-public Object get(String key) {
-	Object javaObject = getObjectFromExtensions(key);
-	if (javaObject == null)
-		javaObject = getJavaObject(key);
-	return javaObject;
-}
-//FB END
-
-/*
- * Instantiate the named class.
- * If we make it to this point, the class has not yet been instantiated or reflected.
- */
-public EClassifier getArrayType(String typeName) {
-	ArrayType arrayType = this.createArrayType();
-	arrayType.setName(typeName);
-	// ((InternalEObject)arrayType).eSetID(typeName);
-	//arrayType.eSetUUID((UUID) null);
-	int pos = -1, braces = 0;
-	do {
-		pos = typeName.indexOf("[", pos+1);//$NON-NLS-1$
-		if (pos != -1)
-			braces++;
-	} while (pos != -1);
-	arrayType.setArrayDimensions(braces);
-	//arrayType.setEPackage(getPackage());
-	getPackage().getEClassifiers().add(arrayType);
-	resource.setID(arrayType, typeName);	
-	return arrayType;
-}
-/*
- * Instantiate the named class.
- * If we make it to this point, teh class has not yet been instantiated or reflected.
- */
-public EClassifier getJavaClass(String typeName) {
-	JavaClass javaClass = this.createJavaClass();
-	javaClass.setName(typeName);
-	// ((InternalEObject)javaClass).eSetID(javaClass.getName());
-	//javaClass.eSetUUID((UUID) null);
-	// javaClass.setEPackage(getPackage());
-	getPackage().getEClassifiers().add(javaClass);
-	resource.setID(javaClass, typeName);
-	return javaClass;
-}
-/* Get the Java Factory
- */
-protected static JavaRefFactory getJavaFactory() {
-	return JavaRefFactory.eINSTANCE;
-}
-/**
- * This allows for the direct retrieval of fields with the following notation:
- * field: java:/com.ibm.foo#Test.foo
- * 
- */
-protected Field getJavaField(String keyValue) {
-	Field result = null;
-	String className, memberName;
-	int memberDelimiter = keyValue.indexOf(ReflectionAdaptor.C_CLASS_MEMBER_DELIMITER);
-	className = keyValue.substring(0, memberDelimiter);
-	memberName = keyValue.substring(memberDelimiter + 1);
-	EClassifier javaClass = (EClassifier) primGet(className);
-	// if we haven't already instantiated the containing class, then go do it.
-	if (javaClass == null)
-		javaClass = getJavaType(className);
-	if ((javaClass != null) && !((JavaHelpers) javaClass).isPrimitive()) {
-		// We have a class. Now we need to force reflection, this will cause
-		// the JavaReflectionKey to be updated and have the member added to the
-		// list.
-		((JavaClass) javaClass).getFields();
-		//FB result = (Field) super.get(keyValue); // It should now be registered.
-		result = (Field) primGet(keyValue); // It should now be registered.
-		
-		if (result == null) {
-			Field tempField = createJavaField();
-			tempField.setName(memberName);
-			// ((InternalEObject)tempField).eSetID(keyValue);
-			//tempField.eSetUUID((UUID) null);
-			((JavaClass) javaClass).getFields().add(tempField);
-			result = tempField;
-		}
-	}
-	return result;
-}
-/**
- * This allows for the retrieval of methods with the following notation:
- * method: java:/com.ibm.foo#Test.foofoo(
- * 
- */
-protected Method getJavaMethod(String keyValue) {
-	Method result = null;
-	String className, memberName;
-	int memberDelimiter = keyValue.indexOf(ReflectionAdaptor.C_CLASS_MEMBER_DELIMITER);
-	className = keyValue.substring(0, memberDelimiter);
-	int parmDelimiter = keyValue.indexOf(ReflectionAdaptor.C_METHOD_PARM_DELIMITER, memberDelimiter);
-	memberName = keyValue.substring(memberDelimiter + 1, parmDelimiter);
-	EClassifier javaClass = (EClassifier) primGet(className);
-	// if we haven't already instantiated the containing class, then go do it.
-	if (javaClass == null)
-		javaClass = getJavaType(className);
-	if ((javaClass != null) && !((JavaHelpers) javaClass).isPrimitive()) {
-		// We have a class. Now we need to force reflection, this will cause
-		// the JavaReflectionKey to be updated and have the member added to the
-		// list.
-		((JavaClass) javaClass).getMethods();
-		result = (Method) primGet(keyValue); // It should now be registered.
-		
-		if (result == null) {
-			Method tempMethod = createJavaMethod();
-			tempMethod.setName(memberName);
-			resource.setID(tempMethod, keyValue);
-			((JavaClass) javaClass).getMethods().add(tempMethod);
-			result = tempMethod;
-		}
-	}
-	return result;
-}
-/**
- * This allows for the retrieval of attributes/methods with the following notation:
- * field: java:/com.ibm.foo#Test.foo
- * method: java:/com.ibm.foo#Test.foofoo(
- * parameter: java:/com.ibm.foo#Test.foofoo(-arg0
- * 
- */
-public EObject getJavaObject(String keyValue) {
-	EObject result = null;
-	int index = keyValue.indexOf(ReflectionAdaptor.C_CLASS_MEMBER_DELIMITER);
-	if (index > 0) {
-		// The reference is to a member: field, method, or parameter.
-		// Take the most specific case first, a parameter.
-		// Only a parameter should contain the methodID to parmID delimiter.
-		boolean isParameter = (keyValue.indexOf(ReflectionAdaptor.C_METHODID_PARMID_DELIMITER, index) != -1);
-		if (isParameter) {
-			result = getJavaParameter(keyValue);
-		} else {
-			// The target is a field or method. If it has a "(", then it is a method.
-			// If it is not found, then we will create a temporary object.
-			int parmStart = keyValue.indexOf(ReflectionAdaptor.C_METHOD_PARM_DELIMITER, index);
-			boolean isField = parmStart == -1;
-			if (isField) {
-				result = getJavaField(keyValue);
-			} else {
-				result = getJavaMethod(keyValue);
-			}
-		}
-	} else {
-		result = (EObject) getJavaType(keyValue);
-	}
-	return result;
-}
-
-/**
- * See if the extensions can resolve this first.
- */
-protected Object getObjectFromExtensions(String keyValue) {
-	if (extensions != null) {
-		for (Iterator iter = extensions.iterator(); iter.hasNext();) {
-			IJavaReflectionKeyExtension extension = (IJavaReflectionKeyExtension) iter.next();
-			Object obj = extension.getObject(keyValue, this);
-			if (obj != null)
-				return obj;
-		}
-	}
-
-	return null;
-}
-/**
- * This allows for the retrieval of parameters with the following notation:
- * parameter: java:/com.ibm.foo#Test.foofoo(-arg0
- * 
- */
-protected JavaParameter getJavaParameter(String keyValue) {
-	JavaParameter result = null;
-	String parmName;
-	int memberDelimiter = keyValue.indexOf(ReflectionAdaptor.C_CLASS_MEMBER_DELIMITER);
-	int parmDelimiter = keyValue.indexOf(ReflectionAdaptor.C_METHODID_PARMID_DELIMITER, memberDelimiter);
-	parmName = keyValue.substring(parmDelimiter + 1);
-	// getMethod() will find or create a method
-	Method method = this.getJavaMethod(keyValue.substring(parmDelimiter));
-	if (method != null) {
-		result = method.getParameter(parmName);
-		if (result == null) {
-			JavaParameter tempParameter = createJavaParameter();
-			tempParameter.setName(parmName);
-			// ((InternalEObject)tempParameter).eSetID(keyValue);
-			// tempParameter.eSetUUID((UUID) null);
-			method.getParameters().add(tempParameter);
-			result = tempParameter;
-		}
-	}
-	return result;
-}
-/**
- * Insert the method's description here.
- * Creation date: (10/4/2000 9:52:28 AM)
- * @return org.eclipse.emf.ecore.EClassifier
- * @param typeName java.lang.String
- */
-public EClassifier getJavaType(String typeName) {
-	if (isPrimitive(typeName))
-		return getJavaDataType(typeName);
-	else if (isArray(typeName))
-		return getArrayType(typeName);
-	else if (isValidJavaIdentifier(typeName))
-		return getJavaClass(typeName);
-	return null;
-}
-
-protected boolean isValidJavaIdentifier(String typeName) {
-	if (typeName.length() > 0) {
-		if (Character.isJavaIdentifierStart(typeName.charAt(0))) {
-			// Starts with a valid java identifier character.
-			// Now see if the rest are valid.
-			for (int i = 1; i < typeName.length(); i++) {
-				if (!Character.isJavaIdentifierPart(typeName.charAt(i)))
-					return false; // Not valid
-			}
-			return true;
-		}
-	}
-	return false;
-}
-
-/**
- * Get the object from the key but don't do any 
- * tries at creation of the key if not found.
- * The Key must be an ID for it to be found.
- */
-public Object primGet(String key) {
-	return resource.getIDToEObjectMap().get(key);
-}
-protected EPackage getPackage() {
-	//FB return (EPackage) super.get(JavaPackage.PACKAGE_ID);
-	// return (EPackage) resource.getEObject(JavaPackage.PACKAGE_ID); //FB
-	//return (EPackage) resource.getEObject(JavaPackage.PACKAGE_ID); //FB
-	return (EPackage)EcoreUtil.getObjectByType(resource.getContents(), EcorePackage.eINSTANCE.getEPackage());
-}
-/**
- * Insert the method's description here.
- * Creation date: (10/4/2000 9:56:53 AM)
- */
-private static void initializePrimitivesCollection() {
-	PRIMITIVES.add(N_VOID);
-	PRIMITIVES.add(N_BOOLEAN);
-	PRIMITIVES.add(N_BYTE);
-	PRIMITIVES.add(N_CHAR);
-	PRIMITIVES.add(N_DOUBLE);
-	PRIMITIVES.add(N_FLOAT);
-	PRIMITIVES.add(N_INT);
-	PRIMITIVES.add(N_LONG);
-	PRIMITIVES.add(N_SHORT);
-}
-/**
- * Return true if the passed type represents a Java Array type
- */
-public boolean isArray(String typeName) {
-	return typeName.endsWith("[]");//$NON-NLS-1$
-}
-/**
- * Insert the method's description here.
- * Creation date: (10/4/2000 9:54:23 AM)
- * @return boolean
- * @param typeName java.lang.String
- */
-private boolean isPrimitive(String typeName) {
-	return PRIMITIVES.contains(typeName);
-}
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaXMIFactoryImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaXMIFactoryImpl.java
deleted file mode 100644
index d80f40e..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/JavaXMIFactoryImpl.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package org.eclipse.jem.internal.java.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaXMIFactoryImpl.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import java.io.IOException;
-import java.util.*;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
-import org.eclipse.jem.java.JavaPackage;
-import org.eclipse.jem.java.JavaRefFactory;
-import org.eclipse.jem.java.impl.JavaFactoryImpl;
-
-/**
- * Factory to create the Resource for the Java protocol.
- * 
- * It allows extensions to the reflection key to be registered with it.
- * 
- * Creation date: (10/4/2000 8:22:23 AM)
- * @author: Administrator
- */
-public class JavaXMIFactoryImpl extends XMIResourceFactoryImpl {
-	private static final String SCHEMA_SEPERATOR = ":/"; //$NON-NLS-1$
-	public static final String SCHEME = "java"; //$NON-NLS-1$
-
-	protected List extensions = new ArrayList();
-
-	public static final JavaXMIFactoryImpl INSTANCE = new JavaXMIFactoryImpl();
-
-	/**
-	 * JavaXMIFactoryImpl constructor comment.
-	 */
-	public JavaXMIFactoryImpl() {
-		super();
-	}
-
-	/**
-	 * Register an extension for java reflection key processing.
-	 */
-	public void registerReflectionKeyExtension(IJavaReflectionKeyExtension extension) {
-		extensions.add(extension);
-	}
-
-	/**
-	 * Deregister an extension for java reflection key processing.
-	 */
-	public void deregisterReflectionKeyExtension(IJavaReflectionKeyExtension extension) {
-		extensions.remove(extension);
-	}
-
-	protected void createJavaPackage(String packageName, String xmiuri, Resource resource) {
-		// changed to allow a zero-length package name 
-		// for the special case of "java:/#int", etc.
-		JavaRefFactory jfac = JavaRefFactory.eINSTANCE;
-		JavaPackage pack = jfac.createJavaPackage();
-		// Need to create and add special JavaFactory for instantiation to work.
-		JavaFactoryImpl fact = new JavaFactoryImpl();
-		pack.setEFactoryInstance(fact);
-		if (packageName.length() > 0) {
-			// Standard Java package
-			pack.setNsPrefix(packageName);
-			pack.setName(packageName);
-		} else {
-			// Primitive package
-			pack.setNsPrefix(JavaPackage.PRIMITIVE_PACKAGE_NAME);
-			pack.setName(JavaPackage.PRIMITIVE_PACKAGE_NAME);
-		}
-
-		pack.setNsURI(xmiuri);
-		resource.getContents().add(pack);
-		((XMIResource) pack.eResource()).setID(pack, JavaPackage.PACKAGE_ID);
-	}
-	public static class JavaXMIResource extends XMIResourceImpl {
-		protected JavaReflectionKey reflectionKey;
-
-		public JavaXMIResource(URI uri) {
-			super(uri);
-		}
-
-		public void setReflectionKey(JavaReflectionKey key) {
-			reflectionKey = key;
-		}
-
-		public void load(Map options) throws IOException {
-			try {
-				super.load(options);
-			} catch (Exception exception) {
-			}
-		}
-
-		public EObject getEObject(String uriFragment) {
-			EObject result = super.getEObject(uriFragment);
-			if (result == null && reflectionKey != null) {
-				result = (EObject) reflectionKey.get(uriFragment);
-			}
-			return result;
-		}
-		
-		protected EObject getEObjectByID(String id) {
-			if (idToEObjectMap != null) {
-				EObject eObject = (EObject) idToEObjectMap.get(id);
-				if (eObject != null) {
-					return eObject;
-				}
-			}
-			return null;
-		}		
-
-	}
-
-	public Resource createResource(URI uri) {
-		JavaXMIResource resource = new JavaXMIResource(uri);
-		resource.setReflectionKey(new JavaReflectionKey(extensions, resource));
-
-		String uriString = uri.toString();
-		createJavaPackage(stripScheme(uriString), uriString, resource);
-
-		return resource;
-	}
-
-	public static void register() {
-		Resource.Factory.Registry.INSTANCE.getProtocolToFactoryMap().put(SCHEME, INSTANCE);
-	}
-
-	/**
-	 * Strip the trailing identifier, if any, from the uri.  An identifier
-	 * begins with # or |.
-	 */
-	private String stripScheme(String uri) {
-		int index = uri.indexOf(SCHEMA_SEPERATOR);
-		if (index != -1)
-			return uri.substring(index + SCHEMA_SEPERATOR.length(), uri.length());
-		else
-			return uri;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/ReadAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/ReadAdaptor.java
deleted file mode 100644
index 92fa2fe..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/ReadAdaptor.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jem.internal.java.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ReadAdaptor.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:12:30 $ 
- */
-
-import org.eclipse.emf.ecore.EObject;
-/**
- * Extended Adaptor interface which adds support for an adapter
- * providing default values for attributes.
- * Creation date: (6/6/2000 4:41:19 PM)
- * @author: Scott Rich
- */
-public interface ReadAdaptor extends org.eclipse.emf.common.notify.Adapter {
-	public static final String TYPE_KEY = "JavaReflection";
-	public Object getValueIn(EObject object, EObject attribute);
-	public boolean reflectValuesIfNecessary(); //FB
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/ReflectionAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/ReflectionAdaptor.java
deleted file mode 100644
index 94e8e63..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/ReflectionAdaptor.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package org.eclipse.jem.internal.java.adapters;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ReflectionAdaptor.java,v $
- *  $Revision: 1.3 $  $Date: 2004/02/24 19:33:42 $ 
- */
-import java.util.logging.Level;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import com.ibm.wtp.common.logger.proxy.Logger;
-
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-/**
- * ReflectionAdaptor - a read adaptor base implementation which does a bulk
- * 	load of relflected values on the first request.
- * 	Subclasses can optimize to defer some properties.
- * 	Properties may also be deferred by setting their values with proxy references,
- * 	for example, for supertype and other referenced types.
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public abstract class ReflectionAdaptor extends org.eclipse.emf.common.notify.impl.AdapterImpl implements ReadAdaptor {
-	public static final char C_CLASS_MEMBER_DELIMITER = '.';
-	public static final char C_METHOD_PARM_DELIMITER = '(';
-	public static final char C_METHODID_PARMID_DELIMITER = '-';
-	public static final char C_PARM_PARM_DELIMITER = ',';
-	public static final char PATH_DELIMITER = '/';
-	// SW id contains & in xml file casues exception throw during load
-        // public static final String S_CONSTRUCTOR_TOKEN = "&V";//$NON-NLS-1$
-	public static final String S_CONSTRUCTOR_TOKEN = "_V";//$NON-NLS-1$ // SW
-	// cache a static empty String[] for no parm methods
-	protected static String[] emptyStringArray = new String[0];
-	public static final EAttribute REFLECTION_SF = ((org.eclipse.emf.ecore.EcorePackage)EPackage.Registry.INSTANCE.getEPackage(org.eclipse.emf.ecore.EcorePackage.eNS_URI)).getEcoreFactory().createEAttribute();
-
-	static {REFLECTION_SF.setName("reflectValues");}
-	protected boolean hasReflected = false;
-	protected boolean isReflecting = false;
-public ReflectionAdaptor() {
-	super();
-}
-public ReflectionAdaptor(Notifier target) {
-	super();
-	setTarget(target);
-}
-/**
- * Helper method to ensure full initialization of the target.  Required
- * for serialization.
- */
-public static void forceDeferredReadFor(EObject target) {
-	ReflectionAdaptor adaptor = retrieveAdaptorFrom(target);
-	if (adaptor != null) {
-		adaptor.reflectValuesIfNecessary();
-	}
-}
-protected Resource getTargetResource() {
-	if (getTarget() != null)
-		return ((org.eclipse.emf.ecore.EObject) getTarget()).eResource();
-	return null;
-}
-/**
- * Helper method to fetch the adaptor from the object, and if it exists, get the adapted
- * value for the attribute.  Overloaded for many-sided attributes where the return value would
- * otherwise be an enumeration; in this case will return an Array instead. 
- */
-public static Object getValue(EObject object, EReference attribute) {	
-//FB	ReflectionAdaptor adaptor = retrieveAdaptorFrom(object);
-//FB	if (adaptor != null)
-//FB		return adaptor.getValueIn(object, attribute);
-//FB	return ((IReadAdaptable) object).primRefValue(attribute);
-	return object.eGet((EStructuralFeature)attribute); //FB
-	
-}
-/*Helper method to fetch the adaptor from the object, and if it exists, get the adapted
- *value for the attribute.
- */
-public static Object getValue(EObject object, EObject attribute) {	
-//FB	ReflectionAdaptor adaptor = retrieveAdaptorFrom(object);
-//FB	if (adaptor != null)
-//FB		return adaptor.getValueIn(object, attribute);
-//FB	return ((IReadAdaptable) object).primRefValue(attribute);
-	return object.eGet((EStructuralFeature)attribute); //FB
-}
-/**
- * getValueIn method comment.
- */
-public Object getValueIn(EObject object, EObject attribute) {
-//FB	reflectValuesIfNecessary();
-//FB	return ((IReadAdaptable) object).primRefValue(attribute);
-	return object.eGet((EStructuralFeature)attribute); //FB
-}
-/**
- * isAdaptorForType method comment.
- */
-public boolean isAdapterForType(Object type) {
-	return (type == ReadAdaptor.TYPE_KEY);
-}
-/**
- * reflectValues - template method, subclasses override to pump values into target
- */
-public abstract boolean reflectValues();
-/**
- * Return a boolean indicating whether reflection had occurred.
- */
-public boolean reflectValuesIfNecessary() {
-	if (!hasReflected && !isReflecting) {
-		try {
-			isReflecting = true;
-			hasReflected = reflectValues();
-		} catch (Throwable e) {
-			hasReflected = false;
-			Logger.getLogger().log(ResourceHandler.getString("Failed_reflecting_values_ERROR_"), Level.WARNING); //$NON-NLS-1$ = "Failed reflecting values!!!"
-			Logger.getLogger().log(e);
-		} finally {
-			isReflecting = false;
-			getTarget().eNotify(new ENotificationImpl((InternalEObject)getTarget(), Notification.SET, REFLECTION_SF, null, null, Notification.NO_INDEX));
-		}
-	}
-	return hasReflected;
-}
-public static ReflectionAdaptor retrieveAdaptorFrom(EObject object) {	
-	return (ReflectionAdaptor)EcoreUtil.getRegisteredAdapter(object, ReadAdaptor.TYPE_KEY);
-}
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JDKAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JDKAdaptor.java
deleted file mode 100644
index 5dde389..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JDKAdaptor.java
+++ /dev/null
@@ -1,312 +0,0 @@
-package org.eclipse.jem.internal.java.adapters.jdk;
-/*******************************************************************************
- * Copyright (c) 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JDKAdaptor.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:16:21 $ 
- */
-
-import java.lang.reflect.Array;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor;
-/**
- * Insert the type's description here.
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public abstract class JDKAdaptor extends JavaReflectionAdaptor {
-	public JavaJDKAdapterFactory adapterFactory;
-	public JDKAdaptor(Notifier target, JavaJDKAdapterFactory anAdapterFactory) {
-		super(target);
-		setAdapterFactory(anAdapterFactory);
-	}
-	/**
-	 * computeMethodID - generate the unique ID to be used to identify a constructor.
-	 * Similar to a Signature, but hopefully more readable.
-	 * The name format will be:
-	 * 	simpleClassName.simpleClassName(com.fronk.ParmType1_parmType2&V
-	 * Note: This implementation is tightly coupled with ReflectionAdapter.getTypeNamesFromMethodID().
-	 *
-	 * It has to be done separately for JDK because Constructors and Methods are different classes.
-	 * However, in the Java Model they are both just Methods with a flag indicating Constructor.
-	 */
-	public static String computeMethodID(java.lang.reflect.Constructor jdkConstructor) {
-		StringBuffer out = new StringBuffer();
-		String className = getSimpleName(jdkConstructor.getDeclaringClass().getName());
-		out.append(className);
-		out.append(C_CLASS_MEMBER_DELIMITER);
-		out.append(computeMethodName(jdkConstructor));
-		out.append(C_METHOD_PARM_DELIMITER);
-		Class[] parmTypes = jdkConstructor.getParameterTypes();
-		for (int i = 0; i < parmTypes.length; i++) {
-			out.append(parmTypes[i].getName());
-			if (i < parmTypes.length - 1)
-				out.append(C_PARM_PARM_DELIMITER);
-		}
-		out.append(S_CONSTRUCTOR_TOKEN); //It's a constructor
-		return out.toString();
-	}
-	/**
-	 * computeMethodID - generate the unique ID to be used to identify a method.
-	 * Similar to a Signature, but hopefully more readable.
-	 * If there are no parms, it will end with a "(" so that it can be distictive from a field.
-	 * The name format will be:
-	 * 	simpleClassName.methodName(com.fronk.ParmType1_parmType2
-	 * Note: This implementation is tightly coupled with ReflectionAdapter.getTypeNamesFromMethodID().
-	 */
-	public static String computeMethodID(java.lang.reflect.Method jdkMethod) {
-		StringBuffer out = new StringBuffer();
-		String className = getSimpleName(jdkMethod.getDeclaringClass().getName());
-		out.append(className);
-		out.append(C_CLASS_MEMBER_DELIMITER);
-		out.append(computeMethodName(jdkMethod));
-		out.append(C_METHOD_PARM_DELIMITER);
-		Class[] parmTypes = jdkMethod.getParameterTypes();
-		for (int i = 0; i < parmTypes.length; i++) {
-			out.append(parmTypes[i].getName());
-			if (i < parmTypes.length - 1)
-				out.append(C_PARM_PARM_DELIMITER);
-		}
-		if (jdkMethod.getDeclaringClass().getName().equals(jdkMethod.getName()))
-			out.append(S_CONSTRUCTOR_TOKEN); //It's a constructor
-		return out.toString();
-	}
-	/**
-	 * computeMethodName - generate the name to be used to identify a constructor.
-	 * For the moment, names are simple, and UUID's are complex.
-	 *
-	 * It has to be done separately for JDK because Constructors and Methods are different classes.
-	 * However, in the Java Model they are both just Methods with a flag indicating Constructor. 
-	 */
-	public static String computeMethodName(java.lang.reflect.Constructor jdkConstructor) {
-		return getSimpleName(jdkConstructor.getName()); // CTOR names come back fully-qualified with package.
-	}
-	/**
-	 * computeMethodName - generate the name to be used to identify a method.
-	 * For the moment, names are simple, and UUID's are complex.
-	 */
-	public static String computeMethodName(java.lang.reflect.Method jdkMethod) {
-		return jdkMethod.getName();
-	}
-	/**
-	 * createJavaField - instantiate a Java Field based on the passed Field
-	 * We are deferring field contents assuming that its adaptor will reflect its details.
-	 */
-	public Field createJavaField(java.lang.reflect.Field reflectedField, XMIResource resource) {
-		Field newField = getJavaFactory().createField();
-		newField.setName(reflectedField.getName());
-		String className = getSimpleName(reflectedField.getDeclaringClass().getName());
-		resource.setID(newField, className + C_CLASS_MEMBER_DELIMITER + reflectedField.getName());
-		return newField;
-	}
-	/**
-	 * createJavaMethod - instantiate a Java Method based on the passed Java Reflection Constructor
-	 * We are deferring method contents assuming that its adaptor will reflect its details.
-	 * We need to store enough info in the empty Method to find its Java source.
-	 * The ID will eventually hold enough info to identify the source, so we use it.
-	 */
-	public Method createJavaMethod(java.lang.reflect.Constructor jdkConstructor, XMIResource resource) {
-		Method newMethod = getJavaFactory().createMethod();
-		// We use a simple name, but a complex ID 
-		newMethod.setName(computeMethodName(jdkConstructor));
-		resource.setID(newMethod, computeMethodID(jdkConstructor));
-		return newMethod;
-	}
-	/**
-	 * createJavaMethod - instantiate a Java Method based on the passed Java Reflection Method
-	 * We are deferring method contents assuming that its adaptor will reflect its details.
-	 * We need to store enough info in the empty Method to find its Java source.
-	 * The ID will eventually hold enough info to identify the source, so we use it.
-	 */
-	public Method createJavaMethod(java.lang.reflect.Method jdkMethod, XMIResource resource) {
-		Method newMethod = getJavaFactory().createMethod();
-		// We use a simple name, but a complex ID 
-		newMethod.setName(computeMethodName(jdkMethod));
-		resource.setID(newMethod, computeMethodID(jdkMethod));
-		return newMethod;
-	}
-	/**
-	 * Insert the method's description here.
-	 * Creation date: (11/07/00 3:43:55 PM)
-	 * @return org.eclipse.jem.java.adapters.JavaJDKAdapterFactory
-	 */
-	public JavaJDKAdapterFactory getAdapterFactory() {
-		return adapterFactory;
-	}
-	public ClassLoader getAlternateClassLoader() {
-		return getAdapterFactory().getContextClassLoader();
-	}
-	/*****************************************************************************
-	* Method to convert the textual form of a primitive type into its Class object
-	*
-	* @param type The primitive type's textual representation
-	*/
-	public static Class getPrimitiveType(String type) {
-		Class c = null;
-
-		if (type.equals(byte.class.getName())) {
-			c = byte.class;
-		} else if (type.equals(short.class.getName())) {
-			c = short.class;
-		} else if (type.equals(int.class.getName())) {
-			c = int.class;
-		} else if (type.equals(long.class.getName())) {
-			c = long.class;
-		} else if (type.equals(float.class.getName())) {
-			c = float.class;
-		} else if (type.equals(double.class.getName())) {
-			c = double.class;
-		} else if (type.equals(boolean.class.getName())) {
-			c = boolean.class;
-		} else if (type.equals(char.class.getName())) {
-			c = char.class;
-		} else if (type.equals(void.class.getName())) {
-			c = void.class;
-		}
-
-		return c;
-	}
-	/**
-	 * Returns the last segment of a '.'-separated qualified name.
-	 * Returns the given name if it is not qualified.
-	 * For example:
-	 * <pre>
-	 * getSimpleName("java.lang.Object") -> "Object"
-	 * </pre>
-	 */
-	public static String getSimpleName(String name) {
-		int lastDot = name.lastIndexOf('.');
-		if (lastDot == -1)
-			return name;
-		return name.substring(lastDot + 1);
-	}
-	public Class getType(JavaHelpers modelClass) {
-		Class result = null;
-		if (modelClass.isArray()) {
-			ArrayType arrayType = (ArrayType) modelClass;
-			Class componentClass = getType(arrayType.getFinalComponentType());
-			result = (Array.newInstance(componentClass, new int[arrayType.getArrayDimensions()])).getClass();
-		} else if (modelClass.isPrimitive()) {
-			result = getType(modelClass.getQualifiedName());
-		} else {
-			result = getType(((JavaClass) modelClass).getQualifiedNameForReflection());
-		}
-		return result;
-	}
-	public Class getType(String qualifiedName) {
-		// Try for a primitive type ("int","char",etc.) first
-		Class result = getPrimitiveType(qualifiedName);
-		if (result == null) {
-			ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
-			if (contextClassLoader != null) {
-				try {
-					result = Thread.currentThread().getContextClassLoader().loadClass(qualifiedName);
-				} catch (ClassNotFoundException e) {
-				}
-			}
-			if (result == null) {
-				try {
-					result = loadFromAlternateClassLoader(qualifiedName);
-				} catch (ClassNotFoundException e2) {
-					result = null;
-				}
-			}
-		}
-		return result;
-	}
-	/*
-	 * Utility routine to paper over array type names
-	 * Borrowed from a package-visibility helper on java.lang.reflect.Field
-	 */
-	static String getTypeName(Class type) {
-		if (type.isArray()) {
-			try {
-				Class cl = type;
-				int dimensions = 0;
-				while (cl.isArray()) {
-					dimensions++;
-					cl = cl.getComponentType();
-				}
-				StringBuffer sb = new StringBuffer();
-				sb.append(cl.getName());
-				for (int i = 0; i < dimensions; i++) {
-					sb.append("[]"); //$NON-NLS-1$
-				}
-				return sb.toString();
-			} catch (Throwable e) { /*FALLTHRU*/
-			}
-		}
-		return type.getName();
-	}
-	/**
-	 * Try to load a Class with a @qualifiedName using the alternateClassLoader if
-	 * available.  If no alternateClassLoader is available, use Class.forName().
-	 * Use only the alternateClassLoader if its parent is the same as the System ClassLoader
-	 * so we do not try the System ClassLoader twice.  If not, use Class.forName() first
-	 * before trying the alternateClassLoader.
-	 */
-	protected Class loadFromAlternateClassLoader(String qualifiedName) throws ClassNotFoundException {
-		if (getAlternateClassLoader() != null) {
-			if (getAlternateClassLoader().getParent() == ClassLoader.getSystemClassLoader()) {
-				return getAlternateClassLoader().loadClass(qualifiedName);
-			} else {
-				try {
-					return Class.forName(qualifiedName);
-				} catch (ClassNotFoundException cnfe2) {
-					return getAlternateClassLoader().loadClass(qualifiedName);
-				}
-			}
-		}
-		return Class.forName(qualifiedName);
-	}
-	/*****************************************************************************
-	* Method to convert the textual form of a primitive type into its Class object
-	*
-	* @param type The primitive type's textual representation
-	*/
-	public static Class primitiveForName(String type) {
-		Class c = null;
-
-		if (type.equals(byte.class.getName())) {
-			c = byte.class;
-		} else if (type.equals(short.class.getName())) {
-			c = short.class;
-		} else if (type.equals(int.class.getName())) {
-			c = int.class;
-		} else if (type.equals(long.class.getName())) {
-			c = long.class;
-		} else if (type.equals(float.class.getName())) {
-			c = float.class;
-		} else if (type.equals(double.class.getName())) {
-			c = double.class;
-		} else if (type.equals(boolean.class.getName())) {
-			c = boolean.class;
-		} else if (type.equals(char.class.getName())) {
-			c = char.class;
-		} else if (type.equals(void.class.getName())) {
-			c = void.class;
-		}
-
-		return c;
-	}
-
-	/**
-	 * Insert the method's description here.
-	 * Creation date: (11/07/00 3:43:55 PM)
-	 * @param newAdapterFactory org.eclipse.jem.java.adapters.JavaJDKAdapterFactory
-	 */
-	public void setAdapterFactory(JavaJDKAdapterFactory newAdapterFactory) {
-		adapterFactory = newAdapterFactory;
-	}
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaClassJDKAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaClassJDKAdaptor.java
deleted file mode 100644
index 8dc84bd..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaClassJDKAdaptor.java
+++ /dev/null
@@ -1,308 +0,0 @@
-package org.eclipse.jem.internal.java.adapters.jdk;
-/*******************************************************************************
- * Copyright (c) 2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaClassJDKAdaptor.java,v $
- *  $Revision: 1.5 $  $Date: 2004/02/24 19:33:42 $ 
- */
-import java.util.List;
-import java.util.logging.Level;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-
-import com.ibm.wtp.common.logger.proxy.Logger;
-
-import org.eclipse.jem.internal.java.adapters.IJavaClassAdaptor;
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.java.impl.JavaClassImpl;
-
-/**
- * Insert the type's description here.
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public class JavaClassJDKAdaptor extends JDKAdaptor implements IJavaClassAdaptor {
-	protected Class sourceType = null;
-public JavaClassJDKAdaptor(Notifier target, JavaJDKAdapterFactory anAdapterFactory) {
-	super(target, anAdapterFactory);
-}
-/**
- * addFields - reflect our fields
- */
-protected void addFields() {
-	XMIResource resource = (XMIResource) getJavaClassTarget().eResource();
-	List targetFields = getJavaClassTarget().getFieldsGen();
-	targetFields.clear();
-	java.lang.reflect.Field[] fields = {};
-	try { 
-		fields = getSourceType().getDeclaredFields();
-	} catch (NoClassDefFoundError error) {
-		System.out.println(ResourceHandler.getString("Could_Not_Reflect_Fields_ERROR_", new Object[] {getJavaClassTarget().getQualifiedName(), error.getMessage()})); //$NON-NLS-1$
-	}
-	for (int i = 0; i < fields.length; i++) {
-		targetFields.add(createJavaField(fields[i], resource));
-	}
-}
-/**
- * addMethods - reflect our methods
- */
-protected void addMethods() {
-	// We need to first do methods and then do constructors because the JDK treats them as two
-	// different objects, which the Java Model treats them as both Method's.
-	XMIResource resource = (XMIResource) getJavaClassTarget().eResource();
- 	List targetMethods = getJavaClassTarget().getMethodsGen();
-	targetMethods.clear();
-	java.lang.reflect.Method[] methods = {};
-	try {
-		methods = getSourceType().getDeclaredMethods();
-	} catch (NoClassDefFoundError error) {
-		Logger.getLogger().log(ResourceHandler.getString("Could_Not_Reflect_Methods_ERROR_", new Object[] {getJavaClassTarget().getQualifiedName(),  error.toString()}), Level.WARNING);  //$NON-NLS-1$
-	}
-	for (int i = 0; i < methods.length; i++) {
-		targetMethods.add(createJavaMethod(methods[i], resource));
-	}
-	
-	// Now do the constructors
-	java.lang.reflect.Constructor[] ctors = {};
-	try {
-		ctors = getSourceType().getDeclaredConstructors();
-	} catch (NoClassDefFoundError error) {
-		Logger.getLogger().log(ResourceHandler.getString("Could_Not_Reflect_Constructors_ERROR_", new Object[] {getJavaClassTarget().getQualifiedName(), error.getMessage()}), Level.WARNING);  //$NON-NLS-1$
-	}
-	for (int i = 0; i < ctors.length; i++) {
-		targetMethods.add(createJavaMethod(ctors[i], resource));
-	}
-	
-}
-/**
- * Clear the reflected fields list.
- */
-protected boolean flushFields() {
-	getJavaClassTarget().getFieldsGen().clear();
-	return true;
-}
-/**
- * Clear the implements list.
- */
-protected boolean flushImplements() {
-	getJavaClassTarget().getImplementsInterfacesGen().clear();
-	return true;
-}
-/**
- * Clear the reflected methods list.
- */
-protected boolean flushMethods() {
-	getJavaClassTarget().getMethodsGen().clear();
-	return true;
-}
-protected boolean flushInnerClasses() {
-	getJavaClassTarget().getDeclaredClassesGen().clear();
-	return true;
-}
-protected boolean flushModifiers() {
-	JavaClass javaClassTarget = (JavaClass) getTarget();
-	javaClassTarget.setAbstract(false);
-	javaClassTarget.setFinal(false);
-	javaClassTarget.setPublic(false);
-	javaClassTarget.setKind(TypeKind.UNDEFINED_LITERAL);
-	return true;
-}
-
-/**
- * @see org.eclipse.jem.java.adapters.JavaReflectionAdaptor#flushReflectedValues(boolean)
- */
-protected boolean flushReflectedValues(boolean clearCachedModelObject) {
-	boolean result = flushModifiers();
-	result &= flushSuper();
-	result &= flushImplements();
-	result &= flushMethods();
-	result &= flushFields();
-	result &= flushInnerClasses();
-	return result;
-}
-
-/**
- * @see org.eclipse.jem.java.adapters.JavaReflectionAdaptor#postFlushReflectedValuesIfNecessary()
- */
-protected void postFlushReflectedValuesIfNecessary(boolean isExisting) {
-	getJavaClassTarget().setReflected(false);
-	super.postFlushReflectedValuesIfNecessary(isExisting);
-}
-
-/**
- * Set the supertype to be null.
- */
-protected boolean flushSuper() {
-	List targetSupers = getJavaClassTarget().getESuperTypesGen();
-	targetSupers.clear();
-	return true;
-}
-/**
- * Return the target typed to a JavaClass.
- */
-protected JavaClassImpl getJavaClassTarget() {
-	return (JavaClassImpl) getTarget();
-}
-public Object getReflectionSource() {
-	return getSourceType();
-}
-/**
- * getSourceType - return the java.lang.Class which describes our existing Java class
- */
-protected Class getSourceType() {
-	if (sourceType == null) {
-		sourceType = getType((JavaClass) getTarget());
-	}
-	return sourceType;
-}
-/**
- * getValueIn method comment.
- */
-public Object getValueIn(EObject object, EObject attribute) {
-	// At this point, this adapter does not dynamically compute any values,
-	// all values are pushed back into the target on the initial call.
-	return super.getValueIn(object, attribute);
-}
-/**
- * Return true if the sourceType is null or if
- * it is a binary type.
- * Reflection from the JDK is always from binary.
- */
-public boolean isSourceTypeFromBinary() {
-	return true;
-}
-/**
- * reflectValues - template method, subclasses override to pump values into target.
- * on entry: name, containing package (and qualified name), and document must be set.
- * Return true if successful
- * JavaClass adaptor:
- *	- set modifiers
- *	- set name
- * 	- set reference to super
- * 	- create methods
- * 	- create fields
- *	- add imports
- */
-public boolean reflectValues() {
-	super.reflectValues();
-	try {
-		if (getSourceType() != null) {
-			setModifiers();
-			setNaming();
-			try {
-				setSuper();
-			} catch (InheritanceCycleException e) {
-				Logger.getLogger().log(e);
-			}
-			setImplements();
-			addMethods();
-			addFields();
-			reflectInnerClasses();
-			getAdapterFactory().registerReflection(getSourceType().getName(), this);			
-			//	addImports();
-			return true;
-		}
-		return false;
-	} finally {
-		//Don't cache the class beyond the operation of reflect values; 
-		//this enables dynamic swapping of the alternate class loader
-		//for java reflection, as well as avoids potential memory leakage
-		sourceType = null;
-	}
-}
-/**
- * 
- */
-protected void reflectInnerClasses() {
-	Class[] innerClasses = getSourceType().getClasses();
-	if (innerClasses.length != 0) {
-		List declaredClasses = getJavaClassTarget().getDeclaredClassesGen();
-		JavaClass inner;
-		ResourceSet set = getTargetResource().getResourceSet();
-		for (int i = 0; i < innerClasses.length; i++) {
-			inner = (JavaClass) JavaRefFactory.eINSTANCE.reflectType(innerClasses[i].getName(), set);
-			declaredClasses.add(inner);
-		}
-	}
-	
-}
-/**
- * setImplements - set our implemented/super interfaces here
- * For an interface, these are superclasses.
- * For a class, these are implemented interfaces.
- */
-protected void setImplements() {
-	Class[] interfaces = getSourceType().getInterfaces();
-	// needs work, the names above will be simple names if we are relfecting from a source file
-	JavaClassImpl javaClassTarget = (JavaClassImpl) getTarget();
-	JavaClass ref;
-	List intList = javaClassTarget.getImplementsInterfacesGen();
-	intList.clear();
-	for (int i = 0; i < interfaces.length; i++) {
-		ref = createJavaClassRef(interfaces[i].getName());
-		intList.add(ref);
-	}
-}
-/**
- * setModifiers - set the attribute values related to modifiers here
- */
-protected void setModifiers() {
-	JavaClass javaClassTarget = (JavaClass) getTarget();
-	javaClassTarget.setAbstract(java.lang.reflect.Modifier.isAbstract(getSourceType().getModifiers()));
-	javaClassTarget.setFinal(java.lang.reflect.Modifier.isFinal(getSourceType().getModifiers()));
-	javaClassTarget.setPublic(java.lang.reflect.Modifier.isPublic(getSourceType().getModifiers()));
-	// Set type to class or interface, not yet handling EXCEPTION
-	if (getSourceType().isInterface())
-		javaClassTarget.setKind(TypeKind.INTERFACE_LITERAL);
-	else
-		javaClassTarget.setKind(TypeKind.CLASS_LITERAL);
-}
-/**
- * setNaming - set the naming values here
- * 	- qualified name (package name + name) must be set first, that is the path to the real Java class
- *	- ID - simple name, identity within a package document
- * 	- NO UUID!!!
- */
-protected void setNaming() {
-//	JavaClass javaClassTarget = (JavaClass) getTarget();
-//	javaClassTarget.refSetUUID((String) null);
-//	((XMIResource)javaClassTarget.eResource()).setID(javaClassTarget,getSimpleName(getSourceType().getName()));
-}
-/**
- * setSuper - set our supertype here, implemented interface are handled separately
- */
-protected void setSuper() throws InheritanceCycleException {
-	Class superClass = null;
-	superClass = getSourceType().getSuperclass();
-	if (superClass != null) {
-		JavaClass javaClassTarget = (JavaClass) getTarget();
-		javaClassTarget.setSupertype(createJavaClassRef(superClass.getName()));
-	}
-}
-/**
- * Return true if the sourceType can be found.
- */
-public boolean sourceTypeExists() {
-	return getSourceType() != null;
-}
-}
-
-
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaFieldJDKAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaFieldJDKAdaptor.java
deleted file mode 100644
index 16f3188..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaFieldJDKAdaptor.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package org.eclipse.jem.internal.java.adapters.jdk;
-/*******************************************************************************
- * Copyright (c) 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaFieldJDKAdaptor.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-/**
- * Insert the type's description here.
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public class JavaFieldJDKAdaptor extends JDKAdaptor {
-	protected java.lang.reflect.Field sourceField = null;
-	protected Class parentType = null;
-	public JavaFieldJDKAdaptor(Notifier target, JavaJDKAdapterFactory anAdapterFactory) {
-		super(target, anAdapterFactory);
-	}
-	/**
-	 * getParentType - return the Class which corresponds to our parent JavaClass
-	 * we're going to do this a lot, so cache it.
-	 */
-	protected Class getParentType() {
-		if (parentType == null) {
-			Field targetField = (Field) getTarget();
-			JavaClass parentJavaClass = (JavaClass) targetField.getJavaClass();
-			JavaClassJDKAdaptor pa = (JavaClassJDKAdaptor) EcoreUtil.getAdapter(parentJavaClass.eAdapters(), ReadAdaptor.TYPE_KEY);
-			if (pa != null)
-				parentType = pa.getSourceType();
-		}
-		return parentType;
-	}
-	public Object getReflectionSource() {
-		return getSourceField();
-	}
-	/**
-	 * getSourceField - return the java.lang.reflect.Field which describes our implementing field
-	 */
-	protected java.lang.reflect.Field getSourceField() {
-		if (sourceField == null) {
-			Class parent = this.getParentType();
-			if (parent != null) {
-				try {
-					sourceField = parent.getDeclaredField(((Field) getTarget()).getName());
-				} catch (NoSuchFieldException e) {
-					// OK, carry on
-				}
-			}
-		}
-		return sourceField;
-	}
-	public Field getTargetField() {
-		return (Field) getTarget();
-	}
-	/**
-	 * getValueIn method comment.
-	 */
-	public Object getValueIn(EObject object, EObject attribute) {
-		// At this point, this adapter does not dynamically compute any values,
-		// all values are pushed back into the target on the initial call.
-		return super.getValueIn(object, attribute);
-	}
-	/**
-	 * reflectValues - template method, subclasses override to pump values into target.
-	 * on entry: name, containing package (and qualified name), and document must be set.
-	 * JavaClass adaptor:
-	 *	- set modifiers
-	 *	- set name
-	 * 	- set type
-	 */
-	public boolean reflectValues() {
-		if (getSourceField() != null) {
-			setModifiers();
-			setType();
-			setInitializerIfPossible();
-			return true;
-		}
-		return false;
-	}
-	/**
-	 * Used for the very narrow case of final static Strings
-	 */
-	protected void setInitializerIfPossible() {
-		if (!(getTargetField().isStatic() && getTargetField().isFinal() && "java.lang.String".equals(((JavaHelpers) getTargetField().getEType()).getQualifiedName()))) //$NON-NLS-1$
-			return;
-
-		String value = null;
-		try {
-			value = (String) getSourceField().get(null);
-		} catch (IllegalAccessException ex) {
-			return;
-		}
-
-		if (value == null)
-			return;
-		else
-			value = "\"".concat(value).concat("\""); //$NON-NLS-2$//$NON-NLS-1$
-
-		Block aBlock = createBlock(getTargetField().getName(), value);
-		getTargetField().setInitializer(aBlock);
-	}
-	/**
-	 * setModifiers - set the attribute values related to modifiers here
-	 */
-	protected void setModifiers() {
-		Field javaFieldTarget = (Field) getTarget();
-		// For JDK reflection, I don't think we can set the initializer
-		int modifiers = getSourceField().getModifiers();
-		javaFieldTarget.setStatic(java.lang.reflect.Modifier.isStatic(modifiers));
-		javaFieldTarget.setTransient(java.lang.reflect.Modifier.isTransient(modifiers));
-		javaFieldTarget.setVolatile(java.lang.reflect.Modifier.isVolatile(modifiers));
-		javaFieldTarget.setFinal(java.lang.reflect.Modifier.isFinal(modifiers));
-		// Set visibility
-		if (java.lang.reflect.Modifier.isPublic(modifiers))
-			javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PUBLIC_LITERAL);
-		else if (java.lang.reflect.Modifier.isPrivate(modifiers))
-			javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PRIVATE_LITERAL);
-		else if (java.lang.reflect.Modifier.isProtected(modifiers))
-			javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PROTECTED_LITERAL);
-		else
-			javaFieldTarget.setJavaVisibility(JavaVisibilityKind.PACKAGE_LITERAL);
-	}
-	/**
-	 * setType - set our type here
-	 */
-	protected void setType() {
-		String typeName = getTypeName(getSourceField().getType());
-		setFieldType(getTargetField(), typeName);
-	}
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaJDKAdapterFactory.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaJDKAdapterFactory.java
deleted file mode 100644
index 28b74f0..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaJDKAdapterFactory.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.eclipse.jem.internal.java.adapters.jdk;
-/*******************************************************************************
- * Copyright (c) 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaJDKAdapterFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:12:30 $ 
- */
-import java.util.Iterator;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.jem.internal.java.adapters.JavaReflectionAdapterFactory;
-import org.eclipse.jem.internal.java.adapters.ReflectionAdaptor;
-/**
- * Insert the type's description here.
- * Creation date: (6/13/2000 1:20:31 PM)
- * @author: Administrator
- */
-public class JavaJDKAdapterFactory extends JavaReflectionAdapterFactory {
-	protected ClassLoader contextClassLoader;
-	/**
-	 * JavaJDOMAdapterFactory constructor comment.
-	 */
-	public JavaJDKAdapterFactory() {
-		super();
-		//adapterKey = TYPE_NAME;
-	}
-	/**
-	 * JavaJDOMAdapterFactory constructor comment.
-	 */
-	public JavaJDKAdapterFactory(ClassLoader aClassLoader) {
-		this();
-		setContextClassLoader(aClassLoader);
-	}
-	protected ReflectionAdaptor createJavaClassAdaptor(Notifier target) {
-		return new JavaClassJDKAdaptor(target, this);
-	}
-	protected ReflectionAdaptor createJavaFieldAdaptor(Notifier target) {
-		return new JavaFieldJDKAdaptor(target, this);
-	}
-	protected ReflectionAdaptor createJavaMethodAdaptor(Notifier target) {
-		return new JavaMethodJDKAdaptor(target, this);
-	}
-	// Flush ALL adapters, worst case
-	public void flushAll() {
-		isBusyIteratingReflected = true;
-		try {
-			Iterator i = reflected.values().iterator();
-			while (i.hasNext())
-				 ((JavaClassJDKAdaptor) i.next()).flushReflectedValuesIfNecessary();
-		} finally {
-			finishedIteratingReflected();
-		}
-	}
-	// Flush the adapter for a source object
-	public void flushReflection(String source) {
-		JavaClassJDKAdaptor a = (JavaClassJDKAdaptor) reflected.get(source);
-		if (a != null)
-			a.flushReflectedValuesIfNecessary();
-	}
-	/**
-	 * Insert the method's description here.
-	 * Creation date: (11/07/00 3:38:12 PM)
-	 * @return java.lang.ClassLoader
-	 */
-	public java.lang.ClassLoader getContextClassLoader() {
-		return contextClassLoader;
-	}
-	public boolean isFactoryForType(Object type) {
-		return type.equals(TYPE_NAME);
-	}
-	/**
-	 * Insert the method's description here.
-	 * Creation date: (11/07/00 3:38:12 PM)
-	 * @param newContextClassLoader java.lang.ClassLoader
-	 */
-	public void setContextClassLoader(java.lang.ClassLoader newContextClassLoader) {
-		contextClassLoader = newContextClassLoader;
-	}
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaMethodJDKAdaptor.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaMethodJDKAdaptor.java
deleted file mode 100644
index f3af811..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/jdk/JavaMethodJDKAdaptor.java
+++ /dev/null
@@ -1,223 +0,0 @@
-package org.eclipse.jem.internal.java.adapters.jdk;
-/*******************************************************************************
- * Copyright (c) 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaMethodJDKAdaptor.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:16:21 $ 
- */
-
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-import org.eclipse.jem.java.impl.MethodImpl;
-/**
- * Insert the type's description here.
- * Creation date: (6/6/2000 4:42:50 PM)
- * @author: Administrator
- */
-public class JavaMethodJDKAdaptor extends JDKAdaptor {
-	protected java.lang.reflect.AccessibleObject sourceAccessible = null; // Could be method or ctor.
-	protected Class parentType = null;
-	// cache a static empty Class[] for no parm methods
-	protected static Class[] emptyClassArray = new Class[0];
-	// cache a static empty String[], too
-	protected static String[] emptyStringArray = new String[0];
-	public JavaMethodJDKAdaptor(Notifier target, JavaJDKAdapterFactory anAdapterFactory) {
-		super(target, anAdapterFactory);
-	}
-	/**
-	 * addExceptions - reflect our exception list
-	 */
-	protected void addExceptions() {
-		Class[] exceptions =
-			(getSourceAccessible() instanceof java.lang.reflect.Method)
-				? ((java.lang.reflect.Method) getSourceAccessible()).getExceptionTypes()
-				: ((java.lang.reflect.Constructor) getSourceAccessible()).getExceptionTypes();
-		//	EList exList = (EList) javaMethodTarget.primRefValue(JavaRefPackage.eINSTANCE.getMethod_JavaExceptions());
-		List exList = getMethodTarget().getJavaExceptionsGen();
-		for (int i = 0; i < exceptions.length; i++) {
-			exList.add(createJavaClassRef(exceptions[i].getName()));
-		}
-	}
-
-	protected MethodImpl getMethodTarget() {
-		return (MethodImpl) getTarget();
-	}
-	/**
-	 * addParameters - reflect our parms
-	 */
-	protected void addParameters() {
-		Class[] parmTypes =
-			(getSourceAccessible() instanceof java.lang.reflect.Method)
-				? ((java.lang.reflect.Method) getSourceAccessible()).getParameterTypes()
-				: ((java.lang.reflect.Constructor) getSourceAccessible()).getParameterTypes();
-		MethodImpl javaMethodTarget = getMethodTarget();
-		// 	List pList = (List) javaMethodTarget.primRefValue(JavaRefPackage.eINSTANCE.getMethod_Parameters());
-		List pList = javaMethodTarget.getParametersGen();
-		for (int i = 0; i < parmTypes.length; i++) {
-			pList.add(createJavaParameter(javaMethodTarget, "arg" + i, getTypeName(parmTypes[i]))); //$NON-NLS-1$
-		}
-	}
-	protected JavaClass getContainingJavaClass() {
-		return ((Method) getTarget()).getContainingJavaClass();
-	}
-	/**
-	 * getParentType - return the Class which corresponds to our parent JavaClass
-	 * we're going to do this a lot, so cache it.
-	 */
-	protected Class getParentType() {
-		if (parentType == null) {
-			Method targetMethod = (Method) getTarget();
-			JavaClass parentJavaClass = targetMethod.getContainingJavaClass();
-			JavaClassJDKAdaptor pa = (JavaClassJDKAdaptor) EcoreUtil.getAdapter(parentJavaClass.eAdapters(), ReadAdaptor.TYPE_KEY);
-			if (pa != null)
-				parentType = pa.getSourceType();
-		}
-		return parentType;
-	}
-	/**
-	 * getParmTypeSignatures - return an array of Classes for our parameter types
-	 * 	For reflection purposes, we can only rely on our ID, since our parms may
-	 *  not yet be known.
-	 */
-	protected Class[] getParmTypes() {
-		Method javaMethodTarget = (Method) getTarget();
-		String id = ((XMIResource) javaMethodTarget.eResource()).getID(javaMethodTarget);
-		String[] typeNames = getTypeNamesFromMethodID(id);
-		if (typeNames == null)
-			return emptyClassArray;
-		int n = typeNames.length;
-		if (n == 0)
-			return emptyClassArray;
-		Class[] types = new Class[n];
-		for (int i = 0; i < n; ++i) {
-			types[i] = getType(typeNames[i]);
-		}
-		return types;
-	}
-	public Object getReflectionSource() {
-		return getSourceAccessible();
-	}
-	/**
-	 * getsourceMethod - return the java.lang.reflect.Method which describes our implementing method
-	 */
-	protected java.lang.reflect.AccessibleObject getSourceAccessible() {
-		if (sourceAccessible == null) {
-			Class parent = this.getParentType();
-			if (parent != null) {
-				Class[] parmTypes = this.getParmTypes();
-				try {
-					sourceAccessible = parent.getDeclaredMethod(((Method) getTarget()).getName(), parmTypes);
-				} catch (NoSuchMethodException e) {
-					// OK, can't reflect it
-				}
-
-				if (sourceAccessible == null) {
-					// It wasn't a method, try for constructor.
-					try {
-						sourceAccessible = parent.getDeclaredConstructor(parmTypes);
-					} catch (NoSuchMethodException e) {
-						// OK, can't reflect it
-					}
-				}
-			}
-		}
-		return sourceAccessible;
-	}
-	/**
-	 * getValueIn method comment.
-	 */
-	public Object getValueIn(EObject object, EObject attribute) {
-		// At this point, this adapter does not dynamically compute any values,
-		// all values are pushed back into the target on the initial call.
-		return super.getValueIn(object, attribute);
-	}
-	/**
-	 * reflectValues - template method, subclasses override to pump values into target.
-	 * on entry: UUID, name, containing package (and qualified name), and document must be set.
-	 * Method adaptor:
-	 *	- set modifiers
-	 *	- set name
-	 * 	- set return type
-	 * 	- add parameters
-	 * 	- add exceptions
-	 */
-	public boolean reflectValues() {
-		if (getSourceAccessible() != null) {
-			setModifiers();
-			setNaming();
-			setReturnType();
-			addParameters();
-			addExceptions();
-			return true;
-		}
-		return false;
-	}
-	/**
-	 * setModifiers - set the attribute values related to modifiers here
-	 */
-	protected void setModifiers() {
-		Method methodTarget = (Method) getTarget();
-		int modifiers =
-			(getSourceAccessible() instanceof java.lang.reflect.Method)
-				? ((java.lang.reflect.Method) getSourceAccessible()).getModifiers()
-				: ((java.lang.reflect.Constructor) getSourceAccessible()).getModifiers();
-		methodTarget.setAbstract(java.lang.reflect.Modifier.isAbstract(modifiers));
-		methodTarget.setFinal(java.lang.reflect.Modifier.isFinal(modifiers));
-		methodTarget.setNative(java.lang.reflect.Modifier.isNative(modifiers));
-		methodTarget.setStatic(java.lang.reflect.Modifier.isStatic(modifiers));
-		methodTarget.setSynchronized(java.lang.reflect.Modifier.isSynchronized(modifiers));
-		methodTarget.setConstructor(getSourceAccessible() instanceof java.lang.reflect.Constructor);
-		// Set visibility
-		JavaClass javaClass = getContainingJavaClass();
-		if ((javaClass.getKind() == TypeKind.INTERFACE_LITERAL) || (java.lang.reflect.Modifier.isPublic(modifiers)))
-			methodTarget.setJavaVisibility(JavaVisibilityKind.PUBLIC_LITERAL);
-		else if (java.lang.reflect.Modifier.isPrivate(modifiers))
-			methodTarget.setJavaVisibility(JavaVisibilityKind.PRIVATE_LITERAL);
-		else if (java.lang.reflect.Modifier.isProtected(modifiers))
-			methodTarget.setJavaVisibility(JavaVisibilityKind.PROTECTED_LITERAL);
-		else
-			//Visibility must be package
-			methodTarget.setJavaVisibility(JavaVisibilityKind.PACKAGE_LITERAL);
-	}
-	/**
-	 * setNaming - set the naming values here
-	 * 	- qualified name must be set first, that is the path to the real Java class
-	 *	- ID
-	 * 	- name-based UUID
-	 */
-	protected void setNaming() {
-		//
-		//	naming is currently a no-op since the name and UUID must be set prior to reflection
-		//	...and ID is redundant with UUID.
-		//	javaFieldTarget.setID(parent.getQualifiedName() + "_" + javaFieldTarget.getName());
-	}
-	/**
-	 * setType - set our return type here
-	 */
-	protected void setReturnType() {
-		if (getSourceAccessible() instanceof java.lang.reflect.Method) {
-			Class type = ((java.lang.reflect.Method) getSourceAccessible()).getReturnType();
-			Method javaMethodTarget = (Method) getTarget();
-			/*
-					JavaParameter newParameter = createJavaParameter(javaMethodTarget, "result", getTypeName(type));//$NON-NLS-1$
-					newParameter.setParameterKind(MetaJavaParameterKind.RETURN);
-					javaMethodTarget.getParameters().add(newParameter);
-			*/
-			javaMethodTarget.setEType(createJavaClassRef(getTypeName(type)));
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/nls/ResourceHandler.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/nls/ResourceHandler.java
deleted file mode 100644
index 81ad0a2..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/adapters/nls/ResourceHandler.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.jem.internal.java.adapters.nls;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ResourceHandler.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:12:30 $ 
- */
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.text.MessageFormat;
-
-public class ResourceHandler {
-
-	private static ResourceBundle fgResourceBundle;
-
-	/**
-	 * Returns the resource bundle used by all classes in this Project
-	 */
-	public static ResourceBundle getResourceBundle() {
-		try {
-			return ResourceBundle.getBundle("javaadapters");//$NON-NLS-1$
-		} catch (MissingResourceException e) {
-			// does nothing - this method will return null and
-			// getString(String, String) will return the key
-			// it was called with
-		}
-		return null;
-	}
-	public static String getString(String key) {
-		if (fgResourceBundle == null) {
-			fgResourceBundle= getResourceBundle();
-		}
-		
-		if (fgResourceBundle != null) {
-			try {
-				return fgResourceBundle.getString(key);
-			} catch (MissingResourceException e) {
-				return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
-			}
-		} else {
-			return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
-		}
-	}
-public static String getString(String key, Object[] args) {
-
-	try {return MessageFormat.format(getString(key), args);}
-	catch (IllegalArgumentException e) {return getString(key);}
-
-}
-}
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/beaninfo/IIntrospectionAdapter.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/beaninfo/IIntrospectionAdapter.java
deleted file mode 100644
index 2f68e7d..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/beaninfo/IIntrospectionAdapter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.jem.internal.java.beaninfo;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IIntrospectionAdapter.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-
-
-/**
- * The interface for the Beaninfo adapter. The actual implementation
- * is in a separate project so that beaninfo code will not be loaded
- * unless it needs to be.
- */
-
-public interface IIntrospectionAdapter extends org.eclipse.emf.common.notify.Adapter {
-	public static final Class ADAPTER_KEY = IIntrospectionAdapter.class;
-	public void introspect();
-	public void introspectIfNecessary();
-	public boolean isStale();
-	public EList getEStructuralFeatures();
-	public EList getEOperations();
-	public BasicEList getEAllOperations();
-	public EList getEvents();
-	public EList getAllEvents();
-	public EList getAllProperties();	
-}
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/init/JavaInit.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/init/JavaInit.java
deleted file mode 100644
index b3e3be2..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/init/JavaInit.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.jem.internal.java.init;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaInit.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.internal.java.adapters.JavaXMIFactoryImpl;
-
-/**
- * Initialize the Java Reflection mechanisms. 
- */
-public class JavaInit {
-	protected static boolean initialized = false;
-	protected static boolean plugin_initialized = false;
-
-	public static void init() {
-		init(true);
-	}
-
-	public static void init(boolean shouldPreRegisterPackages) {
-		if (!initialized) {
-			initialized = true;
-			if (shouldPreRegisterPackages) {
-				preRegisterPackages();
-				setDefaultResourceFactory();
-			}
-			//Register resource factory
-			JavaXMIFactoryImpl.register();
-		}
-	}
-
-	private static void preRegisterPackages() {
-		//ecore
-		if (!EPackage.Registry.INSTANCE.containsKey("ecore.xmi"))
-			EPackage.Registry.INSTANCE.put("ecore.xmi", new EPackage.Descriptor() {
-			public EPackage getEPackage() {
-				return EcorePackage.eINSTANCE;
-			}
-		});
-		//java
-		if (!EPackage.Registry.INSTANCE.containsKey("java.xmi"))
-			EPackage.Registry.INSTANCE.put("java.xmi", new EPackage.Descriptor() {
-			public EPackage getEPackage() {
-				return JavaRefPackage.eINSTANCE;
-			}
-		});
-	}
-	protected static void setDefaultResourceFactory() {
-		//This is not done outside of Eclipse
-		if (Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().get(Resource.Factory.Registry.DEFAULT_EXTENSION) == null)
-			Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(
-				Resource.Factory.Registry.DEFAULT_EXTENSION,
-				new XMIResourceFactoryImpl());
-	}
-
-	public static void setPluginInit(boolean bPluginInit) {
-		// Here's where the configuration file would be read.
-		plugin_initialized = bPluginInit;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationHandler.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationHandler.java
deleted file mode 100644
index 94d0b15..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.jem.internal.java.instantiation;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IInstantiationHandler.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import org.eclipse.emf.ecore.*;
-
-import org.eclipse.jem.java.JavaDataType;
-
-/**
- * The interface for the Instantiation handler. The actual implementation
- * is in a separate project so that instantiation code will not be loaded
- * unless it needs to be.
- */
-
-public interface IInstantiationHandler {
-	/**
-	 * Answers whether the adapter handles the datatype
-	 * or whether the standard EFactory does.
-	 */
-	public boolean handlesDataType(JavaDataType type);
-	
-	/**
-	 * Answers whether the adapter handles the EClass or the
-	 * standard EFactory does.
-	 */
-	public boolean handlesClass(EClass type);
-	
-	/**
-	 * If adapterHandlesInstance returns true, then
-	 * this method will be called to create the instance.
-	 */
-	public EObject create(EClass javaClass);
-
-}
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationHandlerFactoryAdapter.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationHandlerFactoryAdapter.java
deleted file mode 100644
index 89fef25..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationHandlerFactoryAdapter.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.jem.internal.java.instantiation;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IInstantiationHandlerFactoryAdapter.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import org.eclipse.emf.common.notify.Adapter;
-
-import org.eclipse.jem.java.impl.JavaFactoryImpl;
-
-/**
- * This adapter is a factory for IInstantiationHandler's. It is attached as
- * an adapter on the ResourceSet that contains the java model. JavaXMIFactory
- * will use it to retrieve its IInstantiationHandler. If the adapter is not
- * found, then no instantiation handler exists.
- */
-public interface IInstantiationHandlerFactoryAdapter extends Adapter {
-	
-	public final static Class ADAPTER_KEY = IInstantiationHandlerFactoryAdapter.class;
-	
-	/**
-	 * Return an IInstantiationHandler.
-	 */
-	public IInstantiationHandler getInstantiationHandler(JavaFactoryImpl factory);
-
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationInstance.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationInstance.java
deleted file mode 100644
index aefc944..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/internal/java/instantiation/IInstantiationInstance.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jem.internal.java.instantiation;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: IInstantiationInstance.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import org.eclipse.jem.java.JavaHelpers;
-
-/**
- * The interface for an instance. The actual implementation
- * is in a separate project so that instantiation code will not be loaded
- * unless it needs to be.
- */
-public interface IInstantiationInstance {
-	/**
-	 * @return The JavaHelpers for the java type of the instance.
-	 */
-	public JavaHelpers getJavaType();
-
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/ArrayType.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/ArrayType.java
deleted file mode 100644
index a9e8b05..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/ArrayType.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.jem.java;
-
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ArrayType.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/13 16:16:21 $ 
- */
-
-import org.eclipse.emf.ecore.EClassifier;
-/**
- * Describes a Java Array type
- *    For multi-dimensional arrays, it is unlikely that the component type will be
- *    specified directly.  This would require instantiating a chain of component types
- *    such as String[][][][]->String[][][]->String[][]->String[]->String.
- * 
- *   The component type relationship will be computed if the finalComponentType
- *   and array dimensions is specified.
- *  
- *   For this reason, the preferred way to create is through the JavaRefFactory factory method:
- *        createArrayType(JavaClass finalComponentType, int dimensions)
- */
-public interface ArrayType extends JavaClass{
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the ArrayDimensions attribute
-	 */
-	int getArrayDimensions();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @param value The new value of the ArrayDimensions attribute
-	 */
-	void setArrayDimensions(int value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The ComponentType reference
-	 */
-	EClassifier getComponentType();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.ArrayType#getComponentType <em>Component Type</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Component Type</em>' reference.
-	 * @see #getComponentType()
-	 * @generated
-	 */
-	void setComponentType(EClassifier value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Get the final component type for this Array Type.
-	 * 
-	 * In order to ensure a unique instance, we will resolve this type using
-	 * reflection. It turns out to be most efficient to just do this by trimming the
-	 * name.
-	 */
-	JavaHelpers getFinalComponentType();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Get the component type of this array. 
-	 * 
-	 * If this is a multi-dimensional array, the component type will be the nested
-	 * array type.
-	 */
-	JavaHelpers getComponentTypeAsHelper();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Is this an array of java primitives
-	 */
-	boolean isPrimitiveArray();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Set the component type.
-	 */
-	void setComponentType(JavaHelpers helperComponentType);
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Block.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Block.java
deleted file mode 100644
index 5fc46c8..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Block.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.jem.java;
-
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Block.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/13 16:16:21 $ 
- */
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-/**
- * @generated
- */
-public interface Block extends EObject{
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the Source attribute
-	 */
-	String getSource();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @param value The new value of the Source attribute
-	 */
-	void setSource(String value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the Name attribute
-	 */
-	String getName();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @param value The new value of the Name attribute
-	 */
-	void setName(String value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The list of Contents references
-	 */
-	EList getContents();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Comment.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Comment.java
deleted file mode 100644
index ac1fc4f..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Comment.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Comment.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:28 $ 
- */
-package org.eclipse.jem.java;
-
-
-/**
- * @generated
- */
-public interface Comment extends Block {
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Field.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Field.java
deleted file mode 100644
index bd6c4ce..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Field.java
+++ /dev/null
@@ -1,174 +0,0 @@
-package org.eclipse.jem.java;
-
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Field.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/14 00:16:44 $ 
- */
-import org.eclipse.emf.ecore.ETypedElement;
-
-/**
- * @generated
- */
-public interface Field extends ETypedElement {
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the IsFinal attribute
-	 */
-	boolean isFinal();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Field#isFinal <em>Final</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Final</em>' attribute.
-	 * @see #isFinal()
-	 * @generated
-	 */
-	void setFinal(boolean value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the IsStatic attribute
-	 */
-	boolean isStatic();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Field#isStatic <em>Static</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Static</em>' attribute.
-	 * @see #isStatic()
-	 * @generated
-	 */
-	void setStatic(boolean value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the JavaVisibility attribute
-	 */
-	JavaVisibilityKind getJavaVisibility();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Field#getJavaVisibility <em>Java Visibility</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Java Visibility</em>' attribute.
-	 * @see org.eclipse.jem.java.JavaVisibilityKind
-	 * @see #getJavaVisibility()
-	 * @generated
-	 */
-	void setJavaVisibility(JavaVisibilityKind value);
-
-	/**
-	 * Returns the value of the '<em><b>Transient</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Transient</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Transient</em>' attribute.
-	 * @see #setTransient(boolean)
-	 * @see org.eclipse.jem.java.JavaRefPackage#getField_Transient()
-	 * @model 
-	 * @generated
-	 */
-	boolean isTransient();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Field#isTransient <em>Transient</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Transient</em>' attribute.
-	 * @see #isTransient()
-	 * @generated
-	 */
-	void setTransient(boolean value);
-
-	/**
-	 * Returns the value of the '<em><b>Volatile</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Volatile</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Volatile</em>' attribute.
-	 * @see #setVolatile(boolean)
-	 * @see org.eclipse.jem.java.JavaRefPackage#getField_Volatile()
-	 * @model 
-	 * @generated
-	 */
-	boolean isVolatile();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Field#isVolatile <em>Volatile</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Volatile</em>' attribute.
-	 * @see #isVolatile()
-	 * @generated
-	 */
-	void setVolatile(boolean value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The JavaClass reference
-	 */
-	JavaClass getJavaClass();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Field#getJavaClass <em>Java Class</em>}' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Java Class</em>' container reference.
-	 * @see #getJavaClass()
-	 * @generated
-	 */
-	void setJavaClass(JavaClass value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The Initializer reference
-	 */
-	Block getInitializer();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Field#getInitializer <em>Initializer</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Initializer</em>' containment reference.
-	 * @see #getInitializer()
-	 * @generated
-	 */
-	void setInitializer(Block value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Get the class that this field is within.
-	 */
-	JavaClass getContainingJavaClass();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Is this field an array type.
-	 */
-	boolean isArray();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/InheritanceCycleException.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/InheritanceCycleException.java
deleted file mode 100644
index b895cb1..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/InheritanceCycleException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.jem.java;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: InheritanceCycleException.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import java.text.MessageFormat;
-
-import org.eclipse.jem.internal.java.adapters.nls.ResourceHandler;
-
-/**
- * @author DABERG
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class InheritanceCycleException extends Exception {
-	private static String MSG_PATTERN = ResourceHandler.getString("Java_Inh_Cycle_ERROR_");
-
-	/**
-	 * 
-	 */
-	public InheritanceCycleException(JavaClass aSubclass, JavaClass aSuperclass) {
-		this(MessageFormat.format(MSG_PATTERN, new String[]{aSubclass.getQualifiedName(), aSuperclass.getQualifiedName()}));
-	}
-
-	/**
-	 * @param s
-	 */
-	public InheritanceCycleException(String s) {
-		super(s);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Initializer.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Initializer.java
deleted file mode 100644
index f11f75d..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Initializer.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.jem.java;
-
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Initializer.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import org.eclipse.emf.ecore.EObject;
-/**
- * @generated
- */
-public interface Initializer extends EObject{
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the IsStatic attribute
-	 */
-	Boolean getIsStatic();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @param value The new value of the IsStatic attribute
-	 */
-	void setIsStatic(Boolean value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The JavaClass reference
-	 */
-	JavaClass getJavaClass();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Initializer#getJavaClass <em>Java Class</em>}' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Java Class</em>' container reference.
-	 * @see #getJavaClass()
-	 * @generated
-	 */
-	void setJavaClass(JavaClass value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The Source reference
-	 */
-	Block getSource();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Initializer#getSource <em>Source</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Source</em>' reference.
-	 * @see #getSource()
-	 * @generated
-	 */
-	void setSource(Block value);
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaClass.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaClass.java
deleted file mode 100644
index 72ba99c..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaClass.java
+++ /dev/null
@@ -1,410 +0,0 @@
-package org.eclipse.jem.java;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaClass.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-/**
- * <!-- begin-user-doc -->
- * @extends JavaHelpers
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jem.java.JavaClass#getKind <em>Kind</em>}</li>
- *   <li>{@link org.eclipse.jem.java.JavaClass#isPublic <em>Public</em>}</li>
- *   <li>{@link org.eclipse.jem.java.JavaClass#isFinal <em>Final</em>}</li>
- *   <li>{@link org.eclipse.jem.java.JavaClass#getImplementsInterfaces <em>Implements Interfaces</em>}</li>
- *   <li>{@link org.eclipse.jem.java.JavaClass#getClassImport <em>Class Import</em>}</li>
- *   <li>{@link org.eclipse.jem.java.JavaClass#getPackageImports <em>Package Imports</em>}</li>
- *   <li>{@link org.eclipse.jem.java.JavaClass#getFields <em>Fields</em>}</li>
- *   <li>{@link org.eclipse.jem.java.JavaClass#getMethods <em>Methods</em>}</li>
- *   <li>{@link org.eclipse.jem.java.JavaClass#getInitializers <em>Initializers</em>}</li>
- *   <li>{@link org.eclipse.jem.java.JavaClass#getDeclaredClasses <em>Declared Classes</em>}</li>
- *   <li>{@link org.eclipse.jem.java.JavaClass#getDeclaringClass <em>Declaring Class</em>}</li>
- *   <li>{@link org.eclipse.jem.java.JavaClass#getJavaPackage <em>Java Package</em>}</li>
- *   <li>{@link org.eclipse.jem.java.JavaClass#getEvents <em>Events</em>}</li>
- *   <li>{@link org.eclipse.jem.java.JavaClass#getAllEvents <em>All Events</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.java.JavaRefPackage#getJavaClass()
- * @model 
- * @generated
- */
-public interface JavaClass extends EClass, JavaHelpers{
-
-	public static final String DEFAULT_METHOD_NAME = "*";
-	/**
-	 * Return a method matching the name, and non-return parameters with fully qualified types matching all the types in the list, if it exists.  It will not look up the supertype hierarchy.
-	 */
-	public Method getPublicMethodExtended(String methodName, List parameterTypes) ;
-	/**
-	 * Returns a filtered list on the methods of this class, having a name equal to that of the parameter.
-	 */
-	public List getPublicMethodsExtendedNamed(String name);
-
-	/**
-	 * Return an array listing our Fields, including inherited fields.
-	 * The field relationship is derived from contents.
-	 */  
-	public Field[] listFieldExtended();
-	/**
-	 * Return an array listing our Methods, including inherited methods.
-	 * The method relationship is derived from contents.
-	 */  
-	public Method[] listMethodExtended();
-//FB   /**
-//FB    * This is required for internal reflection. Do not use.
-//FB    */
-//FB   Object primRefValue(EObject feature);
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the Kind attribute
-	 */
-	TypeKind getKind();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.JavaClass#getKind <em>Kind</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Kind</em>' attribute.
-	 * @see org.eclipse.jem.java.TypeKind
-	 * @see #getKind()
-	 * @generated
-	 */
-	void setKind(TypeKind value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the IsPublic attribute
-	 */
-	boolean isPublic();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.JavaClass#isPublic <em>Public</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Public</em>' attribute.
-	 * @see #isPublic()
-	 * @generated
-	 */
-	void setPublic(boolean value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the IsFinal attribute
-	 */
-	boolean isFinal();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.JavaClass#isFinal <em>Final</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Final</em>' attribute.
-	 * @see #isFinal()
-	 * @generated
-	 */
-	void setFinal(boolean value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The list of ImplementsInterfaces references
-	 */
-	EList getImplementsInterfaces();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The list of ClassImport references
-	 */
-	EList getClassImport();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The list of PackageImports references
-	 */
-	EList getPackageImports();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The list of Fields references
-	 */
-	EList getFields();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The list of Methods references
-	 */
-	EList getMethods();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The list of Initializers references
-	 */
-	EList getInitializers();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The DeclaringClass reference
-	 */
-	JavaClass getDeclaringClass();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.JavaClass#getDeclaringClass <em>Declaring Class</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Declaring Class</em>' reference.
-	 * @see #getDeclaringClass()
-	 * @generated
-	 */
-	void setDeclaringClass(JavaClass value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The list of DeclaredClasses references
-	 */
-	EList getDeclaredClasses();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The JavaPackage reference
-	 */
-	JavaPackage getJavaPackage();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The list of Events references
-	 */
-	EList getEvents();
-
-	/**
-	 * Returns the value of the '<em><b>All Events</b></em>' reference list.
-	 * The list contents are of type {@link org.eclipse.jem.java.JavaEvent}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>All Events</em>' reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>All Events</em>' reference list.
-	 * @see org.eclipse.jem.java.JavaRefPackage#getJavaClass_AllEvents()
-	 * @model type="org.eclipse.jem.java.JavaEvent" transient="true" volatile="true"
-	 * @generated
-	 */
-	EList getAllEvents();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	boolean isNested();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Return an Field with the passed name, or null.
-	 */
-	Field getField(String fieldName);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 *  Return an Field with the passed name from this JavaClass or any supertypes.
-	 * 
-	 * Return null if a Field named fieldName is not found.
-	 */
-	Field getFieldExtended(String fieldName);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Return an Field with the passed name, or null.
-	 */
-	Field getFieldNamed(String fieldName);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Return all fields, including those from supertypes.
-	 */
-	List getFieldsExtended();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Get the method of this name and these parameters. It will not look up the
-	 * supertype hierarchy.
-	 */
-	Method getMethod(String methodName, List parameterTypes);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Return a List of Strings that represent MethodElement signatures from most
-	 * general to most specific.
-	 */
-	List getMethodElementSignatures();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Get the method of this name and these parameters. It will look up the supertype 
-	 * hierarchy.
-	 */
-	Method getMethodExtended(String methodName, List parameterTypes);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Return all methods, including those from supertypes.
-	 */
-	List getMethodsExtended();
-
-	/**
-	 * Return all methods, including those from supertypes excluding particular classes and methods.
-	 * @param excludedClasses - A list of JavaClass instances to be ignored.
-	 * @param excludedMethods - A list of Method instances to be ignored.
-	 */
-	List getMethodsExtendedWithFilters(List excludedClasses, List excludedMethods) ;
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Return a List of Methods that begins with @aMethodNamePrefix and is not
-	 * included in the @excludedNames list. If @aMethodNamePrefix is null, all methods 
-	 * will be returned.
-
-	 */
-	List getOnlySpecificMethods(String aMethodNamePrefix, List excludedNames);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Return a method matching the name, and non-return parameters with fully
-	 * qualified types matching all the types in the list, if it exists.  It will not
-	 * look up the supertype hierarchy.
-	 */
-	Method getPublicMethod(String methodName, List parameterTypes);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Return all methods, it will not go up the supertype hierarchy.
-	 */
-	List getPublicMethods();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Return all public methods, including those from supertypes.
-	 */
-	List getPublicMethodsExtended();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Returns a filtered list on the methods of this class, having a name equal to
-	 * that of the parameter.
-	 */
-	List getPublicMethodsNamed(String name);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	JavaClass getSupertype();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Test whether the receiver implements the passed interface (or one of its
-	 * supertypes).
-	 */
-	boolean implementsInterface(JavaClass interfaceType);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Return a string showing our details.
-	 */
-	String infoString();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Tests whether this class inherits from the passed in class.
-	 */
-	boolean inheritsFrom(JavaClass javaClass);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Does this type exist.
-	 */
-	boolean isExistingType();
-
-	/**
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Is this an interface.
-	 * <!-- end-model-doc -->
-	 * @model 
-	 * @generated
-	 */
-  boolean isInterface();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Set the supertype.
-	 */
-	void setSupertype(JavaClass javaclass) throws InheritanceCycleException;
-
-	/**
-	 * Return true if the passed JavaClass can be set as the supertype
-	 * of this JavaClass.  This method will test to see if aJavaClass will
-	 * create a cycle in the inheritance structure.  Return true if no
-	 * inheritance cycle will be created.
-	 */
-	public boolean isValidSupertype(JavaClass aJavaClass) ;
-
-	/**
-	 * Get the EStructuralFeatures that represent the BeanInfo properties for
-	 * just this Java class, not including inherited. It will return any EStructuralFeature
-	 * that was specified as being at this class either through the XMI override document or
-	 * through the BeanInfo. Structural features through the XMI may not be bean properties,
-	 * but they are part of the features available at this class only. 
-	 * 
-	 * This is a combination of getEAttributes() and getEReferences().
-	 * 
-	 * To retrieve only the Bean Properties, then use Beaninfo 
-	 * Utilities.getPropertiesIterator(javaclass.getProperties()) and this will iterate over
-	 * the Bean PropertyDecorators, and filter out the non-bean features.
-	 * 
-	 * @return The list of properties (as EStructuralFeature's) for this java class. This list is
-	 * not modifiable.
-	 */
-	EList getProperties();
-	
-	/**
-	 * Get all of the EStructuralFeatures that represent the BeanInfo properties for
-	 * just this Java class, including inherited. It will return any EStructuralFeature
-	 * that was specified through the XMI override document or
-	 * through the BeanInfo. Structural features through the XMI may not be bean properties,
-	 * but they are part of the features available.
-	 * 
-	 * The is like getEAllStructuralFeatures() except that if BeanInfo hides any bean properties
-	 * from the super class, this list will also hide them, while getEAllStructuralFeatures
-	 * will not.
-	 * 
-	 * To retrieve only the Bean Properties, then use Beaninfo 
-	 * Utilities.getPropertiesIterator(javaclass.getAllProperties()) and this will iterate over
-	 * the Bean PropertyDecorators, and filter out the non-bean features.
-	 * 
-	 * @return The list of all properties, including inherited, (as EStructuralFeature's) for this class. This list is
-	 * not modifiable.
-	 */
-	EList getAllProperties();
-	
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaDataType.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaDataType.java
deleted file mode 100644
index ed56190..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaDataType.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.jem.java;
-
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaDataType.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import org.eclipse.emf.ecore.EClass;
-
-/**
- * <!-- begin-user-doc -->
- * @extends JavaHelpers
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.jem.java.JavaRefPackage#getJavaDataType()
- * @model 
- * @generated
- */
-public interface JavaDataType extends EClass, JavaHelpers{
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Return the default string representing the default value of the primitive.
-	 */
-	String getDefaultValueString();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaEvent.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaEvent.java
deleted file mode 100644
index c13c40a..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaEvent.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jem.java;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaEvent.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Java Event</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.jem.java.JavaRefPackage#getJavaEvent()
- * @model abstract="true"
- * @generated
- */
-public interface JavaEvent extends EStructuralFeature{
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaHelpers.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaHelpers.java
deleted file mode 100644
index f17a95c..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaHelpers.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.jem.java;
-
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaHelpers.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-
-/**
- * Insert the type's description here.
- * Creation date: (6/27/2000 4:42:04 PM)
- * @author: Administrator
- */
-public interface JavaHelpers extends EClass {
-	static final String BOOLEAN_NAME = "java.lang.Boolean";
-	static final String CHARACTER_NAME = "java.lang.Character";
-	static final String BYTE_NAME = "java.lang.Byte";
-	static final String DOUBLE_NAME = "java.lang.Double";
-	static final String FLOAT_NAME = "java.lang.Float";
-	static final String INTEGER_NAME = "java.lang.Integer";
-	static final String LONG_NAME = "java.lang.Long";
-	static final String SHORT_NAME = "java.lang.Short";
-	static final String PRIM_BOOLEAN_NAME = "boolean";
-	static final String PRIM_CHARACTER_NAME = "char";
-	static final String PRIM_BYTE_NAME = "byte";
-	static final String PRIM_DOUBLE_NAME = "double";
-	static final String PRIM_FLOAT_NAME = "float";
-	static final String PRIM_INTEGER_NAME = "int";
-	static final String PRIM_LONG_NAME = "long";
-	static final String PRIM_SHORT_NAME = "short";
-	public String getJavaName();
-	public JavaDataType getPrimitive();
-	public String getQualifiedName();
-	public JavaClass getWrapper();
-	public boolean isArray();
-	/**
-	 * Can an object of the passed in class be assigned to an
-	 * object of this class? In other words is this class a
-	 * supertype of the passed in class, or is it superinterface
-	 * of it? Or in the case of primitives, are they the same.
-	 */
-	public boolean isAssignableFrom(EClassifier aClass);
-	public boolean isPrimitive();
-	
-	/**
-	 * To be used by people that need to get the qualified name used for reflection.
-	 * Typically bean info would need to use something like this.
-	 */
-	public String getQualifiedNameForReflection() ;	
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaPackage.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaPackage.java
deleted file mode 100644
index cac2eb7..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaPackage.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.jem.java;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaPackage.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/13 16:16:21 $ 
- */
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EPackage;
-
-public interface JavaPackage extends EPackage{
-	
-	public static final String PACKAGE_ID = "*package";	// The id (the part that goes after the '#' for a java package.)
-														// There will only be one package per java resource so it
-														// can be unique. No java types, methods, fields ids can
-														// start with an asterick so will be unique.
-														
-	public static final String PRIMITIVE_PACKAGE_NAME = "_-javaprim";
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The list of JavaClasses references
-	 */
-	EList getJavaClasses();
-
-	public String getPackageName() ;
-
-} //JavaPackage
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaParameter.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaParameter.java
deleted file mode 100644
index fff2b04..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaParameter.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.jem.java;
-
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaParameter.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/14 00:16:44 $ 
- */
-
-import org.eclipse.emf.ecore.EParameter;
-
-/**
- * @generated
- */
-public interface JavaParameter extends EParameter {
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the IsFinal attribute
-	 */
-	boolean isFinal();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.JavaParameter#isFinal <em>Final</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Final</em>' attribute.
-	 * @see #isFinal()
-	 * @generated
-	 */
-	void setFinal(boolean value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the ParameterKind attribute
-	 */
-	JavaParameterKind getParameterKind();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.JavaParameter#getParameterKind <em>Parameter Kind</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Parameter Kind</em>' attribute.
-	 * @see org.eclipse.jem.java.JavaParameterKind
-	 * @see #getParameterKind()
-	 * @generated
-	 */
-	void setParameterKind(JavaParameterKind value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Is this parameter type an array type.
-	 */
-	boolean isArray();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Is this a return parameter.
-	 */
-	boolean isReturn();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	JavaHelpers getJavaType();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	String getQualifiedName();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaParameterKind.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaParameterKind.java
deleted file mode 100644
index e301020..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaParameterKind.java
+++ /dev/null
@@ -1,202 +0,0 @@
-package org.eclipse.jem.java;
-
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaParameterKind.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:25:08 $ 
- */
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Java Parameter Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * IN=0
- * OUT=1
- * INOUT=2
- * RETURN=3
- * <!-- end-model-doc -->
- * @see org.eclipse.jem.java.JavaRefPackage#getJavaParameterKind()
- * @model
- * @generated
- */
-public final class JavaParameterKind extends AbstractEnumerator
-{
-	/**
-	 * The '<em><b>IN</b></em>' literal value.
-	 * <!-- begin-user-doc --> 
-   * <!-- end-user-doc --> 
-	 * @see #IN_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int IN = 0;
-	/**
-	 * The '<em><b>OUT</b></em>' literal value.
-	 * <!-- begin-user-doc --> 
-   * <!-- end-user-doc --> 
-	 * @see #OUT_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int OUT = 1;
-	/**
-	 * The '<em><b>INOUT</b></em>' literal value.
-	 * <!-- begin-user-doc --> 
-   * <!-- end-user-doc --> 
-	 * @see #INOUT_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int INOUT = 2;
-	/**
-	 * The '<em><b>RETURN</b></em>' literal value.
-	 * <!-- begin-user-doc --> 
-   * <!-- end-user-doc --> 
-	 * @see #RETURN_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-	public static final int RETURN = 3;
-	/**
-	 * The '<em><b>IN</b></em>' literal object.
-	 * <!-- begin-user-doc --> 
-   * <p>
-   * If the meaning of '<em><b>IN</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc --> 
-	 * @see #IN
-	 * @generated
-	 * @ordered
-	 */
-  public static final JavaParameterKind IN_LITERAL = new JavaParameterKind(IN, "IN");
-
-	/**
-	 * The '<em><b>OUT</b></em>' literal object.
-	 * <!-- begin-user-doc --> 
-   * <p>
-   * If the meaning of '<em><b>OUT</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc --> 
-	 * @see #OUT
-	 * @generated
-	 * @ordered
-	 */
-  public static final JavaParameterKind OUT_LITERAL = new JavaParameterKind(OUT, "OUT");
-
-	/**
-	 * The '<em><b>INOUT</b></em>' literal object.
-	 * <!-- begin-user-doc --> 
-   * <p>
-   * If the meaning of '<em><b>INOUT</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc --> 
-	 * @see #INOUT
-	 * @generated
-	 * @ordered
-	 */
-  public static final JavaParameterKind INOUT_LITERAL = new JavaParameterKind(INOUT, "INOUT");
-
-	/**
-	 * The '<em><b>RETURN</b></em>' literal object.
-	 * <!-- begin-user-doc --> 
-   * <p>
-   * If the meaning of '<em><b>RETURN</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc --> 
-	 * @see #RETURN
-	 * @generated
-	 * @ordered
-	 */
-  public static final JavaParameterKind RETURN_LITERAL = new JavaParameterKind(RETURN, "RETURN");
-
-	/**
-	 * An array of all the '<em><b>Java Parameter Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc --> 
-   * <!-- end-user-doc --> 
-	 * @generated
-	 */
-  private static final JavaParameterKind[] VALUES_ARRAY =
-		new JavaParameterKind[] {
-			IN_LITERAL,
-			OUT_LITERAL,
-			INOUT_LITERAL,
-			RETURN_LITERAL,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>Java Parameter Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc --> 
-   * <!-- end-user-doc --> 
-	 * @generated
-	 */
-  public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>Java Parameter Kind</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc --> 
-   * <!-- end-user-doc --> 
-	 * @generated
-	 */
-  public static JavaParameterKind get(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			JavaParameterKind result = VALUES_ARRAY[i];
-			if (result.toString().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Java Parameter Kind</b></em>' literal with the specified value.
-	 * <!-- begin-user-doc --> 
-   * <!-- end-user-doc --> 
-	 * @generated
-	 */
-  public static JavaParameterKind get(int value) {
-		switch (value) {
-			case IN: return IN_LITERAL;
-			case OUT: return OUT_LITERAL;
-			case INOUT: return INOUT_LITERAL;
-			case RETURN: return RETURN_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc --> 
-   * <!-- end-user-doc --> 
-	 * @generated
-	 */
-  private JavaParameterKind(int value, String name) {
-		super(value, name);
-	}
-
-} //JavaParameterKind
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaRefFactory.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaRefFactory.java
deleted file mode 100644
index 8548b72..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaRefFactory.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package org.eclipse.jem.java;
-
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaRefFactory.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 21:12:07 $ 
- */
-
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-/**
- * @generated
- */
-public interface JavaRefFactory extends EFactory{
-
-	/**
-	 * The singleton instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	JavaRefFactory eINSTANCE = new org.eclipse.jem.java.impl.JavaRefFactoryImpl();
-
-
-	/**
-	 * Create a proxy reference to the class name.
-	 * @param targetName Classname to create a proxy reference too.
-	 * @return A proxy reference
-	 * 
-	 * @since 1.0.0
-	 */
-	public JavaClass createClassRef(String targetName);
-	
-	/**
-	 * reflect - reflect a java type (class or primitive) for a given qualified name.
-	 * <p>If the package or type does not exist, one will be created through
-	 * the reflection mechanism.
-	 * <p>Lookup the JavaClass in the context of the passed object, handling some error cases.
-	 * @param aQualifiedName Fully qualified name of class or primitive (e.g. <code>java.lang.Object</code> or <code>int</code>
-	 * @param relatedObject EObject that it will be related too (it will look through the resource set's project of the EObject)
-	 * @return The type. <code>null</code> if name is not of correct format, relatedObject is not contained by a resource set, or resource set is not associated with a project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public JavaHelpers reflectType(String aQualifiedName, EObject relatedObject);
-	
-	
-	/**
-	 * reflect - reflect a java type (class or primitive) for a given qualified name.
-	 * <p>If the package or class does not exist, one will be created through
-	 * the reflection mechanism.
-	 * @param aQualifiedName Fully qualified name of class or primitive (e.g. <code>java.lang.Object</code> or <code>int</code>
-	 * @param set Resource set to use. Its project will be used to find the type.
-	 * @return The type. <code>null</code> if name is not of correct format, or resource set is not associated with a project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public JavaHelpers reflectType(String aQualifiedName, ResourceSet set);	
-	
-	
-	/**
-	 * reflect - reflect a type for a given package name and class name.
-	 * <p>If the package or class does not exist, one will be created through
-	 * the reflection mechanism.
-	 * @param aPackageName Package name
-	 * @param aTypeName Type name 
-	 * @param set Resource set to use. Its project will be used to find the type.
-	 * @return The type. <code>null</code> if name is not of correct format, or resource set is not associated with a project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public JavaHelpers reflectType(String aPackageName, String aTypeName, ResourceSet set);
-	
-	/**
-	 * reflect - reflect a Java package for a given package name.
-	 * <p>If the package does not exist, one will be created through
-	 * the reflection mechanism.
-	 * @param packageName Name of package
-	 * @param set Resource set to use. Its project will be used to find the package.
-	 * @return The package. <code>null</code> if name is not of correct format, or resource set is not associated with a project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public JavaPackage reflectPackage(String packageName, ResourceSet set);
-	
-	/**
-	 * @return ArrayType value with an array of the component type
-	 */
-	public ArrayType createArrayType(JavaHelpers componentType);
-	/**
-	 * @return ArrayType value with an array of the specified dimensions and final component type.
-	 */
-	public ArrayType createArrayType(JavaHelpers finalComponentType, int dimensions);
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return Method value
-	 */
-	Method createMethod();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return JavaClass value
-	 */
-	JavaClass createJavaClass();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return Field value
-	 */
-	Field createField();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return Block value
-	 */
-	Block createBlock();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return Comment value
-	 */
-	Comment createComment();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return Statement value
-	 */
-	Statement createStatement();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return Initializer value
-	 */
-	Initializer createInitializer();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return JavaParameter value
-	 */
-	JavaParameter createJavaParameter();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return ArrayType value
-	 */
-	ArrayType createArrayType();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return JavaDataType value
-	 */
-	JavaDataType createJavaDataType();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return JavaPackage value
-	 */
-	JavaPackage createJavaPackage();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	JavaRefPackage getJavaRefPackage();
-
-}
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaRefPackage.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaRefPackage.java
deleted file mode 100644
index 6379bba..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaRefPackage.java
+++ /dev/null
@@ -1,1972 +0,0 @@
-package org.eclipse.jem.java;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaRefPackage.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/14 00:16:44 $ 
- */
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcorePackage;
-
-
-/**
- * @lastgen interface JavaRefPackage extends EPackage {}
- */
-public interface JavaRefPackage extends EPackage{
-	/**
-	 * The package name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNAME = "java";
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_CLASS = 0;
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__EANNOTATIONS = EcorePackage.ECLASS__EANNOTATIONS;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_CLASS__NAME = EcorePackage.ECLASS__NAME;
-	/**
-	 * The feature id for the '<em><b>Instance Class Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__INSTANCE_CLASS_NAME = EcorePackage.ECLASS__INSTANCE_CLASS_NAME;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_CLASS__INSTANCE_CLASS = EcorePackage.ECLASS__INSTANCE_CLASS;
-	/**
-	 * The feature id for the '<em><b>Default Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__DEFAULT_VALUE = EcorePackage.ECLASS__DEFAULT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>EPackage</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__EPACKAGE = EcorePackage.ECLASS__EPACKAGE;
-
-	/**
-	 * The feature id for the '<em><b>Abstract</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__ABSTRACT = EcorePackage.ECLASS__ABSTRACT;
-
-	/**
-	 * The feature id for the '<em><b>Interface</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__INTERFACE = EcorePackage.ECLASS__INTERFACE;
-
-	/**
-	 * The feature id for the '<em><b>ESuper Types</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__ESUPER_TYPES = EcorePackage.ECLASS__ESUPER_TYPES;
-
-	/**
-	 * The feature id for the '<em><b>EOperations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__EOPERATIONS = EcorePackage.ECLASS__EOPERATIONS;
-
-	/**
-	 * The feature id for the '<em><b>EAll Attributes</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__EALL_ATTRIBUTES = EcorePackage.ECLASS__EALL_ATTRIBUTES;
-
-	/**
-	 * The feature id for the '<em><b>EAll References</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__EALL_REFERENCES = EcorePackage.ECLASS__EALL_REFERENCES;
-
-	/**
-	 * The feature id for the '<em><b>EReferences</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__EREFERENCES = EcorePackage.ECLASS__EREFERENCES;
-
-	/**
-	 * The feature id for the '<em><b>EAttributes</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__EATTRIBUTES = EcorePackage.ECLASS__EATTRIBUTES;
-
-	/**
-	 * The feature id for the '<em><b>EAll Containments</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__EALL_CONTAINMENTS = EcorePackage.ECLASS__EALL_CONTAINMENTS;
-
-	/**
-	 * The feature id for the '<em><b>EAll Operations</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__EALL_OPERATIONS = EcorePackage.ECLASS__EALL_OPERATIONS;
-
-	/**
-	 * The feature id for the '<em><b>EAll Structural Features</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__EALL_STRUCTURAL_FEATURES = EcorePackage.ECLASS__EALL_STRUCTURAL_FEATURES;
-
-	/**
-	 * The feature id for the '<em><b>EAll Super Types</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__EALL_SUPER_TYPES = EcorePackage.ECLASS__EALL_SUPER_TYPES;
-
-	/**
-	 * The feature id for the '<em><b>EID Attribute</b></em>' reference.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-  int JAVA_CLASS__EID_ATTRIBUTE = EcorePackage.ECLASS__EID_ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>EStructural Features</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__ESTRUCTURAL_FEATURES = EcorePackage.ECLASS__ESTRUCTURAL_FEATURES;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_CLASS__KIND = EcorePackage.ECLASS_FEATURE_COUNT + 0;
-	/**
-	 * The feature id for the '<em><b>Public</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__PUBLIC = EcorePackage.ECLASS_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Final</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS__FINAL = EcorePackage.ECLASS_FEATURE_COUNT + 2;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_CLASS__IMPLEMENTS_INTERFACES = EcorePackage.ECLASS_FEATURE_COUNT + 3;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_CLASS__CLASS_IMPORT = EcorePackage.ECLASS_FEATURE_COUNT + 4;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_CLASS__PACKAGE_IMPORTS = EcorePackage.ECLASS_FEATURE_COUNT + 5;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_CLASS__FIELDS = EcorePackage.ECLASS_FEATURE_COUNT + 6;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_CLASS__METHODS = EcorePackage.ECLASS_FEATURE_COUNT + 7;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_CLASS__INITIALIZERS = EcorePackage.ECLASS_FEATURE_COUNT + 8;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_CLASS__DECLARED_CLASSES = EcorePackage.ECLASS_FEATURE_COUNT + 9;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_CLASS__DECLARING_CLASS = EcorePackage.ECLASS_FEATURE_COUNT + 10;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_CLASS__JAVA_PACKAGE = EcorePackage.ECLASS_FEATURE_COUNT + 11;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_CLASS__EVENTS = EcorePackage.ECLASS_FEATURE_COUNT + 12;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_CLASS__ALL_EVENTS = EcorePackage.ECLASS_FEATURE_COUNT + 13;
-	/**
-	 * The number of structural features of the the '<em>Java Class</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_CLASS_FEATURE_COUNT = EcorePackage.ECLASS_FEATURE_COUNT + 14;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int FIELD = 4;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int METHOD = 3;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_PARAMETER = 2;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE = 10;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_DATA_TYPE = 9;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_EVENT = 11;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_PACKAGE = 8;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int BLOCK = 5;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int COMMENT = 6;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int STATEMENT = 7;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int INITIALIZER = 1;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int INITIALIZER__IS_STATIC = 0;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int INITIALIZER__JAVA_CLASS = 1;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int INITIALIZER__SOURCE = 2;
-
-	/**
-	 * The number of structural features of the the '<em>Initializer</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INITIALIZER_FEATURE_COUNT = 3;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PARAMETER__EANNOTATIONS = EcorePackage.EPARAMETER__EANNOTATIONS;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_PARAMETER__NAME = EcorePackage.EPARAMETER__NAME;
-	/**
-	 * The feature id for the '<em><b>Ordered</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PARAMETER__ORDERED = EcorePackage.EPARAMETER__ORDERED;
-
-	/**
-	 * The feature id for the '<em><b>Unique</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PARAMETER__UNIQUE = EcorePackage.EPARAMETER__UNIQUE;
-
-	/**
-	 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PARAMETER__LOWER_BOUND = EcorePackage.EPARAMETER__LOWER_BOUND;
-
-	/**
-	 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PARAMETER__UPPER_BOUND = EcorePackage.EPARAMETER__UPPER_BOUND;
-
-	/**
-	 * The feature id for the '<em><b>Many</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PARAMETER__MANY = EcorePackage.EPARAMETER__MANY;
-
-	/**
-	 * The feature id for the '<em><b>Required</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PARAMETER__REQUIRED = EcorePackage.EPARAMETER__REQUIRED;
-
-	/**
-	 * The feature id for the '<em><b>EType</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PARAMETER__ETYPE = EcorePackage.EPARAMETER__ETYPE;
-
-	/**
-	 * The feature id for the '<em><b>EOperation</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PARAMETER__EOPERATION = EcorePackage.EPARAMETER__EOPERATION;
-
-	/**
-	 * The feature id for the '<em><b>Final</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PARAMETER__FINAL = EcorePackage.EPARAMETER_FEATURE_COUNT + 0;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_PARAMETER__PARAMETER_KIND = EcorePackage.EPARAMETER_FEATURE_COUNT + 1;
-	/**
-	 * The number of structural features of the the '<em>Java Parameter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PARAMETER_FEATURE_COUNT = EcorePackage.EPARAMETER_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__EANNOTATIONS = EcorePackage.EOPERATION__EANNOTATIONS;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int METHOD__NAME = EcorePackage.EOPERATION__NAME;
-	/**
-	 * The feature id for the '<em><b>Ordered</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__ORDERED = EcorePackage.EOPERATION__ORDERED;
-
-	/**
-	 * The feature id for the '<em><b>Unique</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__UNIQUE = EcorePackage.EOPERATION__UNIQUE;
-
-	/**
-	 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__LOWER_BOUND = EcorePackage.EOPERATION__LOWER_BOUND;
-
-	/**
-	 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__UPPER_BOUND = EcorePackage.EOPERATION__UPPER_BOUND;
-
-	/**
-	 * The feature id for the '<em><b>Many</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__MANY = EcorePackage.EOPERATION__MANY;
-
-	/**
-	 * The feature id for the '<em><b>Required</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__REQUIRED = EcorePackage.EOPERATION__REQUIRED;
-
-	/**
-	 * The feature id for the '<em><b>EType</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__ETYPE = EcorePackage.EOPERATION__ETYPE;
-
-	/**
-	 * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__ECONTAINING_CLASS = EcorePackage.EOPERATION__ECONTAINING_CLASS;
-
-	/**
-	 * The feature id for the '<em><b>EParameters</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__EPARAMETERS = EcorePackage.EOPERATION__EPARAMETERS;
-
-	/**
-	 * The feature id for the '<em><b>EExceptions</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__EEXCEPTIONS = EcorePackage.EOPERATION__EEXCEPTIONS;
-
-	/**
-	 * The feature id for the '<em><b>Abstract</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__ABSTRACT = EcorePackage.EOPERATION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Native</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__NATIVE = EcorePackage.EOPERATION_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Synchronized</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__SYNCHRONIZED = EcorePackage.EOPERATION_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Final</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__FINAL = EcorePackage.EOPERATION_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Constructor</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__CONSTRUCTOR = EcorePackage.EOPERATION_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Static</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD__STATIC = EcorePackage.EOPERATION_FEATURE_COUNT + 5;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int METHOD__JAVA_VISIBILITY = EcorePackage.EOPERATION_FEATURE_COUNT + 6;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int METHOD__PARAMETERS = EcorePackage.EOPERATION_FEATURE_COUNT + 7;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int METHOD__JAVA_EXCEPTIONS = EcorePackage.EOPERATION_FEATURE_COUNT + 8;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int METHOD__JAVA_CLASS = EcorePackage.EOPERATION_FEATURE_COUNT + 9;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int METHOD__SOURCE = EcorePackage.EOPERATION_FEATURE_COUNT + 10;
-	/**
-	 * The number of structural features of the the '<em>Method</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METHOD_FEATURE_COUNT = EcorePackage.EOPERATION_FEATURE_COUNT + 11;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FIELD__EANNOTATIONS = EcorePackage.ETYPED_ELEMENT__EANNOTATIONS;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int FIELD__NAME = EcorePackage.ETYPED_ELEMENT__NAME;
-	/**
-	 * The feature id for the '<em><b>Ordered</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FIELD__ORDERED = EcorePackage.ETYPED_ELEMENT__ORDERED;
-
-	/**
-	 * The feature id for the '<em><b>Unique</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FIELD__UNIQUE = EcorePackage.ETYPED_ELEMENT__UNIQUE;
-
-	/**
-	 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FIELD__LOWER_BOUND = EcorePackage.ETYPED_ELEMENT__LOWER_BOUND;
-
-	/**
-	 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FIELD__UPPER_BOUND = EcorePackage.ETYPED_ELEMENT__UPPER_BOUND;
-
-	/**
-	 * The feature id for the '<em><b>Many</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FIELD__MANY = EcorePackage.ETYPED_ELEMENT__MANY;
-
-	/**
-	 * The feature id for the '<em><b>Required</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FIELD__REQUIRED = EcorePackage.ETYPED_ELEMENT__REQUIRED;
-
-	/**
-	 * The feature id for the '<em><b>EType</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FIELD__ETYPE = EcorePackage.ETYPED_ELEMENT__ETYPE;
-
-	/**
-	 * The feature id for the '<em><b>Final</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FIELD__FINAL = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Static</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FIELD__STATIC = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int FIELD__JAVA_VISIBILITY = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 2;
-	/**
-	 * The feature id for the '<em><b>Transient</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FIELD__TRANSIENT = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Volatile</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FIELD__VOLATILE = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 4;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int FIELD__JAVA_CLASS = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 5;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int FIELD__INITIALIZER = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 6;
-	/**
-	 * The number of structural features of the the '<em>Field</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FIELD_FEATURE_COUNT = EcorePackage.ETYPED_ELEMENT_FEATURE_COUNT + 7;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int BLOCK__SOURCE = 0;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int BLOCK__NAME = 1;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int BLOCK__CONTENTS = 2;
-
-	/**
-	 * The number of structural features of the the '<em>Block</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BLOCK_FEATURE_COUNT = 3;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int COMMENT__SOURCE = BLOCK__SOURCE;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int COMMENT__NAME = BLOCK__NAME;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int COMMENT__CONTENTS = BLOCK__CONTENTS;
-
-	/**
-	 * The number of structural features of the the '<em>Comment</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMMENT_FEATURE_COUNT = BLOCK_FEATURE_COUNT + 0;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int STATEMENT__SOURCE = BLOCK__SOURCE;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int STATEMENT__NAME = BLOCK__NAME;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int STATEMENT__CONTENTS = BLOCK__CONTENTS;
-
-	/**
-	 * The number of structural features of the the '<em>Statement</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATEMENT_FEATURE_COUNT = BLOCK_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PACKAGE__EANNOTATIONS = EcorePackage.EPACKAGE__EANNOTATIONS;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_PACKAGE__NAME = EcorePackage.EPACKAGE__NAME;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_PACKAGE__NS_URI = EcorePackage.EPACKAGE__NS_URI;
-	/**
-	 * The feature id for the '<em><b>Ns Prefix</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PACKAGE__NS_PREFIX = EcorePackage.EPACKAGE__NS_PREFIX;
-
-	/**
-	 * The feature id for the '<em><b>EFactory Instance</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PACKAGE__EFACTORY_INSTANCE = EcorePackage.EPACKAGE__EFACTORY_INSTANCE;
-
-	/**
-	 * The feature id for the '<em><b>EClassifiers</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PACKAGE__ECLASSIFIERS = EcorePackage.EPACKAGE__ECLASSIFIERS;
-
-	/**
-	 * The feature id for the '<em><b>ESubpackages</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PACKAGE__ESUBPACKAGES = EcorePackage.EPACKAGE__ESUBPACKAGES;
-
-	/**
-	 * The feature id for the '<em><b>ESuper Package</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PACKAGE__ESUPER_PACKAGE = EcorePackage.EPACKAGE__ESUPER_PACKAGE;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_PACKAGE__JAVA_CLASSES = EcorePackage.EPACKAGE_FEATURE_COUNT + 0;
-	/**
-	 * The number of structural features of the the '<em>Java Package</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_PACKAGE_FEATURE_COUNT = EcorePackage.EPACKAGE_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__EANNOTATIONS = EcorePackage.ECLASS__EANNOTATIONS;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_DATA_TYPE__NAME = EcorePackage.ECLASS__NAME;
-	/**
-	 * The feature id for the '<em><b>Instance Class Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__INSTANCE_CLASS_NAME = EcorePackage.ECLASS__INSTANCE_CLASS_NAME;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_DATA_TYPE__INSTANCE_CLASS = EcorePackage.ECLASS__INSTANCE_CLASS;
-	/**
-	 * The feature id for the '<em><b>Default Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__DEFAULT_VALUE = EcorePackage.ECLASS__DEFAULT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>EPackage</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__EPACKAGE = EcorePackage.ECLASS__EPACKAGE;
-
-	/**
-	 * The feature id for the '<em><b>Abstract</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__ABSTRACT = EcorePackage.ECLASS__ABSTRACT;
-
-	/**
-	 * The feature id for the '<em><b>Interface</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__INTERFACE = EcorePackage.ECLASS__INTERFACE;
-
-	/**
-	 * The feature id for the '<em><b>ESuper Types</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__ESUPER_TYPES = EcorePackage.ECLASS__ESUPER_TYPES;
-
-	/**
-	 * The feature id for the '<em><b>EOperations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__EOPERATIONS = EcorePackage.ECLASS__EOPERATIONS;
-
-	/**
-	 * The feature id for the '<em><b>EAll Attributes</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__EALL_ATTRIBUTES = EcorePackage.ECLASS__EALL_ATTRIBUTES;
-
-	/**
-	 * The feature id for the '<em><b>EAll References</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__EALL_REFERENCES = EcorePackage.ECLASS__EALL_REFERENCES;
-
-	/**
-	 * The feature id for the '<em><b>EReferences</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__EREFERENCES = EcorePackage.ECLASS__EREFERENCES;
-
-	/**
-	 * The feature id for the '<em><b>EAttributes</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__EATTRIBUTES = EcorePackage.ECLASS__EATTRIBUTES;
-
-	/**
-	 * The feature id for the '<em><b>EAll Containments</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__EALL_CONTAINMENTS = EcorePackage.ECLASS__EALL_CONTAINMENTS;
-
-	/**
-	 * The feature id for the '<em><b>EAll Operations</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__EALL_OPERATIONS = EcorePackage.ECLASS__EALL_OPERATIONS;
-
-	/**
-	 * The feature id for the '<em><b>EAll Structural Features</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__EALL_STRUCTURAL_FEATURES = EcorePackage.ECLASS__EALL_STRUCTURAL_FEATURES;
-
-	/**
-	 * The feature id for the '<em><b>EAll Super Types</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__EALL_SUPER_TYPES = EcorePackage.ECLASS__EALL_SUPER_TYPES;
-
-	/**
-	 * The feature id for the '<em><b>EID Attribute</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__EID_ATTRIBUTE = EcorePackage.ECLASS__EID_ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>EStructural Features</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE__ESTRUCTURAL_FEATURES = EcorePackage.ECLASS__ESTRUCTURAL_FEATURES;
-
-	/**
-	 * The number of structural features of the the '<em>Java Data Type</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_DATA_TYPE_FEATURE_COUNT = EcorePackage.ECLASS_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__EANNOTATIONS = JAVA_CLASS__EANNOTATIONS;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__NAME = JAVA_CLASS__NAME;
-	/**
-	 * The feature id for the '<em><b>Instance Class Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__INSTANCE_CLASS_NAME = JAVA_CLASS__INSTANCE_CLASS_NAME;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__INSTANCE_CLASS = JAVA_CLASS__INSTANCE_CLASS;
-	/**
-	 * The feature id for the '<em><b>Default Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__DEFAULT_VALUE = JAVA_CLASS__DEFAULT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>EPackage</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__EPACKAGE = JAVA_CLASS__EPACKAGE;
-
-	/**
-	 * The feature id for the '<em><b>Abstract</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__ABSTRACT = JAVA_CLASS__ABSTRACT;
-
-	/**
-	 * The feature id for the '<em><b>Interface</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__INTERFACE = JAVA_CLASS__INTERFACE;
-
-	/**
-	 * The feature id for the '<em><b>ESuper Types</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__ESUPER_TYPES = JAVA_CLASS__ESUPER_TYPES;
-
-	/**
-	 * The feature id for the '<em><b>EOperations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__EOPERATIONS = JAVA_CLASS__EOPERATIONS;
-
-	/**
-	 * The feature id for the '<em><b>EAll Attributes</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__EALL_ATTRIBUTES = JAVA_CLASS__EALL_ATTRIBUTES;
-
-	/**
-	 * The feature id for the '<em><b>EAll References</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__EALL_REFERENCES = JAVA_CLASS__EALL_REFERENCES;
-
-	/**
-	 * The feature id for the '<em><b>EReferences</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__EREFERENCES = JAVA_CLASS__EREFERENCES;
-
-	/**
-	 * The feature id for the '<em><b>EAttributes</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__EATTRIBUTES = JAVA_CLASS__EATTRIBUTES;
-
-	/**
-	 * The feature id for the '<em><b>EAll Containments</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__EALL_CONTAINMENTS = JAVA_CLASS__EALL_CONTAINMENTS;
-
-	/**
-	 * The feature id for the '<em><b>EAll Operations</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__EALL_OPERATIONS = JAVA_CLASS__EALL_OPERATIONS;
-
-	/**
-	 * The feature id for the '<em><b>EAll Structural Features</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__EALL_STRUCTURAL_FEATURES = JAVA_CLASS__EALL_STRUCTURAL_FEATURES;
-
-	/**
-	 * The feature id for the '<em><b>EAll Super Types</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__EALL_SUPER_TYPES = JAVA_CLASS__EALL_SUPER_TYPES;
-
-	/**
-	 * The feature id for the '<em><b>EID Attribute</b></em>' reference.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-  int ARRAY_TYPE__EID_ATTRIBUTE = JAVA_CLASS__EID_ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>EStructural Features</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__ESTRUCTURAL_FEATURES = JAVA_CLASS__ESTRUCTURAL_FEATURES;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__KIND = JAVA_CLASS__KIND;
-	/**
-	 * The feature id for the '<em><b>Public</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__PUBLIC = JAVA_CLASS__PUBLIC;
-
-	/**
-	 * The feature id for the '<em><b>Final</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE__FINAL = JAVA_CLASS__FINAL;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__IMPLEMENTS_INTERFACES = JAVA_CLASS__IMPLEMENTS_INTERFACES;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__CLASS_IMPORT = JAVA_CLASS__CLASS_IMPORT;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__PACKAGE_IMPORTS = JAVA_CLASS__PACKAGE_IMPORTS;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__FIELDS = JAVA_CLASS__FIELDS;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__METHODS = JAVA_CLASS__METHODS;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__INITIALIZERS = JAVA_CLASS__INITIALIZERS;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__DECLARED_CLASSES = JAVA_CLASS__DECLARED_CLASSES;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__DECLARING_CLASS = JAVA_CLASS__DECLARING_CLASS;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__JAVA_PACKAGE = JAVA_CLASS__JAVA_PACKAGE;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__EVENTS = JAVA_CLASS__EVENTS;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__ALL_EVENTS = JAVA_CLASS__ALL_EVENTS;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__ARRAY_DIMENSIONS = JAVA_CLASS_FEATURE_COUNT + 0;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int ARRAY_TYPE__COMPONENT_TYPE = JAVA_CLASS_FEATURE_COUNT + 1;
-	/**
-	 * The number of structural features of the the '<em>Array Type</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARRAY_TYPE_FEATURE_COUNT = JAVA_CLASS_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__EANNOTATIONS = EcorePackage.ESTRUCTURAL_FEATURE__EANNOTATIONS;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_EVENT__NAME = EcorePackage.ESTRUCTURAL_FEATURE__NAME;
-	/**
-	 * The feature id for the '<em><b>Ordered</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__ORDERED = EcorePackage.ESTRUCTURAL_FEATURE__ORDERED;
-
-	/**
-	 * The feature id for the '<em><b>Unique</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__UNIQUE = EcorePackage.ESTRUCTURAL_FEATURE__UNIQUE;
-
-	/**
-	 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__LOWER_BOUND = EcorePackage.ESTRUCTURAL_FEATURE__LOWER_BOUND;
-
-	/**
-	 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__UPPER_BOUND = EcorePackage.ESTRUCTURAL_FEATURE__UPPER_BOUND;
-
-	/**
-	 * The feature id for the '<em><b>Many</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__MANY = EcorePackage.ESTRUCTURAL_FEATURE__MANY;
-
-	/**
-	 * The feature id for the '<em><b>Required</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__REQUIRED = EcorePackage.ESTRUCTURAL_FEATURE__REQUIRED;
-
-	/**
-	 * The feature id for the '<em><b>EType</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__ETYPE = EcorePackage.ESTRUCTURAL_FEATURE__ETYPE;
-
-	/**
-	 * The feature id for the '<em><b>Changeable</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__CHANGEABLE = EcorePackage.ESTRUCTURAL_FEATURE__CHANGEABLE;
-
-	/**
-	 * The feature id for the '<em><b>Volatile</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__VOLATILE = EcorePackage.ESTRUCTURAL_FEATURE__VOLATILE;
-
-	/**
-	 * The feature id for the '<em><b>Transient</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__TRANSIENT = EcorePackage.ESTRUCTURAL_FEATURE__TRANSIENT;
-
-	/**
-	 * The feature id for the '<em><b>Default Value Literal</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__DEFAULT_VALUE_LITERAL = EcorePackage.ESTRUCTURAL_FEATURE__DEFAULT_VALUE_LITERAL;
-
-	/**
-	 * The feature id for the '<em><b>Default Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__DEFAULT_VALUE = EcorePackage.ESTRUCTURAL_FEATURE__DEFAULT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Unsettable</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__UNSETTABLE = EcorePackage.ESTRUCTURAL_FEATURE__UNSETTABLE;
-
-	/**
-	 * The feature id for the '<em><b>Derived</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__DERIVED = EcorePackage.ESTRUCTURAL_FEATURE__DERIVED;
-
-	/**
-	 * The feature id for the '<em><b>EContaining Class</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT__ECONTAINING_CLASS = EcorePackage.ESTRUCTURAL_FEATURE__ECONTAINING_CLASS;
-
-	/**
-	 * The number of structural features of the the '<em>Java Event</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EVENT_FEATURE_COUNT = EcorePackage.ESTRUCTURAL_FEATURE_FEATURE_COUNT + 0;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_VISIBILITY_KIND = 13;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int JAVA_PARAMETER_KIND = 14;
-	/**
-	 * The meta object id for the '<em>JType Java Helpers</em>' data type.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jem.java.JavaHelpers
-	 * @see org.eclipse.jem.java.impl.JavaRefPackageImpl#getJTypeJavaHelpers()
-	 * @generated
-	 */
-	int JTYPE_JAVA_HELPERS = 15;
-
-	/**
-	 * The meta object id for the '<em>JType List</em>' data type.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see java.util.List
-	 * @see org.eclipse.jem.java.impl.JavaRefPackageImpl#getJTypeList()
-	 * @generated
-	 */
-	int JTYPE_LIST = 16;
-
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	int TYPE_KIND = 12;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	String eNS_URI = "java.xmi";
-	/**
-	 * The package namespace name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_PREFIX = "org.eclipse.jem.internal.java";
-
-	/**
-	 * The singleton instance of the package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	JavaRefPackage eINSTANCE = org.eclipse.jem.java.impl.JavaRefPackageImpl.init();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return JavaClass object
-	 */
-	EClass getJavaClass();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EAttribute getJavaClass_Kind();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.java.JavaClass#isPublic <em>Public</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Public</em>'.
-	 * @see org.eclipse.jem.java.JavaClass#isPublic()
-	 * @see #getJavaClass()
-	 * @generated
-	 */
-	EAttribute getJavaClass_Public();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.java.JavaClass#isFinal <em>Final</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Final</em>'.
-	 * @see org.eclipse.jem.java.JavaClass#isFinal()
-	 * @see #getJavaClass()
-	 * @generated
-	 */
-	EAttribute getJavaClass_Final();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getJavaClass_ImplementsInterfaces();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getJavaClass_ClassImport();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getJavaClass_PackageImports();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getJavaClass_Fields();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getJavaClass_Methods();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getJavaClass_Initializers();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getJavaClass_DeclaringClass();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getJavaClass_DeclaredClasses();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getJavaClass_JavaPackage();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getJavaClass_Events();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getJavaClass_AllEvents();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return Field object
-	 */
-	EClass getField();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Field#isFinal <em>Final</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Final</em>'.
-	 * @see org.eclipse.jem.java.Field#isFinal()
-	 * @see #getField()
-	 * @generated
-	 */
-	EAttribute getField_Final();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Field#isStatic <em>Static</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Static</em>'.
-	 * @see org.eclipse.jem.java.Field#isStatic()
-	 * @see #getField()
-	 * @generated
-	 */
-	EAttribute getField_Static();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EAttribute getField_JavaVisibility();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Field#isTransient <em>Transient</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Transient</em>'.
-	 * @see org.eclipse.jem.java.Field#isTransient()
-	 * @see #getField()
-	 * @generated
-	 */
-	EAttribute getField_Transient();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Field#isVolatile <em>Volatile</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Volatile</em>'.
-	 * @see org.eclipse.jem.java.Field#isVolatile()
-	 * @see #getField()
-	 * @generated
-	 */
-	EAttribute getField_Volatile();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getField_JavaClass();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getField_Initializer();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return Method object
-	 */
-	EClass getMethod();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Method#isAbstract <em>Abstract</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Abstract</em>'.
-	 * @see org.eclipse.jem.java.Method#isAbstract()
-	 * @see #getMethod()
-	 * @generated
-	 */
-	EAttribute getMethod_Abstract();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Method#isNative <em>Native</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Native</em>'.
-	 * @see org.eclipse.jem.java.Method#isNative()
-	 * @see #getMethod()
-	 * @generated
-	 */
-	EAttribute getMethod_Native();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Method#isSynchronized <em>Synchronized</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Synchronized</em>'.
-	 * @see org.eclipse.jem.java.Method#isSynchronized()
-	 * @see #getMethod()
-	 * @generated
-	 */
-	EAttribute getMethod_Synchronized();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Method#isFinal <em>Final</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Final</em>'.
-	 * @see org.eclipse.jem.java.Method#isFinal()
-	 * @see #getMethod()
-	 * @generated
-	 */
-	EAttribute getMethod_Final();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Method#isConstructor <em>Constructor</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Constructor</em>'.
-	 * @see org.eclipse.jem.java.Method#isConstructor()
-	 * @see #getMethod()
-	 * @generated
-	 */
-	EAttribute getMethod_Constructor();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.java.Method#isStatic <em>Static</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Static</em>'.
-	 * @see org.eclipse.jem.java.Method#isStatic()
-	 * @see #getMethod()
-	 * @generated
-	 */
-	EAttribute getMethod_Static();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EAttribute getMethod_JavaVisibility();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getMethod_Parameters();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getMethod_JavaExceptions();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getMethod_JavaClass();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getMethod_Source();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return JavaParameter object
-	 */
-	EClass getJavaParameter();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jem.java.JavaParameter#isFinal <em>Final</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Final</em>'.
-	 * @see org.eclipse.jem.java.JavaParameter#isFinal()
-	 * @see #getJavaParameter()
-	 * @generated
-	 */
-	EAttribute getJavaParameter_Final();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EAttribute getJavaParameter_ParameterKind();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return ArrayType object
-	 */
-	EClass getArrayType();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EAttribute getArrayType_ArrayDimensions();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getArrayType_ComponentType();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return JavaDataType object
-	 */
-	EClass getJavaDataType();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return JavaEvent object
-	 */
-	EClass getJavaEvent();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return JavaPackage object
-	 */
-	EClass getJavaPackage();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getJavaPackage_JavaClasses();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return Block object
-	 */
-	EClass getBlock();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EAttribute getBlock_Source();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EAttribute getBlock_Name();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getBlock_Contents();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return Comment object
-	 */
-	EClass getComment();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return Statement object
-	 */
-	EClass getStatement();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return Initializer object
-	 */
-	EClass getInitializer();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EAttribute getInitializer_IsStatic();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getInitializer_JavaClass();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	EReference getInitializer_Source();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return JavaVisibilityKind object
-	 */
-	EEnum getJavaVisibilityKind();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return JavaParameterKind object
-	 */
-	EEnum getJavaParameterKind();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return TypeKind object
-	 */
-	EEnum getTypeKind();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return JTypeList object
-	 */
-	EDataType getJTypeList();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return JTypeJavaHelpers object
-	 */
-	EDataType getJTypeJavaHelpers();
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	JavaRefFactory getJavaRefFactory();
-
-} //JavaRefPackage
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaURL.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaURL.java
deleted file mode 100644
index 38e4613..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaURL.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.eclipse.jem.java;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaURL.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/13 16:16:21 $ 
- */
-
-
-public class JavaURL extends org.eclipse.jem.java.impl.URL {
-	public static final String JAVA_PROTOCOL_URI_PREFIX = "java:/";
-	/**
-	 * JavaURL constructor comment.
-	 * @param urlString java.lang.String
-	 */
-	public JavaURL(String urlString) {
-		super(urlString);
-	}
-	/**
-	 * JavaURL constructor comment.
-	 * @param nameSpaceName java.lang.String
-	 * @param iD java.lang.String
-	 */
-	public JavaURL(String nameSpaceName, String iD) {
-		super(null, null);
-		initializeNamespaceString(nameSpaceName);
-		this.ID = iD;
-	}
-	public String getClassName() {
-		return ID;
-	}
-	/**
-	 * This method was created in VisualAge.
-	 * @return java.lang.String
-	 */
-	public String getFullString() {
-		StringBuffer buf = new StringBuffer();
-		if (namespaceName != null) {
-			buf.append(namespaceName);
-			if (ID != null)
-				buf.append("#");
-		}
-		if (ID != null)
-			buf.append(ID);
-		return buf.toString();
-	}
-	public String getPackageName() {
-		String internalName = namespaceName.substring(JAVA_PROTOCOL_URI_PREFIX.length(), namespaceName.length());
-		return JavaPackage.PRIMITIVE_PACKAGE_NAME.equals(internalName) ? "" : internalName;
-	}
-	/* If we don't have a # sign to delimit the start of the java package us the inherited behavior
-	 */
-	public void initializeFromString(String url) {
-		if (url.indexOf("#") != -1)
-			super.initializeFromString(url);
-		else {
-			int endOfPackageName = url.lastIndexOf('.');
-			if (endOfPackageName == -1)
-				initializeNamespaceString(null);
-			else
-				initializeNamespaceString(url.substring(0, endOfPackageName));
-			ID = url.substring(endOfPackageName + 1);
-		}
-
-	}
-	/* 
-	 */
-	public void initializeNamespaceString(String aNamespaceName) {
-		if (aNamespaceName == null)
-			namespaceName = JAVA_PROTOCOL_URI_PREFIX;
-		else
-			namespaceName = JAVA_PROTOCOL_URI_PREFIX + aNamespaceName;
-	}
-	public static boolean isJavaURL(String aUrlString) {
-		if (aUrlString == null)
-			return false;
-		return aUrlString.startsWith(JAVA_PROTOCOL_URI_PREFIX);
-	}
-
-	public String toString() {
-		return "URL(" + getFullString() + ")";
-	}
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaVisibilityKind.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaVisibilityKind.java
deleted file mode 100644
index d52cfa1..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/JavaVisibilityKind.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package org.eclipse.jem.java;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaVisibilityKind.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:25:08 $ 
- */
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Java Visibility Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * PACKAGE=1
- * PUBLIC=2
- * PRIVATE=3
- * PROTECTED=4
- * <!-- end-model-doc -->
- * @see org.eclipse.jem.java.JavaRefPackage#getJavaVisibilityKind()
- * @model
- * @generated
- */
-public final class JavaVisibilityKind extends AbstractEnumerator
-{
-	/**
-	 * The '<em><b>PUBLIC</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @see #PUBLIC_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-  public static final int PUBLIC = 0;
-
-	/**
-	 * The '<em><b>PRIVATE</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @see #PRIVATE_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-  public static final int PRIVATE = 1;
-
-	/**
-	 * The '<em><b>PROTECTED</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @see #PROTECTED_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-  public static final int PROTECTED = 2;
-
-	/**
-	 * The '<em><b>PACKAGE</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @see #PACKAGE_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-  public static final int PACKAGE = 3;
-
-	/**
-	 * The '<em><b>PUBLIC</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>PUBLIC</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-	 * @see #PUBLIC
-	 * @generated
-	 * @ordered
-	 */
-  public static final JavaVisibilityKind PUBLIC_LITERAL = new JavaVisibilityKind(PUBLIC, "PUBLIC");
-
-	/**
-	 * The '<em><b>PRIVATE</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>PRIVATE</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-	 * @see #PRIVATE
-	 * @generated
-	 * @ordered
-	 */
-  public static final JavaVisibilityKind PRIVATE_LITERAL = new JavaVisibilityKind(PRIVATE, "PRIVATE");
-
-	/**
-	 * The '<em><b>PROTECTED</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>PROTECTED</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-	 * @see #PROTECTED
-	 * @generated
-	 * @ordered
-	 */
-  public static final JavaVisibilityKind PROTECTED_LITERAL = new JavaVisibilityKind(PROTECTED, "PROTECTED");
-
-	/**
-	 * The '<em><b>PACKAGE</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>PACKAGE</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-	 * @see #PACKAGE
-	 * @generated
-	 * @ordered
-	 */
-  public static final JavaVisibilityKind PACKAGE_LITERAL = new JavaVisibilityKind(PACKAGE, "PACKAGE");
-
-	/**
-	 * An array of all the '<em><b>Java Visibility Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  private static final JavaVisibilityKind[] VALUES_ARRAY =
-		new JavaVisibilityKind[] {
-			PUBLIC_LITERAL,
-			PRIVATE_LITERAL,
-			PROTECTED_LITERAL,
-			PACKAGE_LITERAL,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>Java Visibility Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>Java Visibility Kind</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public static JavaVisibilityKind get(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			JavaVisibilityKind result = VALUES_ARRAY[i];
-			if (result.toString().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Java Visibility Kind</b></em>' literal with the specified value.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public static JavaVisibilityKind get(int value) {
-		switch (value) {
-			case PUBLIC: return PUBLIC_LITERAL;
-			case PRIVATE: return PRIVATE_LITERAL;
-			case PROTECTED: return PROTECTED_LITERAL;
-			case PACKAGE: return PACKAGE_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  private JavaVisibilityKind(int value, String name) {
-		super(value, name);
-	}
-
-} //JavaVisibilityKind
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Method.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Method.java
deleted file mode 100644
index e1cfa76..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Method.java
+++ /dev/null
@@ -1,279 +0,0 @@
-package org.eclipse.jem.java;
-
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Method.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/14 00:16:44 $ 
- */
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EOperation;
-
-/**
- * @generated
- */
-public interface Method extends EOperation{
-
-	public static final String GENERATED_COMMENT_TAG = "@generated";
-	/**
-	 * Lists all the parameters, excluding the return type
-	 */ 
-	public JavaParameter[] listParametersWithoutReturn();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the IsAbstract attribute
-	 */
-	boolean isAbstract();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Method#isAbstract <em>Abstract</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Abstract</em>' attribute.
-	 * @see #isAbstract()
-	 * @generated
-	 */
-	void setAbstract(boolean value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the IsNative attribute
-	 */
-	boolean isNative();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Method#isNative <em>Native</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Native</em>' attribute.
-	 * @see #isNative()
-	 * @generated
-	 */
-	void setNative(boolean value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the IsSynchronized attribute
-	 */
-	boolean isSynchronized();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Method#isSynchronized <em>Synchronized</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Synchronized</em>' attribute.
-	 * @see #isSynchronized()
-	 * @generated
-	 */
-	void setSynchronized(boolean value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the IsFinal attribute
-	 */
-	boolean isFinal();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Method#isFinal <em>Final</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Final</em>' attribute.
-	 * @see #isFinal()
-	 * @generated
-	 */
-	void setFinal(boolean value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the IsConstructor attribute
-	 */
-	boolean isConstructor();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Method#isConstructor <em>Constructor</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Constructor</em>' attribute.
-	 * @see #isConstructor()
-	 * @generated
-	 */
-	void setConstructor(boolean value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the IsStatic attribute
-	 */
-	boolean isStatic();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Method#isStatic <em>Static</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Static</em>' attribute.
-	 * @see #isStatic()
-	 * @generated
-	 */
-	void setStatic(boolean value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The value of the JavaVisibility attribute
-	 */
-	JavaVisibilityKind getJavaVisibility();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Method#getJavaVisibility <em>Java Visibility</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Java Visibility</em>' attribute.
-	 * @see org.eclipse.jem.java.JavaVisibilityKind
-	 * @see #getJavaVisibility()
-	 * @generated
-	 */
-	void setJavaVisibility(JavaVisibilityKind value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The list of Parameters references
-	 */
-	EList getParameters();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The list of JavaExceptions references
-	 */
-	EList getJavaExceptions();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The JavaClass reference
-	 */
-	JavaClass getJavaClass();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Method#getJavaClass <em>Java Class</em>}' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Java Class</em>' container reference.
-	 * @see #getJavaClass()
-	 * @generated
-	 */
-	void setJavaClass(JavaClass value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * @return The Source reference
-	 */
-	Block getSource();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jem.java.Method#getSource <em>Source</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Source</em>' reference.
-	 * @see #getSource()
-	 * @generated
-	 */
-	void setSource(Block value);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Return the java class that this method is defined in.
-	 */
-	JavaClass getContainingJavaClass();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Return a String with the the method name and its parameters. e.g. <code>
-	 * setFirstName(java.lang.String) <//code> .
-	 *  
-	 */
-	String getMethodElementSignature();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Return a Parameter with the passed name, or null.
-	 */
-	JavaParameter getParameter(String parameterName);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Get the return type.
-	 */
-	JavaHelpers getReturnType();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Set the return type
-	 * <!-- end-model-doc -->
-	 * @model parameters="org.eclipse.jem.java.JTypeJavaHelpers"
-	 * @generated
-	 */
-	void setReturnType(JavaHelpers type);
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Replicate the functionality of java.lang.reflect.Method.toString().
-	 * 
-	 * Returns a string describing this Method.  The string is formatted as the method 
-	 * access modifiers, if any, followed by the method return type, followed by a
-	 * space, followed by the class declaring the method, followed by a period,
-	 * followed by the method name, followed by a parenthesized, comma-separated list
-	 * of the method's formal parameter types. If the method throws checked
-	 * exceptions, the parameter list is followed by a space, followed by the word
-	 * throws followed by a comma-separated list of the thrown exception types.
-	 * 
-	 * For example:
-	 * 
-	 *     public boolean java.lang.Object.equals(java.lang.Object)
-	 * 
-	 * The access modifiers are placed in canonical order as specified by "The Java
-	 * Language Specification".  This is public, <tt>protected<//tt> or
-	 * <tt>private<//tt> first, and then other modifiers in the following order:
-	 * <tt>abstract<//tt>, <tt>static<//tt>, <tt>final<//tt>, <tt>synchronized<//tt>
-	 * <tt>native<//tt>.
-
-	 */
-	String getSignature();
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 * Returns true if the method is system generated.
-	 * This is usually determined by the @generated tag in the comment.
-	 */
-	boolean isGenerated();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * Set the isGenerated flag.
-	 * <!-- end-model-doc -->
-	 * @model 
-	 * @generated
-	 */
-	void setIsGenerated(boolean generated);
-
-    /**
-	 * @generated This field/method will be replaced during code generation 
-	 * Is this a void return type method.
-	 */
-	boolean isVoid();
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Statement.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Statement.java
deleted file mode 100644
index 52b4137..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/Statement.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: Statement.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:28 $ 
- */
-package org.eclipse.jem.java;
-
-/**
- * @generated
- */
-public interface Statement extends Block {
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/TypeKind.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/TypeKind.java
deleted file mode 100644
index 8386035..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/TypeKind.java
+++ /dev/null
@@ -1,200 +0,0 @@
-package org.eclipse.jem.java;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: TypeKind.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:25:08 $ 
- */
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Type Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * UNDEFINED=1 CLASS=2 INTERFACE=3 EXCEPTION=4
- * <!-- end-model-doc -->
- * @see org.eclipse.jem.java.JavaRefPackage#getTypeKind()
- * @model
- * @generated
- */
-public final class TypeKind extends AbstractEnumerator
-{
-	/**
-	 * The '<em><b>UNDEFINED</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @see #UNDEFINED_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-  public static final int UNDEFINED = 0;
-
-	/**
-	 * The '<em><b>CLASS</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @see #CLASS_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-  public static final int CLASS = 1;
-
-	/**
-	 * The '<em><b>INTERFACE</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @see #INTERFACE_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-  public static final int INTERFACE = 2;
-
-	/**
-	 * The '<em><b>EXCEPTION</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @see #EXCEPTION_LITERAL
-	 * @model 
-	 * @generated
-	 * @ordered
-	 */
-  public static final int EXCEPTION = 3;
-
-	/**
-	 * The '<em><b>UNDEFINED</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>UNDEFINED</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-	 * @see #UNDEFINED
-	 * @generated
-	 * @ordered
-	 */
-  public static final TypeKind UNDEFINED_LITERAL = new TypeKind(UNDEFINED, "UNDEFINED");
-
-	/**
-	 * The '<em><b>CLASS</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>CLASS</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-	 * @see #CLASS
-	 * @generated
-	 * @ordered
-	 */
-  public static final TypeKind CLASS_LITERAL = new TypeKind(CLASS, "CLASS");
-
-	/**
-	 * The '<em><b>INTERFACE</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>INTERFACE</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-	 * @see #INTERFACE
-	 * @generated
-	 * @ordered
-	 */
-  public static final TypeKind INTERFACE_LITERAL = new TypeKind(INTERFACE, "INTERFACE");
-
-	/**
-	 * The '<em><b>EXCEPTION</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>EXCEPTION</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-	 * @see #EXCEPTION
-	 * @generated
-	 * @ordered
-	 */
-  public static final TypeKind EXCEPTION_LITERAL = new TypeKind(EXCEPTION, "EXCEPTION");
-
-	/**
-	 * An array of all the '<em><b>Type Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  private static final TypeKind[] VALUES_ARRAY =
-		new TypeKind[] {
-			UNDEFINED_LITERAL,
-			CLASS_LITERAL,
-			INTERFACE_LITERAL,
-			EXCEPTION_LITERAL,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>Type Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>Type Kind</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public static TypeKind get(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			TypeKind result = VALUES_ARRAY[i];
-			if (result.toString().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Type Kind</b></em>' literal with the specified value.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public static TypeKind get(int value) {
-		switch (value) {
-			case UNDEFINED: return UNDEFINED_LITERAL;
-			case CLASS: return CLASS_LITERAL;
-			case INTERFACE: return INTERFACE_LITERAL;
-			case EXCEPTION: return EXCEPTION_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  private TypeKind(int value, String name) {
-		super(value, name);
-	}
-
-} //TypeKind
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/ArrayTypeImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/ArrayTypeImpl.java
deleted file mode 100644
index d19b4e4..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/ArrayTypeImpl.java
+++ /dev/null
@@ -1,667 +0,0 @@
-package org.eclipse.jem.java.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: ArrayTypeImpl.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/13 21:12:07 $ 
- */
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.java.ArrayType;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.TypeKind;
-
-/**
- * Describes a Java Array type
- *    For multi-dimensional arrays, it is unlikely that the component type will be
- *    specified directly.  This would require instantiating a chain of component types
- *    such as String[][][][]->String[][][]->String[][]->String[]->String.
- * 
- *   The component type relationship will be computed if the finalComponentType
- *   and array dimensions is specified.
- *  
- *   For this reason, the preferred way to create is through the JavaRefFactory factory method:
- *        createArrayType(JavaClass finalComponentType, int dimensions)
- */
-public class ArrayTypeImpl extends JavaClassImpl implements ArrayType, JavaClass{
-
-	/**
-	 * The default value of the '{@link #getArrayDimensions() <em>Array Dimensions</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getArrayDimensions()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int ARRAY_DIMENSIONS_EDEFAULT = 0;
-
-	
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	protected int arrayDimensions = ARRAY_DIMENSIONS_EDEFAULT;
-	/**
-	 * The cached value of the '{@link #getComponentType() <em>Component Type</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getComponentType()
-	 * @generated
-	 * @ordered
-	 */
-	protected EClassifier componentType = null;
-
-	protected ArrayTypeImpl() {
-		super();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JavaRefPackage.eINSTANCE.getArrayType();
-	}
-
-	/**
-	 * Compute the component type for this array type from our type name.
-	 * The component type of this array type is essentially: new ArrayTypeImpl(finalComponentType, arrayDimensions-1)
-	 * unless our array dimension is 1, in which case it is only our final component type.
-	 *
-	 * In order to ensure a unique instance, we will resolve this type using reflection.
-	 * "java.lang.String[][]" component type is "java.lang.String[]"
-	 *
-	 */
-	public JavaHelpers computeComponentType() {
-		String componentName = getQualifiedName();
-		// Strip the last [] form my name to get my component type's name
-		componentName = componentName.substring(0, componentName.length() - 2);
-		return JavaRefFactory.eINSTANCE.reflectType(componentName, this);
-	}
-/**
-	 * Override to perform some lazy initialization
-	 */
-	public EClassifier getComponentType() {
-		// If we do not have a component type set, but we have a name (which contains our component type name)
-		// we can compute the component type.
-		if ((this.getComponentTypeGen() == null) && (this.getName() != null)) {
-			componentType = (EClassifier) computeComponentType();
-		}
-		return componentType;
-	}
-	/**
-	 * Get the component type of this array. 
-	 * 
-	 * If this is a multi-dimensional array, the component type will be the nested array type.
-	 */
-	public JavaHelpers getComponentTypeAsHelper() {
-		EClassifier componentClassifier = getComponentType();
-		return (JavaHelpers) componentClassifier;
-	}
-	/**
-	 * Get the final component type for this Array Type.
-	 * 
-	 * In order to ensure a unique instance, we will resolve this type using reflection. It turns out to be most efficient to just do this by trimming the name.
-	 */
-	public JavaHelpers getFinalComponentType() {
-		String componentName = getQualifiedName();
-		// Strip all the [] from my name to get my FINAL component type's name
-		componentName = componentName.substring(0, componentName.indexOf("["));
-		return JavaRefFactory.eINSTANCE.reflectType(componentName, this);
-	}
-	/**
-	 * (JavaHelpers)isArray - ArrayTypes are arrays
-	 * Override from JavaClass.
-	 */    
-	public boolean isArray() {
-		return true;
-	}
-/**
- * Does this type exist.
- */
-public boolean isExistingType() {
-	JavaHelpers component = getComponentTypeAsHelper();
-	if (component != null) {
-		if (component.isPrimitive())
-			return true;
-		else
-			return ((JavaClass) component).isExistingType();
-	} else
-		return false;
-}
-	/**
-	 * Is this an array of java primitives
-	 */
-	public boolean isPrimitiveArray() {
-		return getFinalComponentType().isPrimitive();
-	}
-	/**
-	 * Set the component type.
-	 */
-	public void setComponentType(JavaHelpers helperComponentType) {
-		setComponentType((EClassifier) helperComponentType);		
-	}
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public int getArrayDimensions() {
-		return arrayDimensions;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void setArrayDimensions(int newArrayDimensions) {
-		int oldArrayDimensions = arrayDimensions;
-		arrayDimensions = newArrayDimensions;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.ARRAY_TYPE__ARRAY_DIMENSIONS, oldArrayDimensions, arrayDimensions));
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.ARRAY_TYPE__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case JavaRefPackage.ARRAY_TYPE__INSTANCE_CLASS_NAME:
-				return INSTANCE_CLASS_NAME_EDEFAULT == null ? instanceClassName != null : !INSTANCE_CLASS_NAME_EDEFAULT.equals(instanceClassName);
-			case JavaRefPackage.ARRAY_TYPE__INSTANCE_CLASS:
-				return getInstanceClass() != null;
-			case JavaRefPackage.ARRAY_TYPE__DEFAULT_VALUE:
-				return getDefaultValue() != null;
-			case JavaRefPackage.ARRAY_TYPE__EPACKAGE:
-				return getEPackage() != null;
-			case JavaRefPackage.ARRAY_TYPE__ABSTRACT:
-				return abstract_ != ABSTRACT_EDEFAULT;
-			case JavaRefPackage.ARRAY_TYPE__INTERFACE:
-				return interface_ != INTERFACE_EDEFAULT;
-			case JavaRefPackage.ARRAY_TYPE__ESUPER_TYPES:
-				return eSuperTypes != null && !eSuperTypes.isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__EOPERATIONS:
-				return eOperations != null && !eOperations.isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__EALL_ATTRIBUTES:
-				return !getEAllAttributes().isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__EALL_REFERENCES:
-				return !getEAllReferences().isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__EREFERENCES:
-				return !getEReferences().isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__EATTRIBUTES:
-				return !getEAttributes().isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__EALL_CONTAINMENTS:
-				return !getEAllContainments().isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__EALL_OPERATIONS:
-				return !getEAllOperations().isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__EALL_STRUCTURAL_FEATURES:
-				return !getEAllStructuralFeatures().isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__EALL_SUPER_TYPES:
-				return !getEAllSuperTypes().isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__EID_ATTRIBUTE:
-				return getEIDAttribute() != null;
-			case JavaRefPackage.ARRAY_TYPE__ESTRUCTURAL_FEATURES:
-				return eStructuralFeatures != null && !eStructuralFeatures.isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__KIND:
-				return kind != KIND_EDEFAULT;
-			case JavaRefPackage.ARRAY_TYPE__PUBLIC:
-				return public_ != PUBLIC_EDEFAULT;
-			case JavaRefPackage.ARRAY_TYPE__FINAL:
-				return final_ != FINAL_EDEFAULT;
-			case JavaRefPackage.ARRAY_TYPE__IMPLEMENTS_INTERFACES:
-				return implementsInterfaces != null && !implementsInterfaces.isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__CLASS_IMPORT:
-				return classImport != null && !classImport.isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__PACKAGE_IMPORTS:
-				return packageImports != null && !packageImports.isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__FIELDS:
-				return fields != null && !fields.isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__METHODS:
-				return methods != null && !methods.isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__INITIALIZERS:
-				return initializers != null && !initializers.isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__DECLARED_CLASSES:
-				return declaredClasses != null && !declaredClasses.isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__DECLARING_CLASS:
-				return declaringClass != null;
-			case JavaRefPackage.ARRAY_TYPE__JAVA_PACKAGE:
-				return basicGetJavaPackage() != null;
-			case JavaRefPackage.ARRAY_TYPE__EVENTS:
-				return events != null && !events.isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__ALL_EVENTS:
-				return !getAllEvents().isEmpty();
-			case JavaRefPackage.ARRAY_TYPE__ARRAY_DIMENSIONS:
-				return arrayDimensions != ARRAY_DIMENSIONS_EDEFAULT;
-			case JavaRefPackage.ARRAY_TYPE__COMPONENT_TYPE:
-				return componentType != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.ARRAY_TYPE__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__NAME:
-				setName((String)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__INSTANCE_CLASS_NAME:
-				setInstanceClassName((String)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__ABSTRACT:
-				setAbstract(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.ARRAY_TYPE__INTERFACE:
-				setInterface(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.ARRAY_TYPE__ESUPER_TYPES:
-				getESuperTypes().clear();
-				getESuperTypes().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__EOPERATIONS:
-				getEOperations().clear();
-				getEOperations().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__ESTRUCTURAL_FEATURES:
-				getEStructuralFeatures().clear();
-				getEStructuralFeatures().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__KIND:
-				setKind((TypeKind)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__PUBLIC:
-				setPublic(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.ARRAY_TYPE__FINAL:
-				setFinal(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.ARRAY_TYPE__IMPLEMENTS_INTERFACES:
-				getImplementsInterfaces().clear();
-				getImplementsInterfaces().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__CLASS_IMPORT:
-				getClassImport().clear();
-				getClassImport().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__PACKAGE_IMPORTS:
-				getPackageImports().clear();
-				getPackageImports().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__FIELDS:
-				getFields().clear();
-				getFields().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__METHODS:
-				getMethods().clear();
-				getMethods().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__INITIALIZERS:
-				getInitializers().clear();
-				getInitializers().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__DECLARED_CLASSES:
-				getDeclaredClasses().clear();
-				getDeclaredClasses().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__DECLARING_CLASS:
-				setDeclaringClass((JavaClass)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__EVENTS:
-				getEvents().clear();
-				getEvents().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__ALL_EVENTS:
-				getAllEvents().clear();
-				getAllEvents().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__ARRAY_DIMENSIONS:
-				setArrayDimensions(((Integer)newValue).intValue());
-				return;
-			case JavaRefPackage.ARRAY_TYPE__COMPONENT_TYPE:
-				setComponentType((EClassifier)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.ARRAY_TYPE__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case JavaRefPackage.ARRAY_TYPE__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__INSTANCE_CLASS_NAME:
-				setInstanceClassName(INSTANCE_CLASS_NAME_EDEFAULT);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__ABSTRACT:
-				setAbstract(ABSTRACT_EDEFAULT);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__INTERFACE:
-				setInterface(INTERFACE_EDEFAULT);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__ESUPER_TYPES:
-				getESuperTypes().clear();
-				return;
-			case JavaRefPackage.ARRAY_TYPE__EOPERATIONS:
-				getEOperations().clear();
-				return;
-			case JavaRefPackage.ARRAY_TYPE__ESTRUCTURAL_FEATURES:
-				getEStructuralFeatures().clear();
-				return;
-			case JavaRefPackage.ARRAY_TYPE__KIND:
-				setKind(KIND_EDEFAULT);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__PUBLIC:
-				setPublic(PUBLIC_EDEFAULT);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__FINAL:
-				setFinal(FINAL_EDEFAULT);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__IMPLEMENTS_INTERFACES:
-				getImplementsInterfaces().clear();
-				return;
-			case JavaRefPackage.ARRAY_TYPE__CLASS_IMPORT:
-				getClassImport().clear();
-				return;
-			case JavaRefPackage.ARRAY_TYPE__PACKAGE_IMPORTS:
-				getPackageImports().clear();
-				return;
-			case JavaRefPackage.ARRAY_TYPE__FIELDS:
-				getFields().clear();
-				return;
-			case JavaRefPackage.ARRAY_TYPE__METHODS:
-				getMethods().clear();
-				return;
-			case JavaRefPackage.ARRAY_TYPE__INITIALIZERS:
-				getInitializers().clear();
-				return;
-			case JavaRefPackage.ARRAY_TYPE__DECLARED_CLASSES:
-				getDeclaredClasses().clear();
-				return;
-			case JavaRefPackage.ARRAY_TYPE__DECLARING_CLASS:
-				setDeclaringClass((JavaClass)null);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__EVENTS:
-				getEvents().clear();
-				return;
-			case JavaRefPackage.ARRAY_TYPE__ALL_EVENTS:
-				getAllEvents().clear();
-				return;
-			case JavaRefPackage.ARRAY_TYPE__ARRAY_DIMENSIONS:
-				setArrayDimensions(ARRAY_DIMENSIONS_EDEFAULT);
-				return;
-			case JavaRefPackage.ARRAY_TYPE__COMPONENT_TYPE:
-				setComponentType((EClassifier)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (arrayDimensions: ");
-		result.append(arrayDimensions);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public EClassifier getComponentTypeGen() {
-		if (componentType != null && componentType.eIsProxy()) {
-			EClassifier oldComponentType = componentType;
-			componentType = (EClassifier)eResolveProxy((InternalEObject)componentType);
-			if (componentType != oldComponentType) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, JavaRefPackage.ARRAY_TYPE__COMPONENT_TYPE, oldComponentType, componentType));
-			}
-		}
-		return componentType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClassifier basicGetComponentType() {
-		return componentType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setComponentType(EClassifier newComponentType) {
-		EClassifier oldComponentType = componentType;
-		componentType = newComponentType;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.ARRAY_TYPE__COMPONENT_TYPE, oldComponentType, componentType));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.ARRAY_TYPE__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.ARRAY_TYPE__EPACKAGE:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, JavaRefPackage.ARRAY_TYPE__EPACKAGE, msgs);
-				case JavaRefPackage.ARRAY_TYPE__EOPERATIONS:
-					return ((InternalEList)getEOperations()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.ARRAY_TYPE__ESTRUCTURAL_FEATURES:
-					return ((InternalEList)getEStructuralFeatures()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.ARRAY_TYPE__FIELDS:
-					return ((InternalEList)getFields()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.ARRAY_TYPE__METHODS:
-					return ((InternalEList)getMethods()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.ARRAY_TYPE__INITIALIZERS:
-					return ((InternalEList)getInitializers()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.ARRAY_TYPE__DECLARED_CLASSES:
-					return ((InternalEList)getDeclaredClasses()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.ARRAY_TYPE__DECLARING_CLASS:
-					if (declaringClass != null)
-						msgs = ((InternalEObject)declaringClass).eInverseRemove(this, JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES, JavaClass.class, msgs);
-					return basicSetDeclaringClass((JavaClass)otherEnd, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.ARRAY_TYPE__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.ARRAY_TYPE__EPACKAGE:
-					return eBasicSetContainer(null, JavaRefPackage.ARRAY_TYPE__EPACKAGE, msgs);
-				case JavaRefPackage.ARRAY_TYPE__EOPERATIONS:
-					return ((InternalEList)getEOperations()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.ARRAY_TYPE__ESTRUCTURAL_FEATURES:
-					return ((InternalEList)getEStructuralFeatures()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.ARRAY_TYPE__FIELDS:
-					return ((InternalEList)getFields()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.ARRAY_TYPE__METHODS:
-					return ((InternalEList)getMethods()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.ARRAY_TYPE__INITIALIZERS:
-					return ((InternalEList)getInitializers()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.ARRAY_TYPE__DECLARED_CLASSES:
-					return ((InternalEList)getDeclaredClasses()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.ARRAY_TYPE__DECLARING_CLASS:
-					return basicSetDeclaringClass(null, msgs);
-				case JavaRefPackage.ARRAY_TYPE__EVENTS:
-					return ((InternalEList)getEvents()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case JavaRefPackage.ARRAY_TYPE__EPACKAGE:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EPACKAGE__ECLASSIFIERS, EPackage.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.ARRAY_TYPE__EANNOTATIONS:
-				return getEAnnotations();
-			case JavaRefPackage.ARRAY_TYPE__NAME:
-				return getName();
-			case JavaRefPackage.ARRAY_TYPE__INSTANCE_CLASS_NAME:
-				return getInstanceClassName();
-			case JavaRefPackage.ARRAY_TYPE__INSTANCE_CLASS:
-				return getInstanceClass();
-			case JavaRefPackage.ARRAY_TYPE__DEFAULT_VALUE:
-				return getDefaultValue();
-			case JavaRefPackage.ARRAY_TYPE__EPACKAGE:
-				return getEPackage();
-			case JavaRefPackage.ARRAY_TYPE__ABSTRACT:
-				return isAbstract() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.ARRAY_TYPE__INTERFACE:
-				return isInterface() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.ARRAY_TYPE__ESUPER_TYPES:
-				return getESuperTypes();
-			case JavaRefPackage.ARRAY_TYPE__EOPERATIONS:
-				return getEOperations();
-			case JavaRefPackage.ARRAY_TYPE__EALL_ATTRIBUTES:
-				return getEAllAttributes();
-			case JavaRefPackage.ARRAY_TYPE__EALL_REFERENCES:
-				return getEAllReferences();
-			case JavaRefPackage.ARRAY_TYPE__EREFERENCES:
-				return getEReferences();
-			case JavaRefPackage.ARRAY_TYPE__EATTRIBUTES:
-				return getEAttributes();
-			case JavaRefPackage.ARRAY_TYPE__EALL_CONTAINMENTS:
-				return getEAllContainments();
-			case JavaRefPackage.ARRAY_TYPE__EALL_OPERATIONS:
-				return getEAllOperations();
-			case JavaRefPackage.ARRAY_TYPE__EALL_STRUCTURAL_FEATURES:
-				return getEAllStructuralFeatures();
-			case JavaRefPackage.ARRAY_TYPE__EALL_SUPER_TYPES:
-				return getEAllSuperTypes();
-			case JavaRefPackage.ARRAY_TYPE__EID_ATTRIBUTE:
-				return getEIDAttribute();
-			case JavaRefPackage.ARRAY_TYPE__ESTRUCTURAL_FEATURES:
-				return getEStructuralFeatures();
-			case JavaRefPackage.ARRAY_TYPE__KIND:
-				return getKind();
-			case JavaRefPackage.ARRAY_TYPE__PUBLIC:
-				return isPublic() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.ARRAY_TYPE__FINAL:
-				return isFinal() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.ARRAY_TYPE__IMPLEMENTS_INTERFACES:
-				return getImplementsInterfaces();
-			case JavaRefPackage.ARRAY_TYPE__CLASS_IMPORT:
-				return getClassImport();
-			case JavaRefPackage.ARRAY_TYPE__PACKAGE_IMPORTS:
-				return getPackageImports();
-			case JavaRefPackage.ARRAY_TYPE__FIELDS:
-				return getFields();
-			case JavaRefPackage.ARRAY_TYPE__METHODS:
-				return getMethods();
-			case JavaRefPackage.ARRAY_TYPE__INITIALIZERS:
-				return getInitializers();
-			case JavaRefPackage.ARRAY_TYPE__DECLARED_CLASSES:
-				return getDeclaredClasses();
-			case JavaRefPackage.ARRAY_TYPE__DECLARING_CLASS:
-				if (resolve) return getDeclaringClass();
-				return basicGetDeclaringClass();
-			case JavaRefPackage.ARRAY_TYPE__JAVA_PACKAGE:
-				if (resolve) return getJavaPackage();
-				return basicGetJavaPackage();
-			case JavaRefPackage.ARRAY_TYPE__EVENTS:
-				return getEvents();
-			case JavaRefPackage.ARRAY_TYPE__ALL_EVENTS:
-				return getAllEvents();
-			case JavaRefPackage.ARRAY_TYPE__ARRAY_DIMENSIONS:
-				return new Integer(getArrayDimensions());
-			case JavaRefPackage.ARRAY_TYPE__COMPONENT_TYPE:
-				if (resolve) return getComponentType();
-				return basicGetComponentType();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/BlockImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/BlockImpl.java
deleted file mode 100644
index 557e331..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/BlockImpl.java
+++ /dev/null
@@ -1,243 +0,0 @@
-package org.eclipse.jem.java.impl;
-
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: BlockImpl.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:25:08 $ 
- */
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.Block;
-import org.eclipse.jem.java.JavaRefPackage;
-
-/**
- * @generated
- */
-public class BlockImpl extends EObjectImpl implements Block{
-
-	/**
-	 * The default value of the '{@link #getSource() <em>Source</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getSource()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String SOURCE_EDEFAULT = null;
-
-	
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	protected String source = SOURCE_EDEFAULT;
-	/**
-	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String NAME_EDEFAULT = null;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	protected String name = NAME_EDEFAULT;
-	/**
-	 * The cached value of the '{@link #getContents() <em>Contents</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getContents()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList contents = null;
-
-	protected BlockImpl() {
-		super();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JavaRefPackage.eINSTANCE.getBlock();
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public String getSource() {
-		return source;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void setSource(String newSource) {
-		String oldSource = source;
-		source = newSource;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.BLOCK__SOURCE, oldSource, source));
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void setName(String newName) {
-		String oldName = name;
-		name = newName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.BLOCK__NAME, oldName, name));
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public EList getContents() {
-		if (contents == null) {
-			contents = new EObjectContainmentEList(Block.class, this, JavaRefPackage.BLOCK__CONTENTS);
-		}
-		return contents;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.BLOCK__CONTENTS:
-					return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.BLOCK__SOURCE:
-				return getSource();
-			case JavaRefPackage.BLOCK__NAME:
-				return getName();
-			case JavaRefPackage.BLOCK__CONTENTS:
-				return getContents();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.BLOCK__SOURCE:
-				return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
-			case JavaRefPackage.BLOCK__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case JavaRefPackage.BLOCK__CONTENTS:
-				return contents != null && !contents.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.BLOCK__SOURCE:
-				setSource((String)newValue);
-				return;
-			case JavaRefPackage.BLOCK__NAME:
-				setName((String)newValue);
-				return;
-			case JavaRefPackage.BLOCK__CONTENTS:
-				getContents().clear();
-				getContents().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.BLOCK__SOURCE:
-				setSource(SOURCE_EDEFAULT);
-				return;
-			case JavaRefPackage.BLOCK__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case JavaRefPackage.BLOCK__CONTENTS:
-				getContents().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (source: ");
-		result.append(source);
-		result.append(", name: ");
-		result.append(name);
-		result.append(')');
-		return result.toString();
-	}
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/CommentImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/CommentImpl.java
deleted file mode 100644
index e6ad768..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/CommentImpl.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package org.eclipse.jem.java.impl;
-
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: CommentImpl.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:25:08 $ 
- */
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.Comment;
-import org.eclipse.jem.java.JavaRefPackage;
-/**
- * @generated
- */
-public class CommentImpl extends BlockImpl implements Comment{
-
-	
-	protected CommentImpl() {
-		super();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JavaRefPackage.eINSTANCE.getComment();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.COMMENT__CONTENTS:
-					return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.COMMENT__SOURCE:
-				return getSource();
-			case JavaRefPackage.COMMENT__NAME:
-				return getName();
-			case JavaRefPackage.COMMENT__CONTENTS:
-				return getContents();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.COMMENT__SOURCE:
-				setSource((String)newValue);
-				return;
-			case JavaRefPackage.COMMENT__NAME:
-				setName((String)newValue);
-				return;
-			case JavaRefPackage.COMMENT__CONTENTS:
-				getContents().clear();
-				getContents().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.COMMENT__SOURCE:
-				setSource(SOURCE_EDEFAULT);
-				return;
-			case JavaRefPackage.COMMENT__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case JavaRefPackage.COMMENT__CONTENTS:
-				getContents().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.COMMENT__SOURCE:
-				return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
-			case JavaRefPackage.COMMENT__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case JavaRefPackage.COMMENT__CONTENTS:
-				return contents != null && !contents.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/FieldImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/FieldImpl.java
deleted file mode 100644
index 0f94128..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/FieldImpl.java
+++ /dev/null
@@ -1,706 +0,0 @@
-package org.eclipse.jem.java.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: FieldImpl.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/14 00:16:44 $ 
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.ETypedElementImpl;
-
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.Block;
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.JavaURL;
-import org.eclipse.jem.java.JavaVisibilityKind;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-
-/**
- * @generated
- */
-public class FieldImpl extends ETypedElementImpl implements Field{
-
-	/**
-	 * The default value of the '{@link #isFinal() <em>Final</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isFinal()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean FINAL_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isFinal() <em>Final</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isFinal()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean final_ = FINAL_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #isStatic() <em>Static</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isStatic()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean STATIC_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isStatic() <em>Static</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isStatic()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean static_ = STATIC_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getJavaVisibility() <em>Java Visibility</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getJavaVisibility()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final JavaVisibilityKind JAVA_VISIBILITY_EDEFAULT = JavaVisibilityKind.PUBLIC_LITERAL;
-
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	protected JavaVisibilityKind javaVisibility = JAVA_VISIBILITY_EDEFAULT;
-	/**
-	 * The default value of the '{@link #isTransient() <em>Transient</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isTransient()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean TRANSIENT_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isTransient() <em>Transient</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isTransient()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean transient_ = TRANSIENT_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #isVolatile() <em>Volatile</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isVolatile()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean VOLATILE_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isVolatile() <em>Volatile</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isVolatile()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean volatile_ = VOLATILE_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getInitializer() <em>Initializer</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getInitializer()
-	 * @generated
-	 * @ordered
-	 */
-	protected Block initializer = null;
-
-	protected FieldImpl() {
-		super();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JavaRefPackage.eINSTANCE.getField();
-	}
-
-	/**
-	 * createFieldRef - return a JavaURL reference to the named field in the named Java class
-	 * 		in the form "package.class_field"
-	 */
-  public static Field createFieldRef(String className, String fieldName) {
-    Field ref = JavaRefFactoryImpl.getActiveFactory().createField();
-    JavaURL javaurl = new JavaURL(className + "/" + fieldName);
-    ((InternalEObject) ref).eSetProxyURI(URI.createURI(javaurl.getFullString()));
-    return ref;    
-  }
-	/**
-	 * Get the class that this field is within.
-	 */
-	public JavaClass getContainingJavaClass() {
-		return (JavaClass) this.getJavaClass();
-	}
-	/**
-	 * Overrides to perform lazy initializations/reflection.
-	 */
-	public EClassifier getEType() {
-    if (!hasReflected) reflectValues();
-    return super.getEType();
-  }
-  public Block getInitializer() {
-    if (!hasReflected) reflectValues();
-    return getInitializerGen();
-  }
-  public boolean isFinal() {
-    if (!hasReflected) reflectValues();
-    return isFinalGen();
-  }
-  public boolean isStatic() {
-    if (!hasReflected) reflectValues();
-    return isStaticGen();
-  }
-	public JavaHelpers getJavaType() {
-		return (JavaHelpers)getEType();
-	}
- public JavaVisibilityKind getJavaVisibility() {
-    if (!hasReflected) reflectValues();
-    return getJavaVisibilityGen();
-  }
-protected ReadAdaptor getReadAdaptor() {
-    return (ReadAdaptor)EcoreUtil.getRegisteredAdapter(this, ReadAdaptor.TYPE_KEY);
-  }
-
-//FB   protected Object getReadAdaptorValue(EObject attribute) {
-//FB     if (getReadAdaptor() != null)
-//FB       return readAdaptor.getValueIn(this, attribute);
-//FB     return null;
-//FB   }
-
-//FB BEGIN
-  protected boolean hasReflected = false;
-
-  protected void reflectValues()
-  {
-    ReadAdaptor readAdaptor = getReadAdaptor();
-    if (readAdaptor != null) hasReflected = readAdaptor.reflectValuesIfNecessary();
-  }
-
-	/**
-	 * Is this field an array type.
-	 */
-	public boolean isArray() {
-		return getJavaType().isArray();
-	}
-
-	/**
-	 * Overridden to prevent the reflection of the class.
-	 */
-  public EList eContents() {
-    EList results = new BasicEList();
-//FB  
-//FB    EList containments = eClass().getEAllContainments();
-//FB    if (containments != null) {
-//FB      Iterator i = containments.iterator();
-//FB      while (i.hasNext()) {
-//FB        EStructuralFeature sf = (EStructuralFeature) i.next();
-//FB        //Change from super to primRefValue
-//FB        Object value = primRefValue(sf);
-//FB        //EndChange
-//FB        if (value != null)
-//FB          if (sf.isMany())
-//FB            results.addAll((Collection) value);
-//FB          else
-//FB            results.add(value);
-//FB      }
-//FB    }
-    if (getInitializerGen() != null) results.add(getInitializerGen()); //FB
-    return results;
-  }
-
-	public String toString() {
-		return getClass().getName() + " " + "(" + getName() + ")";
-	}
-	/**
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public JavaVisibilityKind getJavaVisibilityGen() {
-		return javaVisibility;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public boolean isFinalGen() {
-		return final_;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setFinal(boolean newFinal) {
-		boolean oldFinal = final_;
-		final_ = newFinal;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__FINAL, oldFinal, final_));
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public boolean isStaticGen() {
-		return static_;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setStatic(boolean newStatic) {
-		boolean oldStatic = static_;
-		static_ = newStatic;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__STATIC, oldStatic, static_));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setJavaVisibility(JavaVisibilityKind newJavaVisibility) {
-		JavaVisibilityKind oldJavaVisibility = javaVisibility;
-		javaVisibility = newJavaVisibility == null ? JAVA_VISIBILITY_EDEFAULT : newJavaVisibility;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__JAVA_VISIBILITY, oldJavaVisibility, javaVisibility));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isTransient() {
-		return transient_;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setTransient(boolean newTransient) {
-		boolean oldTransient = transient_;
-		transient_ = newTransient;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__TRANSIENT, oldTransient, transient_));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isVolatile() {
-		return volatile_;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setVolatile(boolean newVolatile) {
-		boolean oldVolatile = volatile_;
-		volatile_ = newVolatile;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__VOLATILE, oldVolatile, volatile_));
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public JavaClass getJavaClass() {
-		if (eContainerFeatureID != JavaRefPackage.FIELD__JAVA_CLASS) return null;
-		return (JavaClass)eContainer;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setJavaClass(JavaClass newJavaClass) {
-		if (newJavaClass != eContainer || (eContainerFeatureID != JavaRefPackage.FIELD__JAVA_CLASS && newJavaClass != null)) {
-			if (EcoreUtil.isAncestor(this, newJavaClass))
-				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
-			NotificationChain msgs = null;
-			if (eContainer != null)
-				msgs = eBasicRemoveFromContainer(msgs);
-			if (newJavaClass != null)
-				msgs = ((InternalEObject)newJavaClass).eInverseAdd(this, JavaRefPackage.JAVA_CLASS__FIELDS, JavaClass.class, msgs);
-			msgs = eBasicSetContainer((InternalEObject)newJavaClass, JavaRefPackage.FIELD__JAVA_CLASS, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__JAVA_CLASS, newJavaClass, newJavaClass));
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.FIELD__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case JavaRefPackage.FIELD__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case JavaRefPackage.FIELD__ORDERED:
-				return ordered != ORDERED_EDEFAULT;
-			case JavaRefPackage.FIELD__UNIQUE:
-				return unique != UNIQUE_EDEFAULT;
-			case JavaRefPackage.FIELD__LOWER_BOUND:
-				return lowerBound != LOWER_BOUND_EDEFAULT;
-			case JavaRefPackage.FIELD__UPPER_BOUND:
-				return upperBound != UPPER_BOUND_EDEFAULT;
-			case JavaRefPackage.FIELD__MANY:
-				return isMany() != false;
-			case JavaRefPackage.FIELD__REQUIRED:
-				return isRequired() != false;
-			case JavaRefPackage.FIELD__ETYPE:
-				return eType != null;
-			case JavaRefPackage.FIELD__FINAL:
-				return final_ != FINAL_EDEFAULT;
-			case JavaRefPackage.FIELD__STATIC:
-				return static_ != STATIC_EDEFAULT;
-			case JavaRefPackage.FIELD__JAVA_VISIBILITY:
-				return javaVisibility != JAVA_VISIBILITY_EDEFAULT;
-			case JavaRefPackage.FIELD__TRANSIENT:
-				return transient_ != TRANSIENT_EDEFAULT;
-			case JavaRefPackage.FIELD__VOLATILE:
-				return volatile_ != VOLATILE_EDEFAULT;
-			case JavaRefPackage.FIELD__JAVA_CLASS:
-				return getJavaClass() != null;
-			case JavaRefPackage.FIELD__INITIALIZER:
-				return initializer != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.FIELD__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.FIELD__NAME:
-				setName((String)newValue);
-				return;
-			case JavaRefPackage.FIELD__ORDERED:
-				setOrdered(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.FIELD__UNIQUE:
-				setUnique(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.FIELD__LOWER_BOUND:
-				setLowerBound(((Integer)newValue).intValue());
-				return;
-			case JavaRefPackage.FIELD__UPPER_BOUND:
-				setUpperBound(((Integer)newValue).intValue());
-				return;
-			case JavaRefPackage.FIELD__ETYPE:
-				setEType((EClassifier)newValue);
-				return;
-			case JavaRefPackage.FIELD__FINAL:
-				setFinal(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.FIELD__STATIC:
-				setStatic(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.FIELD__JAVA_VISIBILITY:
-				setJavaVisibility((JavaVisibilityKind)newValue);
-				return;
-			case JavaRefPackage.FIELD__TRANSIENT:
-				setTransient(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.FIELD__VOLATILE:
-				setVolatile(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.FIELD__JAVA_CLASS:
-				setJavaClass((JavaClass)newValue);
-				return;
-			case JavaRefPackage.FIELD__INITIALIZER:
-				setInitializer((Block)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.FIELD__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case JavaRefPackage.FIELD__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case JavaRefPackage.FIELD__ORDERED:
-				setOrdered(ORDERED_EDEFAULT);
-				return;
-			case JavaRefPackage.FIELD__UNIQUE:
-				setUnique(UNIQUE_EDEFAULT);
-				return;
-			case JavaRefPackage.FIELD__LOWER_BOUND:
-				setLowerBound(LOWER_BOUND_EDEFAULT);
-				return;
-			case JavaRefPackage.FIELD__UPPER_BOUND:
-				setUpperBound(UPPER_BOUND_EDEFAULT);
-				return;
-			case JavaRefPackage.FIELD__ETYPE:
-				setEType((EClassifier)null);
-				return;
-			case JavaRefPackage.FIELD__FINAL:
-				setFinal(FINAL_EDEFAULT);
-				return;
-			case JavaRefPackage.FIELD__STATIC:
-				setStatic(STATIC_EDEFAULT);
-				return;
-			case JavaRefPackage.FIELD__JAVA_VISIBILITY:
-				setJavaVisibility(JAVA_VISIBILITY_EDEFAULT);
-				return;
-			case JavaRefPackage.FIELD__TRANSIENT:
-				setTransient(TRANSIENT_EDEFAULT);
-				return;
-			case JavaRefPackage.FIELD__VOLATILE:
-				setVolatile(VOLATILE_EDEFAULT);
-				return;
-			case JavaRefPackage.FIELD__JAVA_CLASS:
-				setJavaClass((JavaClass)null);
-				return;
-			case JavaRefPackage.FIELD__INITIALIZER:
-				setInitializer((Block)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public Block getInitializerGen() {
-		return initializer;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetInitializer(Block newInitializer, NotificationChain msgs) {
-		Block oldInitializer = initializer;
-		initializer = newInitializer;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__INITIALIZER, oldInitializer, newInitializer);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setInitializer(Block newInitializer) {
-		if (newInitializer != initializer) {
-			NotificationChain msgs = null;
-			if (initializer != null)
-				msgs = ((InternalEObject)initializer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - JavaRefPackage.FIELD__INITIALIZER, null, msgs);
-			if (newInitializer != null)
-				msgs = ((InternalEObject)newInitializer).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - JavaRefPackage.FIELD__INITIALIZER, null, msgs);
-			msgs = basicSetInitializer(newInitializer, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.FIELD__INITIALIZER, newInitializer, newInitializer));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.FIELD__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.FIELD__JAVA_CLASS:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, JavaRefPackage.FIELD__JAVA_CLASS, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.FIELD__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.FIELD__JAVA_CLASS:
-					return eBasicSetContainer(null, JavaRefPackage.FIELD__JAVA_CLASS, msgs);
-				case JavaRefPackage.FIELD__INITIALIZER:
-					return basicSetInitializer(null, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case JavaRefPackage.FIELD__JAVA_CLASS:
-					return ((InternalEObject)eContainer).eInverseRemove(this, JavaRefPackage.JAVA_CLASS__FIELDS, JavaClass.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.FIELD__EANNOTATIONS:
-				return getEAnnotations();
-			case JavaRefPackage.FIELD__NAME:
-				return getName();
-			case JavaRefPackage.FIELD__ORDERED:
-				return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.FIELD__UNIQUE:
-				return isUnique() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.FIELD__LOWER_BOUND:
-				return new Integer(getLowerBound());
-			case JavaRefPackage.FIELD__UPPER_BOUND:
-				return new Integer(getUpperBound());
-			case JavaRefPackage.FIELD__MANY:
-				return isMany() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.FIELD__REQUIRED:
-				return isRequired() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.FIELD__ETYPE:
-				if (resolve) return getEType();
-				return basicGetEType();
-			case JavaRefPackage.FIELD__FINAL:
-				return isFinal() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.FIELD__STATIC:
-				return isStatic() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.FIELD__JAVA_VISIBILITY:
-				return getJavaVisibility();
-			case JavaRefPackage.FIELD__TRANSIENT:
-				return isTransient() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.FIELD__VOLATILE:
-				return isVolatile() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.FIELD__JAVA_CLASS:
-				return getJavaClass();
-			case JavaRefPackage.FIELD__INITIALIZER:
-				return getInitializer();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public String toStringGen() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (final: ");
-		result.append(final_);
-		result.append(", static: ");
-		result.append(static_);
-		result.append(", javaVisibility: ");
-		result.append(javaVisibility);
-		result.append(", transient: ");
-		result.append(transient_);
-		result.append(", volatile: ");
-		result.append(volatile_);
-		result.append(')');
-		return result.toString();
-	}
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/InitializerImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/InitializerImpl.java
deleted file mode 100644
index 2a9b812..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/InitializerImpl.java
+++ /dev/null
@@ -1,297 +0,0 @@
-package org.eclipse.jem.java.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: InitializerImpl.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:25:08 $ 
- */
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.jem.java.Block;
-import org.eclipse.jem.java.Initializer;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaRefPackage;
-/**
- * @generated
- */
-public class InitializerImpl extends EObjectImpl implements Initializer{
-
-	/**
-	 * The default value of the '{@link #getIsStatic() <em>Is Static</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getIsStatic()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final Boolean IS_STATIC_EDEFAULT = null;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	protected Boolean isStatic = IS_STATIC_EDEFAULT;
-	/**
-	 * The cached value of the '{@link #getSource() <em>Source</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getSource()
-	 * @generated
-	 * @ordered
-	 */
-	protected Block source = null;
-
-	protected InitializerImpl() {
-		super();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JavaRefPackage.eINSTANCE.getInitializer();
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public Boolean getIsStatic() {
-		return isStatic;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void setIsStatic(Boolean newIsStatic) {
-		Boolean oldIsStatic = isStatic;
-		isStatic = newIsStatic;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.INITIALIZER__IS_STATIC, oldIsStatic, isStatic));
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public JavaClass getJavaClass() {
-		if (eContainerFeatureID != JavaRefPackage.INITIALIZER__JAVA_CLASS) return null;
-		return (JavaClass)eContainer;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setJavaClass(JavaClass newJavaClass) {
-		if (newJavaClass != eContainer || (eContainerFeatureID != JavaRefPackage.INITIALIZER__JAVA_CLASS && newJavaClass != null)) {
-			if (EcoreUtil.isAncestor(this, newJavaClass))
-				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
-			NotificationChain msgs = null;
-			if (eContainer != null)
-				msgs = eBasicRemoveFromContainer(msgs);
-			if (newJavaClass != null)
-				msgs = ((InternalEObject)newJavaClass).eInverseAdd(this, JavaRefPackage.JAVA_CLASS__INITIALIZERS, JavaClass.class, msgs);
-			msgs = eBasicSetContainer((InternalEObject)newJavaClass, JavaRefPackage.INITIALIZER__JAVA_CLASS, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.INITIALIZER__JAVA_CLASS, newJavaClass, newJavaClass));
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public Block getSource() {
-		if (source != null && source.eIsProxy()) {
-			Block oldSource = source;
-			source = (Block)eResolveProxy((InternalEObject)source);
-			if (source != oldSource) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, JavaRefPackage.INITIALIZER__SOURCE, oldSource, source));
-			}
-		}
-		return source;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Block basicGetSource() {
-		return source;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setSource(Block newSource) {
-		Block oldSource = source;
-		source = newSource;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.INITIALIZER__SOURCE, oldSource, source));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.INITIALIZER__JAVA_CLASS:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, JavaRefPackage.INITIALIZER__JAVA_CLASS, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.INITIALIZER__JAVA_CLASS:
-					return eBasicSetContainer(null, JavaRefPackage.INITIALIZER__JAVA_CLASS, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case JavaRefPackage.INITIALIZER__JAVA_CLASS:
-					return ((InternalEObject)eContainer).eInverseRemove(this, JavaRefPackage.JAVA_CLASS__INITIALIZERS, JavaClass.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.INITIALIZER__IS_STATIC:
-				return getIsStatic();
-			case JavaRefPackage.INITIALIZER__JAVA_CLASS:
-				return getJavaClass();
-			case JavaRefPackage.INITIALIZER__SOURCE:
-				if (resolve) return getSource();
-				return basicGetSource();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.INITIALIZER__IS_STATIC:
-				return IS_STATIC_EDEFAULT == null ? isStatic != null : !IS_STATIC_EDEFAULT.equals(isStatic);
-			case JavaRefPackage.INITIALIZER__JAVA_CLASS:
-				return getJavaClass() != null;
-			case JavaRefPackage.INITIALIZER__SOURCE:
-				return source != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.INITIALIZER__IS_STATIC:
-				setIsStatic((Boolean)newValue);
-				return;
-			case JavaRefPackage.INITIALIZER__JAVA_CLASS:
-				setJavaClass((JavaClass)newValue);
-				return;
-			case JavaRefPackage.INITIALIZER__SOURCE:
-				setSource((Block)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.INITIALIZER__IS_STATIC:
-				setIsStatic(IS_STATIC_EDEFAULT);
-				return;
-			case JavaRefPackage.INITIALIZER__JAVA_CLASS:
-				setJavaClass((JavaClass)null);
-				return;
-			case JavaRefPackage.INITIALIZER__SOURCE:
-				setSource((Block)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (isStatic: ");
-		result.append(isStatic);
-		result.append(')');
-		return result.toString();
-	}
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaClassImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaClassImpl.java
deleted file mode 100644
index db91a3a..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaClassImpl.java
+++ /dev/null
@@ -1,1777 +0,0 @@
-package org.eclipse.jem.java.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaClassImpl.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/13 21:12:07 $ 
- */
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.ECollections;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EClassImpl;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.ESuperAdapter;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
-import org.eclipse.emf.ecore.util.EObjectResolvingEList;
-import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.InheritanceCycleException;
-import org.eclipse.jem.java.Initializer;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaDataType;
-import org.eclipse.jem.java.JavaEvent;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaPackage;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.JavaURL;
-import org.eclipse.jem.java.JavaVisibilityKind;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.java.TypeKind;
-import org.eclipse.jem.internal.java.adapters.InternalReadAdaptable;
-import org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-import org.eclipse.jem.internal.java.beaninfo.IIntrospectionAdapter;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationInstance;
-/**
- * <!-- begin-user-doc -->
- * @implements InternalReadAdaptable
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getKind <em>Kind</em>}</li>
- *   <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#isPublic <em>Public</em>}</li>
- *   <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#isFinal <em>Final</em>}</li>
- *   <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getImplementsInterfaces <em>Implements Interfaces</em>}</li>
- *   <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getClassImport <em>Class Import</em>}</li>
- *   <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getPackageImports <em>Package Imports</em>}</li>
- *   <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getFields <em>Fields</em>}</li>
- *   <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getMethods <em>Methods</em>}</li>
- *   <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getInitializers <em>Initializers</em>}</li>
- *   <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getDeclaredClasses <em>Declared Classes</em>}</li>
- *   <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getDeclaringClass <em>Declaring Class</em>}</li>
- *   <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getJavaPackage <em>Java Package</em>}</li>
- *   <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getEvents <em>Events</em>}</li>
- *   <li>{@link org.eclipse.jem.java.impl.JavaClassImpl#getAllEvents <em>All Events</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class JavaClassImpl extends EClassImpl implements JavaClass, InternalReadAdaptable {
-	/**
-	 * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @see #getKind()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final TypeKind KIND_EDEFAULT = TypeKind.UNDEFINED_LITERAL;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	protected TypeKind kind = KIND_EDEFAULT;
-	/**
-	 * The default value of the '{@link #isPublic() <em>Public</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isPublic()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean PUBLIC_EDEFAULT = false;
-	/**
-	 * The cached value of the '{@link #isPublic() <em>Public</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isPublic()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean public_ = PUBLIC_EDEFAULT;
-	/**
-	 * The default value of the '{@link #isFinal() <em>Final</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isFinal()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean FINAL_EDEFAULT = false;
-	/**
-	 * The cached value of the '{@link #isFinal() <em>Final</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isFinal()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean final_ = FINAL_EDEFAULT;
-	/**
-	 * The cached value of the '{@link #getImplementsInterfaces() <em>Implements Interfaces</em>}' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getImplementsInterfaces()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList implementsInterfaces = null;
-
-	/**
-	 * The cached value of the '{@link #getClassImport() <em>Class Import</em>}' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getClassImport()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList classImport = null;
-
-	/**
-	 * The cached value of the '{@link #getPackageImports() <em>Package Imports</em>}' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPackageImports()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList packageImports = null;
-
-	/**
-	 * The cached value of the '{@link #getFields() <em>Fields</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFields()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList fields = null;
-
-	/**
-	 * The cached value of the '{@link #getMethods() <em>Methods</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMethods()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList methods = null;
-
-	/**
-	 * The cached value of the '{@link #getInitializers() <em>Initializers</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getInitializers()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList initializers = null;
-
-	/**
-	 * The cached value of the '{@link #getDeclaredClasses() <em>Declared Classes</em>}' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDeclaredClasses()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList declaredClasses = null;
-
-	/**
-	 * The cached value of the '{@link #getDeclaringClass() <em>Declaring Class</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDeclaringClass()
-	 * @generated
-	 * @ordered
-	 */
-	protected JavaClass declaringClass = null;
-
-	/**
-	 * The cached value of the '{@link #getEvents() <em>Events</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getEvents()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList events = null;
-
-	protected JavaClassImpl() {
-		super();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JavaRefPackage.eINSTANCE.getJavaClass();
-	}
-
-	/**
-	 * Protected helper methods.
-	 */
-	protected void collectFieldsExtended(List fields) {
-		fields.addAll(getFields());
-		Iterator it;
-		it = getExtendedLookupIterator();
-		while (it.hasNext())
-			 ((JavaClassImpl) it.next()).collectFieldsExtended(fields);
-	}
-	protected void collectMethodsExtended(Map methods, boolean onlyPublic, List excludedClasses, List excludedMethods) {
-		Iterator it1, it2;
-		it2 = getExtendedLookupIterator();
-		JavaClassImpl javaClass;
-		while (it2.hasNext()) {
-			javaClass = (JavaClassImpl) it2.next();
-			if (!excludedClasses.contains(javaClass))
-				javaClass.collectMethodsExtended(methods, onlyPublic, excludedClasses, excludedMethods);
-		}
-		it1 = onlyPublic ? getPublicMethods().iterator() : getMethods().iterator();
-		Method nextMethod;
-		while (it1.hasNext()) {
-			nextMethod = (Method) it1.next();
-			if (!excludedMethods.contains(nextMethod))
-				methods.put(nextMethod.getMethodElementSignature(), nextMethod);
-		}
-	}
-	/**
-	 * createClassRef - return a JavaURL reference to the named Java class
-	 * @deprecated
-	 * @see org.eclipse.jem.java.JavaRefFactory#createClassRef(java.lang.String)
-	 */
-	public static JavaClass createClassRef(String targetName) {
-		return JavaRefFactory.eINSTANCE.createClassRef(targetName);
-	}
-
-	/**
-	 * Get the method of this name and these parameters. It will look up the supertype hierarchy.
-	 */
-	protected Method findClassMethodExtended(String methodName, List parameterTypes) {
-		Method method = getMethod(methodName, parameterTypes);
-		if (method != null)
-			return method;
-		else {
-			JavaClassImpl mySuper;
-			mySuper = (JavaClassImpl) getSupertype();
-			if (mySuper != null)
-				return mySuper.findClassMethodExtended(methodName, parameterTypes);
-		}
-		return null;
-	}
-	/**
-	 * Get the method of this name and these parameters. It will look up the supertype hierarchy.
-	 */
-	protected Method findInterfaceMethodExtended(String methodName, List parameterTypes) {
-		Method method = getMethod(methodName, parameterTypes);
-		if (method != null)
-			return method;
-		else {
-			JavaClassImpl superInterface;
-			List list = getImplementsInterfaces();
-			for (int i = 0; i < list.size(); i++) {
-				superInterface = (JavaClassImpl) list.get(i);
-				method = superInterface.findInterfaceMethodExtended(methodName, parameterTypes);
-				if (method != null)
-					return method;
-			}
-		}
-		return null;
-	}
-	
-	public EList getAllSupertypes() {
-		getESuperTypes(); //Force reflection, if needed, before getting all supertypes.
-		return super.getEAllSuperTypes();
-	}
-	/**
-	 * Overrides to perform reflection if necessary
-	 */
-	public EList getClassImport() {
-		if (!hasReflected)
-			reflectValues();
-		return getClassImportGen();
-	}
-		
-	/**
-	 * MOF41, attribute, reference are changed to volatile
-	 * Because of this we need to re-implement it here to do the
-	 * merge within the introspection adapter instead.
-	 * The merge done in EClassImpl and above doesn't
-	 * necessarily do what we need.
-	 */
-	public EList getEAllOperations() {
-		IIntrospectionAdapter ia = getIntrospectionAdapter();
-		if (ia == null)
-			return super.getEAllOperations(); // No introspection, do normal.
-		ESuperAdapter a = getESuperAdapter();
-		if (eAllOperations == null || a.isAllOperationsCollectionModified())
-			eAllOperations = ia.getEAllOperations();
-		return eAllOperations;
-	}
-		
-	public EList getEOperations() {
-		IIntrospectionAdapter adapter = getIntrospectionAdapter();
-		if (adapter != null)
-			return adapter.getEOperations();
-		return super.getEOperations();
-	}
-	
-	public EList getEOperationsGen() {
-		// An internal method for returning actual wo fluffing up.
-		return super.getEOperations();
-	}
-
-	
-	public EList getEAnnotations() {
-		IIntrospectionAdapter adapter = getIntrospectionAdapter();
-		if (adapter != null)
-			adapter.introspectIfNecessary(); // To cause introspection so the appropriate decorator is added.
-		return super.getEAnnotations();
-	}
-
-	public EList getEStructuralFeatures() {
-		IIntrospectionAdapter adapter = getIntrospectionAdapter();
-		if (adapter != null)
-			return adapter.getEStructuralFeatures();
-		return super.getEStructuralFeatures();
-	}
-	
-	public EList getEStructuralFeaturesGen() {
-		// An internal method for returning actual wo fluffing up.
-		return super.getEStructuralFeatures();
-	}
-	
-	/**
-	 * Return an Iterator on the implemntsInferface List if this
-	 * is an interface class or on the super List if it is a class.
-	 */
-	protected Iterator getExtendedLookupIterator() {
-		if (isInterface())
-			return getImplementsInterfaces().iterator();
-		else
-			return getESuperTypes().iterator();
-	}
-	/**
-	 * Return an Field with the passed name, or null.
-	 */
-	public Field getField(String fieldName) {
-		java.util.List fields = getFields();
-		Field field;
-		for (int i = 0; i < fields.size(); i++) {
-			field = (Field) fields.get(i);
-			if (field.getName().equals(fieldName))
-				return field;
-		}
-		return null;
-	}
-	/**
-	 *  Return an Field with the passed name from this JavaClass or any supertypes.
-	 * 
-	 * Return null if a Field named fieldName is not found.
-	 */
-	public Field getFieldExtended(String fieldName) {
-		Field field = getFieldNamed(fieldName);
-		if (field != null)
-			return field;
-		Iterator it = getExtendedLookupIterator();
-		while (it.hasNext()) {
-			Field result = ((JavaClass) it.next()).getFieldExtended(fieldName);
-			if (result != null)
-				return result;
-		}
-		return null;
-	}
-	/**
-	 * Return an Field with the passed name, or null.
-	 */
-	public Field getFieldNamed(String fieldName) {
-		return getField(fieldName);
-	}
-	public EList getFields() {
-		if (!hasReflected)
-			reflectValues();
-		return getFieldsGen();
-	}
-	/**
-	 * Return all fields, including those from supertypes.
-	 */
-	public List getFieldsExtended() {
-		List fields = new ArrayList();
-		collectFieldsExtended(fields);
-		return fields;
-	}
-	public EList getImplementsInterfaces() {
-		if (!hasReflected)
-			reflectValues();
-		return getImplementsInterfacesGen();
-	}
-	/**
-	 * Return an IntrospectionAdaptor which can introspect our Java properties
-	 */
-	protected IIntrospectionAdapter getIntrospectionAdapter() {
-		return (IIntrospectionAdapter) EcoreUtil.getRegisteredAdapter(this, IIntrospectionAdapter.ADAPTER_KEY);
-	}
-
-	public String getJavaName() {
-		return getQualifiedName();
-	}
-	/**
-	 * getJavaPackage. This is a derived relationship, so
-	 * we must implement it here to get the EPackage that
-	 * this object is contained in.
-	 */
-	public JavaPackage getJavaPackage() {
-		return (JavaPackage) getEPackage();
-	}
-	/**
-	 * Get the method of this name and these parameters. It will not look up the supertype hierarchy.
-	 */
-	public Method getMethod(String methodName, List parameterTypes) {
-		return getMethod(methodName, parameterTypes, getMethods());
-	}
-	protected Method getMethod(String name, List parameterTypes, List methodList) {
-		boolean found = false;
-		Method method;
-		for (int i = 0; i < methodList.size(); i++) {
-			method = (Method) methodList.get(i);
-			JavaParameter[] params;
-			if (method.getName().equals(name)) {
-				params = method.listParametersWithoutReturn();
-				if (params.length == parameterTypes.size()) {
-					found = true; //Maybe; we need more info
-					for (int j = 0; j < params.length; j++) {
-						//if any one of the parameters doesn't match then flip back to false
-						JavaHelpers jh = (JavaHelpers) params[j].getEType();
-						if (!jh.getQualifiedName().equals(parameterTypes.get(j))) {
-							found = false;
-							break;
-						} // end if params equal
-					} // end compare all params
-					if (found)						//short circuit out of this loop and return the winner
-						return method;
-				} // end compare lengths
-			} // end compare names
-		} // end loop through all methodList
-		return null;
-	}
-	/**
-	 * Return a List of Strings that represent MethodElement signatures from most general to most specific.
-	 */
-	public List getMethodElementSignatures() {
-		List methods, signatures, sameNames;
-		methods = getMethodsExtended();
-		sameNames = new ArrayList();
-		signatures = new ArrayList(methods.size() + 1);
-		signatures.add(DEFAULT_METHOD_NAME);
-		Iterator it = methods.iterator();
-		Method aMethod;
-		String methodName;
-		while (it.hasNext()) {
-			aMethod = (Method) it.next();
-			methodName = aMethod.getName();
-			if (sameNames.contains(methodName)) {
-				if (!signatures.contains(methodName))
-					signatures.add(methodName);
-			} else
-				sameNames.add(methodName);
-			signatures.add(aMethod.getMethodElementSignature());
-		}
-		Collections.sort(signatures);
-		return signatures;
-	}
-	/**
-	 * Get the method of this name and these parameters. It will look up the supertype hierarchy.
-	 */
-	public Method getMethodExtended(String methodName, List parameterTypes) {
-		if (isInterface())
-			return findInterfaceMethodExtended(methodName, parameterTypes);
-		else
-			return findClassMethodExtended(methodName, parameterTypes);
-	}
-	public EList getMethods() {
-		if (!hasReflected)
-			reflectValues();
-		return getMethodsGen();
-	}
-	/**
-	 * Return all methods, including those from supertypes.
-	 */
-	public List getMethodsExtended() {
-		Map methods = new HashMap();
-		collectMethodsExtended(methods, false, Collections.EMPTY_LIST, Collections.EMPTY_LIST);
-		return new ArrayList(methods.values());
-	}
-	
-	/*
-	 * @see getMethodsExtendedWithFilters(List, List) on JavaClass.
-	 */
-	public List getMethodsExtendedWithFilters(List excludedClasses, List excludedMethods) {
-		Map methods = new HashMap();
-		collectMethodsExtended(methods, false, excludedClasses, excludedMethods);
-		return new ArrayList(methods.values());
-	}
-	
-	public String getName() {
-		String result = this.primGetName();
-		if (result == null && eIsProxy()) {
-			JavaURL url = new JavaURL(eProxyURI().toString());
-			result = url.getClassName();
-			if (result != null)
-				result = result.replace('$', '.');
-		}
-		return result;
-	}
-	/**
-	 * Return a List of Methods that begins with @aMethodNamePrefix and is not included in the @excludedNames list. If @aMethodNamePrefix is null, all methods will be returned.
-	
-	 */
-	public List getOnlySpecificMethods(String aMethodNamePrefix, List excludedNames) {
-		List methods, specific;
-		methods = getMethodsExtended();
-		specific = new ArrayList(methods.size());
-		Iterator it = methods.iterator();
-		Method aMethod;
-		String methodName;
-		while (it.hasNext()) {
-			aMethod = (Method) it.next();
-			methodName = aMethod.getName();
-			if (aMethodNamePrefix != null && methodName.startsWith(aMethodNamePrefix) && excludedNames != null && !excludedNames.contains(methodName))
-				specific.add(aMethod);
-		}
-		return specific;
-	}
-	public EList getPackageImports() {
-		if (!hasReflected)
-			reflectValues();
-		return getPackageImportsGen();
-	}
-	/**
-	 * getPrimitive method comment.
-	 */
-	public JavaDataType getPrimitive() {
-		String primitiveName = getPrimitiveName();
-		if (primitiveName != null) {
-			Resource res = eResource();
-			return (JavaDataType) JavaClassImpl.reflect(primitiveName, res.getResourceSet());
-		}
-		return null;
-	}
-	/**
-	 * Return the primitive name for this type if one exists.
-	 */
-	protected String getPrimitiveName() {
-		String myName = getQualifiedName();
-		if (myName.equals(INTEGER_NAME))
-			return PRIM_INTEGER_NAME;
-		if (myName.equals(BOOLEAN_NAME))
-			return PRIM_BOOLEAN_NAME;
-		if (myName.equals(BYTE_NAME))
-			return PRIM_BYTE_NAME;
-		if (myName.equals(SHORT_NAME))
-			return PRIM_SHORT_NAME;
-		if (myName.equals(LONG_NAME))
-			return PRIM_LONG_NAME;
-		if (myName.equals(FLOAT_NAME))
-			return PRIM_FLOAT_NAME;
-		if (myName.equals(DOUBLE_NAME))
-			return PRIM_DOUBLE_NAME;
-		if (myName.equals(CHARACTER_NAME))
-			return PRIM_CHARACTER_NAME;		
-		return null;
-	}
-	/**
-	 * Return a method matching the name, and non-return parameters with fully qualified types matching all the types in the list, if it exists.  It will not look up the supertype hierarchy.
-	 */
-	public Method getPublicMethod(String methodName, List parameterTypes) {
-		return getMethod(methodName, parameterTypes, getPublicMethods());
-	}
-	/**
-	 * Return a method matching the name, and non-return parameters with fully qualified types matching all the types in the list, if it exists.  It will not look up the supertype hierarchy.
-	 */
-	public Method getPublicMethodExtended(String methodName, List parameterTypes) {
-		return getMethod(methodName, parameterTypes, getPublicMethodsExtended());
-	}
-	/**
-	 * Return all methods, it will not go up the supertype hierarchy.
-	 */
-	public List getPublicMethods() {
-		List publicMethods = new ArrayList();
-		List theMethods = getMethods();
-		for (int i = 0; i < theMethods.size(); i++) {
-			Method m = (Method) theMethods.get(i);
-			if (JavaVisibilityKind.PUBLIC_LITERAL == m.getJavaVisibility())
-				publicMethods.add(m);
-		}
-		return publicMethods;
-	}
-	/**
-	 * Return all public methods, including those from supertypes.
-	 */
-	public List getPublicMethodsExtended() {
-		Map methods = new HashMap();
-		collectMethodsExtended(methods, true, Collections.EMPTY_LIST, Collections.EMPTY_LIST);
-		return new ArrayList(methods.values());
-	}
-	/**
-	 * Returns a filtered list on the methods of this class, having a name equal to that of the parameter.
-	 */
-	public List getPublicMethodsExtendedNamed(String name) {
-		List publicMethods = new ArrayList();
-		List theMethods = getPublicMethodsExtended();
-		for (int i = 0; i < theMethods.size(); i++) {
-			Method m = (Method) theMethods.get(i);
-			if (m.getName().equals(name))
-				publicMethods.add(m);
-		}
-		return publicMethods;
-	}
-	/**
-	 * Returns a filtered list on the methods of this class, having a name equal to that of the parameter.
-	 */
-	public List getPublicMethodsNamed(String name) {
-		List publicMethods = new ArrayList();
-		List theMethods = getPublicMethods();
-		for (int i = 0; i < theMethods.size(); i++) {
-			Method m = (Method) theMethods.get(i);
-			if (m.getName().equals(name))
-				publicMethods.add(m);
-		}
-		return publicMethods;
-	}
-	public String getQualifiedName() {
-		String result = null;
-		if (eIsProxy()) {
-			JavaURL url = new JavaURL(eProxyURI().toString());
-			String internalName = url.getPackageName();
-			if (internalName != null && internalName.length() > 0)
-				result = internalName + "." + url.getClassName();
-			else
-				result = url.getClassName();
-		} else {
-			result = primGetQualifiedName();
-		}
-		if (result != null)
-			result = result.replace('$', '.');
-		return result;
-	}
-	/**
-	 * To be used by people that need to get the qualified name used for reflection.
-	 * Typically bean info would need to use something like this.
-	 */
-	public String getQualifiedNameForReflection() {
-		return primGetQualifiedName();
-	}
-	/**
-	 * Return a ReadAdaptor which can reflect our Java properties
-	 */
-	protected ReadAdaptor getReadAdaptor() {
-		return (ReadAdaptor) EcoreUtil.getRegisteredAdapter(this, ReadAdaptor.TYPE_KEY);
-	}
-
-	protected boolean hasReflected = false;
-	
-	protected void reflectValues() {
-		ReadAdaptor readAdaptor = getReadAdaptor();
-		if (readAdaptor != null)
-			hasReflected = readAdaptor.reflectValuesIfNecessary();
-	}
-	
-	public JavaClass getSupertype() {
-		List list = getESuperTypes();
-		if (!list.isEmpty())
-			return (JavaClass) list.get(0);
-		return null;
-	}
-
-	public JavaClass getWrapper() {
-		return this;
-	}
-	/**
-	 * Test whether the receiver implements the passed interface (or one of its supertypes).
-	 */
-	public boolean implementsInterface(JavaClass interfaceType) {
-		if (this == interfaceType)
-			return true;
-		EList implemented = getImplementsInterfaces();
-		JavaClass anInterface;
-		for (int i = 0; i < implemented.size(); i++) {
-			anInterface = (JavaClass) implemented.get(i);
-			if (anInterface.implementsInterface(interfaceType))
-				return true;
-		}
-		if (getSupertype() != null)
-			return getSupertype().implementsInterface(interfaceType);
-		else
-			return false;
-	}
-	/**
-	 * Return a string showing our details.
-	 */
-	public String infoString() {
-		StringBuffer out = new StringBuffer();
-		// trip class reflection
-		//FB     this.eGet(JavaRefPackage.eINSTANCE.getJavaClass_Public());
-		if (!hasReflected)
-			reflectValues(); //FB
-		out.append("Java class: " + getQualifiedName() + "\n");
-		out.append("  superclass: " + this.getSupertype() + "\n");
-		EList fields = getFields();
-		Field field;
-		if (fields.size() > 0) {
-			out.append("  Fields:\n");
-			for (int i = 0; i < fields.size(); i++) {
-				field = (Field) fields.get(i);
-				out.append("    " + ((JavaHelpers) field.getEType()).getJavaName() + " " + field.getName() + "\n");
-			}
-		}
-		EList methods = getMethods();
-		Method method;
-		if (methods.size() > 0) {
-			out.append("  Methods:\n");
-			for (int i = 0; i < methods.size(); i++) {
-				method = (Method) methods.get(i);
-				// trip method reflection
-				method.isStatic();
-				if (method.getReturnType() != null)
-					out.append("    " + ((JavaHelpers) method.getReturnType()).getJavaName() + " ");
-				else
-					out.append("    void ");
-				out.append(method.getName() + "(");
-				EList parms = method.getParameters();
-				JavaParameter parm;
-				if (parms.size() > 0) {
-					for (int ii = 0; ii < parms.size(); ii++) {
-						parm = (JavaParameter) parms.get(ii);
-						//FB             if (!parm.isReturn()) {
-						out.append(((JavaHelpers) parm.getEType()).getJavaName() + " " + parm.getName());
-						if (ii < parms.size() - 1)
-							out.append(", ");
-						//FB             }
-					}
-				}
-				out.append(")\n");
-			}
-		}
-		return out.toString();
-	}
-	/**
-	 * Tests whether this class inherits from the passed in class.
-	 */
-	public boolean inheritsFrom(JavaClass javaClass) {
-		if (this == javaClass)
-			return true;
-		else if (getSupertype() != null)
-			return getSupertype().inheritsFrom(javaClass);
-		else
-			return false;
-	}
-	public boolean isArray() {
-		return false;
-	}
-	/**
-	 * Can an object of the passed in class be assigned to an
-	 * object of this class. In other words is this class a
-	 * supertype of the passed in class, or is it superinterface
-	 * of it.
-	 */
-	public boolean isAssignableFrom(EClassifier aClass) {
-		if (aClass instanceof JavaClass) {
-			JavaClass theClass = (JavaClass) aClass;
-			// If either this class or aClass kind is unknown then it isn't assignableFrom.
-			if (getKind() == TypeKind.UNDEFINED_LITERAL || theClass.getKind() == TypeKind.UNDEFINED_LITERAL)
-				return false;
-			// If the "aClass" is not a JavaClass (i.e. it is either a JavaDatatype or
-			// some other kind of MOF classifier), then it cannot be
-			// assigned to something of this class.
-			if (getKind() != TypeKind.INTERFACE_LITERAL)
-				if (theClass.getKind() != TypeKind.INTERFACE_LITERAL)
-					return theClass.inheritsFrom(this);
-				else {
-					// aClass is an interface, so it is assignable only if
-					// "this" is "java.lang.Object".
-					return getQualifiedName().equals("java.lang.Object");
-				}
-			else
-				return theClass.implementsInterface(this);
-		}
-		return false;
-	}
-	/**
-	 * Does this type exist.
-	 */
-	public boolean isExistingType() {
-		// Note: Temporary, inefficient implementation
-		return ((JavaReflectionAdaptor) EcoreUtil.getRegisteredAdapter(this, ReadAdaptor.TYPE_KEY)).hasReflectionSource();
-	}
-	/**
-	 * See if this is valid object of this type.
-	 */
-	public boolean isInstance(Object o) {
-		return o instanceof IInstantiationInstance ? isAssignableFrom(((IInstantiationInstance) o).getJavaType()) : false;
-	}
-	/**
-	 * Is this an interface.
-	 */
-	public boolean isInterface() {
-		return getKind() == TypeKind.INTERFACE_LITERAL;
-	}
-	public boolean isNested() {
-		return getDeclaringClass() != null;
-	}
-	public boolean isPrimitive() {
-		return false;
-	}
-	/**
-	 * Return an array listing our fields, including inherited fields.
-	 * The field relationship is derived from contents.
-	 * This implementation depends on the assumption that supertypes above JavaClass
-	 * will hold Attributes rather than Fields.
-	 */
-	public Field[] listFieldExtended() {
-		List fields = getFieldsExtended();
-		Field[] result = new Field[fields.size()];
-		fields.toArray(result);
-		return result;
-	}
-	/**
-	 * Return an array listing our Methods, including inherited methods.
-	 * The method relationship is derived from contents.
-	 * This implementation depends on the assumption that supertypes above JavaClass
-	 * will hold Operations rather than Methods.
-	 */
-	public Method[] listMethodExtended() {
-		java.util.List methods = getMethodsExtended();
-		Method[] result = new Method[methods.size()];
-		methods.toArray(result);
-		return result;
-	}
-
-	/**
-	 * This is required for internal reflection do not use.
-	 */
-	public String primGetName() {
-		return super.getName();
-	}
-	/**
-	 * This is required for internal reflection do not use.
-	 */
-	public String primGetQualifiedName() {
-		String result = "";
-		JavaPackage pack = getJavaPackage();
-		if (pack != null && pack.getPackageName().length() != 0)
-			result = pack.getPackageName() + "." + this.primGetName();
-		else
-			result = this.getName();
-		return result;
-	}
-	/**
-	 * reflect - reflect a JavaClass for a given qualified name.
-	 * If the package or class does not exist, one will be created through
-	 * the reflection mechanism.
-	 * Lookup the JavaClass in the context of the passed object, handling some error cases.
-	 * @deprecated
-	 * @see org.eclipse.jem.java.JavaRefFactory#reflectType(java.lang.String, org.eclipse.emf.ecore.EObject)
-	 * 
-	 */
-	public static JavaHelpers reflect(String aQualifiedName, EObject relatedObject) {
-		return JavaRefFactory.eINSTANCE.reflectType(aQualifiedName, relatedObject);
-	}
-	
-	/**
-	 * reflect - reflect a JavaClass for a given qualified name.
-	 * If the package or class does not exist, one will be created through
-	 * the reflection mechanism.
-	 * @deprecated
-	 * @see org.eclipse.jem.java.JavaRefFactory#reflectType(java.lang.String, org.eclipse.emf.ecore.resource.ResourceSet)
-	 */
-	public static JavaHelpers reflect(String aQualifiedName, ResourceSet set) {
-		return JavaRefFactory.eINSTANCE.reflectType(aQualifiedName, set);
-	}
-	
-	/**
-	 * reflect - reflect a JavaClass for a given package name or class name.
-	 * If the package or class does not exist, one will be created through
-	 * the reflection mechanism.
-	 * @deprecated
-	 * @see org.eclipse.jem.java.JavaRefFactory#reflectType(java.lang.String, java.lang.String, org.eclipse.emf.ecore.resource.ResourceSet)
-	 */
-	public static JavaHelpers reflect(String aPackageName, String aClassName, ResourceSet set) {
-		return JavaRefFactory.eINSTANCE.reflectType(aPackageName, aClassName, set);
-	}
-	
-	public void setSupertype(JavaClass aJavaClass) throws InheritanceCycleException {
-		validateSupertype(aJavaClass);
-		List s = super.getESuperTypes();
-		s.clear();
-		if (aJavaClass != null)
-			s.add(aJavaClass);
-	}
-	/**
-	 * Check to make sure that the passed JavaClass is a valid super class
-	 * (i.e., it does not create any cycles in the inheritance.
-	 * @param aJavaClass
-	 */
-	protected void validateSupertype(JavaClass aJavaClass) throws InheritanceCycleException {
-		if (!isValidSupertype(aJavaClass))
-			throw new InheritanceCycleException(this, aJavaClass);
-	}
-	
-	public boolean isValidSupertype(JavaClass aJavaClass) {
-		if (aJavaClass != null) {
-			if (this.equals(aJavaClass))
-				return false;
-			return extendedIsValidSupertype(getSubtypes(), aJavaClass);
-		}
-		return true;
-	}
-	/**
-	 * @param subtypes
-	 * @param aJavaClass
-	 */
-	private boolean extendedIsValidSupertype(List subtypes, JavaClass aJavaClass) {
-		if (!basicIsValidSupertype(subtypes, aJavaClass))
-			return false;
-		JavaClass subtype;
-		for (int i = 0; i < subtypes.size(); i++) {
-			subtype = (JavaClass) subtypes.get(i);
-			if (!subtype.isValidSupertype(aJavaClass))
-				return false;
-		}
-		return true;		
-	}
-	private boolean basicIsValidSupertype(List subtypes, JavaClass aJavaClass) {
-		JavaClass subtype;
-		for (int i = 0; i < subtypes.size(); i++) {
-			subtype = (JavaClass) subtypes.get(i);
-			if (subtype.equals(aJavaClass))
-				return false;
-		}
-		return true;
-	}
-	protected List getSubtypes() {
-		ESuperAdapter adapter = ESuperAdapter.getESuperAdapter(this);
-		if (adapter != null)
-			return adapter.getSubclasses();
-		return Collections.EMPTY_LIST;
-	}
-	public String toString() {
-		return getClass().getName() + "(" + getQualifiedName() + ")";
-	}
-	public TypeKind getKind() {
-		if (!hasReflected)
-			reflectValues();
-		return getKindGen();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setKind(TypeKind newKind) {
-		TypeKind oldKind = kind;
-		kind = newKind == null ? KIND_EDEFAULT : newKind;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.JAVA_CLASS__KIND, oldKind, kind));
-	}
-
-	public boolean isPublic() {
-		if (!hasReflected)
-			reflectValues();
-		return isPublicGen();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPublic(boolean newPublic) {
-		boolean oldPublic = public_;
-		public_ = newPublic;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.JAVA_CLASS__PUBLIC, oldPublic, public_));
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public boolean isFinal() {
-		return final_;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setFinal(boolean newFinal) {
-		boolean oldFinal = final_;
-		final_ = newFinal;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.JAVA_CLASS__FINAL, oldFinal, final_));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public TypeKind getKindGen() {
-		return kind;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isPublicGen() {
-		return public_;
-	}
-
-	public boolean isFinalGen() {
-		return final_;
-	}
-	public EList getInitializers() {
-		if (initializers == null) {
-			initializers = new EObjectContainmentWithInverseEList(Initializer.class, this, JavaRefPackage.JAVA_CLASS__INITIALIZERS, JavaRefPackage.INITIALIZER__JAVA_CLASS);
-		}
-		return initializers;
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDeclaringClass(JavaClass newDeclaringClass) {
-		if (newDeclaringClass != declaringClass) {
-			NotificationChain msgs = null;
-			if (declaringClass != null)
-				msgs = ((InternalEObject)declaringClass).eInverseRemove(this, JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES, JavaClass.class, msgs);
-			if (newDeclaringClass != null)
-				msgs = ((InternalEObject)newDeclaringClass).eInverseAdd(this, JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES, JavaClass.class, msgs);
-			msgs = basicSetDeclaringClass(newDeclaringClass, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.JAVA_CLASS__DECLARING_CLASS, newDeclaringClass, newDeclaringClass));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaClass getDeclaringClass() {
-		if (declaringClass != null && declaringClass.eIsProxy()) {
-			JavaClass oldDeclaringClass = declaringClass;
-			declaringClass = (JavaClass)eResolveProxy((InternalEObject)declaringClass);
-			if (declaringClass != oldDeclaringClass) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, JavaRefPackage.JAVA_CLASS__DECLARING_CLASS, oldDeclaringClass, declaringClass));
-			}
-		}
-		return declaringClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaClass basicGetDeclaringClass() {
-		return declaringClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetDeclaringClass(JavaClass newDeclaringClass, NotificationChain msgs) {
-		JavaClass oldDeclaringClass = declaringClass;
-		declaringClass = newDeclaringClass;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, JavaRefPackage.JAVA_CLASS__DECLARING_CLASS, oldDeclaringClass, newDeclaringClass);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	public EList getDeclaredClasses() {
-		if (!hasReflected)
-			reflectValues();
-		return getDeclaredClassesGen();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getDeclaredClassesGen() {
-		if (declaredClasses == null) {
-			declaredClasses = new EObjectWithInverseResolvingEList(JavaClass.class, this, JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES, JavaRefPackage.JAVA_CLASS__DECLARING_CLASS);
-		}
-		return declaredClasses;
-	}
-
-	public EList getProperties() {
-		return getEStructuralFeatures();	// As of EMF 2.0, local properties are the local features. Used to be a merge of eattributes and ereferences.
-	}
-	
-	public EList getEvents() {
-		IIntrospectionAdapter adapter = getIntrospectionAdapter();
-		if (adapter != null)
-			return adapter.getEvents();
-		return getEventsGen();
-	}
-	
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getEventsGen() {
-		if (events == null) {
-			events = new EObjectContainmentEList(JavaEvent.class, this, JavaRefPackage.JAVA_CLASS__EVENTS);
-		}
-		return events;
-	}
-
-	private EList allEvents;
-	public EList getAllEvents() {
-		IIntrospectionAdapter ia = getIntrospectionAdapter();
-		if (ia == null)
-			return ECollections.EMPTY_ELIST; // No introspection, do normal.
-		return allEvents = ia.getAllEvents();
-	}
-	
-	public EList getAllEventsGen() {
-		return allEvents;
-	}
-
-	private EList allProperties;
-	public EList getAllProperties() {
-		IIntrospectionAdapter ia = getIntrospectionAdapter();
-		if (ia == null)
-			return ECollections.EMPTY_ELIST; // No introspection, do normal.
-		return allProperties = ia.getAllProperties();
-	}
-	
-	public EList getAllPropertiesGen() {
-		return allProperties;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_CLASS__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case JavaRefPackage.JAVA_CLASS__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case JavaRefPackage.JAVA_CLASS__INSTANCE_CLASS_NAME:
-				return INSTANCE_CLASS_NAME_EDEFAULT == null ? instanceClassName != null : !INSTANCE_CLASS_NAME_EDEFAULT.equals(instanceClassName);
-			case JavaRefPackage.JAVA_CLASS__INSTANCE_CLASS:
-				return getInstanceClass() != null;
-			case JavaRefPackage.JAVA_CLASS__DEFAULT_VALUE:
-				return getDefaultValue() != null;
-			case JavaRefPackage.JAVA_CLASS__EPACKAGE:
-				return getEPackage() != null;
-			case JavaRefPackage.JAVA_CLASS__ABSTRACT:
-				return abstract_ != ABSTRACT_EDEFAULT;
-			case JavaRefPackage.JAVA_CLASS__INTERFACE:
-				return interface_ != INTERFACE_EDEFAULT;
-			case JavaRefPackage.JAVA_CLASS__ESUPER_TYPES:
-				return eSuperTypes != null && !eSuperTypes.isEmpty();
-			case JavaRefPackage.JAVA_CLASS__EOPERATIONS:
-				return eOperations != null && !eOperations.isEmpty();
-			case JavaRefPackage.JAVA_CLASS__EALL_ATTRIBUTES:
-				return !getEAllAttributes().isEmpty();
-			case JavaRefPackage.JAVA_CLASS__EALL_REFERENCES:
-				return !getEAllReferences().isEmpty();
-			case JavaRefPackage.JAVA_CLASS__EREFERENCES:
-				return !getEReferences().isEmpty();
-			case JavaRefPackage.JAVA_CLASS__EATTRIBUTES:
-				return !getEAttributes().isEmpty();
-			case JavaRefPackage.JAVA_CLASS__EALL_CONTAINMENTS:
-				return !getEAllContainments().isEmpty();
-			case JavaRefPackage.JAVA_CLASS__EALL_OPERATIONS:
-				return !getEAllOperations().isEmpty();
-			case JavaRefPackage.JAVA_CLASS__EALL_STRUCTURAL_FEATURES:
-				return !getEAllStructuralFeatures().isEmpty();
-			case JavaRefPackage.JAVA_CLASS__EALL_SUPER_TYPES:
-				return !getEAllSuperTypes().isEmpty();
-			case JavaRefPackage.JAVA_CLASS__EID_ATTRIBUTE:
-				return getEIDAttribute() != null;
-			case JavaRefPackage.JAVA_CLASS__ESTRUCTURAL_FEATURES:
-				return eStructuralFeatures != null && !eStructuralFeatures.isEmpty();
-			case JavaRefPackage.JAVA_CLASS__KIND:
-				return kind != KIND_EDEFAULT;
-			case JavaRefPackage.JAVA_CLASS__PUBLIC:
-				return public_ != PUBLIC_EDEFAULT;
-			case JavaRefPackage.JAVA_CLASS__FINAL:
-				return final_ != FINAL_EDEFAULT;
-			case JavaRefPackage.JAVA_CLASS__IMPLEMENTS_INTERFACES:
-				return implementsInterfaces != null && !implementsInterfaces.isEmpty();
-			case JavaRefPackage.JAVA_CLASS__CLASS_IMPORT:
-				return classImport != null && !classImport.isEmpty();
-			case JavaRefPackage.JAVA_CLASS__PACKAGE_IMPORTS:
-				return packageImports != null && !packageImports.isEmpty();
-			case JavaRefPackage.JAVA_CLASS__FIELDS:
-				return fields != null && !fields.isEmpty();
-			case JavaRefPackage.JAVA_CLASS__METHODS:
-				return methods != null && !methods.isEmpty();
-			case JavaRefPackage.JAVA_CLASS__INITIALIZERS:
-				return initializers != null && !initializers.isEmpty();
-			case JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES:
-				return declaredClasses != null && !declaredClasses.isEmpty();
-			case JavaRefPackage.JAVA_CLASS__DECLARING_CLASS:
-				return declaringClass != null;
-			case JavaRefPackage.JAVA_CLASS__JAVA_PACKAGE:
-				return basicGetJavaPackage() != null;
-			case JavaRefPackage.JAVA_CLASS__EVENTS:
-				return events != null && !events.isEmpty();
-			case JavaRefPackage.JAVA_CLASS__ALL_EVENTS:
-				return !getAllEvents().isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_CLASS__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__NAME:
-				setName((String)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__INSTANCE_CLASS_NAME:
-				setInstanceClassName((String)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__ABSTRACT:
-				setAbstract(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.JAVA_CLASS__INTERFACE:
-				setInterface(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.JAVA_CLASS__ESUPER_TYPES:
-				getESuperTypes().clear();
-				getESuperTypes().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__EOPERATIONS:
-				getEOperations().clear();
-				getEOperations().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__ESTRUCTURAL_FEATURES:
-				getEStructuralFeatures().clear();
-				getEStructuralFeatures().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__KIND:
-				setKind((TypeKind)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__PUBLIC:
-				setPublic(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.JAVA_CLASS__FINAL:
-				setFinal(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.JAVA_CLASS__IMPLEMENTS_INTERFACES:
-				getImplementsInterfaces().clear();
-				getImplementsInterfaces().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__CLASS_IMPORT:
-				getClassImport().clear();
-				getClassImport().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__PACKAGE_IMPORTS:
-				getPackageImports().clear();
-				getPackageImports().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__FIELDS:
-				getFields().clear();
-				getFields().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__METHODS:
-				getMethods().clear();
-				getMethods().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__INITIALIZERS:
-				getInitializers().clear();
-				getInitializers().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES:
-				getDeclaredClasses().clear();
-				getDeclaredClasses().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__DECLARING_CLASS:
-				setDeclaringClass((JavaClass)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__EVENTS:
-				getEvents().clear();
-				getEvents().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_CLASS__ALL_EVENTS:
-				getAllEvents().clear();
-				getAllEvents().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_CLASS__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case JavaRefPackage.JAVA_CLASS__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_CLASS__INSTANCE_CLASS_NAME:
-				setInstanceClassName(INSTANCE_CLASS_NAME_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_CLASS__ABSTRACT:
-				setAbstract(ABSTRACT_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_CLASS__INTERFACE:
-				setInterface(INTERFACE_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_CLASS__ESUPER_TYPES:
-				getESuperTypes().clear();
-				return;
-			case JavaRefPackage.JAVA_CLASS__EOPERATIONS:
-				getEOperations().clear();
-				return;
-			case JavaRefPackage.JAVA_CLASS__ESTRUCTURAL_FEATURES:
-				getEStructuralFeatures().clear();
-				return;
-			case JavaRefPackage.JAVA_CLASS__KIND:
-				setKind(KIND_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_CLASS__PUBLIC:
-				setPublic(PUBLIC_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_CLASS__FINAL:
-				setFinal(FINAL_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_CLASS__IMPLEMENTS_INTERFACES:
-				getImplementsInterfaces().clear();
-				return;
-			case JavaRefPackage.JAVA_CLASS__CLASS_IMPORT:
-				getClassImport().clear();
-				return;
-			case JavaRefPackage.JAVA_CLASS__PACKAGE_IMPORTS:
-				getPackageImports().clear();
-				return;
-			case JavaRefPackage.JAVA_CLASS__FIELDS:
-				getFields().clear();
-				return;
-			case JavaRefPackage.JAVA_CLASS__METHODS:
-				getMethods().clear();
-				return;
-			case JavaRefPackage.JAVA_CLASS__INITIALIZERS:
-				getInitializers().clear();
-				return;
-			case JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES:
-				getDeclaredClasses().clear();
-				return;
-			case JavaRefPackage.JAVA_CLASS__DECLARING_CLASS:
-				setDeclaringClass((JavaClass)null);
-				return;
-			case JavaRefPackage.JAVA_CLASS__EVENTS:
-				getEvents().clear();
-				return;
-			case JavaRefPackage.JAVA_CLASS__ALL_EVENTS:
-				getAllEvents().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * 
-	 */
-	public EList getImplementsInterfacesGen() {
-		if (implementsInterfaces == null) {
-			implementsInterfaces = new EObjectResolvingEList(JavaClass.class, this, JavaRefPackage.JAVA_CLASS__IMPLEMENTS_INTERFACES) {
-				public Object get(int index) {
-					if (isInterface())
-						getInterfaceSuperTypes().get(index); //force resolution so the ESuperAdapter will be updated correctly
-					return super.get(index);
-				}
-
-				public void clear() {
-					super.clear();
-					if (isInterface())
-						getInterfaceSuperTypes().clear();
-				}
-
-				public Object remove(int index) {
-					Object result = super.remove(index);
-					if (isInterface())
-						getInterfaceSuperTypes().remove(index);
-					return result;
-					
-				}
-
-				public boolean removeAll(Collection collection) {
-					boolean result = super.removeAll(collection);
-					if (isInterface())
-						getInterfaceSuperTypes().removeAll(collection);
-					return result;
-				}
-
-				public void add(int index, Object object) {
-					super.add(index, object);
-					if (isInterface())
-						getInterfaceSuperTypes().add(index, object);
-				}
-
-				public boolean add(Object object) {
-					boolean result = super.add(object);
-					if (isInterface())
-						getInterfaceSuperTypes().add(object);
-					return result;
-				}
-
-				public boolean addAll(Collection collection) {
-					boolean result = super.addAll(collection);
-					if (isInterface())
-						getInterfaceSuperTypes().addAll(collection);
-					return result;
-				}
-
-				public boolean addAll(int index, Collection collection) {
-					boolean result = super.addAll(index, collection);
-					if (isInterface())
-						getInterfaceSuperTypes().addAll(index, collection);
-					return result;
-				}
-			};
-		}
-		return implementsInterfaces;
-	}
-	
-	private EList getInterfaceSuperTypes() {
-		return super.getESuperTypes();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getClassImportGen() {
-		if (classImport == null) {
-			classImport = new EObjectResolvingEList(JavaClass.class, this, JavaRefPackage.JAVA_CLASS__CLASS_IMPORT);
-		}
-		return classImport;
-	}
-
-  public EList getEAllSuperTypes() {
-    if (!hasReflected) 
-    	reflectValues();//Force reflection, if needed, before getting all supertypes.
-    return super.getEAllSuperTypes();
-  }	
-  
-  public EList getESuperTypes() {
-	  if (!hasReflected)
-		  reflectValues();
-	  return super.getESuperTypes();
-  }
-  
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getPackageImportsGen() {
-		if (packageImports == null) {
-			packageImports = new EObjectResolvingEList(JavaPackage.class, this, JavaRefPackage.JAVA_CLASS__PACKAGE_IMPORTS);
-		}
-		return packageImports;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getFieldsGen() {
-		if (fields == null) {
-			fields = new EObjectContainmentWithInverseEList(Field.class, this, JavaRefPackage.JAVA_CLASS__FIELDS, JavaRefPackage.FIELD__JAVA_CLASS);
-		}
-		return fields;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getMethodsGen() {
-		if (methods == null) {
-			methods = new EObjectContainmentWithInverseEList(Method.class, this, JavaRefPackage.JAVA_CLASS__METHODS, JavaRefPackage.METHOD__JAVA_CLASS);
-		}
-		return methods;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public JavaPackage getJavaPackageGen() {
-		JavaPackage javaPackage = basicGetJavaPackage();
-		return javaPackage == null ? null : (JavaPackage)eResolveProxy((InternalEObject)javaPackage);
-	}
-
-	/*
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 */
-	public JavaPackage basicGetJavaPackage() {
-		return getJavaPackage();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.JAVA_CLASS__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.JAVA_CLASS__EPACKAGE:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, JavaRefPackage.JAVA_CLASS__EPACKAGE, msgs);
-				case JavaRefPackage.JAVA_CLASS__EOPERATIONS:
-					return ((InternalEList)getEOperations()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.JAVA_CLASS__ESTRUCTURAL_FEATURES:
-					return ((InternalEList)getEStructuralFeatures()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.JAVA_CLASS__FIELDS:
-					return ((InternalEList)getFields()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.JAVA_CLASS__METHODS:
-					return ((InternalEList)getMethods()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.JAVA_CLASS__INITIALIZERS:
-					return ((InternalEList)getInitializers()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES:
-					return ((InternalEList)getDeclaredClasses()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.JAVA_CLASS__DECLARING_CLASS:
-					if (declaringClass != null)
-						msgs = ((InternalEObject)declaringClass).eInverseRemove(this, JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES, JavaClass.class, msgs);
-					return basicSetDeclaringClass((JavaClass)otherEnd, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.JAVA_CLASS__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.JAVA_CLASS__EPACKAGE:
-					return eBasicSetContainer(null, JavaRefPackage.JAVA_CLASS__EPACKAGE, msgs);
-				case JavaRefPackage.JAVA_CLASS__EOPERATIONS:
-					return ((InternalEList)getEOperations()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.JAVA_CLASS__ESTRUCTURAL_FEATURES:
-					return ((InternalEList)getEStructuralFeatures()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.JAVA_CLASS__FIELDS:
-					return ((InternalEList)getFields()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.JAVA_CLASS__METHODS:
-					return ((InternalEList)getMethods()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.JAVA_CLASS__INITIALIZERS:
-					return ((InternalEList)getInitializers()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES:
-					return ((InternalEList)getDeclaredClasses()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.JAVA_CLASS__DECLARING_CLASS:
-					return basicSetDeclaringClass(null, msgs);
-				case JavaRefPackage.JAVA_CLASS__EVENTS:
-					return ((InternalEList)getEvents()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case JavaRefPackage.JAVA_CLASS__EPACKAGE:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EPACKAGE__ECLASSIFIERS, EPackage.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_CLASS__EANNOTATIONS:
-				return getEAnnotations();
-			case JavaRefPackage.JAVA_CLASS__NAME:
-				return getName();
-			case JavaRefPackage.JAVA_CLASS__INSTANCE_CLASS_NAME:
-				return getInstanceClassName();
-			case JavaRefPackage.JAVA_CLASS__INSTANCE_CLASS:
-				return getInstanceClass();
-			case JavaRefPackage.JAVA_CLASS__DEFAULT_VALUE:
-				return getDefaultValue();
-			case JavaRefPackage.JAVA_CLASS__EPACKAGE:
-				return getEPackage();
-			case JavaRefPackage.JAVA_CLASS__ABSTRACT:
-				return isAbstract() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_CLASS__INTERFACE:
-				return isInterface() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_CLASS__ESUPER_TYPES:
-				return getESuperTypes();
-			case JavaRefPackage.JAVA_CLASS__EOPERATIONS:
-				return getEOperations();
-			case JavaRefPackage.JAVA_CLASS__EALL_ATTRIBUTES:
-				return getEAllAttributes();
-			case JavaRefPackage.JAVA_CLASS__EALL_REFERENCES:
-				return getEAllReferences();
-			case JavaRefPackage.JAVA_CLASS__EREFERENCES:
-				return getEReferences();
-			case JavaRefPackage.JAVA_CLASS__EATTRIBUTES:
-				return getEAttributes();
-			case JavaRefPackage.JAVA_CLASS__EALL_CONTAINMENTS:
-				return getEAllContainments();
-			case JavaRefPackage.JAVA_CLASS__EALL_OPERATIONS:
-				return getEAllOperations();
-			case JavaRefPackage.JAVA_CLASS__EALL_STRUCTURAL_FEATURES:
-				return getEAllStructuralFeatures();
-			case JavaRefPackage.JAVA_CLASS__EALL_SUPER_TYPES:
-				return getEAllSuperTypes();
-			case JavaRefPackage.JAVA_CLASS__EID_ATTRIBUTE:
-				return getEIDAttribute();
-			case JavaRefPackage.JAVA_CLASS__ESTRUCTURAL_FEATURES:
-				return getEStructuralFeatures();
-			case JavaRefPackage.JAVA_CLASS__KIND:
-				return getKind();
-			case JavaRefPackage.JAVA_CLASS__PUBLIC:
-				return isPublic() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_CLASS__FINAL:
-				return isFinal() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_CLASS__IMPLEMENTS_INTERFACES:
-				return getImplementsInterfaces();
-			case JavaRefPackage.JAVA_CLASS__CLASS_IMPORT:
-				return getClassImport();
-			case JavaRefPackage.JAVA_CLASS__PACKAGE_IMPORTS:
-				return getPackageImports();
-			case JavaRefPackage.JAVA_CLASS__FIELDS:
-				return getFields();
-			case JavaRefPackage.JAVA_CLASS__METHODS:
-				return getMethods();
-			case JavaRefPackage.JAVA_CLASS__INITIALIZERS:
-				return getInitializers();
-			case JavaRefPackage.JAVA_CLASS__DECLARED_CLASSES:
-				return getDeclaredClasses();
-			case JavaRefPackage.JAVA_CLASS__DECLARING_CLASS:
-				if (resolve) return getDeclaringClass();
-				return basicGetDeclaringClass();
-			case JavaRefPackage.JAVA_CLASS__JAVA_PACKAGE:
-				if (resolve) return getJavaPackage();
-				return basicGetJavaPackage();
-			case JavaRefPackage.JAVA_CLASS__EVENTS:
-				return getEvents();
-			case JavaRefPackage.JAVA_CLASS__ALL_EVENTS:
-				return getAllEvents();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public String toStringGen() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (kind: ");
-		result.append(kind);
-		result.append(", public: ");
-		result.append(public_);
-		result.append(", final: ");
-		result.append(final_);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * @see org.eclipse.jem.java.adapters.InternalReadAdaptable#setReflected(boolean)
-	 */
-	public void setReflected(boolean aBoolean) {
-		hasReflected = aBoolean;
-	}
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaDataTypeImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaDataTypeImpl.java
deleted file mode 100644
index fb15825..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaDataTypeImpl.java
+++ /dev/null
@@ -1,392 +0,0 @@
-package org.eclipse.jem.java.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaDataTypeImpl.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/13 21:12:07 $ 
- */
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EClassImpl;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaDataType;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationInstance;
-/**
- * @generated
- */
-public class JavaDataTypeImpl extends EClassImpl implements JavaDataType{
-
-	
-	static final String FALSE = "false";
-	static final String DOUBLE_ZERO = "0.0";
-	static final String FLOAT_ZERO = "0.0f";
-	static final String CHAR_ZERO = "'0'";
-	static final String ZERO = "0";
-	protected JavaDataTypeImpl() {
-		super();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JavaRefPackage.eINSTANCE.getJavaDataType();
-	}
-
-	/**
-	 * Return the default string representing the default value of the primitive.
-	 */
-	public String getDefaultValueString() {
-		String typeName = getJavaName();
-		if (typeName.equals(Boolean.TYPE.getName()))
-			return FALSE;
-		if (typeName.equals(Double.TYPE.getName()))
-			return DOUBLE_ZERO;
-		if (typeName.equals(Float.TYPE.getName()))
-			return FLOAT_ZERO;			
-		if (typeName.equals(Character.TYPE.getName()))
-			return CHAR_ZERO;
-		return ZERO;
-	}
-	/**
-	 * (JavaHelpers)javaName - return the String which represents the Java name for this type
-	 */
-	public String getJavaName() {
-		return getName();
-	}
-	public JavaDataType getPrimitive() {
-		return this;
-	}
-	public String getQualifiedName() {
-		return getJavaName();
-	}
-	public JavaClass getWrapper() {
-		String wrapperName = getWrapperQualifiedName();
-		if (wrapperName != null) {
-			return (JavaClass) JavaRefFactory.eINSTANCE.reflectType(wrapperName, this);
-		}
-		return null;
-	}
-	/**
-	 * getWrapper method comment.
-	 */
-	protected String getWrapperQualifiedName() {
-		String myName = getJavaName();
-		if (myName.equals(PRIM_INTEGER_NAME))
-			return INTEGER_NAME;
-		if(myName.equals(PRIM_CHARACTER_NAME))
-			return CHARACTER_NAME;
-		if(myName.equals(PRIM_BOOLEAN_NAME))
-			return BOOLEAN_NAME;
-		if(myName.equals(PRIM_BYTE_NAME))
-			return BYTE_NAME;
-		if(myName.equals(PRIM_SHORT_NAME))
-			return SHORT_NAME;
-		if(myName.equals(PRIM_LONG_NAME))
-			return LONG_NAME;
-		if(myName.equals(PRIM_FLOAT_NAME))
-			return FLOAT_NAME;
-		if(myName.equals(PRIM_DOUBLE_NAME))
-			return DOUBLE_NAME;
-		return null;
-	}
-	/*
-	 * JavaHelpers.isArray() - array types are always JavaClasses, even if their component type is
-	 *		a primitive data type. Return false.
-	 */
-	public boolean isArray() {
-		return false;
-	}
-	/**
-	 * Can an object of the passed in class be assigned to an
-	 * object of this class? In the case of primitives, are they the same.
-	 */
-	public boolean isAssignableFrom(EClassifier aClass) {
-		return this == aClass;
-	}
-	/**
-	 * See if this is valid object of this type.
-	 */
-	public boolean isInstance(Object o) {
-		return o instanceof IInstantiationInstance ? isAssignableFrom(((IInstantiationInstance) o).getJavaType()) : false;
-	}
-	public boolean isPrimitive() {
-		return true;
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.JAVA_DATA_TYPE__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.JAVA_DATA_TYPE__EPACKAGE:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, JavaRefPackage.JAVA_DATA_TYPE__EPACKAGE, msgs);
-				case JavaRefPackage.JAVA_DATA_TYPE__EOPERATIONS:
-					return ((InternalEList)getEOperations()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.JAVA_DATA_TYPE__ESTRUCTURAL_FEATURES:
-					return ((InternalEList)getEStructuralFeatures()).basicAdd(otherEnd, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.JAVA_DATA_TYPE__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.JAVA_DATA_TYPE__EPACKAGE:
-					return eBasicSetContainer(null, JavaRefPackage.JAVA_DATA_TYPE__EPACKAGE, msgs);
-				case JavaRefPackage.JAVA_DATA_TYPE__EOPERATIONS:
-					return ((InternalEList)getEOperations()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.JAVA_DATA_TYPE__ESTRUCTURAL_FEATURES:
-					return ((InternalEList)getEStructuralFeatures()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case JavaRefPackage.JAVA_DATA_TYPE__EPACKAGE:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EPACKAGE__ECLASSIFIERS, EPackage.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_DATA_TYPE__EANNOTATIONS:
-				return getEAnnotations();
-			case JavaRefPackage.JAVA_DATA_TYPE__NAME:
-				return getName();
-			case JavaRefPackage.JAVA_DATA_TYPE__INSTANCE_CLASS_NAME:
-				return getInstanceClassName();
-			case JavaRefPackage.JAVA_DATA_TYPE__INSTANCE_CLASS:
-				return getInstanceClass();
-			case JavaRefPackage.JAVA_DATA_TYPE__DEFAULT_VALUE:
-				return getDefaultValue();
-			case JavaRefPackage.JAVA_DATA_TYPE__EPACKAGE:
-				return getEPackage();
-			case JavaRefPackage.JAVA_DATA_TYPE__ABSTRACT:
-				return isAbstract() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_DATA_TYPE__INTERFACE:
-				return isInterface() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_DATA_TYPE__ESUPER_TYPES:
-				return getESuperTypes();
-			case JavaRefPackage.JAVA_DATA_TYPE__EOPERATIONS:
-				return getEOperations();
-			case JavaRefPackage.JAVA_DATA_TYPE__EALL_ATTRIBUTES:
-				return getEAllAttributes();
-			case JavaRefPackage.JAVA_DATA_TYPE__EALL_REFERENCES:
-				return getEAllReferences();
-			case JavaRefPackage.JAVA_DATA_TYPE__EREFERENCES:
-				return getEReferences();
-			case JavaRefPackage.JAVA_DATA_TYPE__EATTRIBUTES:
-				return getEAttributes();
-			case JavaRefPackage.JAVA_DATA_TYPE__EALL_CONTAINMENTS:
-				return getEAllContainments();
-			case JavaRefPackage.JAVA_DATA_TYPE__EALL_OPERATIONS:
-				return getEAllOperations();
-			case JavaRefPackage.JAVA_DATA_TYPE__EALL_STRUCTURAL_FEATURES:
-				return getEAllStructuralFeatures();
-			case JavaRefPackage.JAVA_DATA_TYPE__EALL_SUPER_TYPES:
-				return getEAllSuperTypes();
-			case JavaRefPackage.JAVA_DATA_TYPE__EID_ATTRIBUTE:
-				return getEIDAttribute();
-			case JavaRefPackage.JAVA_DATA_TYPE__ESTRUCTURAL_FEATURES:
-				return getEStructuralFeatures();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_DATA_TYPE__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_DATA_TYPE__NAME:
-				setName((String)newValue);
-				return;
-			case JavaRefPackage.JAVA_DATA_TYPE__INSTANCE_CLASS_NAME:
-				setInstanceClassName((String)newValue);
-				return;
-			case JavaRefPackage.JAVA_DATA_TYPE__ABSTRACT:
-				setAbstract(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.JAVA_DATA_TYPE__INTERFACE:
-				setInterface(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.JAVA_DATA_TYPE__ESUPER_TYPES:
-				getESuperTypes().clear();
-				getESuperTypes().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_DATA_TYPE__EOPERATIONS:
-				getEOperations().clear();
-				getEOperations().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_DATA_TYPE__ESTRUCTURAL_FEATURES:
-				getEStructuralFeatures().clear();
-				getEStructuralFeatures().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_DATA_TYPE__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case JavaRefPackage.JAVA_DATA_TYPE__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_DATA_TYPE__INSTANCE_CLASS_NAME:
-				setInstanceClassName(INSTANCE_CLASS_NAME_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_DATA_TYPE__ABSTRACT:
-				setAbstract(ABSTRACT_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_DATA_TYPE__INTERFACE:
-				setInterface(INTERFACE_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_DATA_TYPE__ESUPER_TYPES:
-				getESuperTypes().clear();
-				return;
-			case JavaRefPackage.JAVA_DATA_TYPE__EOPERATIONS:
-				getEOperations().clear();
-				return;
-			case JavaRefPackage.JAVA_DATA_TYPE__ESTRUCTURAL_FEATURES:
-				getEStructuralFeatures().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_DATA_TYPE__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case JavaRefPackage.JAVA_DATA_TYPE__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case JavaRefPackage.JAVA_DATA_TYPE__INSTANCE_CLASS_NAME:
-				return INSTANCE_CLASS_NAME_EDEFAULT == null ? instanceClassName != null : !INSTANCE_CLASS_NAME_EDEFAULT.equals(instanceClassName);
-			case JavaRefPackage.JAVA_DATA_TYPE__INSTANCE_CLASS:
-				return getInstanceClass() != null;
-			case JavaRefPackage.JAVA_DATA_TYPE__DEFAULT_VALUE:
-				return getDefaultValue() != null;
-			case JavaRefPackage.JAVA_DATA_TYPE__EPACKAGE:
-				return getEPackage() != null;
-			case JavaRefPackage.JAVA_DATA_TYPE__ABSTRACT:
-				return abstract_ != ABSTRACT_EDEFAULT;
-			case JavaRefPackage.JAVA_DATA_TYPE__INTERFACE:
-				return interface_ != INTERFACE_EDEFAULT;
-			case JavaRefPackage.JAVA_DATA_TYPE__ESUPER_TYPES:
-				return eSuperTypes != null && !eSuperTypes.isEmpty();
-			case JavaRefPackage.JAVA_DATA_TYPE__EOPERATIONS:
-				return eOperations != null && !eOperations.isEmpty();
-			case JavaRefPackage.JAVA_DATA_TYPE__EALL_ATTRIBUTES:
-				return !getEAllAttributes().isEmpty();
-			case JavaRefPackage.JAVA_DATA_TYPE__EALL_REFERENCES:
-				return !getEAllReferences().isEmpty();
-			case JavaRefPackage.JAVA_DATA_TYPE__EREFERENCES:
-				return !getEReferences().isEmpty();
-			case JavaRefPackage.JAVA_DATA_TYPE__EATTRIBUTES:
-				return !getEAttributes().isEmpty();
-			case JavaRefPackage.JAVA_DATA_TYPE__EALL_CONTAINMENTS:
-				return !getEAllContainments().isEmpty();
-			case JavaRefPackage.JAVA_DATA_TYPE__EALL_OPERATIONS:
-				return !getEAllOperations().isEmpty();
-			case JavaRefPackage.JAVA_DATA_TYPE__EALL_STRUCTURAL_FEATURES:
-				return !getEAllStructuralFeatures().isEmpty();
-			case JavaRefPackage.JAVA_DATA_TYPE__EALL_SUPER_TYPES:
-				return !getEAllSuperTypes().isEmpty();
-			case JavaRefPackage.JAVA_DATA_TYPE__EID_ATTRIBUTE:
-				return getEIDAttribute() != null;
-			case JavaRefPackage.JAVA_DATA_TYPE__ESTRUCTURAL_FEATURES:
-				return eStructuralFeatures != null && !eStructuralFeatures.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.java.JavaHelpers#getQualifiedNameForReflection()
-	 */
-	public String getQualifiedNameForReflection() {
-		return getJavaName();
-	}
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaEventImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaEventImpl.java
deleted file mode 100644
index 0a2ca20..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaEventImpl.java
+++ /dev/null
@@ -1,309 +0,0 @@
-package org.eclipse.jem.java.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaEventImpl.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:25:08 $ 
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EStructuralFeatureImpl;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.JavaEvent;
-import org.eclipse.jem.java.JavaRefPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Java Event</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public abstract class JavaEventImpl extends EStructuralFeatureImpl implements JavaEvent {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected JavaEventImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JavaRefPackage.eINSTANCE.getJavaEvent();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.JAVA_EVENT__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.JAVA_EVENT__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS:
-					return eBasicSetContainer(null, JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.ECLASS__ESTRUCTURAL_FEATURES, EClass.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_EVENT__EANNOTATIONS:
-				return getEAnnotations();
-			case JavaRefPackage.JAVA_EVENT__NAME:
-				return getName();
-			case JavaRefPackage.JAVA_EVENT__ORDERED:
-				return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_EVENT__UNIQUE:
-				return isUnique() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_EVENT__LOWER_BOUND:
-				return new Integer(getLowerBound());
-			case JavaRefPackage.JAVA_EVENT__UPPER_BOUND:
-				return new Integer(getUpperBound());
-			case JavaRefPackage.JAVA_EVENT__MANY:
-				return isMany() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_EVENT__REQUIRED:
-				return isRequired() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_EVENT__ETYPE:
-				if (resolve) return getEType();
-				return basicGetEType();
-			case JavaRefPackage.JAVA_EVENT__CHANGEABLE:
-				return isChangeable() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_EVENT__VOLATILE:
-				return isVolatile() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_EVENT__TRANSIENT:
-				return isTransient() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE_LITERAL:
-				return getDefaultValueLiteral();
-			case JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE:
-				return getDefaultValue();
-			case JavaRefPackage.JAVA_EVENT__UNSETTABLE:
-				return isUnsettable() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_EVENT__DERIVED:
-				return isDerived() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS:
-				return getEContainingClass();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_EVENT__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_EVENT__NAME:
-				setName((String)newValue);
-				return;
-			case JavaRefPackage.JAVA_EVENT__ORDERED:
-				setOrdered(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.JAVA_EVENT__UNIQUE:
-				setUnique(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.JAVA_EVENT__LOWER_BOUND:
-				setLowerBound(((Integer)newValue).intValue());
-				return;
-			case JavaRefPackage.JAVA_EVENT__UPPER_BOUND:
-				setUpperBound(((Integer)newValue).intValue());
-				return;
-			case JavaRefPackage.JAVA_EVENT__ETYPE:
-				setEType((EClassifier)newValue);
-				return;
-			case JavaRefPackage.JAVA_EVENT__CHANGEABLE:
-				setChangeable(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.JAVA_EVENT__VOLATILE:
-				setVolatile(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.JAVA_EVENT__TRANSIENT:
-				setTransient(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE_LITERAL:
-				setDefaultValueLiteral((String)newValue);
-				return;
-			case JavaRefPackage.JAVA_EVENT__UNSETTABLE:
-				setUnsettable(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.JAVA_EVENT__DERIVED:
-				setDerived(((Boolean)newValue).booleanValue());
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_EVENT__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case JavaRefPackage.JAVA_EVENT__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_EVENT__ORDERED:
-				setOrdered(ORDERED_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_EVENT__UNIQUE:
-				setUnique(UNIQUE_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_EVENT__LOWER_BOUND:
-				setLowerBound(LOWER_BOUND_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_EVENT__UPPER_BOUND:
-				setUpperBound(UPPER_BOUND_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_EVENT__ETYPE:
-				setEType((EClassifier)null);
-				return;
-			case JavaRefPackage.JAVA_EVENT__CHANGEABLE:
-				setChangeable(CHANGEABLE_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_EVENT__VOLATILE:
-				setVolatile(VOLATILE_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_EVENT__TRANSIENT:
-				setTransient(TRANSIENT_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE_LITERAL:
-				setDefaultValueLiteral(DEFAULT_VALUE_LITERAL_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_EVENT__UNSETTABLE:
-				setUnsettable(UNSETTABLE_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_EVENT__DERIVED:
-				setDerived(DERIVED_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_EVENT__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case JavaRefPackage.JAVA_EVENT__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case JavaRefPackage.JAVA_EVENT__ORDERED:
-				return ordered != ORDERED_EDEFAULT;
-			case JavaRefPackage.JAVA_EVENT__UNIQUE:
-				return unique != UNIQUE_EDEFAULT;
-			case JavaRefPackage.JAVA_EVENT__LOWER_BOUND:
-				return lowerBound != LOWER_BOUND_EDEFAULT;
-			case JavaRefPackage.JAVA_EVENT__UPPER_BOUND:
-				return upperBound != UPPER_BOUND_EDEFAULT;
-			case JavaRefPackage.JAVA_EVENT__MANY:
-				return isMany() != false;
-			case JavaRefPackage.JAVA_EVENT__REQUIRED:
-				return isRequired() != false;
-			case JavaRefPackage.JAVA_EVENT__ETYPE:
-				return eType != null;
-			case JavaRefPackage.JAVA_EVENT__CHANGEABLE:
-				return changeable != CHANGEABLE_EDEFAULT;
-			case JavaRefPackage.JAVA_EVENT__VOLATILE:
-				return volatile_ != VOLATILE_EDEFAULT;
-			case JavaRefPackage.JAVA_EVENT__TRANSIENT:
-				return transient_ != TRANSIENT_EDEFAULT;
-			case JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE_LITERAL:
-				return DEFAULT_VALUE_LITERAL_EDEFAULT == null ? defaultValueLiteral != null : !DEFAULT_VALUE_LITERAL_EDEFAULT.equals(defaultValueLiteral);
-			case JavaRefPackage.JAVA_EVENT__DEFAULT_VALUE:
-				return getDefaultValue() != null;
-			case JavaRefPackage.JAVA_EVENT__UNSETTABLE:
-				return unsettable != UNSETTABLE_EDEFAULT;
-			case JavaRefPackage.JAVA_EVENT__DERIVED:
-				return derived != DERIVED_EDEFAULT;
-			case JavaRefPackage.JAVA_EVENT__ECONTAINING_CLASS:
-				return getEContainingClass() != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaFactoryImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaFactoryImpl.java
deleted file mode 100644
index 46a514f..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaFactoryImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.jem.java.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaFactoryImpl.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.jem.internal.java.instantiation.IInstantiationHandler;
-import org.eclipse.jem.internal.java.instantiation.IInstantiationHandlerFactoryAdapter;
-
-/**
- * The factory to use JavaRef packages. It will use the
- * IInstantiationHandler, if there is one, to do the
- * factory requests. Else it will let the superclass handle it.
- */
-public class JavaFactoryImpl extends EFactoryImpl {
-	
-	private IInstantiationHandler instantiationHandler;
-	private boolean retrievedHandler;
-
-	/**
-	 * Constructor for JavaFactoryImpl.
-	 */
-	public JavaFactoryImpl() {
-		super();
-	}
-
-	protected IInstantiationHandler getInstantiationHandler() {
-		if (!retrievedHandler) {
-			// Need to retrieve handler lazily because when factory is created it does not yet know what ResourceSet it is in.
-			// Can't know that until the first time we need a handler.
-			ResourceSet rset = getEPackage().eResource().getResourceSet();
-			if (rset != null) {
-				retrievedHandler = true;
-				IInstantiationHandlerFactoryAdapter factory = (IInstantiationHandlerFactoryAdapter) EcoreUtil.getExistingAdapter(rset, IInstantiationHandlerFactoryAdapter.ADAPTER_KEY);
-				if (factory != null)
-					instantiationHandler = factory.getInstantiationHandler(this);
-			}
-		}
-		return instantiationHandler;
-	}
-	
-	/**
-	 * @see org.eclipse.emf.ecore.EFactory#create(EClass)
-	 */
-	public EObject create(EClass eClass) {
-		IInstantiationHandler ia = getInstantiationHandler();
-		if (ia == null || !ia.handlesClass(eClass))
-			return super.create(eClass);
-		else
-			return ia.create(eClass);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaPackageImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaPackageImpl.java
deleted file mode 100644
index c3f7248..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaPackageImpl.java
+++ /dev/null
@@ -1,319 +0,0 @@
-package org.eclipse.jem.java.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaPackageImpl.java,v $
- *  $Revision: 1.4 $  $Date: 2004/01/14 00:16:44 $ 
- */
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.ECollections;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.JavaPackage;
-import org.eclipse.jem.java.JavaRefPackage;
-
-import org.eclipse.jem.java.*;
-
-public class JavaPackageImpl extends EPackageImpl implements JavaPackage, EPackage {
-		/**
-		 * @generated This field/method will be replaced during code generation.
-		 */
-	protected JavaPackageImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JavaRefPackage.eINSTANCE.getJavaPackage();
-	}
-
-	/**
-	 * Get the list of classes that this package contains.
-	 * Since this is a derived relationship, we need to implement
-	 * it here. It will get the metaobjects list. These are the
-	 * java classes this package contains.
-	 *
-	 * If this is the primitives package, then it must return
-	 * an empty list because it doesn't contain any classes.
-	 */
-	public EList getJavaClasses() {
-		return !PRIMITIVE_PACKAGE_NAME.equals(getName()) ?
-			ECollections.unmodifiableEList(getEClassifiers()) :
-			ECollections.EMPTY_ELIST;
-	}
-/**
- * Return the name for this package.
- * We do not want to expose the .javaprim package
- * since this is the name of the default package.
- */
-public String getName() {
-	if (isDefault())
-		return "";
-	else
-		return super.getName();
-}
-	public String getPackageName() {
-
-	String internalName = super.getName() ;
-	return JavaPackage.PRIMITIVE_PACKAGE_NAME.equals(internalName) ? "" : internalName ;	
-}
-protected boolean isDefault() {
-	return JavaPackage.PRIMITIVE_PACKAGE_NAME.equals(super.getName());	
-}
-	/**
-	 * Since classes are loaded dynamically and not from a schema, a
-	 * class could be asked for through this method, and if not yet reflected,
-	 * it wouldn't be found. We need to make sure that any class asked for
-	 * in this package is found (i.e. poofed up). Otherwise loading an instance
-	 * document that refers to java class through namespaces won't be found.
-	 */
-	public EClassifier getEClassifier(String className) {			
-		// Try to get the class from the resource that this package is in.
-		// This will create it if not found. This works because the
-		// structure is there is one java package per resource, and
-		// the id of the class is the class name without the package
-		// portion, which is what className above is.
-		Object result = eResource().getEObject(className);
-		return (result instanceof EClassifier) ? (EClassifier) result : null;
-	}
-	
-	/**
-	 * reflect - reflect a Java package for a given package name.
-	 * If the package does not exist, one will be created through
-	 * the reflection mechanism.
-	 * @deprecated
-	 * @see org.eclipse.jem.java.JavaRefFactory#reflectPackage(java.lang.String, org.eclipse.emf.ecore.resource.ResourceSet) 
-	 */
-	public static JavaPackage reflect(String packageName, ResourceSet set) {
-		return JavaRefFactory.eINSTANCE.reflectPackage(packageName, set);
-    }
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.JAVA_PACKAGE__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.JAVA_PACKAGE__EFACTORY_INSTANCE:
-					if (eFactoryInstance != null)
-						msgs = ((InternalEObject)eFactoryInstance).eInverseRemove(this, EcorePackage.EFACTORY__EPACKAGE, EFactory.class, msgs);
-					return basicSetEFactoryInstance((EFactory)otherEnd, msgs);
-				case JavaRefPackage.JAVA_PACKAGE__ECLASSIFIERS:
-					return ((InternalEList)getEClassifiers()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.JAVA_PACKAGE__ESUBPACKAGES:
-					return ((InternalEList)getESubpackages()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.JAVA_PACKAGE__ESUPER_PACKAGE:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, JavaRefPackage.JAVA_PACKAGE__ESUPER_PACKAGE, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.JAVA_PACKAGE__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.JAVA_PACKAGE__EFACTORY_INSTANCE:
-					return basicSetEFactoryInstance(null, msgs);
-				case JavaRefPackage.JAVA_PACKAGE__ECLASSIFIERS:
-					return ((InternalEList)getEClassifiers()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.JAVA_PACKAGE__ESUBPACKAGES:
-					return ((InternalEList)getESubpackages()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.JAVA_PACKAGE__ESUPER_PACKAGE:
-					return eBasicSetContainer(null, JavaRefPackage.JAVA_PACKAGE__ESUPER_PACKAGE, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case JavaRefPackage.JAVA_PACKAGE__ESUPER_PACKAGE:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EPACKAGE__ESUBPACKAGES, EPackage.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_PACKAGE__EANNOTATIONS:
-				return getEAnnotations();
-			case JavaRefPackage.JAVA_PACKAGE__NAME:
-				return getName();
-			case JavaRefPackage.JAVA_PACKAGE__NS_URI:
-				return getNsURI();
-			case JavaRefPackage.JAVA_PACKAGE__NS_PREFIX:
-				return getNsPrefix();
-			case JavaRefPackage.JAVA_PACKAGE__EFACTORY_INSTANCE:
-				return getEFactoryInstance();
-			case JavaRefPackage.JAVA_PACKAGE__ECLASSIFIERS:
-				return getEClassifiers();
-			case JavaRefPackage.JAVA_PACKAGE__ESUBPACKAGES:
-				return getESubpackages();
-			case JavaRefPackage.JAVA_PACKAGE__ESUPER_PACKAGE:
-				return getESuperPackage();
-			case JavaRefPackage.JAVA_PACKAGE__JAVA_CLASSES:
-				return getJavaClasses();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_PACKAGE__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_PACKAGE__NAME:
-				setName((String)newValue);
-				return;
-			case JavaRefPackage.JAVA_PACKAGE__NS_URI:
-				setNsURI((String)newValue);
-				return;
-			case JavaRefPackage.JAVA_PACKAGE__NS_PREFIX:
-				setNsPrefix((String)newValue);
-				return;
-			case JavaRefPackage.JAVA_PACKAGE__EFACTORY_INSTANCE:
-				setEFactoryInstance((EFactory)newValue);
-				return;
-			case JavaRefPackage.JAVA_PACKAGE__ECLASSIFIERS:
-				getEClassifiers().clear();
-				getEClassifiers().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_PACKAGE__ESUBPACKAGES:
-				getESubpackages().clear();
-				getESubpackages().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_PACKAGE__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case JavaRefPackage.JAVA_PACKAGE__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_PACKAGE__NS_URI:
-				setNsURI(NS_URI_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_PACKAGE__NS_PREFIX:
-				setNsPrefix(NS_PREFIX_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_PACKAGE__EFACTORY_INSTANCE:
-				setEFactoryInstance((EFactory)null);
-				return;
-			case JavaRefPackage.JAVA_PACKAGE__ECLASSIFIERS:
-				getEClassifiers().clear();
-				return;
-			case JavaRefPackage.JAVA_PACKAGE__ESUBPACKAGES:
-				getESubpackages().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_PACKAGE__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case JavaRefPackage.JAVA_PACKAGE__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case JavaRefPackage.JAVA_PACKAGE__NS_URI:
-				return NS_URI_EDEFAULT == null ? nsURI != null : !NS_URI_EDEFAULT.equals(nsURI);
-			case JavaRefPackage.JAVA_PACKAGE__NS_PREFIX:
-				return NS_PREFIX_EDEFAULT == null ? nsPrefix != null : !NS_PREFIX_EDEFAULT.equals(nsPrefix);
-			case JavaRefPackage.JAVA_PACKAGE__EFACTORY_INSTANCE:
-				return eFactoryInstance != null;
-			case JavaRefPackage.JAVA_PACKAGE__ECLASSIFIERS:
-				return eClassifiers != null && !eClassifiers.isEmpty();
-			case JavaRefPackage.JAVA_PACKAGE__ESUBPACKAGES:
-				return eSubpackages != null && !eSubpackages.isEmpty();
-			case JavaRefPackage.JAVA_PACKAGE__ESUPER_PACKAGE:
-				return getESuperPackage() != null;
-			case JavaRefPackage.JAVA_PACKAGE__JAVA_CLASSES:
-				return !getJavaClasses().isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-} //JavaPackageImpl
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaParameterImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaParameterImpl.java
deleted file mode 100644
index 3977598..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaParameterImpl.java
+++ /dev/null
@@ -1,366 +0,0 @@
-package org.eclipse.jem.java.impl;
-
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaParameterImpl.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/14 00:16:44 $ 
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EParameterImpl;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.JavaParameterKind;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.Method;
-
-/**
- * @generated
- */
-public class JavaParameterImpl extends EParameterImpl implements JavaParameter{
-
-	/**
-	 * The default value of the '{@link #isFinal() <em>Final</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isFinal()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean FINAL_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isFinal() <em>Final</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isFinal()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean final_ = FINAL_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getParameterKind() <em>Parameter Kind</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getParameterKind()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final JavaParameterKind PARAMETER_KIND_EDEFAULT = JavaParameterKind.IN_LITERAL;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	protected JavaParameterKind parameterKind = PARAMETER_KIND_EDEFAULT;
-	protected JavaParameterImpl() {
-		super();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JavaRefPackage.eINSTANCE.getJavaParameter();
-	}
-
-	public JavaHelpers getJavaType() {
-		return (JavaHelpers)getEType();
-	}
-  public String getQualifiedName() {
-    return (eContainer() instanceof Method) ? ((Method)eContainer()).getName() + "." + this.getName() : this.getName();
-  }
-	/**
-	 * Is this parameter type an array type.
-	 */
-	public boolean isArray() {
-		return getJavaType().isArray();
-	}
-	/**
-	 * Is this a return parameter.
-	 */
-	public boolean isReturn() {
-		return JavaParameterKind.RETURN == getParameterKind().getValue();
-	}
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public boolean isFinal() {
-		return final_;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setFinal(boolean newFinal) {
-		boolean oldFinal = final_;
-		final_ = newFinal;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.JAVA_PARAMETER__FINAL, oldFinal, final_));
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public JavaParameterKind getParameterKind() {
-		return parameterKind;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setParameterKind(JavaParameterKind newParameterKind) {
-		JavaParameterKind oldParameterKind = parameterKind;
-		parameterKind = newParameterKind == null ? PARAMETER_KIND_EDEFAULT : newParameterKind;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.JAVA_PARAMETER__PARAMETER_KIND, oldParameterKind, parameterKind));
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_PARAMETER__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case JavaRefPackage.JAVA_PARAMETER__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case JavaRefPackage.JAVA_PARAMETER__ORDERED:
-				return ordered != ORDERED_EDEFAULT;
-			case JavaRefPackage.JAVA_PARAMETER__UNIQUE:
-				return unique != UNIQUE_EDEFAULT;
-			case JavaRefPackage.JAVA_PARAMETER__LOWER_BOUND:
-				return lowerBound != LOWER_BOUND_EDEFAULT;
-			case JavaRefPackage.JAVA_PARAMETER__UPPER_BOUND:
-				return upperBound != UPPER_BOUND_EDEFAULT;
-			case JavaRefPackage.JAVA_PARAMETER__MANY:
-				return isMany() != false;
-			case JavaRefPackage.JAVA_PARAMETER__REQUIRED:
-				return isRequired() != false;
-			case JavaRefPackage.JAVA_PARAMETER__ETYPE:
-				return eType != null;
-			case JavaRefPackage.JAVA_PARAMETER__EOPERATION:
-				return getEOperation() != null;
-			case JavaRefPackage.JAVA_PARAMETER__FINAL:
-				return final_ != FINAL_EDEFAULT;
-			case JavaRefPackage.JAVA_PARAMETER__PARAMETER_KIND:
-				return parameterKind != PARAMETER_KIND_EDEFAULT;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_PARAMETER__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__NAME:
-				setName((String)newValue);
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__ORDERED:
-				setOrdered(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__UNIQUE:
-				setUnique(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__LOWER_BOUND:
-				setLowerBound(((Integer)newValue).intValue());
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__UPPER_BOUND:
-				setUpperBound(((Integer)newValue).intValue());
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__ETYPE:
-				setEType((EClassifier)newValue);
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__FINAL:
-				setFinal(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__PARAMETER_KIND:
-				setParameterKind((JavaParameterKind)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_PARAMETER__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__ORDERED:
-				setOrdered(ORDERED_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__UNIQUE:
-				setUnique(UNIQUE_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__LOWER_BOUND:
-				setLowerBound(LOWER_BOUND_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__UPPER_BOUND:
-				setUpperBound(UPPER_BOUND_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__ETYPE:
-				setEType((EClassifier)null);
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__FINAL:
-				setFinal(FINAL_EDEFAULT);
-				return;
-			case JavaRefPackage.JAVA_PARAMETER__PARAMETER_KIND:
-				setParameterKind(PARAMETER_KIND_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (final: ");
-		result.append(final_);
-		result.append(", parameterKind: ");
-		result.append(parameterKind);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.JAVA_PARAMETER__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.JAVA_PARAMETER__EOPERATION:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, JavaRefPackage.JAVA_PARAMETER__EOPERATION, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.JAVA_PARAMETER__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.JAVA_PARAMETER__EOPERATION:
-					return eBasicSetContainer(null, JavaRefPackage.JAVA_PARAMETER__EOPERATION, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case JavaRefPackage.JAVA_PARAMETER__EOPERATION:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EOPERATION__EPARAMETERS, EOperation.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.JAVA_PARAMETER__EANNOTATIONS:
-				return getEAnnotations();
-			case JavaRefPackage.JAVA_PARAMETER__NAME:
-				return getName();
-			case JavaRefPackage.JAVA_PARAMETER__ORDERED:
-				return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_PARAMETER__UNIQUE:
-				return isUnique() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_PARAMETER__LOWER_BOUND:
-				return new Integer(getLowerBound());
-			case JavaRefPackage.JAVA_PARAMETER__UPPER_BOUND:
-				return new Integer(getUpperBound());
-			case JavaRefPackage.JAVA_PARAMETER__MANY:
-				return isMany() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_PARAMETER__REQUIRED:
-				return isRequired() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_PARAMETER__ETYPE:
-				if (resolve) return getEType();
-				return basicGetEType();
-			case JavaRefPackage.JAVA_PARAMETER__EOPERATION:
-				return getEOperation();
-			case JavaRefPackage.JAVA_PARAMETER__FINAL:
-				return isFinal() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.JAVA_PARAMETER__PARAMETER_KIND:
-				return getParameterKind();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaRefFactoryImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaRefFactoryImpl.java
deleted file mode 100644
index 25fc02f..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaRefFactoryImpl.java
+++ /dev/null
@@ -1,372 +0,0 @@
-package org.eclipse.jem.java.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaRefFactoryImpl.java,v $
- *  $Revision: 1.4 $  $Date: 2004/01/14 00:16:44 $ 
- */
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.internal.java.adapters.jdk.JavaJDKAdapterFactory;
-
-
-
-/**
- * @generated
- */
-public class JavaRefFactoryImpl extends EFactoryImpl implements JavaRefFactory {
-
-	
-	protected static Class ReflectionFactoryClass = JavaJDKAdapterFactory.class;
-	public JavaRefFactoryImpl() {
-		super();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EObject create(EClass eClass) {
-		switch (eClass.getClassifierID()) {
-			case JavaRefPackage.JAVA_CLASS: return createJavaClass();
-			case JavaRefPackage.INITIALIZER: return createInitializer();
-			case JavaRefPackage.JAVA_PARAMETER: return createJavaParameter();
-			case JavaRefPackage.METHOD: return createMethod();
-			case JavaRefPackage.FIELD: return createField();
-			case JavaRefPackage.BLOCK: return createBlock();
-			case JavaRefPackage.COMMENT: return createComment();
-			case JavaRefPackage.STATEMENT: return createStatement();
-			case JavaRefPackage.JAVA_PACKAGE: return createJavaPackage();
-			case JavaRefPackage.JAVA_DATA_TYPE: return createJavaDataType();
-			case JavaRefPackage.ARRAY_TYPE: return createArrayType();
-			default:
-				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object createFromString(EDataType eDataType, String initialValue) {
-		switch (eDataType.getClassifierID()) {
-			case JavaRefPackage.TYPE_KIND:
-				return TypeKind.get(initialValue);
-			case JavaRefPackage.JAVA_VISIBILITY_KIND:
-				return JavaVisibilityKind.get(initialValue);
-			case JavaRefPackage.JAVA_PARAMETER_KIND:
-				return JavaParameterKind.get(initialValue);
-			case JavaRefPackage.JTYPE_JAVA_HELPERS:
-				return createJTypeJavaHelpersFromString(eDataType, initialValue);
-			case JavaRefPackage.JTYPE_LIST:
-				return createJTypeListFromString(eDataType, initialValue);
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertToString(EDataType eDataType, Object instanceValue) {
-		switch (eDataType.getClassifierID()) {
-			case JavaRefPackage.TYPE_KIND:
-				return instanceValue == null ? null : instanceValue.toString();
-			case JavaRefPackage.JAVA_VISIBILITY_KIND:
-				return instanceValue == null ? null : instanceValue.toString();
-			case JavaRefPackage.JAVA_PARAMETER_KIND:
-				return instanceValue == null ? null : instanceValue.toString();
-			case JavaRefPackage.JTYPE_JAVA_HELPERS:
-				return convertJTypeJavaHelpersToString(eDataType, instanceValue);
-			case JavaRefPackage.JTYPE_LIST:
-				return convertJTypeListToString(eDataType, instanceValue);
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
-		}
-	}
-
-	public ArrayType createArrayType(JavaHelpers componentType) {
-		ArrayType at = createArrayType();
-		
-		String computedName = componentType.getQualifiedName() + "[]";
-		at.setName(computedName);
-		return at;
-	}
-	public ArrayType createArrayType(JavaHelpers finalComponentType, int dimensions) {
-		ArrayType at = createArrayType();
-		
-		String computedName = finalComponentType.getQualifiedName();
-		for (int i = 0; i < dimensions; i++){
-			computedName = computedName + "[]";
-		}
-		at.setName(computedName);
-		return at;
-	}
-  public static ResourceSet createJavaContext() {
-    org.eclipse.jem.internal.java.init.JavaInit.init();
-    ResourceSet set = new ResourceSetImpl();
-    set.getAdapterFactories().add(createJavaReflectionAdapterFactory());
-    return set;
-  }
-	protected static AdapterFactory createJavaReflectionAdapterFactory() {
-		AdapterFactory factoryInstance = null;
-		try {
-			if (getReflectionAdapterFactoryClass() != null)
-				factoryInstance = (AdapterFactory) getReflectionAdapterFactoryClass().newInstance();
-		} catch (Exception e) {
-			// Reflection or instantiation problems.
-			// OK, can't do Java Model reflection
-		}
-		return factoryInstance;
-	}
-	/**
-	 * Return the Class for the Java refection adapter factory.
-	 */
-	public static Class getReflectionAdapterFactoryClass() {
-		return ReflectionFactoryClass;
-	}
-	/**
-	 * Set the Class for the Java refection adapter factory.
-	 * 
-	 * @see JavaPlugin.startup()
-	 */
-	public static void setReflectionAdapterFactoryClass(Class javaReflectionFactoryClass) {
-		ReflectionFactoryClass = javaReflectionFactoryClass;
-	}
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public Method createMethod() {
-		MethodImpl method = new MethodImpl();
-		return method;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public JavaClass createJavaClass() {
-		JavaClassImpl javaClass = new JavaClassImpl();
-		return javaClass;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public Field createField() {
-		FieldImpl field = new FieldImpl();
-		return field;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public Block createBlock() {
-		BlockImpl block = new BlockImpl();
-		return block;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public Comment createComment() {
-		CommentImpl comment = new CommentImpl();
-		return comment;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public Statement createStatement() {
-		StatementImpl statement = new StatementImpl();
-		return statement;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public Initializer createInitializer() {
-		InitializerImpl initializer = new InitializerImpl();
-		return initializer;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public JavaParameter createJavaParameter() {
-		JavaParameterImpl javaParameter = new JavaParameterImpl();
-		return javaParameter;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public ArrayType createArrayType() {
-		ArrayTypeImpl arrayType = new ArrayTypeImpl();
-		return arrayType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaHelpers createJTypeJavaHelpersFromString(EDataType eDataType, String initialValue) {
-		return (JavaHelpers)super.createFromString(eDataType, initialValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertJTypeJavaHelpersToString(EDataType eDataType, Object instanceValue) {
-		return super.convertToString(eDataType, instanceValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List createJTypeListFromString(EDataType eDataType, String initialValue) {
-		return (List)super.createFromString(eDataType, initialValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertJTypeListToString(EDataType eDataType, Object instanceValue) {
-		return super.convertToString(eDataType, instanceValue);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public JavaDataType createJavaDataType() {
-		JavaDataTypeImpl javaDataType = new JavaDataTypeImpl();
-		return javaDataType;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public JavaPackage createJavaPackage() {
-		JavaPackageImpl javaPackage = new JavaPackageImpl();
-		return javaPackage;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public JavaRefPackage getJavaRefPackage() {
-		return (JavaRefPackage)getEPackage();
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public static JavaRefPackage getPackage() {
-		return JavaRefPackage.eINSTANCE;
-	}
-	public static JavaRefFactory getActiveFactory() {
-		return JavaRefFactory.eINSTANCE;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.java.JavaRefFactory#createClassRef(java.lang.String)
-	 */
-	public JavaClass createClassRef(String targetName) {
-		JavaClass ref = createJavaClass();
-		JavaURL javaurl = new JavaURL(targetName);
-		((InternalEObject) ref).eSetProxyURI(URI.createURI(javaurl.getFullString()));
-		return ref;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.java.JavaRefFactory#reflectType(java.lang.String, org.eclipse.emf.ecore.EObject)
-	 */
-	public JavaHelpers reflectType(String aQualifiedName, EObject relatedObject) {
-		Resource r = relatedObject.eResource();
-		if (r != null) {
-			ResourceSet rs = r.getResourceSet();
-			if (rs != null) {
-				return reflectType(aQualifiedName, rs);
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.java.JavaRefFactory#reflectType(java.lang.String, org.eclipse.emf.ecore.resource.ResourceSet)
-	 */
-	public JavaHelpers reflectType(String aQualifiedName, ResourceSet set) {
-		if (aQualifiedName != null) {
-			int index = aQualifiedName.lastIndexOf(".");
-			if (index > 0)
-				return reflectType(aQualifiedName.substring(0, index), aQualifiedName.substring(index + 1, aQualifiedName.length()), set);
-			else
-				return reflectType("", aQualifiedName, set);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.java.JavaRefFactory#reflectType(java.lang.String, java.lang.String, org.eclipse.emf.ecore.resource.ResourceSet)
-	 */
-	public JavaHelpers reflectType(String aPackageName, String aTypeName, ResourceSet set) {
-		if (aTypeName != null && aPackageName != null) {
-			org.eclipse.jem.internal.java.init.JavaInit.init();
-			JavaURL url = new JavaURL(aPackageName, aTypeName);
-			return (JavaHelpers) set.getEObject(URI.createURI(url.getFullString()), true);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.java.JavaRefFactory#reflectPackage(java.lang.String, org.eclipse.emf.ecore.resource.ResourceSet)
-	 */
-	public JavaPackage reflectPackage(String packageName, ResourceSet set) {
-		if (packageName != null) {
-			org.eclipse.jem.internal.java.init.JavaInit.init();
-			JavaURL url = new JavaURL(packageName, JavaPackage.PACKAGE_ID);
-			return (JavaPackage) set.getEObject(URI.createURI(url.getFullString()), true);
-		}
-		return null;
-	}
-
-}
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaRefPackageImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaRefPackageImpl.java
deleted file mode 100644
index 6613082..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/JavaRefPackageImpl.java
+++ /dev/null
@@ -1,1000 +0,0 @@
-package org.eclipse.jem.java.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaRefPackageImpl.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/14 00:16:44 $ 
- */
-import java.util.List;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.emf.ecore.impl.EcorePackageImpl;
-
-
-import org.eclipse.jem.java.ArrayType;
-import org.eclipse.jem.java.Block;
-import org.eclipse.jem.java.Comment;
-import org.eclipse.jem.java.Field;
-import org.eclipse.jem.java.Initializer;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaDataType;
-import org.eclipse.jem.java.JavaEvent;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaPackage;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.JavaParameterKind;
-import org.eclipse.jem.java.JavaRefFactory;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.JavaVisibilityKind;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.java.Statement;
-import org.eclipse.jem.java.TypeKind;
-
-
-/**
- * @lastgen class JavaRefPackageImpl extends EPackageImpl implements JavaRefPackage, EPackage {}
- */
-public class JavaRefPackageImpl extends EPackageImpl implements JavaRefPackage {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass javaClassEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass initializerEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass javaParameterEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass methodEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass fieldEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass blockEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass commentEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass statementEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass javaPackageEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass javaDataTypeEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass arrayTypeEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass javaEventEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum typeKindEEnum = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum javaVisibilityKindEEnum = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum javaParameterKindEEnum = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EDataType jTypeJavaHelpersEDataType = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EDataType jTypeListEDataType = null;
-
-		   /**
-		 * @generated This field/method will be replaced during code generation.
-		 */
-	private JavaRefPackageImpl() {
-		super(eNS_URI, JavaRefFactory.eINSTANCE);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static boolean isInited = false;
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public static JavaRefPackage init() {
-		if (isInited) return (JavaRefPackage)EPackage.Registry.INSTANCE.get(JavaRefPackage.eNS_URI);
-
-		// Obtain or create and register package.
-		JavaRefPackageImpl theJavaRefPackage = (JavaRefPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EPackage ? EPackage.Registry.INSTANCE.get(eNS_URI) : new JavaRefPackageImpl());
-
-		isInited = true;
-
-		// Initialize simple dependencies
-		EcorePackageImpl.init();
-
-		// Obtain or create and register interdependencies
-
-		// Step 1: create meta-model objects
-		theJavaRefPackage.createPackageContents();
-
-		// Step 2: complete initialization
-		theJavaRefPackage.initializePackageContents();
-
-		return theJavaRefPackage;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EClass getJavaClass() {
-		return javaClassEClass;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EAttribute getJavaClass_Kind() {
-		return (EAttribute)javaClassEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJavaClass_Public() {
-		return (EAttribute)javaClassEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJavaClass_Final() {
-		return (EAttribute)javaClassEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getJavaClass_ImplementsInterfaces() {
-		return (EReference)javaClassEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getJavaClass_ClassImport() {
-		return (EReference)javaClassEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getJavaClass_PackageImports() {
-		return (EReference)javaClassEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getJavaClass_Fields() {
-		return (EReference)javaClassEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getJavaClass_Methods() {
-		return (EReference)javaClassEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getJavaClass_Initializers() {
-		return (EReference)javaClassEClass.getEStructuralFeatures().get(8);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getJavaClass_DeclaringClass() {
-		return (EReference)javaClassEClass.getEStructuralFeatures().get(10);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getJavaClass_DeclaredClasses() {
-		return (EReference)javaClassEClass.getEStructuralFeatures().get(9);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getJavaClass_JavaPackage() {
-		return (EReference)javaClassEClass.getEStructuralFeatures().get(11);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getJavaClass_Events() {
-		return (EReference)javaClassEClass.getEStructuralFeatures().get(12);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getJavaClass_AllEvents() {
-		return (EReference)javaClassEClass.getEStructuralFeatures().get(13);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EClass getField() {
-		return fieldEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getField_Final() {
-		return (EAttribute)fieldEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getField_Static() {
-		return (EAttribute)fieldEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EAttribute getField_JavaVisibility() {
-		return (EAttribute)fieldEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getField_Transient() {
-		return (EAttribute)fieldEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getField_Volatile() {
-		return (EAttribute)fieldEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getField_JavaClass() {
-		return (EReference)fieldEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getField_Initializer() {
-		return (EReference)fieldEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EClass getMethod() {
-		return methodEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMethod_Abstract() {
-		return (EAttribute)methodEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMethod_Native() {
-		return (EAttribute)methodEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMethod_Synchronized() {
-		return (EAttribute)methodEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMethod_Final() {
-		return (EAttribute)methodEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMethod_Constructor() {
-		return (EAttribute)methodEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMethod_Static() {
-		return (EAttribute)methodEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EAttribute getMethod_JavaVisibility() {
-		return (EAttribute)methodEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getMethod_Parameters() {
-		return (EReference)methodEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getMethod_JavaExceptions() {
-		return (EReference)methodEClass.getEStructuralFeatures().get(8);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getMethod_JavaClass() {
-		return (EReference)methodEClass.getEStructuralFeatures().get(9);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getMethod_Source() {
-		return (EReference)methodEClass.getEStructuralFeatures().get(10);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EClass getJavaParameter() {
-		return javaParameterEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJavaParameter_Final() {
-		return (EAttribute)javaParameterEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EAttribute getJavaParameter_ParameterKind() {
-		return (EAttribute)javaParameterEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EClass getArrayType() {
-		return arrayTypeEClass;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EAttribute getArrayType_ArrayDimensions() {
-		return (EAttribute)arrayTypeEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getArrayType_ComponentType() {
-		return (EReference)arrayTypeEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EClass getJavaDataType() {
-		return javaDataTypeEClass;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EClass getJavaEvent() {
-		return javaEventEClass;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EClass getJavaPackage() {
-		return javaPackageEClass;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getJavaPackage_JavaClasses() {
-		return (EReference)javaPackageEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EClass getBlock() {
-		return blockEClass;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EAttribute getBlock_Source() {
-		return (EAttribute)blockEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EAttribute getBlock_Name() {
-		return (EAttribute)blockEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getBlock_Contents() {
-		return (EReference)blockEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EClass getComment() {
-		return commentEClass;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EClass getStatement() {
-		return statementEClass;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EClass getInitializer() {
-		return initializerEClass;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EAttribute getInitializer_IsStatic() {
-		return (EAttribute)initializerEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getInitializer_JavaClass() {
-		return (EReference)initializerEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EReference getInitializer_Source() {
-		return (EReference)initializerEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EEnum getJavaVisibilityKind() {
-		return javaVisibilityKindEEnum;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EEnum getJavaParameterKind() {
-		return javaParameterKindEEnum;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EEnum getTypeKind() {
-		return typeKindEEnum;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EDataType getJTypeList() {
-		return jTypeListEDataType;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public EDataType getJTypeJavaHelpers() {
-		return jTypeJavaHelpersEDataType;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public JavaRefFactory getJavaRefFactory() {
-		return (JavaRefFactory)getEFactoryInstance();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isCreated = false;
-
-	/**
-	 * Creates the meta-model objects for the package.  This method is
-	 * guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void createPackageContents() {
-		if (isCreated) return;
-		isCreated = true;
-
-		// Create classes and their features
-		javaClassEClass = createEClass(JAVA_CLASS);
-		createEAttribute(javaClassEClass, JAVA_CLASS__KIND);
-		createEAttribute(javaClassEClass, JAVA_CLASS__PUBLIC);
-		createEAttribute(javaClassEClass, JAVA_CLASS__FINAL);
-		createEReference(javaClassEClass, JAVA_CLASS__IMPLEMENTS_INTERFACES);
-		createEReference(javaClassEClass, JAVA_CLASS__CLASS_IMPORT);
-		createEReference(javaClassEClass, JAVA_CLASS__PACKAGE_IMPORTS);
-		createEReference(javaClassEClass, JAVA_CLASS__FIELDS);
-		createEReference(javaClassEClass, JAVA_CLASS__METHODS);
-		createEReference(javaClassEClass, JAVA_CLASS__INITIALIZERS);
-		createEReference(javaClassEClass, JAVA_CLASS__DECLARED_CLASSES);
-		createEReference(javaClassEClass, JAVA_CLASS__DECLARING_CLASS);
-		createEReference(javaClassEClass, JAVA_CLASS__JAVA_PACKAGE);
-		createEReference(javaClassEClass, JAVA_CLASS__EVENTS);
-		createEReference(javaClassEClass, JAVA_CLASS__ALL_EVENTS);
-
-		initializerEClass = createEClass(INITIALIZER);
-		createEAttribute(initializerEClass, INITIALIZER__IS_STATIC);
-		createEReference(initializerEClass, INITIALIZER__JAVA_CLASS);
-		createEReference(initializerEClass, INITIALIZER__SOURCE);
-
-		javaParameterEClass = createEClass(JAVA_PARAMETER);
-		createEAttribute(javaParameterEClass, JAVA_PARAMETER__FINAL);
-		createEAttribute(javaParameterEClass, JAVA_PARAMETER__PARAMETER_KIND);
-
-		methodEClass = createEClass(METHOD);
-		createEAttribute(methodEClass, METHOD__ABSTRACT);
-		createEAttribute(methodEClass, METHOD__NATIVE);
-		createEAttribute(methodEClass, METHOD__SYNCHRONIZED);
-		createEAttribute(methodEClass, METHOD__FINAL);
-		createEAttribute(methodEClass, METHOD__CONSTRUCTOR);
-		createEAttribute(methodEClass, METHOD__STATIC);
-		createEAttribute(methodEClass, METHOD__JAVA_VISIBILITY);
-		createEReference(methodEClass, METHOD__PARAMETERS);
-		createEReference(methodEClass, METHOD__JAVA_EXCEPTIONS);
-		createEReference(methodEClass, METHOD__JAVA_CLASS);
-		createEReference(methodEClass, METHOD__SOURCE);
-
-		fieldEClass = createEClass(FIELD);
-		createEAttribute(fieldEClass, FIELD__FINAL);
-		createEAttribute(fieldEClass, FIELD__STATIC);
-		createEAttribute(fieldEClass, FIELD__JAVA_VISIBILITY);
-		createEAttribute(fieldEClass, FIELD__TRANSIENT);
-		createEAttribute(fieldEClass, FIELD__VOLATILE);
-		createEReference(fieldEClass, FIELD__JAVA_CLASS);
-		createEReference(fieldEClass, FIELD__INITIALIZER);
-
-		blockEClass = createEClass(BLOCK);
-		createEAttribute(blockEClass, BLOCK__SOURCE);
-		createEAttribute(blockEClass, BLOCK__NAME);
-		createEReference(blockEClass, BLOCK__CONTENTS);
-
-		commentEClass = createEClass(COMMENT);
-
-		statementEClass = createEClass(STATEMENT);
-
-		javaPackageEClass = createEClass(JAVA_PACKAGE);
-		createEReference(javaPackageEClass, JAVA_PACKAGE__JAVA_CLASSES);
-
-		javaDataTypeEClass = createEClass(JAVA_DATA_TYPE);
-
-		arrayTypeEClass = createEClass(ARRAY_TYPE);
-		createEAttribute(arrayTypeEClass, ARRAY_TYPE__ARRAY_DIMENSIONS);
-		createEReference(arrayTypeEClass, ARRAY_TYPE__COMPONENT_TYPE);
-
-		javaEventEClass = createEClass(JAVA_EVENT);
-
-		// Create enums
-		typeKindEEnum = createEEnum(TYPE_KIND);
-		javaVisibilityKindEEnum = createEEnum(JAVA_VISIBILITY_KIND);
-		javaParameterKindEEnum = createEEnum(JAVA_PARAMETER_KIND);
-
-		// Create data types
-		jTypeJavaHelpersEDataType = createEDataType(JTYPE_JAVA_HELPERS);
-		jTypeListEDataType = createEDataType(JTYPE_LIST);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isInitialized = false;
-
-	/**
-	 * Complete the initialization of the package and its meta-model.  This
-	 * method is guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void initializePackageContents() {
-		if (isInitialized) return;
-		isInitialized = true;
-
-		// Initialize package
-		setName(eNAME);
-		setNsPrefix(eNS_PREFIX);
-		setNsURI(eNS_URI);
-
-		// Obtain other dependent packages
-		EcorePackageImpl theEcorePackage = (EcorePackageImpl)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
-
-		// Add supertypes to classes
-		javaClassEClass.getESuperTypes().add(theEcorePackage.getEClass());
-		javaParameterEClass.getESuperTypes().add(theEcorePackage.getEParameter());
-		methodEClass.getESuperTypes().add(theEcorePackage.getEOperation());
-		fieldEClass.getESuperTypes().add(theEcorePackage.getETypedElement());
-		commentEClass.getESuperTypes().add(this.getBlock());
-		statementEClass.getESuperTypes().add(this.getBlock());
-		javaPackageEClass.getESuperTypes().add(theEcorePackage.getEPackage());
-		javaDataTypeEClass.getESuperTypes().add(theEcorePackage.getEClass());
-		arrayTypeEClass.getESuperTypes().add(this.getJavaClass());
-		javaEventEClass.getESuperTypes().add(theEcorePackage.getEStructuralFeature());
-
-		// Initialize classes and features; add operations and parameters
-		initEClass(javaClassEClass, JavaClass.class, "JavaClass", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getJavaClass_Kind(), this.getTypeKind(), "kind", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getJavaClass_Public(), ecorePackage.getEBoolean(), "public", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getJavaClass_Final(), ecorePackage.getEBoolean(), "final", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getJavaClass_ImplementsInterfaces(), this.getJavaClass(), null, "implementsInterfaces", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getJavaClass_ClassImport(), this.getJavaClass(), null, "classImport", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getJavaClass_PackageImports(), this.getJavaPackage(), null, "packageImports", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getJavaClass_Fields(), this.getField(), this.getField_JavaClass(), "fields", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getJavaClass_Methods(), this.getMethod(), this.getMethod_JavaClass(), "methods", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getJavaClass_Initializers(), this.getInitializer(), this.getInitializer_JavaClass(), "initializers", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getJavaClass_DeclaredClasses(), this.getJavaClass(), this.getJavaClass_DeclaringClass(), "declaredClasses", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getJavaClass_DeclaringClass(), this.getJavaClass(), this.getJavaClass_DeclaredClasses(), "declaringClass", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getJavaClass_JavaPackage(), this.getJavaPackage(), this.getJavaPackage_JavaClasses(), "javaPackage", null, 0, 1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getJavaClass_Events(), this.getJavaEvent(), null, "events", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getJavaClass_AllEvents(), this.getJavaEvent(), null, "allEvents", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		addEOperation(javaClassEClass, ecorePackage.getEBoolean(), "isNested");
-
-		EOperation op = addEOperation(javaClassEClass, this.getField(), "getField");
-		addEParameter(op, ecorePackage.getEString(), "fieldName");
-
-		op = addEOperation(javaClassEClass, this.getField(), "getFieldExtended");
-		addEParameter(op, ecorePackage.getEString(), "fieldName");
-
-		op = addEOperation(javaClassEClass, this.getField(), "getFieldNamed");
-		addEParameter(op, ecorePackage.getEString(), "fieldName");
-
-		addEOperation(javaClassEClass, this.getJTypeList(), "getFieldsExtended");
-
-		op = addEOperation(javaClassEClass, this.getMethod(), "getMethod");
-		addEParameter(op, ecorePackage.getEString(), "methodName");
-		addEParameter(op, this.getJTypeList(), "parameterTypes");
-
-		addEOperation(javaClassEClass, this.getJTypeList(), "getMethodElementSignatures");
-
-		op = addEOperation(javaClassEClass, this.getMethod(), "getMethodExtended");
-		addEParameter(op, ecorePackage.getEString(), "methodName");
-		addEParameter(op, this.getJTypeList(), "parameterTypes");
-
-		addEOperation(javaClassEClass, this.getJTypeList(), "getMethodsExtended");
-
-		op = addEOperation(javaClassEClass, this.getJTypeList(), "getOnlySpecificMethods");
-		addEParameter(op, ecorePackage.getEString(), "aMethodNamePrefix");
-		addEParameter(op, this.getJTypeList(), "excludedNames");
-
-		op = addEOperation(javaClassEClass, this.getMethod(), "getPublicMethod");
-		addEParameter(op, ecorePackage.getEString(), "methodName");
-		addEParameter(op, this.getJTypeList(), "parameterTypes");
-
-		addEOperation(javaClassEClass, this.getJTypeList(), "getPublicMethods");
-
-		addEOperation(javaClassEClass, this.getJTypeList(), "getPublicMethodsExtended");
-
-		op = addEOperation(javaClassEClass, this.getJTypeList(), "getPublicMethodsNamed");
-		addEParameter(op, ecorePackage.getEString(), "name");
-
-		addEOperation(javaClassEClass, this.getJavaClass(), "getSupertype");
-
-		op = addEOperation(javaClassEClass, ecorePackage.getEBoolean(), "implementsInterface");
-		addEParameter(op, this.getJavaClass(), "interfaceType");
-
-		addEOperation(javaClassEClass, ecorePackage.getEString(), "infoString");
-
-		op = addEOperation(javaClassEClass, ecorePackage.getEBoolean(), "inheritsFrom");
-		addEParameter(op, this.getJavaClass(), "javaClass");
-
-		addEOperation(javaClassEClass, ecorePackage.getEBoolean(), "isExistingType");
-
-		addEOperation(javaClassEClass, ecorePackage.getEBoolean(), "isInterface");
-
-		op = addEOperation(javaClassEClass, null, "setSupertype");
-		addEParameter(op, this.getJavaClass(), "javaclass");
-
-		initEClass(initializerEClass, Initializer.class, "Initializer", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getInitializer_IsStatic(), ecorePackage.getEBooleanObject(), "isStatic", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getInitializer_JavaClass(), this.getJavaClass(), this.getJavaClass_Initializers(), "javaClass", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getInitializer_Source(), this.getBlock(), null, "source", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(javaParameterEClass, JavaParameter.class, "JavaParameter", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getJavaParameter_Final(), ecorePackage.getEBoolean(), "final", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getJavaParameter_ParameterKind(), this.getJavaParameterKind(), "parameterKind", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
-		addEOperation(javaParameterEClass, ecorePackage.getEBoolean(), "isArray");
-
-		addEOperation(javaParameterEClass, ecorePackage.getEBoolean(), "isReturn");
-
-		addEOperation(javaParameterEClass, this.getJTypeJavaHelpers(), "getJavaType");
-
-		addEOperation(javaParameterEClass, ecorePackage.getEString(), "getQualifiedName");
-
-		initEClass(methodEClass, Method.class, "Method", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getMethod_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getMethod_Native(), ecorePackage.getEBoolean(), "native", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getMethod_Synchronized(), ecorePackage.getEBoolean(), "synchronized", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getMethod_Final(), ecorePackage.getEBoolean(), "final", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getMethod_Constructor(), ecorePackage.getEBoolean(), "constructor", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getMethod_Static(), ecorePackage.getEBoolean(), "static", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getMethod_JavaVisibility(), this.getJavaVisibilityKind(), "javaVisibility", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getMethod_Parameters(), this.getJavaParameter(), null, "parameters", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getMethod_JavaExceptions(), this.getJavaClass(), null, "javaExceptions", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getMethod_JavaClass(), this.getJavaClass(), this.getJavaClass_Methods(), "javaClass", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getMethod_Source(), this.getBlock(), null, "source", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		addEOperation(methodEClass, this.getJavaClass(), "getContainingJavaClass");
-
-		addEOperation(methodEClass, ecorePackage.getEString(), "getMethodElementSignature");
-
-		op = addEOperation(methodEClass, this.getJavaParameter(), "getParameter");
-		addEParameter(op, ecorePackage.getEString(), "parameterName");
-
-		addEOperation(methodEClass, this.getJTypeJavaHelpers(), "getReturnType");
-
-		op = addEOperation(methodEClass, null, "setReturnType");
-		addEParameter(op, this.getJTypeJavaHelpers(), "type");
-
-		addEOperation(methodEClass, ecorePackage.getEString(), "getSignature");
-
-		addEOperation(methodEClass, ecorePackage.getEBoolean(), "isGenerated");
-
-		op = addEOperation(methodEClass, null, "setIsGenerated");
-		addEParameter(op, ecorePackage.getEBoolean(), "generated");
-
-		addEOperation(methodEClass, ecorePackage.getEBoolean(), "isVoid");
-
-		initEClass(fieldEClass, Field.class, "Field", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getField_Final(), ecorePackage.getEBoolean(), "final", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getField_Static(), ecorePackage.getEBoolean(), "static", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getField_JavaVisibility(), this.getJavaVisibilityKind(), "javaVisibility", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getField_Transient(), ecorePackage.getEBoolean(), "transient", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getField_Volatile(), ecorePackage.getEBoolean(), "volatile", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getField_JavaClass(), this.getJavaClass(), this.getJavaClass_Fields(), "javaClass", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getField_Initializer(), this.getBlock(), null, "initializer", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		addEOperation(fieldEClass, this.getJavaClass(), "getContainingJavaClass");
-
-		addEOperation(fieldEClass, ecorePackage.getEBoolean(), "isArray");
-
-		initEClass(blockEClass, Block.class, "Block", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getBlock_Source(), ecorePackage.getEString(), "source", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEAttribute(getBlock_Name(), ecorePackage.getEString(), "name", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getBlock_Contents(), this.getBlock(), null, "contents", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(commentEClass, Comment.class, "Comment", !IS_ABSTRACT, !IS_INTERFACE);
-
-		initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE);
-
-		initEClass(javaPackageEClass, JavaPackage.class, "JavaPackage", !IS_ABSTRACT, !IS_INTERFACE);
-		initEReference(getJavaPackage_JavaClasses(), this.getJavaClass(), this.getJavaClass_JavaPackage(), "javaClasses", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		initEClass(javaDataTypeEClass, JavaDataType.class, "JavaDataType", !IS_ABSTRACT, !IS_INTERFACE);
-
-		addEOperation(javaDataTypeEClass, ecorePackage.getEString(), "getDefaultValueString");
-
-		initEClass(arrayTypeEClass, ArrayType.class, "ArrayType", !IS_ABSTRACT, !IS_INTERFACE);
-		initEAttribute(getArrayType_ArrayDimensions(), ecorePackage.getEInt(), "arrayDimensions", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-		initEReference(getArrayType_ComponentType(), theEcorePackage.getEClassifier(), null, "componentType", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
-		addEOperation(arrayTypeEClass, this.getJTypeJavaHelpers(), "getFinalComponentType");
-
-		addEOperation(arrayTypeEClass, this.getJTypeJavaHelpers(), "getComponentTypeAsHelper");
-
-		addEOperation(arrayTypeEClass, ecorePackage.getEBoolean(), "isPrimitiveArray");
-
-		op = addEOperation(arrayTypeEClass, null, "setComponentType");
-		addEParameter(op, this.getJTypeJavaHelpers(), "helperComponentType");
-
-		initEClass(javaEventEClass, JavaEvent.class, "JavaEvent", IS_ABSTRACT, !IS_INTERFACE);
-
-		// Initialize enums and add enum literals
-		initEEnum(typeKindEEnum, TypeKind.class, "TypeKind");
-		addEEnumLiteral(typeKindEEnum, TypeKind.UNDEFINED_LITERAL);
-		addEEnumLiteral(typeKindEEnum, TypeKind.CLASS_LITERAL);
-		addEEnumLiteral(typeKindEEnum, TypeKind.INTERFACE_LITERAL);
-		addEEnumLiteral(typeKindEEnum, TypeKind.EXCEPTION_LITERAL);
-
-		initEEnum(javaVisibilityKindEEnum, JavaVisibilityKind.class, "JavaVisibilityKind");
-		addEEnumLiteral(javaVisibilityKindEEnum, JavaVisibilityKind.PUBLIC_LITERAL);
-		addEEnumLiteral(javaVisibilityKindEEnum, JavaVisibilityKind.PRIVATE_LITERAL);
-		addEEnumLiteral(javaVisibilityKindEEnum, JavaVisibilityKind.PROTECTED_LITERAL);
-		addEEnumLiteral(javaVisibilityKindEEnum, JavaVisibilityKind.PACKAGE_LITERAL);
-
-		initEEnum(javaParameterKindEEnum, JavaParameterKind.class, "JavaParameterKind");
-		addEEnumLiteral(javaParameterKindEEnum, JavaParameterKind.IN_LITERAL);
-		addEEnumLiteral(javaParameterKindEEnum, JavaParameterKind.OUT_LITERAL);
-		addEEnumLiteral(javaParameterKindEEnum, JavaParameterKind.INOUT_LITERAL);
-		addEEnumLiteral(javaParameterKindEEnum, JavaParameterKind.RETURN_LITERAL);
-
-		// Initialize data types
-		initEDataType(jTypeJavaHelpersEDataType, JavaHelpers.class, "JTypeJavaHelpers", IS_SERIALIZABLE);
-		initEDataType(jTypeListEDataType, List.class, "JTypeList", IS_SERIALIZABLE);
-
-		// Create resource
-		createResource(eNS_URI);
-	}
-} //JavaRefPackageImpl
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/MethodImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/MethodImpl.java
deleted file mode 100644
index d33abc8..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/MethodImpl.java
+++ /dev/null
@@ -1,1062 +0,0 @@
-package org.eclipse.jem.java.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: MethodImpl.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/14 00:16:44 $ 
- */
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EOperationImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.EObjectResolvingEList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-
-import org.eclipse.jem.java.Block;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.JavaVisibilityKind;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-
-/**
- * @generated
- */
-public class MethodImpl extends EOperationImpl implements Method{
-	protected String signature;
-	
-	/**
-	 * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isAbstract()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean ABSTRACT_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isAbstract()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean abstract_ = ABSTRACT_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #isNative() <em>Native</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isNative()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean NATIVE_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isNative() <em>Native</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isNative()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean native_ = NATIVE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #isSynchronized() <em>Synchronized</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSynchronized()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean SYNCHRONIZED_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isSynchronized() <em>Synchronized</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isSynchronized()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean synchronized_ = SYNCHRONIZED_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #isFinal() <em>Final</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isFinal()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean FINAL_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isFinal() <em>Final</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isFinal()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean final_ = FINAL_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #isConstructor() <em>Constructor</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isConstructor()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean CONSTRUCTOR_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isConstructor() <em>Constructor</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isConstructor()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean constructor = CONSTRUCTOR_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #isStatic() <em>Static</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isStatic()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean STATIC_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isStatic() <em>Static</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isStatic()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean static_ = STATIC_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getJavaVisibility() <em>Java Visibility</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getJavaVisibility()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final JavaVisibilityKind JAVA_VISIBILITY_EDEFAULT = JavaVisibilityKind.PUBLIC_LITERAL;
-
-	public static final String copyright = "(c) Copyright IBM Corporation 2001.";
-	private transient boolean isGenerated = false;
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	protected JavaVisibilityKind javaVisibility = JAVA_VISIBILITY_EDEFAULT;
-	/**
-	 * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getParameters()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList parameters = null;
-
-	/**
-	 * The cached value of the '{@link #getJavaExceptions() <em>Java Exceptions</em>}' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getJavaExceptions()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList javaExceptions = null;
-
-	/**
-	 * The cached value of the '{@link #getSource() <em>Source</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getSource()
-	 * @generated
-	 * @ordered
-	 */
-	protected Block source = null;
-
-	protected MethodImpl() {
-		super();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JavaRefPackage.eINSTANCE.getMethod();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public boolean isAbstractGen() {
-		return abstract_;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public void setAbstract(boolean newAbstract) {
-		boolean oldAbstract = abstract_;
-		abstract_ = newAbstract;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__ABSTRACT, oldAbstract, abstract_));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public boolean isNativeGen() {
-		return native_;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public void setNative(boolean newNative) {
-		boolean oldNative = native_;
-		native_ = newNative;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__NATIVE, oldNative, native_));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public boolean isSynchronizedGen() {
-		return synchronized_;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public void setSynchronized(boolean newSynchronized) {
-		boolean oldSynchronized = synchronized_;
-		synchronized_ = newSynchronized;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__SYNCHRONIZED, oldSynchronized, synchronized_));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public boolean isFinalGen() {
-		return final_;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public void setFinal(boolean newFinal) {
-		boolean oldFinal = final_;
-		final_ = newFinal;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__FINAL, oldFinal, final_));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public boolean isConstructorGen() {
-		return constructor;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public void setConstructor(boolean newConstructor) {
-		boolean oldConstructor = constructor;
-		constructor = newConstructor;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__CONSTRUCTOR, oldConstructor, constructor));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public boolean isStaticGen() {
-		return static_;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-	 * @generated
-	 */
-  public void setStatic(boolean newStatic) {
-		boolean oldStatic = static_;
-		static_ = newStatic;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__STATIC, oldStatic, static_));
-	}
-
-	/**
-	 * Return the java class that this method is defined in.
-	 */
-	public JavaClass getContainingJavaClass() {
-		return this.getJavaClass();
-	}
-	  /**
-   * Overrides to ensure reflection is done.
-   */
-  public boolean isAbstract() {
-    if (!hasReflected) reflectValues();
-    return isAbstractGen();
-  }
-  public boolean isConstructor() {
-    if (!hasReflected) reflectValues();
-    return isConstructorGen();
-  }
-  public boolean isFinal() {
-    if (!hasReflected) reflectValues();
-    return isFinalGen();
-  }
-  public boolean isNative() {
-    if (!hasReflected) reflectValues();
-    return isNativeGen();
-  }
-  public boolean isStatic() {
-    if (!hasReflected) reflectValues();
-    return isStaticGen();
-  }
-  public boolean isSynchronized() {
-    if (!hasReflected) reflectValues();
-    return isSynchronizedGen();
-  }
-  public EList getJavaExceptions() {
-    if (!hasReflected) reflectValues();
-    return getJavaExceptionsGen();
-  }
-  public JavaVisibilityKind getJavaVisibility() {
-    if (!hasReflected) reflectValues();
-    return getJavaVisibilityGen();
-  }
-  public EList getParameters() {
-    if (!hasReflected) reflectValues();
-    return getParametersGen();
-  }
-  
-  /**
-   * @see org.eclipse.emf.ecore.ETypedElement#getEType()
-   */
-   public EClassifier getEType() {
-	  if (!hasReflected) reflectValues();
-      return getETypeGen();
-   }
-   
-   public EClassifier getETypeGen() {
-   	  return super.getEType();
-   }
-
-  
-	/**
-	 * Return a String with the the method name and its parameters. e.g. <code> setFirstName(java.lang.String) <//code> .
-	 *  
-	 */
-	public String getMethodElementSignature() {
-		StringBuffer sb = new StringBuffer(75);
-		sb.append(getName());
-		sb.append("(");
-		List params = getParameters();
-		JavaParameter param;
-		int parmSize = params.size();
-		int commaTest = 0;
-		for (int j = 0; j < parmSize; j++) {
-			if (j > commaTest) {
-				sb.append(",");
-			}			
-			param = (JavaParameter) params.get(j);
-//FB       if (param.isReturn()) {
-//FB         commaTest ++;
-//FB         continue;
-//FB       }
-			sb.append(((JavaHelpers) param.getEType()).getQualifiedName());
-		}
-		sb.append(")");
-		return sb.toString();
-	}
-	/**
-	 * Return a Parameter with the passed name, or null.
-	 */
-	public JavaParameter getParameter(String parameterName) {
-		List parms = getParameters();
-		JavaParameter parm;
-		int parmSize = parms.size();
-		for (int j = 0; j < parmSize; j++) {
-			parm = (JavaParameter) parms.get(j);
-			if (parm.getName().equals(parameterName))
-				return parm;
-		}
-		return null;
-	}
-
-	/**
-	 * Return a ReadAdaptor which can reflect our Java properties
-	 */  
-  protected ReadAdaptor getReadAdaptor() {
-    return (ReadAdaptor)EcoreUtil.getRegisteredAdapter(this, ReadAdaptor.TYPE_KEY);
-  }
-
-  protected boolean hasReflected = false;
-
-  protected void reflectValues()
-  {
-    ReadAdaptor readAdaptor = getReadAdaptor();
-    if (readAdaptor != null) hasReflected = readAdaptor.reflectValuesIfNecessary();
-  }
-
-	/**
-	 * Get the return type.
-	 */
-	public JavaHelpers getReturnType() {
-    	return (JavaHelpers)getEType();
-	}
-	
-	public String getSignature() {
-		if (signature == null)
-			signature = doGetSignature();
-		return signature;
-	}
-
-	/**
-	 * Replicate the functionality of java.lang.reflect.Method.toString().
-	 * 
-	 * Returns a string describing this Method.  The string is formatted as the method access modifiers, if any, followed by the method return type, followed by a space, followed by the class declaring the method, followed by a period, followed by the method name, followed by a parenthesized, comma-separated list of the method's formal parameter types. If the method throws checked exceptions, the parameter list is followed by a space, followed by the word throws followed by a comma-separated list of the thrown exception types.
-	 * 
-	 * For example:
-	 * 
-	 *     public boolean java.lang.Object.equals(java.lang.Object)
-	 * 
-	 * The access modifiers are placed in canonical order as specified by "The Java Language Specification".  This is public, <tt>protected<//tt> or <tt>private<//tt> first, and then other modifiers in the following order: <tt>abstract<//tt>, <tt>static<//tt>, <tt>final<//tt>, <tt>synchronized<//tt> <tt>native<//tt>.
-
-	 */
-	protected String doGetSignature() {
-		StringBuffer sb = new StringBuffer();
-		switch (getJavaVisibility().getValue())
-		{
-		    case JavaVisibilityKind.PUBLIC:
-				sb.append("Public ");
-				break;
-		    case JavaVisibilityKind.PROTECTED:
-				sb.append("Protected ");
-				break;
-		    case JavaVisibilityKind.PRIVATE:
-				sb.append("Private ");
-				break;
-		    case JavaVisibilityKind.PACKAGE:
-				sb.append("Package ");
-				break;
-		}
-		if (isAbstract())
-			sb.append("abstract ");
-		if (isStatic())
-			sb.append("static ");
-		if (isFinal())
-			sb.append("final ");
-		if (isSynchronized())
-			sb.append("synchronized ");
-		if (isNative())
-			sb.append("native ");
-		if (isVoid())
-			sb.append("void ");
-		else
-			sb.append(((JavaHelpers) getReturnType()).getQualifiedName() + " ");
-		sb.append(getContainingJavaClass().getJavaName() + ".");
-		sb.append(getName() + "(");
-		List params = getParameters();
-		JavaParameter param;
-		int parmSize = params.size();
-		for (int j = 0; j < parmSize; j++) {
-			param = (JavaParameter) params.get(j);
-//FB       if (param.isReturn())
-//FB         continue; //  listParameters() includes return type in array 
-			sb.append(((JavaHelpers) param.getEType()).getQualifiedName());
-			if (j < (params.size() - 1)) {
-				sb.append(",");
-			}
-		}
-		sb.append(")");
-		List exceptions = getJavaExceptions();
-		JavaClass exception;
-		if (exceptions.size() > 0) {
-			sb.append(" throws ");
-			for (int k = 0; k < exceptions.size(); k++) {
-				exception = (JavaClass) exceptions.get(k);
-				sb.append(exception.getJavaName());
-				if (k < (exceptions.size() - 1)) {
-					sb.append(",");
-				}
-			}
-		}
-		return sb.toString();
-	}
-	/**
-	 * Returns true if the method is system generated.
-	 * This is usually determined by the "generated" tag in the comment.
-	 */
-  public boolean isGenerated() {
-	   return isGenerated;
-  }
-
-	/**
-	 * Is this a void return type method.
-	 */
-	public boolean isVoid() {
-//FB    return (getReturnParameter() == null || "void".equals(getReturnType().getName()));
-    return (getReturnType() == null || "void".equals(getReturnType().getName()));
-  }
-	public JavaParameter[] listParametersWithoutReturn() {
-		Collection v = getParameters();
-		JavaParameter[] result = new JavaParameter[v.size()];
-		v.toArray(result);
-		return result;
-	}
-
-  public EList eContents() {
-    EList results = new BasicEList();
-    results.addAll(getParametersGen()); //FB
-    return results;
-  }
-	/**
-	 * Set the isGenerated flag.
-	 */
-	public void setIsGenerated(boolean generated) {
-		isGenerated = generated;		
-	}
-	/**
-	 * Set the return type
-	 */
-	public void setReturnType(JavaHelpers type) {
-	    this.setEType(type);
-	}
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public JavaVisibilityKind getJavaVisibilityGen() {
-		return javaVisibility;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setJavaVisibility(JavaVisibilityKind newJavaVisibility) {
-		JavaVisibilityKind oldJavaVisibility = javaVisibility;
-		javaVisibility = newJavaVisibility == null ? JAVA_VISIBILITY_EDEFAULT : newJavaVisibility;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__JAVA_VISIBILITY, oldJavaVisibility, javaVisibility));
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public JavaClass getJavaClass() {
-		if (eContainerFeatureID != JavaRefPackage.METHOD__JAVA_CLASS) return null;
-		return (JavaClass)eContainer;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setJavaClass(JavaClass newJavaClass) {
-		if (newJavaClass != eContainer || (eContainerFeatureID != JavaRefPackage.METHOD__JAVA_CLASS && newJavaClass != null)) {
-			if (EcoreUtil.isAncestor(this, newJavaClass))
-				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
-			NotificationChain msgs = null;
-			if (eContainer != null)
-				msgs = eBasicRemoveFromContainer(msgs);
-			if (newJavaClass != null)
-				msgs = ((InternalEObject)newJavaClass).eInverseAdd(this, JavaRefPackage.JAVA_CLASS__METHODS, JavaClass.class, msgs);
-			msgs = eBasicSetContainer((InternalEObject)newJavaClass, JavaRefPackage.METHOD__JAVA_CLASS, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__JAVA_CLASS, newJavaClass, newJavaClass));
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public Block getSource() {
-		if (source != null && source.eIsProxy()) {
-			Block oldSource = source;
-			source = (Block)eResolveProxy((InternalEObject)source);
-			if (source != oldSource) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, JavaRefPackage.METHOD__SOURCE, oldSource, source));
-			}
-		}
-		return source;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Block basicGetSource() {
-		return source;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setSource(Block newSource) {
-		Block oldSource = source;
-		source = newSource;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, JavaRefPackage.METHOD__SOURCE, oldSource, source));
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.METHOD__EANNOTATIONS:
-				return eAnnotations != null && !eAnnotations.isEmpty();
-			case JavaRefPackage.METHOD__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case JavaRefPackage.METHOD__ORDERED:
-				return ordered != ORDERED_EDEFAULT;
-			case JavaRefPackage.METHOD__UNIQUE:
-				return unique != UNIQUE_EDEFAULT;
-			case JavaRefPackage.METHOD__LOWER_BOUND:
-				return lowerBound != LOWER_BOUND_EDEFAULT;
-			case JavaRefPackage.METHOD__UPPER_BOUND:
-				return upperBound != UPPER_BOUND_EDEFAULT;
-			case JavaRefPackage.METHOD__MANY:
-				return isMany() != false;
-			case JavaRefPackage.METHOD__REQUIRED:
-				return isRequired() != false;
-			case JavaRefPackage.METHOD__ETYPE:
-				return eType != null;
-			case JavaRefPackage.METHOD__ECONTAINING_CLASS:
-				return getEContainingClass() != null;
-			case JavaRefPackage.METHOD__EPARAMETERS:
-				return eParameters != null && !eParameters.isEmpty();
-			case JavaRefPackage.METHOD__EEXCEPTIONS:
-				return eExceptions != null && !eExceptions.isEmpty();
-			case JavaRefPackage.METHOD__ABSTRACT:
-				return abstract_ != ABSTRACT_EDEFAULT;
-			case JavaRefPackage.METHOD__NATIVE:
-				return native_ != NATIVE_EDEFAULT;
-			case JavaRefPackage.METHOD__SYNCHRONIZED:
-				return synchronized_ != SYNCHRONIZED_EDEFAULT;
-			case JavaRefPackage.METHOD__FINAL:
-				return final_ != FINAL_EDEFAULT;
-			case JavaRefPackage.METHOD__CONSTRUCTOR:
-				return constructor != CONSTRUCTOR_EDEFAULT;
-			case JavaRefPackage.METHOD__STATIC:
-				return static_ != STATIC_EDEFAULT;
-			case JavaRefPackage.METHOD__JAVA_VISIBILITY:
-				return javaVisibility != JAVA_VISIBILITY_EDEFAULT;
-			case JavaRefPackage.METHOD__PARAMETERS:
-				return parameters != null && !parameters.isEmpty();
-			case JavaRefPackage.METHOD__JAVA_EXCEPTIONS:
-				return javaExceptions != null && !javaExceptions.isEmpty();
-			case JavaRefPackage.METHOD__JAVA_CLASS:
-				return getJavaClass() != null;
-			case JavaRefPackage.METHOD__SOURCE:
-				return source != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.METHOD__EANNOTATIONS:
-				getEAnnotations().clear();
-				getEAnnotations().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.METHOD__NAME:
-				setName((String)newValue);
-				return;
-			case JavaRefPackage.METHOD__ORDERED:
-				setOrdered(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.METHOD__UNIQUE:
-				setUnique(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.METHOD__LOWER_BOUND:
-				setLowerBound(((Integer)newValue).intValue());
-				return;
-			case JavaRefPackage.METHOD__UPPER_BOUND:
-				setUpperBound(((Integer)newValue).intValue());
-				return;
-			case JavaRefPackage.METHOD__ETYPE:
-				setEType((EClassifier)newValue);
-				return;
-			case JavaRefPackage.METHOD__EPARAMETERS:
-				getEParameters().clear();
-				getEParameters().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.METHOD__EEXCEPTIONS:
-				getEExceptions().clear();
-				getEExceptions().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.METHOD__ABSTRACT:
-				setAbstract(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.METHOD__NATIVE:
-				setNative(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.METHOD__SYNCHRONIZED:
-				setSynchronized(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.METHOD__FINAL:
-				setFinal(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.METHOD__CONSTRUCTOR:
-				setConstructor(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.METHOD__STATIC:
-				setStatic(((Boolean)newValue).booleanValue());
-				return;
-			case JavaRefPackage.METHOD__JAVA_VISIBILITY:
-				setJavaVisibility((JavaVisibilityKind)newValue);
-				return;
-			case JavaRefPackage.METHOD__PARAMETERS:
-				getParameters().clear();
-				getParameters().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.METHOD__JAVA_EXCEPTIONS:
-				getJavaExceptions().clear();
-				getJavaExceptions().addAll((Collection)newValue);
-				return;
-			case JavaRefPackage.METHOD__JAVA_CLASS:
-				setJavaClass((JavaClass)newValue);
-				return;
-			case JavaRefPackage.METHOD__SOURCE:
-				setSource((Block)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.METHOD__EANNOTATIONS:
-				getEAnnotations().clear();
-				return;
-			case JavaRefPackage.METHOD__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case JavaRefPackage.METHOD__ORDERED:
-				setOrdered(ORDERED_EDEFAULT);
-				return;
-			case JavaRefPackage.METHOD__UNIQUE:
-				setUnique(UNIQUE_EDEFAULT);
-				return;
-			case JavaRefPackage.METHOD__LOWER_BOUND:
-				setLowerBound(LOWER_BOUND_EDEFAULT);
-				return;
-			case JavaRefPackage.METHOD__UPPER_BOUND:
-				setUpperBound(UPPER_BOUND_EDEFAULT);
-				return;
-			case JavaRefPackage.METHOD__ETYPE:
-				setEType((EClassifier)null);
-				return;
-			case JavaRefPackage.METHOD__EPARAMETERS:
-				getEParameters().clear();
-				return;
-			case JavaRefPackage.METHOD__EEXCEPTIONS:
-				getEExceptions().clear();
-				return;
-			case JavaRefPackage.METHOD__ABSTRACT:
-				setAbstract(ABSTRACT_EDEFAULT);
-				return;
-			case JavaRefPackage.METHOD__NATIVE:
-				setNative(NATIVE_EDEFAULT);
-				return;
-			case JavaRefPackage.METHOD__SYNCHRONIZED:
-				setSynchronized(SYNCHRONIZED_EDEFAULT);
-				return;
-			case JavaRefPackage.METHOD__FINAL:
-				setFinal(FINAL_EDEFAULT);
-				return;
-			case JavaRefPackage.METHOD__CONSTRUCTOR:
-				setConstructor(CONSTRUCTOR_EDEFAULT);
-				return;
-			case JavaRefPackage.METHOD__STATIC:
-				setStatic(STATIC_EDEFAULT);
-				return;
-			case JavaRefPackage.METHOD__JAVA_VISIBILITY:
-				setJavaVisibility(JAVA_VISIBILITY_EDEFAULT);
-				return;
-			case JavaRefPackage.METHOD__PARAMETERS:
-				getParameters().clear();
-				return;
-			case JavaRefPackage.METHOD__JAVA_EXCEPTIONS:
-				getJavaExceptions().clear();
-				return;
-			case JavaRefPackage.METHOD__JAVA_CLASS:
-				setJavaClass((JavaClass)null);
-				return;
-			case JavaRefPackage.METHOD__SOURCE:
-				setSource((Block)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation.
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (abstract: ");
-		result.append(abstract_);
-		result.append(", native: ");
-		result.append(native_);
-		result.append(", synchronized: ");
-		result.append(synchronized_);
-		result.append(", final: ");
-		result.append(final_);
-		result.append(", constructor: ");
-		result.append(constructor);
-		result.append(", static: ");
-		result.append(static_);
-		result.append(", javaVisibility: ");
-		result.append(javaVisibility);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public EList getParametersGen() {
-		if (parameters == null) {
-			parameters = new EObjectContainmentEList(JavaParameter.class, this, JavaRefPackage.METHOD__PARAMETERS);
-		}
-		return parameters;
-	}
-
-	/**
-	 * @generated This field/method will be replaced during code generation 
-	 */
-	public EList getJavaExceptionsGen() {
-		if (javaExceptions == null) {
-			javaExceptions = new EObjectResolvingEList(JavaClass.class, this, JavaRefPackage.METHOD__JAVA_EXCEPTIONS);
-		}
-		return javaExceptions;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.METHOD__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.METHOD__ECONTAINING_CLASS:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, JavaRefPackage.METHOD__ECONTAINING_CLASS, msgs);
-				case JavaRefPackage.METHOD__EPARAMETERS:
-					return ((InternalEList)getEParameters()).basicAdd(otherEnd, msgs);
-				case JavaRefPackage.METHOD__JAVA_CLASS:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, JavaRefPackage.METHOD__JAVA_CLASS, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.METHOD__EANNOTATIONS:
-					return ((InternalEList)getEAnnotations()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.METHOD__ECONTAINING_CLASS:
-					return eBasicSetContainer(null, JavaRefPackage.METHOD__ECONTAINING_CLASS, msgs);
-				case JavaRefPackage.METHOD__EPARAMETERS:
-					return ((InternalEList)getEParameters()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.METHOD__PARAMETERS:
-					return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs);
-				case JavaRefPackage.METHOD__JAVA_CLASS:
-					return eBasicSetContainer(null, JavaRefPackage.METHOD__JAVA_CLASS, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case JavaRefPackage.METHOD__ECONTAINING_CLASS:
-					return ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.ECLASS__EOPERATIONS, EClass.class, msgs);
-				case JavaRefPackage.METHOD__JAVA_CLASS:
-					return ((InternalEObject)eContainer).eInverseRemove(this, JavaRefPackage.JAVA_CLASS__METHODS, JavaClass.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return ((InternalEObject)eContainer).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.METHOD__EANNOTATIONS:
-				return getEAnnotations();
-			case JavaRefPackage.METHOD__NAME:
-				return getName();
-			case JavaRefPackage.METHOD__ORDERED:
-				return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.METHOD__UNIQUE:
-				return isUnique() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.METHOD__LOWER_BOUND:
-				return new Integer(getLowerBound());
-			case JavaRefPackage.METHOD__UPPER_BOUND:
-				return new Integer(getUpperBound());
-			case JavaRefPackage.METHOD__MANY:
-				return isMany() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.METHOD__REQUIRED:
-				return isRequired() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.METHOD__ETYPE:
-				if (resolve) return getEType();
-				return basicGetEType();
-			case JavaRefPackage.METHOD__ECONTAINING_CLASS:
-				return getEContainingClass();
-			case JavaRefPackage.METHOD__EPARAMETERS:
-				return getEParameters();
-			case JavaRefPackage.METHOD__EEXCEPTIONS:
-				return getEExceptions();
-			case JavaRefPackage.METHOD__ABSTRACT:
-				return isAbstract() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.METHOD__NATIVE:
-				return isNative() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.METHOD__SYNCHRONIZED:
-				return isSynchronized() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.METHOD__FINAL:
-				return isFinal() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.METHOD__CONSTRUCTOR:
-				return isConstructor() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.METHOD__STATIC:
-				return isStatic() ? Boolean.TRUE : Boolean.FALSE;
-			case JavaRefPackage.METHOD__JAVA_VISIBILITY:
-				return getJavaVisibility();
-			case JavaRefPackage.METHOD__PARAMETERS:
-				return getParameters();
-			case JavaRefPackage.METHOD__JAVA_EXCEPTIONS:
-				return getJavaExceptions();
-			case JavaRefPackage.METHOD__JAVA_CLASS:
-				return getJavaClass();
-			case JavaRefPackage.METHOD__SOURCE:
-				if (resolve) return getSource();
-				return basicGetSource();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-}
-
-
-
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/StatementImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/StatementImpl.java
deleted file mode 100644
index 71daa4e..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/StatementImpl.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package org.eclipse.jem.java.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: StatementImpl.java,v $
- *  $Revision: 1.2 $  $Date: 2004/01/13 16:25:08 $ 
- */
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.java.JavaRefPackage;
-import org.eclipse.jem.java.Statement;
-/**
- * @generated
- */
-public class StatementImpl extends BlockImpl implements Statement{
-
-	protected StatementImpl() {
-		super();
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return JavaRefPackage.eINSTANCE.getStatement();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case JavaRefPackage.STATEMENT__CONTENTS:
-					return ((InternalEList)getContents()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.STATEMENT__SOURCE:
-				return getSource();
-			case JavaRefPackage.STATEMENT__NAME:
-				return getName();
-			case JavaRefPackage.STATEMENT__CONTENTS:
-				return getContents();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.STATEMENT__SOURCE:
-				setSource((String)newValue);
-				return;
-			case JavaRefPackage.STATEMENT__NAME:
-				setName((String)newValue);
-				return;
-			case JavaRefPackage.STATEMENT__CONTENTS:
-				getContents().clear();
-				getContents().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.STATEMENT__SOURCE:
-				setSource(SOURCE_EDEFAULT);
-				return;
-			case JavaRefPackage.STATEMENT__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case JavaRefPackage.STATEMENT__CONTENTS:
-				getContents().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case JavaRefPackage.STATEMENT__SOURCE:
-				return SOURCE_EDEFAULT == null ? source != null : !SOURCE_EDEFAULT.equals(source);
-			case JavaRefPackage.STATEMENT__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case JavaRefPackage.STATEMENT__CONTENTS:
-				return contents != null && !contents.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-}
-
-
-
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/URL.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/URL.java
deleted file mode 100644
index be53a28..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/impl/URL.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.jem.java.impl;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: URL.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/13 16:16:21 $ 
- */
-import java.util.ArrayList;
-import java.util.List;
-
-public class URL {
-	public String namespaceName;
-	public String ID;
-	List attributeNames;
-/**
- * URL constructor comment.
- */
-public URL(String urlString) {
-	initializeFromString(urlString);
-}
-/**
- * URL constructor comment.
- */
-public URL(String nameSpaceName, String anID) {
-	this.namespaceName = nameSpaceName;
-	this.ID = anID;
-}
-public List getAttributeNames() {
-	return attributeNames;
-}
-public void initializeFromString(String urlString) {
-	int poundInx = urlString.lastIndexOf('#');
-	if (poundInx > -1) {
-		namespaceName = urlString.substring(0, poundInx);
-		urlString = urlString.substring(poundInx + 1);
-		int dotIndex = urlString.indexOf("->");
-		if (dotIndex > -1) {
-			ID = urlString.substring(0, dotIndex);
-			String attributeNameString = urlString.substring(dotIndex + 2);
-			attributeNames = new ArrayList();
-			do {
-				dotIndex = attributeNameString.indexOf("->");
-				if (dotIndex > -1) {
-					attributeNames.add(attributeNameString.substring(0, dotIndex));
-					attributeNameString = attributeNameString.substring(dotIndex + 2);
-				} else
-					attributeNames.add(attributeNameString);
-			} while (dotIndex > -1);
-		} else {
-			ID = urlString;
-		}
-	} else {
-		// assume that any URL string that ends with .xmi is a namespace.
-		if (urlString.endsWith(".xmi")){
-			namespaceName = urlString;
-			ID = null;
-		} else {
-			namespaceName = "?defaultURL?";
-			ID = urlString;
-		}
-	}
-}
-public String toString() {
-	return "URL(" + ((namespaceName == null) ? "" : namespaceName + "#") + ((ID == null) ? "" : ID) + ")";
-}
-}
-
-
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/JavaRefAdapterFactory.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/JavaRefAdapterFactory.java
deleted file mode 100644
index 970d501..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/JavaRefAdapterFactory.java
+++ /dev/null
@@ -1,478 +0,0 @@
-package org.eclipse.jem.java.util;
-/*******************************************************************************
- * Copyright (c) 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaRefAdapterFactory.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/14 00:16:44 $ 
- */
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.ENamedElement;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EParameter;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.ETypedElement;
-
-import org.eclipse.jem.java.*;
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.java.JavaRefPackage
- * @generated
- */
-public class JavaRefAdapterFactory extends AdapterFactoryImpl
-{
-	/**
-	 * The cached model package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static JavaRefPackage modelPackage;
-
-	/**
-	 * Creates an instance of the adapter factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaRefAdapterFactory() {
-		if (modelPackage == null) {
-			modelPackage = JavaRefPackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Returns whether this factory is applicable for the type of the object.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
-	 * <!-- end-user-doc -->
-	 * @return whether this factory is applicable for the type of the object.
-	 * @generated
-	 */
-	public boolean isFactoryForType(Object object) {
-		if (object == modelPackage) {
-			return true;
-		}
-		if (object instanceof EObject) {
-			return ((EObject)object).eClass().getEPackage() == modelPackage;
-		}
-		return false;
-	}
-
-	/**
-	 * The switch the delegates to the <code>createXXX</code> methods.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected JavaRefSwitch modelSwitch =
-		new JavaRefSwitch() {
-			public Object caseJavaClass(JavaClass object) {
-				return createJavaClassAdapter();
-			}
-			public Object caseInitializer(Initializer object) {
-				return createInitializerAdapter();
-			}
-			public Object caseJavaParameter(JavaParameter object) {
-				return createJavaParameterAdapter();
-			}
-			public Object caseMethod(Method object) {
-				return createMethodAdapter();
-			}
-			public Object caseField(Field object) {
-				return createFieldAdapter();
-			}
-			public Object caseBlock(Block object) {
-				return createBlockAdapter();
-			}
-			public Object caseComment(Comment object) {
-				return createCommentAdapter();
-			}
-			public Object caseStatement(Statement object) {
-				return createStatementAdapter();
-			}
-			public Object caseJavaPackage(JavaPackage object) {
-				return createJavaPackageAdapter();
-			}
-			public Object caseJavaDataType(JavaDataType object) {
-				return createJavaDataTypeAdapter();
-			}
-			public Object caseArrayType(ArrayType object) {
-				return createArrayTypeAdapter();
-			}
-			public Object caseJavaEvent(JavaEvent object) {
-				return createJavaEventAdapter();
-			}
-			public Object caseEModelElement(EModelElement object) {
-				return createEModelElementAdapter();
-			}
-			public Object caseENamedElement(ENamedElement object) {
-				return createENamedElementAdapter();
-			}
-			public Object caseEClassifier(EClassifier object) {
-				return createEClassifierAdapter();
-			}
-			public Object caseEClass(EClass object) {
-				return createEClassAdapter();
-			}
-			public Object caseETypedElement(ETypedElement object) {
-				return createETypedElementAdapter();
-			}
-			public Object caseEParameter(EParameter object) {
-				return createEParameterAdapter();
-			}
-			public Object caseEOperation(EOperation object) {
-				return createEOperationAdapter();
-			}
-			public Object caseEPackage(EPackage object) {
-				return createEPackageAdapter();
-			}
-			public Object caseEStructuralFeature(EStructuralFeature object) {
-				return createEStructuralFeatureAdapter();
-			}
-			public Object defaultCase(EObject object) {
-				return createEObjectAdapter();
-			}
-		};
-
-	/**
-	 * Creates an adapter for the <code>target</code>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param target the object to adapt.
-	 * @return the adapter for the <code>target</code>.
-	 * @generated
-	 */
-	public Adapter createAdapter(Notifier target) {
-		return (Adapter)modelSwitch.doSwitch((EObject)target);
-	}
-
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.JavaClass <em>Java Class</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jem.java.JavaClass
-	 * @generated
-	 */
-	public Adapter createJavaClassAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.Initializer <em>Initializer</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jem.java.Initializer
-	 * @generated
-	 */
-	public Adapter createInitializerAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.JavaParameter <em>Java Parameter</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jem.java.JavaParameter
-	 * @generated
-	 */
-	public Adapter createJavaParameterAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.Method <em>Method</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jem.java.Method
-	 * @generated
-	 */
-	public Adapter createMethodAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.Field <em>Field</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jem.java.Field
-	 * @generated
-	 */
-	public Adapter createFieldAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.Block <em>Block</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jem.java.Block
-	 * @generated
-	 */
-	public Adapter createBlockAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.Comment <em>Comment</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jem.java.Comment
-	 * @generated
-	 */
-	public Adapter createCommentAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.Statement <em>Statement</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jem.java.Statement
-	 * @generated
-	 */
-	public Adapter createStatementAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.JavaPackage <em>Java Package</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jem.java.JavaPackage
-	 * @generated
-	 */
-	public Adapter createJavaPackageAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.JavaDataType <em>Java Data Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jem.java.JavaDataType
-	 * @generated
-	 */
-	public Adapter createJavaDataTypeAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.ArrayType <em>Array Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jem.java.ArrayType
-	 * @generated
-	 */
-	public Adapter createArrayTypeAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jem.java.JavaEvent <em>Java Event</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jem.java.JavaEvent
-	 * @generated
-	 */
-	public Adapter createJavaEventAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EModelElement <em>EModel Element</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.emf.ecore.EModelElement
-	 * @generated
-	 */
-	public Adapter createEModelElementAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.ENamedElement <em>ENamed Element</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.emf.ecore.ENamedElement
-	 * @generated
-	 */
-	public Adapter createENamedElementAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EClassifier <em>EClassifier</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.emf.ecore.EClassifier
-	 * @generated
-	 */
-	public Adapter createEClassifierAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EClass <em>EClass</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.emf.ecore.EClass
-	 * @generated
-	 */
-	public Adapter createEClassAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.ETypedElement <em>ETyped Element</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.emf.ecore.ETypedElement
-	 * @generated
-	 */
-	public Adapter createETypedElementAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EParameter <em>EParameter</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.emf.ecore.EParameter
-	 * @generated
-	 */
-	public Adapter createEParameterAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EOperation <em>EOperation</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.emf.ecore.EOperation
-	 * @generated
-	 */
-	public Adapter createEOperationAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EStructuralFeature <em>EStructural Feature</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.emf.ecore.EStructuralFeature
-	 * @generated
-	 */
-	public Adapter createEStructuralFeatureAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EPackage <em>EPackage</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.emf.ecore.EPackage
-	 * @generated
-	 */
-	public Adapter createEPackageAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for the default case.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @generated
-	 */
-	public Adapter createEObjectAdapter() {
-		return null;
-	}
-
-} //JavaRefAdapterFactory
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/JavaRefSwitch.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/JavaRefSwitch.java
deleted file mode 100644
index 94d706c..0000000
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/util/JavaRefSwitch.java
+++ /dev/null
@@ -1,508 +0,0 @@
-package org.eclipse.jem.java.util;
-
-/*******************************************************************************
- * Copyright (c) 2003 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
- *******************************************************************************/
-/*
- *  $RCSfile: JavaRefSwitch.java,v $
- *  $Revision: 1.3 $  $Date: 2004/01/14 00:16:44 $ 
- */
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.ENamedElement;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EParameter;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.ETypedElement;
-
-import org.eclipse.jem.java.*;
-
-
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.java.JavaRefPackage
- * @generated
- */
-public class JavaRefSwitch {
-	/**
-	 * The cached model package
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static JavaRefPackage modelPackage;
-
-	/**
-	 * Creates an instance of the switch.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaRefSwitch() {
-		if (modelPackage == null) {
-			modelPackage = JavaRefPackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	public Object doSwitch(EObject theEObject) {
-		EClass theEClass = theEObject.eClass();
-		if (theEClass.eContainer() == modelPackage) {
-			switch (theEClass.getClassifierID()) {
-				case JavaRefPackage.JAVA_CLASS: {
-					JavaClass javaClass = (JavaClass)theEObject;
-					Object result = caseJavaClass(javaClass);
-					if (result == null) result = caseEClass(javaClass);
-					if (result == null) result = caseEClassifier(javaClass);
-					if (result == null) result = caseENamedElement(javaClass);
-					if (result == null) result = caseEModelElement(javaClass);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case JavaRefPackage.INITIALIZER: {
-					Initializer initializer = (Initializer)theEObject;
-					Object result = caseInitializer(initializer);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case JavaRefPackage.JAVA_PARAMETER: {
-					JavaParameter javaParameter = (JavaParameter)theEObject;
-					Object result = caseJavaParameter(javaParameter);
-					if (result == null) result = caseEParameter(javaParameter);
-					if (result == null) result = caseETypedElement(javaParameter);
-					if (result == null) result = caseENamedElement(javaParameter);
-					if (result == null) result = caseEModelElement(javaParameter);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case JavaRefPackage.METHOD: {
-					Method method = (Method)theEObject;
-					Object result = caseMethod(method);
-					if (result == null) result = caseEOperation(method);
-					if (result == null) result = caseETypedElement(method);
-					if (result == null) result = caseENamedElement(method);
-					if (result == null) result = caseEModelElement(method);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case JavaRefPackage.FIELD: {
-					Field field = (Field)theEObject;
-					Object result = caseField(field);
-					if (result == null) result = caseETypedElement(field);
-					if (result == null) result = caseENamedElement(field);
-					if (result == null) result = caseEModelElement(field);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case JavaRefPackage.BLOCK: {
-					Block block = (Block)theEObject;
-					Object result = caseBlock(block);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case JavaRefPackage.COMMENT: {
-					Comment comment = (Comment)theEObject;
-					Object result = caseComment(comment);
-					if (result == null) result = caseBlock(comment);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case JavaRefPackage.STATEMENT: {
-					Statement statement = (Statement)theEObject;
-					Object result = caseStatement(statement);
-					if (result == null) result = caseBlock(statement);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case JavaRefPackage.JAVA_PACKAGE: {
-					JavaPackage javaPackage = (JavaPackage)theEObject;
-					Object result = caseJavaPackage(javaPackage);
-					if (result == null) result = caseEPackage(javaPackage);
-					if (result == null) result = caseENamedElement(javaPackage);
-					if (result == null) result = caseEModelElement(javaPackage);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case JavaRefPackage.JAVA_DATA_TYPE: {
-					JavaDataType javaDataType = (JavaDataType)theEObject;
-					Object result = caseJavaDataType(javaDataType);
-					if (result == null) result = caseEClass(javaDataType);
-					if (result == null) result = caseEClassifier(javaDataType);
-					if (result == null) result = caseENamedElement(javaDataType);
-					if (result == null) result = caseEModelElement(javaDataType);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case JavaRefPackage.ARRAY_TYPE: {
-					ArrayType arrayType = (ArrayType)theEObject;
-					Object result = caseArrayType(arrayType);
-					if (result == null) result = caseJavaClass(arrayType);
-					if (result == null) result = caseEClass(arrayType);
-					if (result == null) result = caseEClassifier(arrayType);
-					if (result == null) result = caseENamedElement(arrayType);
-					if (result == null) result = caseEModelElement(arrayType);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				default: return defaultCase(theEObject);
-			}
-		}
-		return defaultCase(theEObject);
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Java Class</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Java Class</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseJavaClass(JavaClass object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Initializer</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Initializer</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseInitializer(Initializer object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Java Parameter</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Java Parameter</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseJavaParameter(JavaParameter object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Method</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Method</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseMethod(Method object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Field</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Field</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseField(Field object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Block</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Block</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseBlock(Block object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Comment</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Comment</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseComment(Comment object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Statement</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Statement</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseStatement(Statement object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Java Package</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Java Package</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseJavaPackage(JavaPackage object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Java Data Type</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Java Data Type</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseJavaDataType(JavaDataType object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Array Type</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Array Type</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseArrayType(ArrayType object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Java Event</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Java Event</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseJavaEvent(JavaEvent object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>EModel Element</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>EModel Element</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseEModelElement(EModelElement object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>ENamed Element</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>ENamed Element</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseENamedElement(ENamedElement object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>EClassifier</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>EClassifier</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseEClassifier(EClassifier object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>EClass</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>EClass</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseEClass(EClass object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>ETyped Element</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>ETyped Element</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseETypedElement(ETypedElement object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>EParameter</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>EParameter</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseEParameter(EParameter object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>EOperation</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>EOperation</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseEOperation(EOperation object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>EStructural Feature</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>EStructural Feature</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseEStructuralFeature(EStructuralFeature object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>EPackage</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>EPackage</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseEPackage(EPackage object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch, but this is the last case anyway.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
-	 * @generated
-	 */
-	public Object defaultCase(EObject object) {
-		return null;
-	}
-
-} //JavaRefSwitch
diff --git a/plugins/org.eclipse.jem/overrides/..ROOT...override b/plugins/org.eclipse.jem/overrides/..ROOT...override
deleted file mode 100644
index 8c1ea3a..0000000
--- a/plugins/org.eclipse.jem/overrides/..ROOT...override
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<event:AddMany xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:event="event.xmi" 
-    featureName="eStructuralFeatures">
-  <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
-<!-- too remind us that these are need to be done yet in the new allocation scheme. 
-  <addedEObjects xsi:type="ecore:EAttribute" name="instantiateUsing" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-  <addedEObjects xsi:type="ecore:EAttribute" name="serializeData" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
--->
-</event:AddMany>
diff --git a/plugins/org.eclipse.jem/overrides/java/lang/Object.override b/plugins/org.eclipse.jem/overrides/java/lang/Object.override
deleted file mode 100644
index fdbffdc..0000000
--- a/plugins/org.eclipse.jem/overrides/java/lang/Object.override
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:event="event.xmi">
-    
-  <!-- 
-      This is kind of cheat, but datatypes are never introspected, so we can't get these attributes
-      added to them in a normal way. By doing it here, when java.lang.Object is introspected, these
-      will be done at the same time. And since Object needs to be introspected before anything else
-      can be done, these will be done before anything needs them. -->
-          
-  <event:Add notifierURI="java:/#boolean" featureName="eStructuralFeatures">
-    <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
-  </event:Add>
-  <event:Add notifierURI="java:/#char" featureName="eStructuralFeatures">
-    <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
-  </event:Add>
-  <event:Add notifierURI="java:/#int" featureName="eStructuralFeatures">
-    <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
-  </event:Add>
-  <event:Add notifierURI="java:/#float" featureName="eStructuralFeatures">
-    <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
-  </event:Add>
-  <event:Add notifierURI="java:/#short" featureName="eStructuralFeatures">
-    <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
-  </event:Add>
-  <event:Add notifierURI="java:/#long" featureName="eStructuralFeatures">
-    <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
-  </event:Add>
-  <event:Add notifierURI="java:/#double" featureName="eStructuralFeatures">
-    <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
-  </event:Add>
-  <event:Add notifierURI="java:/#byte" featureName="eStructuralFeatures">
-    <addedEObjects xsi:type="ecore:EReference" name="allocation" containment="true" eType="ecore:EClass http:///org/eclipse/jem/internal/instantiation.ecore#//JavaAllocation"/>
-  </event:Add>
-</xmi:XMI>
diff --git a/plugins/org.eclipse.jem/plugin.properties b/plugins/org.eclipse.jem/plugin.properties
deleted file mode 100644
index e446f21..0000000
--- a/plugins/org.eclipse.jem/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem/plugin.properties,v $
-# $Revision: 1.1 $  $Date: 2003/10/27 17:12:30 $
-#
-
-
-pluginName = Java EMF Model
-providerName = Eclipse.org
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem/plugin.xml b/plugins/org.eclipse.jem/plugin.xml
deleted file mode 100644
index 282fe52..0000000
--- a/plugins/org.eclipse.jem/plugin.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.jem"
-   name="%pluginName"
-   version="1.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.jem.internal.core.JEMPlugin">
-
-   <runtime>
-      <library name="javainst.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.jem.internal.instantiation"/>
-      </library>
-      <library name="mofjava.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.jem.internal.core,org.eclipse.jem.internal.java,org.eclipse.jem.java"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.emf.ecore.xmi"/>
-      <import plugin="org.eclipse.osgi"/>
-      <import plugin="com.ibm.wtp.common.util"/>
-      <import plugin="org.eclipse.jem.proxy" optional="true"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.emf.ecore.generated_package">
-      <package
-            uri="http:///org/eclipse/jem/internal/instantiation.ecore"
-            class="org.eclipse.jem.internal.instantiation.InstantiationPackage">
-      </package>
-      <package
-            uri="java.xmi"
-            class="org.eclipse.jem.java.JavaRefPackage">
-      </package>
-   </extension>
-   <extension
-         point="org.eclipse.jem.beaninfo.overrides">
-      <override
-            package="java.lang"
-            path="platform:/plugin/org.eclipse.jem/overrides/java/lang">
-      </override>
-      <override
-            package="..ROOT.."
-            path="platform:/plugin/org.eclipse.jem/overrides">
-      </override>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jem/rose/.cvsignore b/plugins/org.eclipse.jem/rose/.cvsignore
deleted file mode 100644
index 1be3a37..0000000
--- a/plugins/org.eclipse.jem/rose/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.md~
-*.ca~
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem/rose/edocjava2.cat b/plugins/org.eclipse.jem/rose/edocjava2.cat
deleted file mode 100644
index 25b1eec..0000000
--- a/plugins/org.eclipse.jem/rose/edocjava2.cat
+++ /dev/null
@@ -1,5613 +0,0 @@
-
-(object Petal
-    version    	47
-    _written   	"Rose 8.0.0303.1400"
-    charSet    	0)
-
-(object Class_Category "java"
-    is_unit    	TRUE
-    is_loaded  	TRUE
-    attributes 	(list Attribute_Set
-	(object Attribute
-	    tool       	"IDL"
-	    name       	"uuid"
-	    value      	(value Text "DCE:c74525a0-8826-11e1-0000-005d9e6adec4:1"))
-	(object Attribute
-	    tool       	"Ecore"
-	    name       	"basePackage"
-	    value      	(value Text "org.eclipse.jem"))
-	(object Attribute
-	    tool       	"Ecore"
-	    name       	"prefix"
-	    value      	(value Text "JavaRef"))
-	(object Attribute
-	    tool       	"Ecore"
-	    name       	"nsURI"
-	    value      	(value Text "java.xmi")))
-    quid       	"36549F2C004E"
-    documentation 	
-|Changes to synch up with Java3e:
-|- deleted JavaElement, BodyElement which didn't add anything useful
-|- deleted NestedClass and the association which described nesting, contents can be used instead
-|- deleted extends/extendedBy which is replaced with MOF subtype/supertype
-|- deleted the clumsy main diagram
-|- moved the MOF inheritance details to the MOF binding diagram
-|- deleted "final" on JavaParameter, don't know what that was supposed to be
-|- deleted the Category junk
-|- changed the Block-typed attributes on Field, Method, Initializer to be associations to Block
-|
-|Outstanding questions/issues:
-|- JavaParameterKind should go away if we get the base Parameter kind fixed up
-|
-    
-    stereotype 	"metamodel"
-    visible_categories 	(list visibility_relationship_list
-	(object Visibility_Relationship
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0001-005d9e6adec4:1")))
-	    quid       	"381DDF470271"
-	    supplier   	"Logical View::mof"
-	    quidu      	"374AA8F9028E")
-	(object Visibility_Relationship
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0002-005d9e6adec4:1")))
-	    quid       	"39BD366000FE"
-	    supplier   	"Logical View::ecore"
-	    quidu      	"39A5ED04004E"))
-    exportControl 	"Public"
-    logical_models 	(list unit_reference_list
-	(object Class "JavaClass"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0003-005d9e6adec4:1")))
-	    quid       	"36549FCC00FA"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0004-005d9e6adec4:1")))
-		    quid       	"3990950000B3"
-		    supplier   	"Logical View::ecore::EClass"
-		    quidu      	"3903D5BF000A"))
-	    operations 	(list Operations
-		(object Operation "isNested"
-		    quid       	"3A9D7C2101D6"
-		    result     	"boolean"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0)
-		(object Operation "getField"
-		    quid       	"3B65B5B30044"
-		    documentation 	"Return an Field with the passed name, or null."
-		    parameters 	(list Parameters
-			(object Parameter "fieldName"
-			    quid       	"3C62FAB901AA"
-			    type       	"String"))
-		    result     	"Field"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3654AF8F0280")
-		(object Operation "getFieldExtended"
-		    quid       	"3B65B625011A"
-		    documentation 	
-| Return an Field with the passed name from this JavaClass or any supertypes.
-|
-|Return null if a Field named fieldName is not found.
-		    
-		    parameters 	(list Parameters
-			(object Parameter "fieldName"
-			    quid       	"3C62FAB901AC"
-			    type       	"String"))
-		    result     	"Field"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3654AF8F0280")
-		(object Operation "getFieldNamed"
-		    quid       	"3B65B6670255"
-		    documentation 	"Return an Field with the passed name, or null."
-		    parameters 	(list Parameters
-			(object Parameter "fieldName"
-			    quid       	"3C62FAB901AE"
-			    type       	"String"))
-		    result     	"Field"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3654AF8F0280")
-		(object Operation "getFieldsExtended"
-		    quid       	"3B65B68A0328"
-		    documentation 	"Return all fields, including those from supertypes."
-		    result     	"JTypeList"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3B65B87602C1")
-		(object Operation "getMethod"
-		    quid       	"3B65B911021A"
-		    documentation 	"Get the method of this name and these parameters. It will not look up the supertype hierarchy."
-		    parameters 	(list Parameters
-			(object Parameter "methodName"
-			    quid       	"3C62FAB901B1"
-			    type       	"String")
-			(object Parameter "parameterTypes"
-			    quid       	"3C62FAB901B2"
-			    documentation 	"List of parameter types."
-			    type       	"JTypeList"
-			    quidu      	"3B65B87602C1"))
-		    result     	"Method"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3654AE910271")
-		(object Operation "getMethodElementSignatures"
-		    quid       	"3B65B9EA03CA"
-		    documentation 	"Return a List of Strings that represent MethodElement signatures from most general to most specific."
-		    result     	"JTypeList"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3B65B87602C1")
-		(object Operation "getMethodExtended"
-		    quid       	"3B65BA510115"
-		    documentation 	"Get the method of this name and these parameters. It will look up the supertype hierarchy."
-		    parameters 	(list Parameters
-			(object Parameter "methodName"
-			    quid       	"3C62FAB901B5"
-			    type       	"String")
-			(object Parameter "parameterTypes"
-			    quid       	"3C62FAB901B6"
-			    documentation 	"List of parameter types."
-			    type       	"JTypeList"
-			    quidu      	"3B65B87602C1"))
-		    result     	"Method"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3654AE910271")
-		(object Operation "getMethodsExtended"
-		    quid       	"3B65BA7D0354"
-		    documentation 	"Return all methods, including those from supertypes."
-		    result     	"JTypeList"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3B65B87602C1")
-		(object Operation "getOnlySpecificMethods"
-		    quid       	"3B65BAC3021E"
-		    documentation 	
-|Return a List of Methods that begins with @aMethodNamePrefix and is not included in the @excludedNames list. If @aMethodNamePrefix is null, all methods will be returned.
-|
-		    
-		    parameters 	(list Parameters
-			(object Parameter "aMethodNamePrefix"
-			    quid       	"3C62FAB901B9"
-			    type       	"String")
-			(object Parameter "excludedNames"
-			    quid       	"3C62FAB901BA"
-			    type       	"JTypeList"
-			    quidu      	"3B65B87602C1"))
-		    result     	"JTypeList"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3B65B87602C1")
-		(object Operation "getPublicMethod"
-		    quid       	"3B65BBC90383"
-		    documentation 	"Return a method matching the name, and non-return parameters with fully qualified types matching all the types in the list, if it exists.  It will not look up the supertype hierarchy."
-		    parameters 	(list Parameters
-			(object Parameter "methodName"
-			    quid       	"3C62FAB901BC"
-			    type       	"String")
-			(object Parameter "parameterTypes"
-			    quid       	"3C62FAB901BD"
-			    documentation 	"List of parameter types."
-			    type       	"JTypeList"
-			    quidu      	"3B65B87602C1"))
-		    result     	"Method"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3654AE910271")
-		(object Operation "getPublicMethods"
-		    quid       	"3B65BC3D034E"
-		    documentation 	"Return all methods, it will not go up the supertype hierarchy."
-		    result     	"JTypeList"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3B65B87602C1")
-		(object Operation "getPublicMethodsExtended"
-		    quid       	"3B65BC630320"
-		    documentation 	"Return all public methods, including those from supertypes."
-		    result     	"JTypeList"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3B65B87602C1")
-		(object Operation "getPublicMethodsNamed"
-		    quid       	"3B65BCAA005B"
-		    documentation 	"Returns a filtered list on the methods of this class, having a name equal to that of the parameter."
-		    parameters 	(list Parameters
-			(object Parameter "name"
-			    quid       	"3C62FAB901C1"
-			    type       	"String"))
-		    result     	"JTypeList"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3B65B87602C1")
-		(object Operation "getSupertype"
-		    quid       	"3B65BCF900CD"
-		    result     	"JavaClass"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"36549FCC00FA")
-		(object Operation "implementsInterface"
-		    quid       	"3B65BD39009D"
-		    documentation 	"Test whether the receiver implements the passed interface (or one of its supertypes)."
-		    parameters 	(list Parameters
-			(object Parameter "interfaceType"
-			    quid       	"3C62FAB901C4"
-			    type       	"JavaClass"
-			    quidu      	"36549FCC00FA"))
-		    result     	"boolean"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0)
-		(object Operation "infoString"
-		    quid       	"3B65BD8202D3"
-		    documentation 	"Return a string showing our details."
-		    result     	"String"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0)
-		(object Operation "inheritsFrom"
-		    quid       	"3B65BD9E02E7"
-		    documentation 	"Tests whether this class inherits from the passed in class."
-		    parameters 	(list Parameters
-			(object Parameter "javaClass"
-			    quid       	"3C62FAB901C7"
-			    type       	"JavaClass"
-			    quidu      	"36549FCC00FA"))
-		    result     	"boolean"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0)
-		(object Operation "isExistingType"
-		    quid       	"3B65BE110120"
-		    documentation 	"Does this type exist."
-		    result     	"boolean"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0)
-		(object Operation "isInterface"
-		    quid       	"3B65BE2F0137"
-		    documentation 	"Is this an interface."
-		    result     	"boolean"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0)
-		(object Operation "setSupertype"
-		    quid       	"3B65BE7B00A0"
-		    documentation 	"Set the supertype."
-		    parameters 	(list Parameters
-			(object Parameter "javaclass"
-			    quid       	"3C62FAB901CB"
-			    type       	"JavaClass"
-			    quidu      	"36549FCC00FA"))
-		    result     	"void"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "kind"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0005-005d9e6adec4:1")))
-		    quid       	"3654A45E0232"
-		    type       	"TypeKind"
-		    quidu      	"3654B46002BF"
-		    exportControl 	"Public")
-		(object ClassAttribute "public"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0006-005d9e6adec4:1")))
-		    quid       	"380F8CE8020C"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "final"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0008-005d9e6adec4:1")))
-		    quid       	"380F8F9C02D7"
-		    type       	"boolean"
-		    exportControl 	"Public"))
-	    language   	"none")
-	(object Class "Initializer"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0009-005d9e6adec4:1")))
-	    quid       	"3654A5DC00BB"
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "isStatic"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-000a-005d9e6adec4:1")))
-		    quid       	"3654A865000F"
-		    type       	"Boolean"
-		    exportControl 	"Public"))
-	    language   	"none")
-	(object Class "JavaParameter"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-000b-005d9e6adec4:1")))
-	    quid       	"3654AD780280"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3B7818B00186"
-		    supplier   	"Logical View::ecore::EParameter"
-		    quidu      	"3903E6150104"))
-	    operations 	(list Operations
-		(object Operation "isArray"
-		    quid       	"3B65BFD4034F"
-		    documentation 	"Is this parameter type an array type."
-		    result     	"boolean"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0)
-		(object Operation "isReturn"
-		    quid       	"3B65BFEF0005"
-		    documentation 	"Is this a return parameter."
-		    result     	"boolean"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0)
-		(object Operation "getJavaType"
-		    quid       	"3B65C8E7001A"
-		    result     	"JTypeJavaHelpers"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3B65ADE403A6")
-		(object Operation "getQualifiedName"
-		    quid       	"3B65C926002F"
-		    result     	"String"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "final"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-000c-005d9e6adec4:1")))
-		    quid       	"3654B64702AF"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "parameterKind"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-000e-005d9e6adec4:1")))
-		    quid       	"391C1EB400C2"
-		    type       	"JavaParameterKind"
-		    quidu      	"391C1E8F0123"
-		    exportControl 	"Public"))
-	    language   	"none")
-	(object Class "Method"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-000f-005d9e6adec4:1")))
-	    quid       	"3654AE910271"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0010-005d9e6adec4:1")))
-		    quid       	"3990953803AD"
-		    supplier   	"Logical View::ecore::EOperation"
-		    quidu      	"3904DAA200A0"))
-	    operations 	(list Operations
-		(object Operation "getContainingJavaClass"
-		    quid       	"3B65C04202A3"
-		    documentation 	"Return the java class that this method is defined in."
-		    result     	"JavaClass"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"36549FCC00FA")
-		(object Operation "getMethodElementSignature"
-		    quid       	"3B65C076013F"
-		    documentation 	
-|Return a String with the the method name and its parameters. e.g. <code> setFirstName(java.lang.String) </code> .
-| 
-		    
-		    result     	"String"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0)
-		(object Operation "getParameter"
-		    quid       	"3B65C0B8011C"
-		    documentation 	"Return a Parameter with the passed name, or null."
-		    parameters 	(list Parameters
-			(object Parameter "parameterName"
-			    quid       	"3C62FAB901E3"
-			    type       	"String"))
-		    result     	"JavaParameter"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3654AD780280")
-		(object Operation "getReturnType"
-		    quid       	"3B65C1470013"
-		    documentation 	"Get the return type."
-		    result     	"JTypeJavaHelpers"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3B65ADE403A6")
-		(object Operation "setReturnType"
-		    quid       	"3B65C27403CE"
-		    documentation 	"Set the return type"
-		    parameters 	(list Parameters
-			(object Parameter "type"
-			    quid       	"3C62FAB901E8"
-			    type       	"JTypeJavaHelpers"
-			    quidu      	"3B65ADE403A6"))
-		    result     	"void"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0)
-		(object Operation "getSignature"
-		    quid       	"3B65C17D0043"
-		    documentation 	
-|Replicate the functionality of java.lang.reflect.Method.toString().
-|
-|Returns a string describing this Method.  The string is formatted as the method access modifiers, if any, followed by the method return type, followed by a space, followed by the class declaring the method, followed by a period, followed by the method name, followed by a parenthesized, comma-separated list of the method's formal parameter types. If the method throws checked exceptions, the parameter list is followed by a space, followed by the word throws followed by a comma-separated list of the thrown exception types.
-|
-|For example:
-|
-|    public boolean java.lang.Object.equals(java.lang.Object)
-|
-|The access modifiers are placed in canonical order as specified by "The Java Language Specification".  This is public, <tt>protected</tt> or <tt>private</tt> first, and then other modifiers in the following order: <tt>abstract</tt>, <tt>static</tt>, <tt>final</tt>, <tt>synchronized</tt> <tt>native</tt>.
-|
-		    
-		    result     	"String"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0)
-		(object Operation "isGenerated"
-		    quid       	"3B65C1FC006E"
-		    documentation 	
-|Returns true if the method is system generated.
-|This is usually determined by the @generated tag in the comment.
-		    
-		    result     	"boolean"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0)
-		(object Operation "setIsGenerated"
-		    quid       	"3B65C244037F"
-		    documentation 	"Set the isGenerated flag."
-		    parameters 	(list Parameters
-			(object Parameter "generated"
-			    quid       	"3C62FAB901EC"
-			    type       	"boolean"))
-		    result     	"void"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0)
-		(object Operation "isVoid"
-		    quid       	"3B65C218038F"
-		    documentation 	"Is this a void return type method."
-		    result     	"boolean"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "abstract"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0011-005d9e6adec4:1")))
-		    quid       	"380F90BC022B"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "native"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0012-005d9e6adec4:1")))
-		    quid       	"380F90D10364"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "synchronized"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0013-005d9e6adec4:1")))
-		    quid       	"380F90DB03C1"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "final"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0014-005d9e6adec4:1")))
-		    quid       	"3829C6E00033"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "constructor"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0015-005d9e6adec4:1")))
-		    quid       	"391ADD280245"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "static"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0016-005d9e6adec4:1")))
-		    quid       	"3829C6E40350"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "javaVisibility"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0017-005d9e6adec4:1")))
-		    quid       	"3829C6EB0397"
-		    type       	"JavaVisibilityKind"
-		    quidu      	"382333BE032E"
-		    exportControl 	"Public"))
-	    language   	"none")
-	(object Class "Field"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0018-005d9e6adec4:1")))
-	    quid       	"3654AF8F0280"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"400487F90334"
-		    supplier   	"Logical View::ecore::ETypedElement"
-		    quidu      	"3903D4F60398"))
-	    operations 	(list Operations
-		(object Operation "getContainingJavaClass"
-		    quid       	"3B65B5120024"
-		    documentation 	"Get the class that this field is within."
-		    result     	"JavaClass"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"36549FCC00FA")
-		(object Operation "isArray"
-		    quid       	"3B65B55F01E7"
-		    documentation 	"Is this field an array type."
-		    result     	"boolean"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "final"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-001d-005d9e6adec4:1")))
-		    quid       	"3829C6BE026F"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "static"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-001e-005d9e6adec4:1")))
-		    quid       	"3829C6C202ED"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "javaVisibility"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-001f-005d9e6adec4:1")))
-		    quid       	"3829C6C7034F"
-		    type       	"JavaVisibilityKind"
-		    quidu      	"382333BE032E"
-		    exportControl 	"Public")
-		(object ClassAttribute "transient"
-		    quid       	"4004880103B8"
-		    type       	"boolean"
-		    exportControl 	"Public")
-		(object ClassAttribute "volatile"
-		    quid       	"40048808012D"
-		    type       	"boolean"
-		    exportControl 	"Public"))
-	    language   	"none")
-	(object Class "TypeKind"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0020-005d9e6adec4:1")))
-	    quid       	"3654B46002BF"
-	    documentation 	"UNDEFINED=1 CLASS=2 INTERFACE=3 EXCEPTION=4"
-	    stereotype 	"enumeration"
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "UNDEFINED"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0021-005d9e6adec4:1")))
-		    quid       	"380B9E3601A1"
-		    exportControl 	"Public")
-		(object ClassAttribute "CLASS"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0022-005d9e6adec4:1")))
-		    quid       	"380B9E44025D"
-		    exportControl 	"Public")
-		(object ClassAttribute "INTERFACE"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0023-005d9e6adec4:1")))
-		    quid       	"380B9E560124"
-		    exportControl 	"Public")
-		(object ClassAttribute "EXCEPTION"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0024-005d9e6adec4:1")))
-		    quid       	"380B9E6501A1"
-		    exportControl 	"Public"))
-	    language   	"none")
-	(object Class "Block"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0025-005d9e6adec4:1")))
-	    quid       	"380F88370150"
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "source"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0026-005d9e6adec4:1")))
-		    quid       	"3810E7FC0239"
-		    type       	"String"
-		    exportControl 	"Public")
-		(object ClassAttribute "name"
-		    quid       	"3A6C53E10029"
-		    type       	"String"
-		    exportControl 	"Public")))
-	(object Class "Comment"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0027-005d9e6adec4:1")))
-	    quid       	"380F889B02B8"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0028-005d9e6adec4:1")))
-		    quid       	"380F88D600A5"
-		    supplier   	"Logical View::java::Block"
-		    quidu      	"380F88370150")))
-	(object Class "Statement"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0029-005d9e6adec4:1")))
-	    quid       	"380F88B9025A"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-002a-005d9e6adec4:1")))
-		    quid       	"380F88DA0056"
-		    supplier   	"Logical View::java::Block"
-		    quidu      	"380F88370150")))
-	(object Class "JavaPackage"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-002b-005d9e6adec4:1")))
-	    quid       	"38108E0301D2"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-002c-005d9e6adec4:1")))
-		    quid       	"399094D70046"
-		    supplier   	"Logical View::ecore::EPackage"
-		    quidu      	"3905C3F7000A"))
-	    language   	"Java")
-	(object Class "JavaVisibilityKind"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0030-005d9e6adec4:1")))
-	    quid       	"382333BE032E"
-	    documentation 	
-|PACKAGE=1
-|PUBLIC=2
-|PRIVATE=3
-|PROTECTED=4
-	    
-	    stereotype 	"enumeration"
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "PUBLIC"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0031-005d9e6adec4:1")))
-		    quid       	"382333E2022C"
-		    exportControl 	"Public")
-		(object ClassAttribute "PRIVATE"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0032-005d9e6adec4:1")))
-		    quid       	"382333E7003E"
-		    exportControl 	"Public")
-		(object ClassAttribute "PROTECTED"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0033-005d9e6adec4:1")))
-		    quid       	"382333E80389"
-		    exportControl 	"Public")
-		(object ClassAttribute "PACKAGE"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0034-005d9e6adec4:1")))
-		    quid       	"382333EA038C"
-		    exportControl 	"Public")))
-	(object Class "JavaParameterKind"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0035-005d9e6adec4:1")))
-	    quid       	"391C1E8F0123"
-	    documentation 	
-|IN=0
-|OUT=1
-|INOUT=2
-|RETURN=3
-	    
-	    stereotype 	"enumeration"
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "IN"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0036-005d9e6adec4:1")))
-		    quid       	"391C1EFC02EC"
-		    exportControl 	"Public")
-		(object ClassAttribute "OUT"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0037-005d9e6adec4:1")))
-		    quid       	"391C1EFF016A"
-		    exportControl 	"Public")
-		(object ClassAttribute "INOUT"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0038-005d9e6adec4:1")))
-		    quid       	"391C1F010040"
-		    exportControl 	"Public")
-		(object ClassAttribute "RETURN"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0039-005d9e6adec4:1")))
-		    quid       	"391C21940387"
-		    exportControl 	"Public")))
-	(object Class "JavaDataType"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-003a-005d9e6adec4:1")))
-	    quid       	"395913340316"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3E5268E201B1"
-		    supplier   	"Logical View::ecore::EClass"
-		    quidu      	"3903D5BF000A"))
-	    operations 	(list Operations
-		(object Operation "getDefaultValueString"
-		    quid       	"3B65BF910303"
-		    documentation 	"Return the default string representing the default value of the primitive."
-		    result     	"String"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0)))
-	(object Class "ArrayType"
-	    quid       	"3A9D79ED01DF"
-	    documentation 	
-|Describes a Java Array type
-|   For multi-dimensional arrays, it is unlikely that the component type will be
-|   specified directly.  This would require instantiating a chain of component types
-|   such as String[][][][]->String[][][]->String[][]->String[]->String.
-|
-|  The component type relationship will be computed if the finalComponentType
-|  and array dimensions is specified.
-| 
-|  For this reason, the preferred way to create is through the JavaRefFactory factory method:
-|       createArrayType(JavaClass finalComponentType, int dimensions)
-	    
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3A9D79FD010F"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"))
-	    operations 	(list Operations
-		(object Operation "getFinalComponentType"
-		    quid       	"3A9D7A820193"
-		    documentation 	
-|Get the final component type for this Array Type.
-|
-|In order to ensure a unique instance, we will resolve this type using reflection. It turns out to be most efficient to just do this by trimming the name.
-		    
-		    result     	"JTypeJavaHelpers"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3B65ADE403A6")
-		(object Operation "getComponentTypeAsHelper"
-		    quid       	"3B65AF980136"
-		    documentation 	
-|Get the component type of this array. 
-|
-|If this is a multi-dimensional array, the component type will be the nested array type.
-		    
-		    result     	"JTypeJavaHelpers"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0
-		    quidu      	"3B65ADE403A6")
-		(object Operation "isPrimitiveArray"
-		    quid       	"3B65B41702B8"
-		    documentation 	"Is this an array of java primitives"
-		    result     	"boolean"
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0)
-		(object Operation "setComponentType"
-		    quid       	"3B65B45503BC"
-		    documentation 	"Set the component type."
-		    parameters 	(list Parameters
-			(object Parameter "helperComponentType"
-			    quid       	"3C62FAB90226"
-			    type       	"JTypeJavaHelpers"
-			    quidu      	"3B65ADE403A6"))
-		    concurrency 	"Sequential"
-		    opExportControl 	"Public"
-		    uid        	0))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "arrayDimensions"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Java"
-			    name       	"Final"
-			    value      	FALSE)
-			(object Attribute
-			    tool       	"Java"
-			    name       	"Volatile"
-			    value      	FALSE)
-			(object Attribute
-			    tool       	"Java"
-			    name       	"Transient"
-			    value      	FALSE)
-			(object Attribute
-			    tool       	"Java"
-			    name       	"IndividualChangeMgt"
-			    value      	FALSE)
-			(object Attribute
-			    tool       	"Java"
-			    name       	"PropertyType"
-			    value      	("BeanProperty_Set" 71))
-			(object Attribute
-			    tool       	"Java"
-			    name       	"Read/Write"
-			    value      	("Read/Write_Set" 81)))
-		    quid       	"3A9D7AC80284"
-		    type       	"int"
-		    exportControl 	"Public"))
-	    language   	"Java")
-	(object Class "JTypeJavaHelpers"
-	    quid       	"3B65ADE403A6"
-	    documentation 	"This interface is a common interface between JavaClass and JavaDataType plus some common helper methods."
-	    stereotype 	"datatype"
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "org.eclipse.jem.java.JavaHelpers"
-		    quid       	"3B65AE170269"
-		    stereotype 	"javaclass"
-		    exportControl 	"Public")))
-	(object Class "JTypeList"
-	    quid       	"3B65B87602C1"
-	    documentation 	"java.util.List type"
-	    stereotype 	"datatype"
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "java.util.List"
-		    quid       	"3B65B88F0399"
-		    stereotype 	"javaclass"
-		    exportControl 	"Public")))
-	(object Class "JavaEvent"
-	    quid       	"3C62FAF103C8"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3DF4CE830390"
-		    supplier   	"Logical View::ecore::EStructuralFeature"
-		    quidu      	"3903D59D0230"))
-	    abstract   	TRUE)
-	(object Association "Implements"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-003c-005d9e6adec4:1")))
-	    quid       	"3654A0D70242"
-	    documentation 	"Constraint - Source of implements is of TypeKind CLASSTYPE and target is INTERFACETYPE"
-	    roles      	(list role_list
-		(object Role "implementsInterfaces"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-003d-005d9e6adec4:1")))
-		    quid       	"3654A0DA0109"
-		    label      	"implementsInterfaces"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "0..n")
-		    is_navigable 	TRUE)
-		(object Role "implementedBy"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-003e-005d9e6adec4:1")))
-		    quid       	"3654A0DA0138"
-		    label      	"implementedBy"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "0..n"))))
-	(object Association "MethodHas"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-003f-005d9e6adec4:1")))
-	    quid       	"3654AF0302CE"
-	    roles      	(list role_list
-		(object Role "parameters"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0040-005d9e6adec4:1")))
-		    quid       	"3654AF080196"
-		    label      	"parameters"
-		    supplier   	"Logical View::java::JavaParameter"
-		    quidu      	"3654AD780280"
-		    client_cardinality 	(value cardinality "0..n")
-		    Constraints 	"ordered"
-		    Containment 	"By Value"
-		    is_navigable 	TRUE)
-		(object Role "method"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0041-005d9e6adec4:1")))
-		    quid       	"3654AF080197"
-		    label      	"method"
-		    supplier   	"Logical View::java::Method"
-		    quidu      	"3654AE910271"
-		    client_cardinality 	(value cardinality "0..1")
-		    is_aggregate 	TRUE)))
-	(object Association "$UNNAMED$0"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0042-005d9e6adec4:1")))
-	    quid       	"3654B08801A5"
-	    roles      	(list role_list
-		(object Role "/type"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0043-005d9e6adec4:1")))
-		    quid       	"3654B091007D"
-		    label      	"/type"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    is_navigable 	TRUE)
-		(object Role "/typedElement"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0044-005d9e6adec4:1")))
-		    quid       	"3654B091008C"
-		    label      	"/typedElement"
-		    supplier   	"Logical View::java::JavaParameter"
-		    quidu      	"3654AD780280"
-		    client_cardinality 	(value cardinality "1"))))
-	(object Association "MethodThrows"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0045-005d9e6adec4:1")))
-	    quid       	"3810B61B0178"
-	    documentation 	"Target must be of kind EXCEPTIONTYPE"
-	    roles      	(list role_list
-		(object Role "javaExceptions"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0046-005d9e6adec4:1")))
-		    quid       	"3810B61E01C3"
-		    label      	"javaExceptions"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "0..n")
-		    is_navigable 	TRUE)
-		(object Role "method"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0047-005d9e6adec4:1")))
-		    quid       	"3810B61E0227"
-		    label      	"method"
-		    supplier   	"Logical View::java::Method"
-		    quidu      	"3654AE910271")))
-	(object Association "Contents"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0048-005d9e6adec4:1")))
-	    quid       	"3810E6080268"
-	    roles      	(list role_list
-		(object Role "containedBy"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0049-005d9e6adec4:1")))
-		    quid       	"3810E60E0144"
-		    label      	"containedBy"
-		    supplier   	"Logical View::java::Block"
-		    quidu      	"380F88370150"
-		    client_cardinality 	(value cardinality "0..1")
-		    is_aggregate 	TRUE)
-		(object Role "contents"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-004a-005d9e6adec4:1")))
-		    quid       	"3810E60E0162"
-		    label      	"contents"
-		    supplier   	"Logical View::java::Block"
-		    quidu      	"380F88370150"
-		    client_cardinality 	(value cardinality "0..n")
-		    Containment 	"By Value"
-		    is_navigable 	TRUE)))
-	(object Association "ClassImports"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-004b-005d9e6adec4:1")))
-	    quid       	"3829C4BF000D"
-	    roles      	(list role_list
-		(object Role "classImport"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-004c-005d9e6adec4:1")))
-		    quid       	"3829C4BF000E"
-		    label      	"classImport"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "0..n")
-		    Constraints 	"ordered"
-		    is_navigable 	TRUE)
-		(object Role "importedBy"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-004d-005d9e6adec4:1")))
-		    quid       	"3829C4BF000F"
-		    label      	"importedBy"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "0..n"))))
-	(object Association "PackageImports"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-004e-005d9e6adec4:1")))
-	    quid       	"3829C4EC0207"
-	    roles      	(list role_list
-		(object Role "packageImports"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-004f-005d9e6adec4:1")))
-		    quid       	"3829C4EE00FB"
-		    label      	"packageImports"
-		    supplier   	"Logical View::java::JavaPackage"
-		    quidu      	"38108E0301D2"
-		    client_cardinality 	(value cardinality "0..n")
-		    Constraints 	"ordered"
-		    is_navigable 	TRUE)
-		(object Role "importedBy"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0050-005d9e6adec4:1")))
-		    quid       	"3829C4EE0105"
-		    label      	"importedBy"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "0..n"))))
-	(object Association "$UNNAMED$1"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0051-005d9e6adec4:1")))
-	    quid       	"382A29BD0219"
-	    roles      	(list role_list
-		(object Role "fields"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0052-005d9e6adec4:1")))
-		    quid       	"382A29BE0350"
-		    label      	"fields"
-		    supplier   	"Logical View::java::Field"
-		    quidu      	"3654AF8F0280"
-		    client_cardinality 	(value cardinality "0..n")
-		    Containment 	"By Value"
-		    is_navigable 	TRUE)
-		(object Role "javaClass"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0053-005d9e6adec4:1")))
-		    quid       	"382A29BE03BF"
-		    label      	"javaClass"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    is_navigable 	TRUE
-		    is_aggregate 	TRUE)))
-	(object Association "$UNNAMED$2"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0054-005d9e6adec4:1")))
-	    quid       	"382A29C0017D"
-	    roles      	(list role_list
-		(object Role "methods"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0055-005d9e6adec4:1")))
-		    quid       	"382A29C10174"
-		    label      	"methods"
-		    supplier   	"Logical View::java::Method"
-		    quidu      	"3654AE910271"
-		    client_cardinality 	(value cardinality "0..n")
-		    Containment 	"By Value"
-		    is_navigable 	TRUE)
-		(object Role "javaClass"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0056-005d9e6adec4:1")))
-		    quid       	"382A29C1020A"
-		    label      	"javaClass"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    is_navigable 	TRUE
-		    is_aggregate 	TRUE)))
-	(object Association "$UNNAMED$3"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0057-005d9e6adec4:1")))
-	    quid       	"392A9EB403C6"
-	    roles      	(list role_list
-		(object Role "/supertype"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0058-005d9e6adec4:1")))
-		    quid       	"392A9EB803B7"
-		    label      	"/supertype"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "1")
-		    is_navigable 	TRUE)
-		(object Role "/subtype"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0059-005d9e6adec4:1")))
-		    quid       	"392A9EB90098"
-		    label      	"/subtype"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "0..n"))))
-	(object Association "$UNNAMED$4"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-005a-005d9e6adec4:1")))
-	    quid       	"392A9F0301AC"
-	    roles      	(list role_list
-		(object Role "/supertype"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-005b-005d9e6adec4:1")))
-		    quid       	"392A9F090328"
-		    label      	"/supertype"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "0..n")
-		    is_navigable 	TRUE)
-		(object Role "/subtype"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-005c-005d9e6adec4:1")))
-		    quid       	"392A9F0A001C"
-		    label      	"/subtype"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "0..n")
-		    is_navigable 	TRUE)))
-	(object Association "$UNNAMED$5"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-005d-005d9e6adec4:1")))
-	    quid       	"392AA09503E5"
-	    roles      	(list role_list
-		(object Role "initializers"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-005e-005d9e6adec4:1")))
-		    quid       	"392AA0970153"
-		    label      	"initializers"
-		    supplier   	"Logical View::java::Initializer"
-		    quidu      	"3654A5DC00BB"
-		    client_cardinality 	(value cardinality "0..n")
-		    Containment 	"By Value"
-		    is_navigable 	TRUE)
-		(object Role "javaClass"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-005f-005d9e6adec4:1")))
-		    quid       	"392AA097015D"
-		    label      	"javaClass"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    is_navigable 	TRUE
-		    is_aggregate 	TRUE)))
-	(object Association "$UNNAMED$6"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0060-005d9e6adec4:1")))
-	    quid       	"392AA21200C2"
-	    roles      	(list role_list
-		(object Role "declaredClasses"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0061-005d9e6adec4:1")))
-		    quid       	"392AA21701D8"
-		    label      	"declaredClasses"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "0..n")
-		    is_navigable 	TRUE)
-		(object Role "declaringClass"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0062-005d9e6adec4:1")))
-		    quid       	"392AA21702DC"
-		    label      	"declaringClass"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "0..1")
-		    is_navigable 	TRUE
-		    is_aggregate 	TRUE)))
-	(object Association "$UNNAMED$7"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0063-005d9e6adec4:1")))
-	    quid       	"392AA2A701C1"
-	    stereotype 	"derived"
-	    roles      	(list role_list
-		(object Role "javaClasses"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0064-005d9e6adec4:1"))
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isTransient"
-			    value      	TRUE)
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isVolatile"
-			    value      	TRUE)
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isChangeable"
-			    value      	FALSE))
-		    quid       	"392AA2A80367"
-		    label      	"javaClasses"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    client_cardinality 	(value cardinality "0..n")
-		    is_navigable 	TRUE)
-		(object Role "javaPackage"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0065-005d9e6adec4:1"))
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isTransient"
-			    value      	TRUE)
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isVolatile"
-			    value      	TRUE)
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isChangeable"
-			    value      	FALSE))
-		    quid       	"392AA2A90083"
-		    label      	"javaPackage"
-		    supplier   	"Logical View::java::JavaPackage"
-		    quidu      	"38108E0301D2"
-		    client_cardinality 	(value cardinality "0..1")
-		    is_navigable 	TRUE
-		    is_aggregate 	TRUE)))
-	(object Association "$UNNAMED$8"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0066-005d9e6adec4:1")))
-	    quid       	"392AAC33036A"
-	    roles      	(list role_list
-		(object Role "source"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0067-005d9e6adec4:1")))
-		    quid       	"392AAC380140"
-		    label      	"source"
-		    supplier   	"Logical View::java::Block"
-		    quidu      	"380F88370150"
-		    client_cardinality 	(value cardinality "0..1")
-		    is_navigable 	TRUE)
-		(object Role "initializer"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-0068-005d9e6adec4:1")))
-		    quid       	"392AAC380168"
-		    label      	"initializer"
-		    supplier   	"Logical View::java::Initializer"
-		    quidu      	"3654A5DC00BB")))
-	(object Association "$UNNAMED$9"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-0069-005d9e6adec4:1")))
-	    quid       	"392AAC5602A2"
-	    roles      	(list role_list
-		(object Role "initializer"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-006a-005d9e6adec4:1")))
-		    quid       	"392AAC5702DF"
-		    label      	"initializer"
-		    supplier   	"Logical View::java::Block"
-		    quidu      	"380F88370150"
-		    client_cardinality 	(value cardinality "0..1")
-		    Containment 	"By Value"
-		    is_navigable 	TRUE)
-		(object Role "field"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c74525a0-8826-11e1-006b-005d9e6adec4:1")))
-		    quid       	"392AAC570307"
-		    label      	"field"
-		    supplier   	"Logical View::java::Field"
-		    quidu      	"3654AF8F0280"
-		    is_aggregate 	TRUE)))
-	(object Association "$UNNAMED$10"
-	    attributes 	(list Attribute_Set
-		(object Attribute
-		    tool       	"IDL"
-		    name       	"uuid"
-		    value      	(value Text "DCE:c74525a0-8826-11e1-006c-005d9e6adec4:1")))
-	    quid       	"392AACA501E7"
-	    roles      	(list role_list
-		(object Role "source"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c746ac40-8826-11e1-0000-005d9e6adec4:1")))
-		    quid       	"392AACA7017C"
-		    label      	"source"
-		    supplier   	"Logical View::java::Block"
-		    quidu      	"380F88370150"
-		    client_cardinality 	(value cardinality "0..1")
-		    is_navigable 	TRUE)
-		(object Role "method"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"IDL"
-			    name       	"uuid"
-			    value      	(value Text "DCE:c746ac40-8826-11e1-0001-005d9e6adec4:1")))
-		    quid       	"392AACA701B8"
-		    label      	"method"
-		    supplier   	"Logical View::java::Method"
-		    quidu      	"3654AE910271")))
-	(object Association "$UNNAMED$11"
-	    quid       	"3C62FBE00168"
-	    roles      	(list role_list
-		(object Role "events"
-		    quid       	"3C62FBE2008F"
-		    label      	"events"
-		    supplier   	"Logical View::java::JavaEvent"
-		    quidu      	"3C62FAF103C8"
-		    client_cardinality 	(value cardinality "0..n")
-		    Containment 	"By Value"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$12"
-		    quid       	"3C62FBE20091"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    is_aggregate 	TRUE)))
-	(object Association "$UNNAMED$13"
-	    quid       	"3C8938770253"
-	    roles      	(list role_list
-		(object Role "allEvents"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isTransient"
-			    value      	TRUE)
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isVolatile"
-			    value      	TRUE))
-		    quid       	"3C89387802CC"
-		    label      	"allEvents"
-		    supplier   	"Logical View::java::JavaEvent"
-		    quidu      	"3C62FAF103C8"
-		    client_cardinality 	(value cardinality "0..n")
-		    Containment 	"By Reference"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$14"
-		    quid       	"3C89387802CE"
-		    supplier   	"Logical View::java::JavaClass"
-		    quidu      	"36549FCC00FA"
-		    is_aggregate 	TRUE)))
-	(object Association "$UNNAMED$15"
-	    quid       	"3DF4CAAD01A3"
-	    roles      	(list role_list
-		(object Role "componentType"
-		    quid       	"3DF4CAAE01EB"
-		    label      	"componentType"
-		    supplier   	"Logical View::ecore::EClassifier"
-		    quidu      	"3ACE4FEE0371"
-		    client_cardinality 	(value cardinality "1")
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$16"
-		    quid       	"3DF4CAAE01F5"
-		    supplier   	"Logical View::java::ArrayType"
-		    quidu      	"3A9D79ED01DF"))))
-    logical_presentations 	(list unit_reference_list
-	(object ClassDiagram "Ecore binding"
-	    quid       	"38109C0F009B"
-	    title      	"Ecore binding"
-	    zoom       	100
-	    max_height 	28350
-	    max_width  	21600
-	    origin_x   	0
-	    origin_y   	4094
-	    items      	(list diagram_item_list
-		(object ClassView "Class" "Logical View::java::Field" @1
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    ShowOperationSignature 	TRUE
-		    location   	(1104, 576)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@1
-			location   	(689, 368)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	830
-			justify    	0
-			label      	"Field")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3654AF8F0280"
-		    compartment 	(object Compartment
-			Parent_View 	@1
-			location   	(689, 424)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	8
-			max_width  	709)
-		    width      	848
-		    height     	438
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::java::JavaPackage" @2
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(192, 480)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@2
-			location   	(31, 434)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	322
-			justify    	0
-			label      	"JavaPackage")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"38108E0301D2"
-		    width      	340
-		    height     	114
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::ecore::EPackage" @3
-		    ShowCompartmentStereotypes 	TRUE
-		    location   	(192, 144)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@3
-			location   	(103, 45)
-			nlines     	2
-			max_width  	178
-			justify    	0
-			label      	"EPackage")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	16777215
-		    quidu      	"3905C3F7000A"
-		    width      	196
-		    height     	222
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @4
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"399094D70046"
-		    client     	@2
-		    supplier   	@3
-		    line_style 	0)
-		(object ClassView "Class" "Logical View::ecore::EClass" @5
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1728, 1824)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@5
-			location   	(1465, 1615)
-			nlines     	2
-			max_width  	526
-			justify    	0
-			label      	"EClass")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	16777215
-		    quidu      	"3903D5BF000A"
-		    compartment 	(object Compartment
-			Parent_View 	@5
-			location   	(1465, 1715)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			anchor     	2
-			nlines     	6
-			max_width  	452)
-		    width      	544
-		    height     	440
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::ecore::EOperation" @6
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(2320, 144)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@6
-			location   	(2231, 45)
-			nlines     	2
-			max_width  	178
-			justify    	0
-			label      	"EOperation")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	16777215
-		    quidu      	"3904DAA200A0"
-		    width      	196
-		    height     	222
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::java::JavaDataType" @7
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    ShowOperationSignature 	TRUE
-		    location   	(352, 1216)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@7
-			location   	(11, 1143)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	682
-			justify    	0
-			label      	"JavaDataType")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"395913340316"
-		    compartment 	(object Compartment
-			Parent_View 	@7
-			location   	(11, 1199)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	2
-			max_width  	585)
-		    width      	700
-		    height     	168
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::java::Method" @8
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    ShowOperationSignature 	TRUE
-		    location   	(2336, 768)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@8
-			location   	(1736, 357)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	1200
-			justify    	0
-			label      	"Method")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3654AE910271"
-		    compartment 	(object Compartment
-			Parent_View 	@8
-			location   	(1736, 413)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	17
-			max_width  	1027)
-		    width      	1218
-		    height     	844
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @9
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3990953803AD"
-		    client     	@8
-		    supplier   	@6
-		    line_style 	3
-		    origin_attachment 	(2376, 346)
-		    terminal_attachment 	(2376, 255))
-		(object ClassView "Class" "Logical View::java::JavaClass" @10
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    ShowOperationSignature 	TRUE
-		    location   	(1312, 2864)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@10
-			location   	(330, 2273)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	1964
-			justify    	0
-			label      	"JavaClass")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"36549FCC00FA"
-		    compartment 	(object Compartment
-			Parent_View 	@10
-			location   	(330, 2329)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	25
-			max_width  	1680)
-		    width      	1982
-		    height     	1204
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @11
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3990950000B3"
-		    client     	@10
-		    supplier   	@5
-		    line_style 	3
-		    origin_attachment 	(1594, 2262)
-		    terminal_attachment 	(1594, 2044))
-		(object ClassView "Class" "Logical View::java::JavaParameter" @12
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    ShowOperationSignature 	TRUE
-		    location   	(1008, 1472)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@12
-			location   	(608, 1286)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	800
-			justify    	0
-			label      	"JavaParameter")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3654AD780280"
-		    compartment 	(object Compartment
-			Parent_View 	@12
-			location   	(608, 1342)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	7
-			max_width  	685)
-		    width      	818
-		    height     	394
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::ecore::EParameter" @13
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1008, 960)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@13
-			location   	(919, 861)
-			nlines     	2
-			max_width  	178
-			justify    	0
-			label      	"EParameter")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	16777215
-		    quidu      	"3903E6150104"
-		    width      	196
-		    height     	222
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @14
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3B7818B00186"
-		    client     	@12
-		    supplier   	@13
-		    line_style 	0)
-		(object ClassView "Class" "Logical View::ecore::EClass" @15
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(320, 816)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@15
-			location   	(56, 630)
-			nlines     	1
-			max_width  	528
-			justify    	0
-			label      	"EClass")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	16777215
-		    quidu      	"3903D5BF000A"
-		    compartment 	(object Compartment
-			Parent_View 	@15
-			location   	(56, 730)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			anchor     	2
-			nlines     	6
-			max_width  	452)
-		    width      	546
-		    height     	394
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @16
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3E5268E201B1"
-		    client     	@7
-		    supplier   	@15
-		    line_style 	0)
-		(object ClassView "Class" "Logical View::ecore::ETypedElement" @17
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1104, 112)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	TRUE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@17
-			location   	(916, 41)
-			nlines     	1
-			max_width  	376
-			justify    	0
-			label      	"ETypedElement")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	16777215
-		    quidu      	"3903D4F60398"
-		    width      	394
-		    height     	164
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @18
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"400487F90334"
-		    client     	@1
-		    supplier   	@17
-		    line_style 	0)))
-	(object ClassDiagram "Polymorphism"
-	    quid       	"38109D000373"
-	    title      	"Polymorphism"
-	    zoom       	100
-	    max_height 	28350
-	    max_width  	21600
-	    origin_x   	0
-	    origin_y   	0
-	    items      	(list diagram_item_list
-		(object ClassView "Class" "Logical View::java::JavaClass" @19
-		    ShowCompartmentStereotypes 	TRUE
-		    location   	(496, 576)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@19
-			location   	(365, 530)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	262
-			justify    	0
-			label      	"JavaClass")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"36549FCC00FA"
-		    width      	280
-		    height     	114
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AssociationViewNew "$UNNAMED$3" @20
-		    location   	(166, 537)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"392A9EB403C6"
-		    roleview_list 	(list RoleViews
-			(object RoleView "/supertype" @21
-			    Parent_View 	@20
-			    location   	(-330, 217)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @22
-				Parent_View 	@21
-				location   	(234, 480)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	226
-				justify    	0
-				label      	"+/supertype"
-				pctDist    	0.419192
-				height     	38
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392A9EB803B7"
-			    client     	@20
-			    supplier   	@19
-			    vertices   	(list Points
-				(166, 537)
-				(166, 517)
-				(356, 517))
-			    line_style 	3
-			    origin_attachment 	(166, 537)
-			    terminal_attachment 	(356, 517)
-			    label      	(object SegLabel @23
-				Parent_View 	@21
-				location   	(334, 464)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"1"
-				pctDist    	0.900000
-				height     	54
-				orientation 	0))
-			(object RoleView "/subtype" @24
-			    Parent_View 	@20
-			    location   	(-330, 217)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @25
-				Parent_View 	@24
-				location   	(257, 582)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	188
-				justify    	0
-				label      	"+/subtype"
-				pctDist    	0.532468
-				height     	24
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392A9EB90098"
-			    client     	@20
-			    supplier   	@19
-			    vertices   	(list Points
-				(166, 537)
-				(166, 558)
-				(356, 558))
-			    line_style 	3
-			    origin_attachment 	(166, 537)
-			    terminal_attachment 	(356, 558)
-			    label      	(object SegLabel @26
-				Parent_View 	@24
-				location   	(334, 612)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.900000
-				height     	54
-				orientation 	1))))
-		(object ClassView "Class" "Logical View::java::JavaClass" @27
-		    ShowCompartmentStereotypes 	TRUE
-		    location   	(1392, 576)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@27
-			location   	(1261, 530)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	262
-			justify    	0
-			label      	"JavaClass")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"36549FCC00FA"
-		    width      	280
-		    height     	114
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AssociationViewNew "Implements" @28
-		    location   	(944, 521)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3654A0D70242"
-		    roleview_list 	(list RoleViews
-			(object RoleView "implementsInterfaces" @29
-			    Parent_View 	@28
-			    location   	(430, -54)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @30
-				Parent_View 	@29
-				location   	(839, 488)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	407
-				justify    	0
-				label      	"+implementsInterfaces"
-				pctDist    	-0.343558
-				height     	34
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3654A0DA0109"
-			    client     	@28
-			    supplier   	@27
-			    line_style 	3
-			    origin_attachment 	(944, 521)
-			    terminal_attachment 	(1252, 521)
-			    label      	(object SegLabel @31
-				Parent_View 	@29
-				location   	(1181, 485)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.773006
-				height     	37
-				orientation 	0))
-			(object RoleView "implementedBy" @32
-			    Parent_View 	@28
-			    location   	(430, -54)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @33
-				Parent_View 	@32
-				location   	(1087, 575)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	312
-				justify    	0
-				label      	"+implementedBy"
-				pctDist    	-0.470769
-				height     	54
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3654A0DA0138"
-			    client     	@28
-			    supplier   	@19
-			    line_style 	3
-			    origin_attachment 	(944, 521)
-			    terminal_attachment 	(636, 521)
-			    label      	(object SegLabel @34
-				Parent_View 	@32
-				location   	(684, 564)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.843230
-				height     	43
-				orientation 	0))))
-		(object AssociationViewNew "$UNNAMED$4" @35
-		    location   	(1750, 601)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"392A9F0301AC"
-		    roleview_list 	(list RoleViews
-			(object RoleView "/supertype" @36
-			    Parent_View 	@35
-			    location   	(358, 265)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @37
-				Parent_View 	@36
-				location   	(1721, 640)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	226
-				justify    	0
-				label      	"+/supertype"
-				pctDist    	0.227273
-				height     	13
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392A9F090328"
-			    client     	@35
-			    supplier   	@27
-			    vertices   	(list Points
-				(1750, 601)
-				(1750, 627)
-				(1532, 627))
-			    line_style 	3
-			    origin_attachment 	(1750, 601)
-			    terminal_attachment 	(1532, 627)
-			    label      	(object SegLabel @38
-				Parent_View 	@36
-				location   	(1557, 574)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.900000
-				height     	54
-				orientation 	1))
-			(object RoleView "/subtype" @39
-			    Parent_View 	@35
-			    location   	(358, 265)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @40
-				Parent_View 	@39
-				location   	(1626, 553)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	188
-				justify    	0
-				label      	"+/subtype"
-				pctDist    	0.615970
-				height     	24
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392A9F0A001C"
-			    client     	@35
-			    supplier   	@27
-			    vertices   	(list Points
-				(1750, 601)
-				(1750, 576)
-				(1532, 576))
-			    line_style 	3
-			    origin_attachment 	(1750, 601)
-			    terminal_attachment 	(1532, 576)
-			    label      	(object SegLabel @41
-				Parent_View 	@39
-				location   	(1557, 630)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.900000
-				height     	54
-				orientation 	0))))))
-	(object ClassDiagram "Main"
-	    quid       	"38109F92000B"
-	    title      	"Main"
-	    zoom       	100
-	    max_height 	28350
-	    max_width  	21600
-	    origin_x   	0
-	    origin_y   	2760
-	    items      	(list diagram_item_list
-		(object NoteView @42
-		    location   	(848, 1840)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@42
-			location   	(551, 1718)
-			fill_color 	13434879
-			nlines     	4
-			max_width  	559
-			label      	"This should really be JavaClass and JavaDataType, eClassifier is their closest common ancestor.")
-		    line_color 	3342489
-		    fill_color 	8421631
-		    width      	619
-		    height     	256)
-		(object NoteView @43
-		    location   	(272, 320)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@43
-			location   	(107, 166)
-			fill_color 	13434879
-			nlines     	6
-			max_width  	295
-			label      	"The classes will be contained by the standard EPackage metaObjects relationship.")
-		    line_color 	3342489
-		    fill_color 	13434879
-		    width      	355
-		    height     	320)
-		(object ClassView "Class" "Logical View::java::Field" @44
-		    ShowCompartmentStereotypes 	TRUE
-		    location   	(1776, 480)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@44
-			location   	(1680, 434)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	192
-			justify    	0
-			label      	"Field")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3654AF8F0280"
-		    width      	210
-		    height     	114
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::java::Initializer" @45
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1568, 224)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@45
-			location   	(1363, 151)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	410
-			justify    	0
-			label      	"Initializer")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3654A5DC00BB"
-		    compartment 	(object Compartment
-			Parent_View 	@45
-			location   	(1363, 207)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	2
-			max_width  	345)
-		    width      	428
-		    height     	168
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::java::JavaPackage" @46
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(608, 96)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@46
-			location   	(447, 50)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	322
-			justify    	0
-			label      	"JavaPackage")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"38108E0301D2"
-		    width      	340
-		    height     	114
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::java::JavaParameter" @47
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    location   	(1744, 1584)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@47
-			location   	(1344, 1488)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	800
-			justify    	0
-			label      	"JavaParameter")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3654AD780280"
-		    compartment 	(object Compartment
-			Parent_View 	@47
-			location   	(1344, 1544)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	3
-			max_width  	678)
-		    width      	818
-		    height     	214
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::java::Method" @48
-		    ShowCompartmentStereotypes 	TRUE
-		    location   	(1712, 992)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@48
-			location   	(1613, 946)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	198
-			justify    	0
-			label      	"Method")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3654AE910271"
-		    width      	216
-		    height     	114
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AssociationViewNew "MethodHas" @49
-		    location   	(1700, 1262)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3654AF0302CE"
-		    roleview_list 	(list RoleViews
-			(object RoleView "method" @50
-			    Parent_View 	@49
-			    location   	(308, 238)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3654AF080197"
-			    client     	@49
-			    supplier   	@48
-			    line_style 	3
-			    origin_attachment 	(1700, 1262)
-			    terminal_attachment 	(1700, 1049)
-			    label      	(object SegLabel @51
-				Parent_View 	@50
-				location   	(1633, 1097)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..1"
-				pctDist    	0.781659
-				height     	68
-				orientation 	0))
-			(object RoleView "parameters" @52
-			    Parent_View 	@49
-			    location   	(308, 238)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @53
-				Parent_View 	@52
-				location   	(1837, 1433)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	235
-				justify    	0
-				label      	"+parameters"
-				pctDist    	0.803565
-				height     	137
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3654AF080196"
-			    client     	@49
-			    supplier   	@47
-			    line_style 	3
-			    origin_attachment 	(1700, 1262)
-			    terminal_attachment 	(1700, 1476)
-			    label      	(object SegLabel @54
-				Parent_View 	@52
-				location   	(1636, 1456)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.905128
-				height     	65
-				orientation 	1)
-			    label      	(object SegLabel @55
-				Parent_View 	@52
-				location   	(1592, 1397)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	3
-				anchor_loc 	1
-				nlines     	1
-				max_width  	159
-				justify    	0
-				label      	"{ordered}"
-				pctDist    	0.628821
-				height     	109
-				orientation 	1))))
-		(object ClassView "Class" "Logical View::java::JavaEvent" @56
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeOperation 	TRUE
-		    ShowOperationSignature 	TRUE
-		    location   	(2192, 656)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	TRUE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@56
-			location   	(2064, 607)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	256
-			justify    	0
-			label      	"JavaEvent")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3C62FAF103C8"
-		    width      	274
-		    height     	122
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::java::JavaClass" @57
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    location   	(560, 672)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@57
-			location   	(374, 554)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	372
-			justify    	0
-			label      	"JavaClass")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"36549FCC00FA"
-		    compartment 	(object Compartment
-			Parent_View 	@57
-			location   	(374, 610)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	4
-			max_width  	313)
-		    width      	390
-		    height     	258
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AssociationViewNew "$UNNAMED$1" @58
-		    location   	(1213, 538)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"382A29BD0219"
-		    roleview_list 	(list RoleViews
-			(object RoleView "fields" @59
-			    Parent_View 	@58
-			    location   	(733, 282)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @60
-				Parent_View 	@59
-				location   	(1511, 513)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	192
-				justify    	0
-				label      	"+fields"
-				pctDist    	0.653017
-				height     	26
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"382A29BE0350"
-			    client     	@58
-			    supplier   	@44
-			    line_style 	3
-			    origin_attachment 	(1213, 538)
-			    terminal_attachment 	(1671, 538)
-			    label      	(object SegLabel @61
-				Parent_View 	@59
-				location   	(1624, 485)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.900000
-				height     	54
-				orientation 	0))
-			(object RoleView "javaClass" @62
-			    Parent_View 	@58
-			    location   	(733, 282)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"382A29BE03BF"
-			    client     	@58
-			    supplier   	@57
-			    line_style 	3
-			    origin_attachment 	(1213, 538)
-			    terminal_attachment 	(755, 538))))
-		(object AssociationViewNew "$UNNAMED$5" @63
-		    location   	(916, 307)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"392AA09503E5"
-		    roleview_list 	(list RoleViews
-			(object RoleView "initializers" @64
-			    Parent_View 	@63
-			    location   	(276, 99)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @65
-				Parent_View 	@64
-				location   	(1096, 216)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	212
-				justify    	0
-				label      	"+initializers"
-				pctDist    	0.410719
-				height     	92
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392AA0970153"
-			    client     	@63
-			    supplier   	@45
-			    line_style 	3
-			    origin_attachment 	(916, 307)
-			    terminal_attachment 	(1354, 307)
-			    label      	(object SegLabel @66
-				Parent_View 	@64
-				location   	(1345, 368)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.979687
-				height     	61
-				orientation 	1))
-			(object RoleView "javaClass" @67
-			    Parent_View 	@63
-			    location   	(276, 99)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392AA097015D"
-			    client     	@63
-			    supplier   	@57
-			    vertices   	(list Points
-				(916, 307)
-				(713, 307)
-				(713, 543))
-			    line_style 	3
-			    origin_attachment 	(916, 307)
-			    terminal_attachment 	(713, 543))))
-		(object AssociationViewNew "$UNNAMED$6" @68
-		    location   	(206, 642)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"392AA21200C2"
-		    roleview_list 	(list RoleViews
-			(object RoleView "declaredClasses" @69
-			    Parent_View 	@68
-			    location   	(-578, 274)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @70
-				Parent_View 	@69
-				location   	(240, 582)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	325
-				justify    	0
-				label      	"+declaredClasses"
-				pctDist    	0.343195
-				height     	31
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392AA21701D8"
-			    client     	@68
-			    supplier   	@57
-			    vertices   	(list Points
-				(206, 642)
-				(206, 612)
-				(365, 612))
-			    line_style 	3
-			    origin_attachment 	(206, 642)
-			    terminal_attachment 	(365, 612)
-			    label      	(object SegLabel @71
-				Parent_View 	@69
-				location   	(347, 556)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.902367
-				height     	57
-				orientation 	0))
-			(object RoleView "declaringClass" @72
-			    Parent_View 	@68
-			    location   	(-578, 274)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @73
-				Parent_View 	@72
-				location   	(258, 675)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	298
-				justify    	0
-				label      	"+declaringClass"
-				pctDist    	0.434286
-				height     	3
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392AA21702DC"
-			    client     	@68
-			    supplier   	@57
-			    vertices   	(list Points
-				(206, 642)
-				(206, 672)
-				(365, 672))
-			    line_style 	3
-			    origin_attachment 	(206, 642)
-			    terminal_attachment 	(365, 672)
-			    label      	(object SegLabel @74
-				Parent_View 	@72
-				location   	(345, 726)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..1"
-				pctDist    	0.900000
-				height     	54
-				orientation 	1))))
-		(object AssociationViewNew "$UNNAMED$7" @75
-		    location   	(603, 347)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	(object SegLabel @76
-			Parent_View 	@75
-			location   	(603, 228)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			anchor     	10
-			anchor_loc 	1
-			nlines     	1
-			max_width  	450
-			justify    	0
-			label      	"<<derived>>"
-			pctDist    	0.500000
-			height     	120
-			orientation 	0)
-		    line_color 	3342489
-		    quidu      	"392AA2A701C1"
-		    roleview_list 	(list RoleViews
-			(object RoleView "javaClasses" @77
-			    Parent_View 	@75
-			    location   	(27, 219)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @78
-				Parent_View 	@77
-				location   	(720, 419)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	248
-				justify    	0
-				label      	"+javaClasses"
-				pctDist    	0.367521
-				height     	117
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392AA2A80367"
-			    client     	@75
-			    supplier   	@57
-			    line_style 	3
-			    origin_attachment 	(603, 347)
-			    terminal_attachment 	(603, 543)
-			    label      	(object SegLabel @79
-				Parent_View 	@77
-				location   	(657, 522)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.900000
-				height     	54
-				orientation 	0))
-			(object RoleView "javaPackage" @80
-			    Parent_View 	@75
-			    location   	(27, 219)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @81
-				Parent_View 	@80
-				location   	(482, 179)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	263
-				justify    	0
-				label      	"+javaPackage"
-				pctDist    	0.862903
-				height     	122
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392AA2A90083"
-			    client     	@75
-			    supplier   	@46
-			    line_style 	3
-			    origin_attachment 	(603, 347)
-			    terminal_attachment 	(603, 152)
-			    label      	(object SegLabel @82
-				Parent_View 	@80
-				location   	(657, 172)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..1"
-				pctDist    	0.900000
-				height     	54
-				orientation 	1))))
-		(object AttachView "" @83
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    client     	@43
-		    supplier   	@75
-		    line_style 	0)
-		(object AssociationViewNew "$UNNAMED$0" @84
-		    location   	(616, 1524)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object SegLabel @85
-			Parent_View 	@84
-			location   	(616, 1465)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	TRUE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			hidden     	TRUE
-			anchor     	1
-			anchor_loc 	1
-			nlines     	1
-			max_width  	600
-			justify    	0
-			label      	""
-			pctDist    	0.500000
-			height     	60
-			orientation 	0)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3654B08801A5"
-		    roleview_list 	(list RoleViews
-			(object RoleView "/typedElement" @86
-			    Parent_View 	@84
-			    location   	(56, 948)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3654B091008C"
-			    client     	@84
-			    supplier   	@47
-			    vertices   	(list Points
-				(616, 1524)
-				(616, 1584)
-				(1335, 1584))
-			    line_style 	3
-			    origin_attachment 	(616, 1524)
-			    terminal_attachment 	(1335, 1584)
-			    label      	(object SegLabel @87
-				Parent_View 	@86
-				location   	(1256, 1531)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"1"
-				pctDist    	0.900000
-				height     	54
-				orientation 	0))
-			(object RoleView "/type" @88
-			    Parent_View 	@84
-			    location   	(56, 948)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @89
-				Parent_View 	@88
-				location   	(697, 1099)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	116
-				justify    	0
-				label      	"+/type"
-				pctDist    	0.588161
-				height     	81
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3654B091007D"
-			    client     	@84
-			    supplier   	@57
-			    line_style 	3
-			    origin_attachment 	(616, 1524)
-			    terminal_attachment 	(616, 801))))
-		(object AssociationViewNew "$UNNAMED$2" @90
-		    location   	(1088, 961)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"382A29C0017D"
-		    roleview_list 	(list RoleViews
-			(object RoleView "methods" @91
-			    Parent_View 	@90
-			    location   	(608, 705)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @92
-				Parent_View 	@91
-				location   	(1409, 889)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	192
-				justify    	0
-				label      	"+methods"
-				pctDist    	0.624023
-				height     	73
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"382A29C10174"
-			    client     	@90
-			    supplier   	@48
-			    line_style 	3
-			    origin_attachment 	(1088, 961)
-			    terminal_attachment 	(1604, 961)
-			    label      	(object SegLabel @93
-				Parent_View 	@91
-				location   	(1483, 1017)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.766040
-				height     	56
-				orientation 	1))
-			(object RoleView "javaClass" @94
-			    Parent_View 	@90
-			    location   	(608, 705)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"382A29C1020A"
-			    client     	@90
-			    supplier   	@57
-			    vertices   	(list Points
-				(1088, 961)
-				(732, 961)
-				(732, 801))
-			    line_style 	3
-			    origin_attachment 	(1088, 961)
-			    terminal_attachment 	(732, 801))))
-		(object AssociationViewNew "MethodThrows" @95
-		    location   	(1047, 981)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3810B61B0178"
-		    roleview_list 	(list RoleViews
-			(object RoleView "method" @96
-			    Parent_View 	@95
-			    location   	(487, 405)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3810B61E0227"
-			    client     	@95
-			    supplier   	@48
-			    line_style 	3
-			    origin_attachment 	(1047, 981)
-			    terminal_attachment 	(1604, 981))
-			(object RoleView "javaExceptions" @97
-			    Parent_View 	@95
-			    location   	(487, 405)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @98
-				Parent_View 	@97
-				location   	(733, 945)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	312
-				justify    	0
-				label      	"+javaExceptions"
-				pctDist    	0.563664
-				height     	37
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3810B61E01C3"
-			    client     	@95
-			    supplier   	@57
-			    vertices   	(list Points
-				(1047, 981)
-				(669, 981)
-				(669, 801))
-			    line_style 	3
-			    origin_attachment 	(1047, 981)
-			    terminal_attachment 	(669, 801)
-			    label      	(object SegLabel @99
-				Parent_View 	@97
-				location   	(723, 857)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.900000
-				height     	54
-				orientation 	1))))
-		(object AssociationViewNew "$UNNAMED$11" @100
-		    location   	(1541, 806)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3C62FBE00168"
-		    roleview_list 	(list RoleViews
-			(object RoleView "events" @101
-			    Parent_View 	@100
-			    location   	(981, 134)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @102
-				Parent_View 	@101
-				location   	(2169, 765)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	144
-				justify    	0
-				label      	"+events"
-				pctDist    	0.800000
-				height     	42
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3C62FBE2008F"
-			    client     	@100
-			    supplier   	@56
-			    vertices   	(list Points
-				(1541, 806)
-				(2238, 806)
-				(2238, 717))
-			    line_style 	3
-			    origin_attachment 	(1541, 806)
-			    terminal_attachment 	(2238, 717)
-			    label      	(object SegLabel @103
-				Parent_View 	@101
-				location   	(2292, 796)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.900000
-				height     	54
-				orientation 	1))
-			(object RoleView "$UNNAMED$12" @104
-			    Parent_View 	@100
-			    location   	(981, 134)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3C62FBE20091"
-			    client     	@100
-			    supplier   	@57
-			    line_style 	3
-			    origin_attachment 	(1541, 806)
-			    terminal_attachment 	(755, 806))))
-		(object AssociationViewNew "$UNNAMED$13" @105
-		    location   	(1405, 663)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3C8938770253"
-		    roleview_list 	(list RoleViews
-			(object RoleView "allEvents" @106
-			    Parent_View 	@105
-			    location   	(845, -9)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @107
-				Parent_View 	@106
-				location   	(1925, 622)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	193
-				justify    	0
-				label      	"+allEvents"
-				pctDist    	0.800000
-				height     	42
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3C89387802CC"
-			    client     	@105
-			    supplier   	@56
-			    line_style 	3
-			    origin_attachment 	(1405, 663)
-			    terminal_attachment 	(2055, 663)
-			    label      	(object SegLabel @108
-				Parent_View 	@106
-				location   	(1975, 702)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.876336
-				height     	39
-				orientation 	1))
-			(object RoleView "$UNNAMED$14" @109
-			    Parent_View 	@105
-			    location   	(845, -9)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3C89387802CE"
-			    client     	@105
-			    supplier   	@57
-			    line_style 	3
-			    origin_attachment 	(1405, 663)
-			    terminal_attachment 	(755, 663))))
-		(object ClassView "Class" "Logical View::ecore::EClassifier" @110
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(448, 2256)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	TRUE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@110
-			location   	(130, 2059)
-			nlines     	1
-			max_width  	636
-			justify    	0
-			label      	"EClassifier")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	16777215
-		    quidu      	"3ACE4FEE0371"
-		    compartment 	(object Compartment
-			Parent_View 	@110
-			location   	(130, 2162)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	TRUE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			anchor     	2
-			nlines     	6
-			max_width  	538)
-		    width      	654
-		    height     	418
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::java::ArrayType" @111
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    location   	(352, 1328)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@111
-			location   	(112, 1255)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	480
-			justify    	0
-			label      	"ArrayType")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3A9D79ED01DF"
-		    compartment 	(object Compartment
-			Parent_View 	@111
-			location   	(112, 1311)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	2
-			max_width  	405)
-		    width      	498
-		    height     	168
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @112
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3A9D79FD010F"
-		    client     	@111
-		    supplier   	@57
-		    line_style 	3
-		    origin_attachment 	(431, 1243)
-		    terminal_attachment 	(431, 801))
-		(object AssociationViewNew "$UNNAMED$15" @113
-		    location   	(393, 1729)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3DF4CAAD01A3"
-		    roleview_list 	(list RoleViews
-			(object RoleView "componentType" @114
-			    Parent_View 	@113
-			    location   	(-55, 385)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @115
-				Parent_View 	@114
-				location   	(378, 1986)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	328
-				justify    	0
-				label      	"+componentType"
-				pctDist    	0.800000
-				height     	42
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3DF4CAAE01EB"
-			    client     	@113
-			    supplier   	@110
-			    line_style 	0
-			    label      	(object SegLabel @116
-				Parent_View 	@114
-				location   	(477, 2008)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"1"
-				pctDist    	0.900000
-				height     	54
-				orientation 	0))
-			(object RoleView "$UNNAMED$16" @117
-			    Parent_View 	@113
-			    location   	(-55, 385)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3DF4CAAE01F5"
-			    client     	@113
-			    supplier   	@111
-			    line_style 	0)))
-		(object ClassView "Class" "Logical View::ecore::EStructuralFeature" @118
-		    ShowCompartmentStereotypes 	TRUE
-		    location   	(2224, 224)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	TRUE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@118
-			location   	(2033, 145)
-			nlines     	1
-			max_width  	382
-			justify    	0
-			label      	"EStructuralFeature")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	16777215
-		    quidu      	"3903D59D0230"
-		    width      	400
-		    height     	182
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @119
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3DF4CE830390"
-		    client     	@56
-		    supplier   	@118
-		    line_style 	0)))
-	(object ClassDiagram "Imports"
-	    quid       	"3810A0DC015D"
-	    title      	"Imports"
-	    zoom       	100
-	    max_height 	28350
-	    max_width  	21600
-	    origin_x   	0
-	    origin_y   	0
-	    items      	(list diagram_item_list
-		(object ClassView "Class" "Logical View::java::JavaClass" @120
-		    ShowCompartmentStereotypes 	TRUE
-		    location   	(320, 672)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@120
-			location   	(189, 626)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	262
-			justify    	0
-			label      	"JavaClass")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"36549FCC00FA"
-		    width      	280
-		    height     	114
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AssociationViewNew "ClassImports" @121
-		    location   	(643, 1115)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object SegLabel @122
-			Parent_View 	@121
-			location   	(677, 1040)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	TRUE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			anchor     	1
-			anchor_loc 	1
-			nlines     	1
-			max_width  	600
-			justify    	0
-			label      	"ClassImports"
-			pctDist    	1.066667
-			height     	76
-			orientation 	0)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3829C4BF000D"
-		    roleview_list 	(list RoleViews
-			(object RoleView "classImport" @123
-			    Parent_View 	@121
-			    location   	(227, 331)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @124
-				Parent_View 	@123
-				location   	(665, 671)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	240
-				justify    	0
-				label      	"+classImport"
-				pctDist    	0.727154
-				height     	2
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3829C4BF000E"
-			    client     	@121
-			    supplier   	@120
-			    vertices   	(list Points
-				(643, 1115)
-				(703, 1115)
-				(703, 672)
-				(460, 672))
-			    line_style 	3
-			    origin_attachment 	(643, 1115)
-			    terminal_attachment 	(460, 672)
-			    label      	(object SegLabel @125
-				Parent_View 	@123
-				location   	(525, 723)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.914676
-				height     	51
-				orientation 	0)
-			    label      	(object SegLabel @126
-				Parent_View 	@123
-				location   	(742, 737)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	3
-				anchor_loc 	1
-				nlines     	1
-				max_width  	159
-				justify    	0
-				label      	"{ordered}"
-				pctDist    	0.587467
-				height     	39
-				orientation 	1))
-			(object RoleView "importedBy" @127
-			    Parent_View 	@121
-			    location   	(227, 331)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @128
-				Parent_View 	@127
-				location   	(330, 936)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	240
-				justify    	0
-				label      	"+importedBy"
-				pctDist    	0.708040
-				height     	10
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3829C4BF000F"
-			    client     	@121
-			    supplier   	@120
-			    vertices   	(list Points
-				(643, 1115)
-				(320, 1115)
-				(320, 729))
-			    line_style 	3
-			    origin_attachment 	(643, 1115)
-			    terminal_attachment 	(320, 729)
-			    label      	(object SegLabel @129
-				Parent_View 	@127
-				location   	(280, 802)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.897611
-				height     	41
-				orientation 	0))))
-		(object ClassView "Class" "Logical View::java::JavaPackage" @130
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1408, 224)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@130
-			location   	(1247, 178)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	322
-			justify    	0
-			label      	"JavaPackage")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"38108E0301D2"
-		    width      	340
-		    height     	114
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AssociationViewNew "PackageImports" @131
-		    location   	(1023, 382)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object SegLabel @132
-			Parent_View 	@131
-			location   	(1038, 419)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	TRUE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			anchor     	1
-			anchor_loc 	1
-			nlines     	1
-			max_width  	600
-			justify    	0
-			label      	"PackageImports"
-			pctDist    	0.750000
-			height     	37
-			orientation 	1)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3829C4EC0207"
-		    roleview_list 	(list RoleViews
-			(object RoleView "importedBy" @133
-			    Parent_View 	@131
-			    location   	(-417, -306)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @134
-				Parent_View 	@133
-				location   	(648, 430)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	240
-				justify    	0
-				label      	"+importedBy"
-				pctDist    	0.646526
-				height     	41
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3829C4EE0105"
-			    client     	@131
-			    supplier   	@120
-			    vertices   	(list Points
-				(1023, 382)
-				(1023, 255)
-				(413, 614))
-			    line_style 	0
-			    label      	(object SegLabel @135
-				Parent_View 	@133
-				location   	(512, 618)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.900000
-				height     	54
-				orientation 	0))
-			(object RoleView "packageImports" @136
-			    Parent_View 	@131
-			    location   	(-417, -306)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @137
-				Parent_View 	@136
-				location   	(1223, 579)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	312
-				justify    	0
-				label      	"+packageImports"
-				pctDist    	0.522472
-				height     	40
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3829C4EE00FB"
-			    client     	@131
-			    supplier   	@130
-			    vertices   	(list Points
-				(1023, 382)
-				(1023, 618)
-				(1265, 618)
-				(1386, 281))
-			    line_style 	0
-			    label      	(object SegLabel @138
-				Parent_View 	@136
-				location   	(1409, 378)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..n"
-				pctDist    	0.900000
-				height     	54
-				orientation 	1)
-			    label      	(object SegLabel @139
-				Parent_View 	@136
-				location   	(1424, 500)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	3
-				anchor_loc 	1
-				nlines     	1
-				max_width  	159
-				justify    	0
-				label      	"{ordered}"
-				pctDist    	0.769663
-				height     	109
-				orientation 	1))))))
-	(object ClassDiagram "Source code"
-	    quid       	"3810A13B0159"
-	    title      	"Source code"
-	    zoom       	100
-	    max_height 	28350
-	    max_width  	21600
-	    origin_x   	0
-	    origin_y   	0
-	    items      	(list diagram_item_list
-		(object ClassView "Class" "Logical View::java::Comment" @140
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(592, 688)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@140
-			location   	(475, 642)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	234
-			justify    	0
-			label      	"Comment")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"380F889B02B8"
-		    width      	252
-		    height     	114
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::java::Statement" @141
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1104, 688)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@141
-			location   	(983, 642)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	242
-			justify    	0
-			label      	"Statement")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"380F88B9025A"
-		    width      	260
-		    height     	114
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::java::Initializer" @142
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(144, 288)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@142
-			location   	(33, 242)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	222
-			justify    	0
-			label      	"Initializer")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3654A5DC00BB"
-		    width      	240
-		    height     	114
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::java::Field" @143
-		    ShowCompartmentStereotypes 	TRUE
-		    location   	(256, 112)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@143
-			location   	(160, 66)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	192
-			justify    	0
-			label      	"Field")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3654AF8F0280"
-		    width      	210
-		    height     	114
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::java::Block" @144
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(864, 352)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@144
-			location   	(692, 256)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	344
-			justify    	0
-			label      	"Block")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"380F88370150"
-		    compartment 	(object Compartment
-			Parent_View 	@144
-			location   	(692, 312)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	3
-			max_width  	290)
-		    width      	362
-		    height     	214
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritTreeView "" @145
-		    location   	(864, 580)
-		    line_color 	3342489
-		    fill_color 	13434879
-		    supplier   	@144
-		    vertices   	(list Points
-			(864, 580)
-			(864, 459)))
-		(object InheritView "" @146
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"380F88D600A5"
-		    client     	@140
-		    supplier   	@144
-		    line_style 	3
-		    origin_attachment 	(581, 631)
-		    terminal_attachment 	(581, 580)
-		    drawSupplier 	@145)
-		(object InheritView "" @147
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"380F88DA0056"
-		    client     	@141
-		    supplier   	@144
-		    line_style 	3
-		    origin_attachment 	(1121, 630)
-		    terminal_attachment 	(1121, 580)
-		    drawSupplier 	@145)
-		(object AssociationViewNew "$UNNAMED$8" @148
-		    location   	(473, 300)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"392AAC33036A"
-		    roleview_list 	(list RoleViews
-			(object RoleView "source" @149
-			    Parent_View 	@148
-			    location   	(153, -388)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @150
-				Parent_View 	@149
-				location   	(599, 267)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	145
-				justify    	0
-				label      	"+source"
-				pctDist    	0.599393
-				height     	34
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392AAC380140"
-			    client     	@148
-			    supplier   	@144
-			    line_style 	3
-			    origin_attachment 	(473, 300)
-			    terminal_attachment 	(683, 300)
-			    label      	(object SegLabel @151
-				Parent_View 	@149
-				location   	(605, 334)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..1"
-				pctDist    	0.635266
-				height     	34
-				orientation 	1))
-			(object RoleView "initializer" @152
-			    Parent_View 	@148
-			    location   	(153, -388)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392AAC380168"
-			    client     	@148
-			    supplier   	@142
-			    line_style 	3
-			    origin_attachment 	(473, 300)
-			    terminal_attachment 	(264, 300))))
-		(object AssociationViewNew "$UNNAMED$9" @153
-		    location   	(671, 114)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object SegLabel @154
-			Parent_View 	@153
-			location   	(671, 55)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	TRUE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			hidden     	TRUE
-			anchor     	1
-			anchor_loc 	1
-			nlines     	1
-			max_width  	60
-			justify    	0
-			label      	""
-			pctDist    	0.500000
-			height     	60
-			orientation 	0)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"392AAC5602A2"
-		    roleview_list 	(list RoleViews
-			(object RoleView "initializer" @155
-			    Parent_View 	@153
-			    location   	(319, -334)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @156
-				Parent_View 	@155
-				location   	(954, 210)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	195
-				justify    	0
-				label      	"+initializer"
-				pctDist    	0.891827
-				height     	104
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392AAC5702DF"
-			    client     	@153
-			    supplier   	@144
-			    vertices   	(list Points
-				(671, 114)
-				(850, 114)
-				(850, 245))
-			    line_style 	3
-			    origin_attachment 	(671, 114)
-			    terminal_attachment 	(850, 245)
-			    label      	(object SegLabel @157
-				Parent_View 	@155
-				location   	(790, 218)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..1"
-				pctDist    	0.913462
-				height     	61
-				orientation 	1))
-			(object RoleView "field" @158
-			    Parent_View 	@153
-			    location   	(319, -334)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392AAC570307"
-			    client     	@153
-			    supplier   	@143
-			    line_style 	3
-			    origin_attachment 	(671, 114)
-			    terminal_attachment 	(361, 114))))
-		(object ClassView "Class" "Logical View::java::Method" @159
-		    ShowCompartmentStereotypes 	TRUE
-		    location   	(288, 496)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@159
-			location   	(190, 450)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	196
-			justify    	0
-			label      	"Method")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3654AE910271"
-		    width      	214
-		    height     	114
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AssociationViewNew "$UNNAMED$10" @160
-		    location   	(596, 496)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"392AACA501E7"
-		    roleview_list 	(list RoleViews
-			(object RoleView "source" @161
-			    Parent_View 	@160
-			    location   	(276, -448)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @162
-				Parent_View 	@161
-				location   	(690, 463)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	145
-				justify    	0
-				label      	"+source"
-				pctDist    	0.474777
-				height     	34
-				orientation 	0)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392AACA7017C"
-			    client     	@160
-			    supplier   	@144
-			    vertices   	(list Points
-				(596, 496)
-				(759, 496)
-				(759, 459))
-			    line_style 	3
-			    origin_attachment 	(596, 496)
-			    terminal_attachment 	(759, 459)
-			    label      	(object SegLabel @163
-				Parent_View 	@161
-				location   	(817, 477)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"0..1"
-				pctDist    	0.915367
-				height     	58
-				orientation 	1))
-			(object RoleView "method" @164
-			    Parent_View 	@160
-			    location   	(276, -448)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"392AACA701B8"
-			    client     	@160
-			    supplier   	@159
-			    line_style 	3
-			    origin_attachment 	(596, 496)
-			    terminal_attachment 	(395, 496))))))
-	(object ClassDiagram "Data Types"
-	    quid       	"3810A1CE02EB"
-	    title      	"Data Types"
-	    zoom       	100
-	    max_height 	28350
-	    max_width  	21600
-	    origin_x   	0
-	    origin_y   	0
-	    items      	(list diagram_item_list
-		(object ClassView "Class" "Logical View::java::TypeKind" @165
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(240, 224)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@165
-			location   	(77, 84)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	326
-			justify    	0
-			label      	"TypeKind")
-		    stereotype 	(object ItemLabel
-			Parent_View 	@165
-			location   	(77, 39)
-			fill_color 	13434879
-			anchor     	10
-			nlines     	1
-			max_width  	326
-			justify    	0
-			label      	"<<enumeration>>")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3654B46002BF"
-		    compartment 	(object Compartment
-			Parent_View 	@165
-			location   	(77, 140)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	5
-			max_width  	277)
-		    width      	344
-		    height     	392
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::java::JavaVisibilityKind" @166
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(240, 640)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@166
-			location   	(68, 500)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	344
-			justify    	0
-			label      	"JavaVisibilityKind")
-		    stereotype 	(object ItemLabel
-			Parent_View 	@166
-			location   	(68, 455)
-			fill_color 	13434879
-			anchor     	10
-			nlines     	1
-			max_width  	344
-			justify    	0
-			label      	"<<enumeration>>")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"382333BE032E"
-		    compartment 	(object Compartment
-			Parent_View 	@166
-			location   	(68, 556)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	5
-			max_width  	292)
-		    width      	362
-		    height     	392
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object NoteView @167
-		    location   	(1296, 208)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@167
-			location   	(887, 52)
-			fill_color 	13434879
-			nlines     	6
-			max_width  	783
-			label      	
-|The Java primitive types are instances of JavaDataType.  The common parent class with JavaClass is Classifier.  The primitive types can be obtained via a JavaURL("int"), which resolves to a reference like: "java:/#int"
-			)
-		    line_color 	3342489
-		    fill_color 	13434879
-		    width      	843
-		    height     	325)
-		(object ClassView "Class" "Logical View::java::JavaParameterKind" @168
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(256, 1088)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@168
-			location   	(63, 948)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	386
-			justify    	0
-			label      	"JavaParameterKind")
-		    stereotype 	(object ItemLabel
-			Parent_View 	@168
-			location   	(63, 903)
-			fill_color 	13434879
-			anchor     	10
-			nlines     	1
-			max_width  	386
-			justify    	0
-			label      	"<<enumeration>>")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"391C1E8F0123"
-		    compartment 	(object Compartment
-			Parent_View 	@168
-			location   	(63, 1004)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	5
-			max_width  	207)
-		    width      	404
-		    height     	392
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object NoteView @169
-		    location   	(768, 1120)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@169
-			location   	(574, 1017)
-			fill_color 	13434879
-			nlines     	4
-			max_width  	352
-			label      	"Temporary enum for Java parameter kind until we get the base sorted out")
-		    line_color 	3342489
-		    fill_color 	13434879
-		    width      	412
-		    height     	219)
-		(object ClassView "Class" "Logical View::java::JavaDataType" @170
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    ShowOperationSignature 	TRUE
-		    location   	(1168, 1408)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@170
-			location   	(999, 1362)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	338
-			justify    	0
-			label      	"JavaDataType")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"395913340316"
-		    width      	356
-		    height     	114
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::ecore::EDataType" @171
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1088, 640)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@171
-			location   	(812, 511)
-			nlines     	2
-			max_width  	552
-			justify    	0
-			label      	"EDataType")
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	16777215
-		    quidu      	"3903D525033E"
-		    compartment 	(object Compartment
-			Parent_View 	@171
-			location   	(812, 611)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			anchor     	2
-			nlines     	2
-			max_width  	522)
-		    width      	570
-		    height     	282
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AttachView "" @172
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    client     	@169
-		    supplier   	@168
-		    line_style 	0)))
-	(object ClassDiagram "Java Types"
-	    quid       	"3B65B823020D"
-	    title      	"Java Types"
-	    documentation 	"This class diagram contains the Java Types that are not EMF classes but are referenced in this diagram."
-	    zoom       	100
-	    max_height 	28350
-	    max_width  	21600
-	    origin_x   	478
-	    origin_y   	35
-	    items      	(list diagram_item_list
-		(object ClassView "Class" "Logical View::java::JTypeJavaHelpers" @173
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(912, 208)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@173
-			location   	(398, 154)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	1028
-			justify    	0
-			label      	"JTypeJavaHelpers")
-		    stereotype 	(object ItemLabel
-			Parent_View 	@173
-			location   	(398, 109)
-			fill_color 	13434879
-			anchor     	10
-			nlines     	1
-			max_width  	1028
-			justify    	0
-			label      	"<<datatype>>")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3B65ADE403A6"
-		    compartment 	(object Compartment
-			Parent_View 	@173
-			location   	(398, 210)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	2
-			max_width  	873)
-		    width      	1046
-		    height     	220
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::java::JTypeList" @174
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(880, 576)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@174
-			location   	(628, 523)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	504
-			justify    	0
-			label      	"JTypeList")
-		    stereotype 	(object ItemLabel
-			Parent_View 	@174
-			location   	(628, 478)
-			fill_color 	13434879
-			anchor     	10
-			nlines     	1
-			max_width  	504
-			justify    	0
-			label      	"<<datatype>>")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3B65B87602C1"
-		    compartment 	(object Compartment
-			Parent_View 	@174
-			location   	(628, 579)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	2
-			max_width  	507)
-		    width      	522
-		    height     	218
-		    annotation 	8
-		    autoResize 	TRUE)))))
diff --git a/plugins/org.eclipse.jem/rose/instance.mdl b/plugins/org.eclipse.jem/rose/instance.mdl
deleted file mode 100644
index a519898..0000000
--- a/plugins/org.eclipse.jem/rose/instance.mdl
+++ /dev/null
@@ -1,8477 +0,0 @@
-
-(object Petal
-    version    	47
-    _written   	"Rose 8.0.0303.1400"
-    charSet    	0)
-
-(object Design "Logical View"
-    is_unit    	TRUE
-    is_loaded  	TRUE
-    attributes 	(list Attribute_Set
-	(object Attribute
-	    tool       	"Java"
-	    name       	"IDE"
-	    value      	"Internal Editor")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagName1"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagText1"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagApply1"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagName2"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagText2"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagApply2"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagName3"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagText3"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagApply3"
-	    value      	""))
-    quid       	"3A79EBA50331"
-    defaults   	(object defaults
-	rightMargin 	0.250000
-	leftMargin 	0.250000
-	topMargin  	0.250000
-	bottomMargin 	0.500000
-	pageOverlap 	0.250000
-	clipIconLabels 	TRUE
-	autoResize 	TRUE
-	snapToGrid 	FALSE
-	gridX      	16
-	gridY      	16
-	defaultFont 	(object Font
-	    size       	10
-	    face       	"Arial"
-	    bold       	FALSE
-	    italics    	FALSE
-	    underline  	FALSE
-	    strike     	FALSE
-	    color      	0
-	    default_color 	TRUE)
-	showMessageNum 	1
-	showClassOfObject 	TRUE
-	notation   	"Unified")
-    root_usecase_package 	(object Class_Category "Use Case View"
-	quid       	"3A7999AD0297"
-	exportControl 	"Public"
-	global     	TRUE
-	logical_models 	(list unit_reference_list)
-	logical_presentations 	(list unit_reference_list
-	    (object UseCaseDiagram "Main"
-		quid       	"3A7999B702F6"
-		title      	"Main"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list))))
-    root_category 	(object Class_Category "Logical View"
-	quid       	"3A7999AD028E"
-	exportControl 	"Public"
-	global     	TRUE
-	subsystem  	"Component View"
-	quidu      	"3B86F172016F"
-	logical_models 	(list unit_reference_list
-	    (object Class_Category "instantiation"
-		is_unit    	TRUE
-		is_loaded  	FALSE
-		file_name  	"$WorkspaceRoot\\org.eclipse.jem\\rose\\instantiation.cat"
-		quid       	"3B86F1720180")
-	    (object Class_Category "ecore"
-		is_unit    	TRUE
-		is_loaded  	FALSE
-		file_name  	"$WorkspaceRoot\\org.eclipse.emf.ecore\\src\\model\\org.eclipse.emf.Ecore.cat"
-		quid       	"39A5ED04004E"))
-	logical_presentations 	(list unit_reference_list
-	    (object ClassDiagram "Main"
-		quid       	"3B86F1720173"
-		title      	"Main"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list
-		    (object CategoryView "Logical View::instantiation" @1
-			location   	(333, 240)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			label      	(object ItemLabel
-			    Parent_View 	@1
-			    location   	(189, 156)
-			    fill_color 	13434879
-			    nlines     	2
-			    max_width  	288
-			    justify    	0
-			    label      	"instantiation")
-			icon_style 	"Icon"
-			line_color 	3342489
-			fill_color 	13434879
-			quidu      	"3B86F1720180"
-			width      	300
-			height     	180)))
-	    (object ClassDiagram "Dependencies (Don't edit)"
-		quid       	"3B86F31F0281"
-		title      	"Dependencies (Don't edit)"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list
-		    (object NoteView @2
-			location   	(753, 685)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			label      	(object ItemLabel
-			    Parent_View 	@2
-			    location   	(305, 539)
-			    fill_color 	13434879
-			    nlines     	6
-			    max_width  	860
-			    label      	"These are the dependencies. They are not to be edited. They must only be edited by their owner models.")
-			line_color 	3342489
-			fill_color 	8421631
-			width      	920
-			height     	305)
-		    (object CategoryView "Logical View::ecore" @3
-			location   	(263, 185)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			label      	(object ItemLabel
-			    Parent_View 	@3
-			    location   	(119, 101)
-			    fill_color 	13434879
-			    nlines     	2
-			    max_width  	288
-			    justify    	0
-			    label      	"ecore")
-			icon_style 	"Icon"
-			line_color 	3342489
-			fill_color 	13434879
-			quidu      	"39A5ED04004E"
-			width      	300
-			height     	180)))))
-    root_subsystem 	(object SubSystem "Component View"
-	quid       	"3B86F172016F"
-	physical_models 	(list unit_reference_list)
-	physical_presentations 	(list unit_reference_list
-	    (object Module_Diagram "Main"
-		quid       	"3B86F1720176"
-		title      	"Main"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list))))
-    process_structure 	(object Processes
-	quid       	"3B86F1720170"
-	ProcsNDevs 	(list
-	    (object Process_Diagram "Deployment View"
-		quid       	"3B86F1720172"
-		title      	"Deployment View"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list))))
-    properties 	(object Properties
-	attributes 	(list Attribute_Set
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Const"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialValue"
-			value      	"")))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Inherit"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Copyright"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RootPackage"
-			value      	"C++ Reverse Engineered")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialHeaderIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialBodyIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RevEngRootDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RevEngDirectoriesAsPackages"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"HeaderFileExtension"
-			value      	".h")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ImplementationFileExtension"
-			value      	".cpp")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NewHeaderFileDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NewImplementationFileDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FileCapitalization"
-			value      	("FileCapitalizationSet" 0))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeGenExtraDirectories"
-			value      	("CodeGenExtraDirectoriesSet" 0))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"StripClassPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"UseTabs"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"TabWidth"
-			value      	8)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"IndentWidth"
-			value      	4)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"AccessIndentation"
-			value      	-2)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ModelIdCommentRules"
-			value      	("ModelIdCommentRulesSet" 1))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"PageWidth"
-			value      	80)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ClassMemberOrder"
-			value      	("MemberOrderSet" 1))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"OneParameterPerLine"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NamespaceBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ClassBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FunctionBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeGenExtraDirectoriesSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Namespaces"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Packages"
-				value      	2)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FileCapitalizationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Same as model"
-				value      	0)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Lower case"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Upper case"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Lower case with underscores"
-				value      	3)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"BraceStyleSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B1"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B2"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B3"
-				value      	3)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B4"
-				value      	4)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B5"
-				value      	5)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"MemberOrderSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Public First"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Private First"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Order by kind"
-				value      	3)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Unordered"
-				value      	4)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ModelIdCommentRulesSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Code generation only"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Code generation and reverse engineering"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Never generate model IDs"
-				value      	3)))))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Param"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialCodeBody"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Inline"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"GenerateFunctionBody"
-			value      	("GenerateFunctionBodySet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"GenerateFunctionBodySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Default"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"True"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"False"
-				value      	0)))))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ImplementationType"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"HeaderSourceFile"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"BodySourceFile"
-			value      	"")))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"IsNamespace"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"ANSI C++ Event Watcher"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"ANSIConvert"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"propertyId"
-		value      	"838326200")
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SpecFileExtension"
-			value      	"1.ada")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SpecFileBackupExtension"
-			value      	"1.ad~")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SpecFileTemporaryExtension"
-			value      	"1.ad#")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"BodyFileExtension"
-			value      	"2.ada")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"BodyFileBackupExtension"
-			value      	"2.ad~")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"BodyFileTemporaryExtension"
-			value      	"2.ad#")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateBodies"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateAccessorOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateStandardOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DefaultCodeBody"
-			value      	"[statement]")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ImplicitParameter"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CommentWidth"
-			value      	60)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ErrorLimit"
-			value      	30)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"UseFileName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Directory"
-			value      	"$ROSEADA83_SOURCE")))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ClassName"
-			value      	"Object")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ClassAccess"
-			value      	("ImplementationSet" 43))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ImplementationType"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsSubtype"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"PolymorphicUnit"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"HandleName"
-			value      	"Handle")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"HandleAccess"
-			value      	("ImplementationSet" 45))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Discriminant"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Variant"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"EnumerationLiteralPrefix"
-			value      	"A_")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"RecordFieldPrefix"
-			value      	"The_")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateAccessorOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateStandardOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ImplicitParameter"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ClassParameterName"
-			value      	"This")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DefaultConstructorKind"
-			value      	("ConstructorKindSet" 199))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DefaultConstructorName"
-			value      	"Create")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineDefaultConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CopyConstructorKind"
-			value      	("ConstructorKindSet" 199))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CopyConstructorName"
-			value      	"Copy")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineCopyConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DestructorName"
-			value      	"Free")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineDestructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ClassEqualityOperation"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"HandleEqualityOperation"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineEquality"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsTask"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Representation"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"LimitedPrivate"
-				value      	200)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ConstructorKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"FileName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ReturnType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenericFormalParameters"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"AdditionalWiths"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"FileName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ReturnType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"AdditionalWiths"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsSubunit"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SubprogramImplementation"
-			value      	("SubprogramImplementationSet" 2))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Renames"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ClassParameterMode"
-			value      	("ParameterModeSet" 203))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Inline"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"EntryCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ExitCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InitialCodeBody"
-			value      	"${default}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Representation"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SubprogramImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Spec"
-				value      	224)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Body"
-				value      	2)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Renaming"
-				value      	222)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Separate"
-				value      	223)))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ParameterModeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"In"
-				value      	204)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Out"
-				value      	205)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"InOut"
-				value      	203)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"FunctionReturn"
-				value      	206)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Has"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"NameIfUnlabeled"
-			value      	"The_${supplier}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DataMemberName"
-			value      	"${relationship}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GetName"
-			value      	"Get_${relationship}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SetName"
-			value      	"Set_${relationship}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Variant"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerGeneric"
-			value      	"List")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerDeclarations"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SelectorName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SelectorType"
-			value      	"")))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DataMemberName"
-			value      	"${attribute}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GetName"
-			value      	"Get_${attribute}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SetName"
-			value      	"Set_${attribute}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Variant"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Representation"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Association"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"NameIfUnlabeled"
-			value      	"The_${targetClass}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GetName"
-			value      	"Get_${association}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineGet"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SetName"
-			value      	"Set_${association}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineSet"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateAssociate"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"AssociateName"
-			value      	"Associate")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineAssociate"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateDissociate"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DissociateName"
-			value      	"Dissociate")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineDissociate"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"NameIfUnlabeled"
-			value      	"The_${targetClass}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DataMemberName"
-			value      	"${target}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GetName"
-			value      	"Get_${target}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SetName"
-			value      	"Set_${target}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerGeneric"
-			value      	"List")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerDeclarations"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SelectorName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SelectorType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Subsystem"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Directory"
-			value      	"AUTO GENERATE")))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"propertyId"
-		value      	"838326200")
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SpecFileExtension"
-			value      	"1.ada")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SpecFileBackupExtension"
-			value      	"1.ad~")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SpecFileTemporaryExtension"
-			value      	"1.ad#")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"BodyFileExtension"
-			value      	"2.ada")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"BodyFileBackupExtension"
-			value      	"2.ad~")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"BodyFileTemporaryExtension"
-			value      	"2.ad#")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"UseColonNotation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateBodies"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessorOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateStandardOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"DefaultCodeBody"
-			value      	"[statement]")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ImplicitParameter"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CommentWidth"
-			value      	60)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ErrorLimit"
-			value      	30)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"UseFileName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Directory"
-			value      	"$ROSEADA95_SOURCE")))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeName"
-			value      	"Object")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeVisibility"
-			value      	("TypeVisibilitySet" 43))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeImplementation"
-			value      	("TypeImplementationSet" 208))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeControl"
-			value      	("TypeControlSet" 225))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeControlName"
-			value      	"Controlled_${type}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeDefinition"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordImplementation"
-			value      	("RecordImplementationSet" 209))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordKindPackageName"
-			value      	"${class}_Record_Kinds")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsLimited"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsSubtype"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessType"
-			value      	("GenerateAccessTypeSet" 230))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessTypeName"
-			value      	"Handle")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessTypeVisibility"
-			value      	("TypeVisibilitySet" 45))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessTypeDefinition"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessClassWide"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"MaybeAliased"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ParameterizedImplementation"
-			value      	("ParameterizedImplementationSet" 11))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ParentClassName"
-			value      	"Superclass")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"EnumerationLiteralPrefix"
-			value      	"A_")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldPrefix"
-			value      	"The_")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ArrayOfTypeName"
-			value      	"Array_Of_${type}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessArrayOfTypeName"
-			value      	"Access_Array_Of_${type}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ArrayOfAccessTypeName"
-			value      	"Array_Of_${access_type}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessArrayOfAccessTypeName"
-			value      	"Access_Array_Of_${access_type}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ArrayIndexDefinition"
-			value      	"Positive range <>")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessorOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateStandardOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ImplicitParameter"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ImplicitParameterName"
-			value      	"This")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateDefaultConstructor"
-			value      	("SubprogramKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"DefaultConstructorName"
-			value      	"Create")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineDefaultConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateCopyConstructor"
-			value      	("SubprogramKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CopyConstructorName"
-			value      	"Copy")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineCopyConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateDestructor"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"DestructorName"
-			value      	"Free")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineDestructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateTypeEquality"
-			value      	("FunctionKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeEqualityName"
-			value      	"${quote}=${quote}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineEquality"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Representation"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Tagged"
-				value      	208)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Record"
-				value      	210)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Mixin"
-				value      	211)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Task"
-				value      	212)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"SingleType"
-				value      	209)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"MultipleTypes"
-				value      	213)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ParameterizedImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Generic"
-				value      	11)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Unconstrained"
-				value      	214)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeVisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Private"
-				value      	43)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SubprogramKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeControlSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"None"
-				value      	225)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"InitializationOnly"
-				value      	226)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"AssignmentFinalizationOnly"
-				value      	227)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"All"
-				value      	228)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Always"
-				value      	229)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Auto"
-				value      	230)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FileName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ReturnType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenericFormalParameters"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AdditionalWiths"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsPrivate"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FileName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ReturnType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AdditionalWiths"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsSubunit"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SubprogramImplementation"
-			value      	("SubprogramImplementationSet" 2))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Renames"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateOverriding"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ImplicitParameterMode"
-			value      	("ParameterModeSet" 203))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ImplicitParameterClassWide"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Inline"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"EntryCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ExitCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InitialCodeBody"
-			value      	"${default}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"EntryBarrierCondition"
-			value      	"True")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Representation"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SubprogramImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Spec"
-				value      	224)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Body"
-				value      	2)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Abstract"
-				value      	221)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Renaming"
-				value      	222)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"RenamingAsBody"
-				value      	231)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Separate"
-				value      	223)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ParameterModeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"In"
-				value      	204)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Out"
-				value      	205)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"InOut"
-				value      	203)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Access"
-				value      	220)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Has"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"NameIfUnlabeled"
-			value      	"The_${supplier}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementation"
-			value      	("RecordFieldImplementationSet" 216))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldName"
-			value      	"${relationship}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateGet"
-			value      	("FunctionKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessGet"
-			value      	("FunctionKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GetName"
-			value      	"Get_${relationship}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateSet"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessSet"
-			value      	("ProcedureKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SetName"
-			value      	"Set_${relationship}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsAliased"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerImplementation"
-			value      	("ContainerImplementationSet" 217))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerGeneric"
-			value      	"List")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerDeclarations"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SelectorName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SelectorType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Component"
-				value      	216)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Discriminant"
-				value      	218)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"AccessDiscriminant"
-				value      	219)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Array"
-				value      	217)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Generic"
-				value      	11)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementation"
-			value      	("RecordFieldImplementationSet" 216))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldName"
-			value      	"${attribute}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateGet"
-			value      	("FunctionKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessGet"
-			value      	("FunctionKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GetName"
-			value      	"Get_${attribute}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateSet"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessSet"
-			value      	("ProcedureKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SetName"
-			value      	"Set_${attribute}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsAliased"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Representation"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Component"
-				value      	216)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Discriminant"
-				value      	218)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"AccessDiscriminant"
-				value      	219)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Association"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"NameIfUnlabeled"
-			value      	"The_${targetClass}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateGet"
-			value      	("FunctionKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GetName"
-			value      	"Get_${association}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineGet"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateSet"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SetName"
-			value      	"Set_${association}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineSet"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAssociate"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AssociateName"
-			value      	"Associate")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineAssociate"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateDissociate"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"DissociateName"
-			value      	"Dissociate")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineDissociate"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"NameIfUnlabeled"
-			value      	"The_${targetClass}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementation"
-			value      	("RecordFieldImplementationSet" 216))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldName"
-			value      	"${target}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateGet"
-			value      	("FunctionKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessGet"
-			value      	("FunctionKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GetName"
-			value      	"Get_${target}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateSet"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessSet"
-			value      	("ProcedureKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SetName"
-			value      	"Set_${target}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsAliased"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerImplementation"
-			value      	("ContainerImplementationSet" 217))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerGeneric"
-			value      	"List")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerDeclarations"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SelectorName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SelectorType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Component"
-				value      	216)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Discriminant"
-				value      	218)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"AccessDiscriminant"
-				value      	219)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Array"
-				value      	217)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Generic"
-				value      	11)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Subsystem"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Directory"
-			value      	"AUTO GENERATE")))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"Editor"
-			value      	("EditorType" 100))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"IncludePath"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"StopOnError"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"EditorType"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"CORBA"
-				name       	"BuiltIn"
-				value      	100)
-			    (object Attribute
-				tool       	"CORBA"
-				name       	"WindowsShell"
-				value      	101)))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"PathSeparator"
-			value      	"")))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"ArrayDimensions"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"ConstValue"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"ImplementationType"
-			value      	"")))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"AdditionalIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CmIdentification"
-			value      	(value Text "  %X% %Q% %Z% %W%"))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"InclusionProtectionSymbol"
-			value      	"AUTO GENERATE")))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"AdditionalIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CmIdentification"
-			value      	(value Text "  %X% %Q% %Z% %W%"))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"InclusionProtectionSymbol"
-			value      	"AUTO GENERATE")))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"Context"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"OperationIsOneWay"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"ArrayDimensions"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CaseSpecifier"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"IsReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"Order"
-			value      	"")))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"ArrayDimensions"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CaseSpecifier"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"GenerateForwardReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"IsReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"Order"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"BoundedRoleType"
-			value      	("AssocTypeSet" 47))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"AssocTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"CORBA"
-				name       	"Array"
-				value      	24)
-			    (object Attribute
-				tool       	"CORBA"
-				name       	"Sequence"
-				value      	47)))))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Uses"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"GenerateForwardReference"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"ClearCase"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"project"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ViewCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DomainCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SPPackageCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TriggerCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IndexCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ConstraintCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"StoreProcedureCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"PrimaryKeyCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ForeignKeyCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"JoinCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpaceCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"cONTAINERCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TablePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ViewPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DomainPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TriggerPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IndexPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ConstraintPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"StoreProcedurePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"PrimaryKeyPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ForeignKeyPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpacePrefix"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDatabase"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TargetDatabase"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Location"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsTableSpace"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpaceType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDeault"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"BufferPool"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ExtentSize"
-			value      	1)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"PrefetchSize"
-			value      	1)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"PageSize"
-			value      	4)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ManagedBy"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ContainerList"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmSchema"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmDomainPackage"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsSchema"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDomainPackage"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsRootSchema"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsRootDomainPackage"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsSchemaPackage"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DatabaseID"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DBMS"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsTable"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsView"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDomain"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsSPPackage"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Synonymns"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpaceID"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceId"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"CorrelationName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SelectClause"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsUpdateable"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"CheckOption"
-			value      	"None")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsSnapShot"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDistinct"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"PersistToServer"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsPackage"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Ordinal"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsIdentity"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsUnique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"NullsAllowed"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Length"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Scale"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ColumnType"
-			value      	"Native")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ForBitData"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValueType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceId"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"OID"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Association"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsRelationship"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceId"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"RIMethod"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ParentUpdateRule"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ParentUpdateRuleName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ParentDeleteRule"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ParentDeleteRuleName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ChildInsertRestrict"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ChildInsertRestrictName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ChildMultiplicity"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ChildMultiplicityName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ConstraintName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsConstraint"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ConstraintType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsIndex"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsTrigger"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsStoredProcedure"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsCluster"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpace"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"FillFactor"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"KeyList"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"CheckPredicate"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsUnique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DeferalMode"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"InitialCheckTime"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TriggerType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsInsertEvent"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsUpdateEvent"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDeleteEvent"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"RefOldTable"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"RefNewTable"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"RefOldRow"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"RefNewRow"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsRow"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"WhenClause"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Language"
-			value      	"SQL")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ProcType"
-			value      	"Procedure")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDeterministic"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ParameterStyle"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ReturnedNull"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ExternalName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Length"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Scale"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ForBitData"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValueType"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Parameter"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsInParameter"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsOutParameter"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Ordinal"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Length"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Scale"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ForBitData"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValueType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"OperationID"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Data Modeler Communicator"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"framework"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Java"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"RootDir"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"UsePrefixes"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"AutoSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"NotShowRoseIDDlg"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ShowCodegenDlg"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateRoseID"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateDefaultReturnLine"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocDefaultAuthor"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocDefaultVersion"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocDefaultSince"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagName1"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagApply1"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagText1"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagName2"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagApply2"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagText2"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagName3"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagApply3"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagText3"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocNumAsterisks"
-			value      	0)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MaxNumChars"
-			value      	80)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Editor"
-			value      	("EditorType" 100))
-		    (object Attribute
-			tool       	"Java"
-			name       	"VM"
-			value      	("VMType" 200))
-		    (object Attribute
-			tool       	"Java"
-			name       	"ClassPath"
-			value      	";D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\charsets.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\jce.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\jsse.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\rt.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\sunrsasign.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\dnsns.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\ldapsec.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\localedata.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\sunjce_provider.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\security\\local_policy.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\security\\US_export_policy.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\lib\\dt.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\lib\\htmlconverter.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\lib\\tools.jar")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ReferenceClasspath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EditorType"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"BuiltIn"
-				value      	100)
-			    (object Attribute
-				tool       	"Java"
-				name       	"WindowsShell"
-				value      	101)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"VMType"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Sun"
-				value      	200)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"VAJavaWorkingFolder"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"InstanceVariablePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ClassVariablePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DefaultAttributeDataType"
-			value      	"int")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DefaultOperationReturnType"
-			value      	"void")
-		    (object Attribute
-			tool       	"Java"
-			name       	"NoClassCustomDlg"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GlobalImports"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Java"
-			name       	"OpenBraceClassStyle"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"OpenBraceMethodStyle"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"UseTabs"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"UseSpaces"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"SpacingItems"
-			value      	3)
-		    (object Attribute
-			tool       	"Java"
-			name       	"RoseDefaultCommentStyle"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"AsteriskCommentStyle"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavaCommentStyle"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocAuthor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocSince"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocVersion"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"BeanPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"BeanSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"RemotePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"RemoteSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"HomePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"HomeSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"PrimaryKeyPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"PrimaryKeySuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBDTDLocation"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletDTDLocation"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DefaultEJBVersion"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DefaultServletVersion"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateDefaultJ2EEJavadoc"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineJavaDocTags"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"LocalPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"LocalSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"LocalHomePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"LocalHomeSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"SourceControl"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"SCCSelected"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"SCCProjectSourceRoot"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"SCCProjectName"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"SCCComment"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Static"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateDefaultConstructor"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ConstructorIs"
-			value      	("Ctor_Set" 62))
-		    (object Attribute
-			tool       	"Java"
-			name       	"Ctor_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"public"
-				value      	62)
-			    (object Attribute
-				tool       	"Java"
-				name       	"protected"
-				value      	63)
-			    (object Attribute
-				tool       	"Java"
-				name       	"private"
-				value      	64)
-			    (object Attribute
-				tool       	"Java"
-				name       	"package"
-				value      	65)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFinalizer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateStaticInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateInstanceInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DisableAutoSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Strictfp"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletName"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContextRef"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"IsSingleThread"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIsSecure"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcher"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcherPath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherInclude"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherForward"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletgetInfo"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletXMLFilePath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttribute"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttributesNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestAttributes"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestParameters"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeader"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeaderNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForHeaders"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIntHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletDateHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletCookie"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForCookie"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContentType"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateHTML"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Generate_XML_DD"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCmpField"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBEnvironmentProperties"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCnxFactory"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReferences"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBNameInJAR"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType"
-			value      	("EJBSessionType_Set" 200))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	200)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateless"
-				value      	201)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateful"
-				value      	202)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType"
-			value      	("EJBTransactionType_Set" 211))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	211)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	212)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType"
-			value      	("EJBPersistenceType_Set" 220))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	220)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	221)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	222)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReentrant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion"
-			value      	("EJBVersion_Set" 230))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"2.0"
-				value      	230)
-			    (object Attribute
-				tool       	"Java"
-				name       	"1.x"
-				value      	231)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBXMLFilePath"
-			value      	"")))
-	    (object Attribute
-		tool       	"Java"
-		name       	"Default_Servlet__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletName"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContextRef"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"IsSingleThread"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIsSecure"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcher"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcherPath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherInclude"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherForward"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletgetInfo"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletXMLFilePath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Static"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateDefaultConstructor"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ConstructorIs"
-			value      	("Ctor_Set" 62))
-		    (object Attribute
-			tool       	"Java"
-			name       	"Ctor_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"public"
-				value      	62)
-			    (object Attribute
-				tool       	"Java"
-				name       	"protected"
-				value      	63)
-			    (object Attribute
-				tool       	"Java"
-				name       	"private"
-				value      	64)
-			    (object Attribute
-				tool       	"Java"
-				name       	"package"
-				value      	65)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFinalizer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateStaticInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateInstanceInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DisableAutoSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Strictfp"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttribute"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttributesNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestAttributes"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestParameters"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeader"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeaderNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForHeaders"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIntHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletDateHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletCookie"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForCookie"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContentType"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateHTML"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Generate_XML_DD"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCmpField"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBEnvironmentProperties"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCnxFactory"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReferences"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBNameInJAR"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType"
-			value      	("EJBSessionType_Set" 200))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	200)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateless"
-				value      	201)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateful"
-				value      	202)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType"
-			value      	("EJBTransactionType_Set" 211))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	211)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	212)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType"
-			value      	("EJBPersistenceType_Set" 220))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	220)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	221)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	222)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReentrant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion"
-			value      	("EJBVersion_Set" 230))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"2.0"
-				value      	230)
-			    (object Attribute
-				tool       	"Java"
-				name       	"1.x"
-				value      	231)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBXMLFilePath"
-			value      	"")))
-	    (object Attribute
-		tool       	"Java"
-		name       	"Http_Servlet__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttribute"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttributesNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestAttributes"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestParameters"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeader"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeaderNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForHeaders"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIntHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletDateHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletCookie"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForCookie"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContentType"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateHTML"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Static"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateDefaultConstructor"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ConstructorIs"
-			value      	("Ctor_Set" 62))
-		    (object Attribute
-			tool       	"Java"
-			name       	"Ctor_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"public"
-				value      	62)
-			    (object Attribute
-				tool       	"Java"
-				name       	"protected"
-				value      	63)
-			    (object Attribute
-				tool       	"Java"
-				name       	"private"
-				value      	64)
-			    (object Attribute
-				tool       	"Java"
-				name       	"package"
-				value      	65)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFinalizer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateStaticInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateInstanceInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DisableAutoSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Strictfp"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletName"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContextRef"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"IsSingleThread"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIsSecure"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcher"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcherPath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherInclude"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherForward"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletgetInfo"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletXMLFilePath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"Generate_XML_DD"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCmpField"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBEnvironmentProperties"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCnxFactory"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReferences"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBNameInJAR"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType"
-			value      	("EJBSessionType_Set" 200))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	200)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateless"
-				value      	201)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateful"
-				value      	202)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType"
-			value      	("EJBTransactionType_Set" 211))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	211)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	212)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType"
-			value      	("EJBPersistenceType_Set" 220))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	220)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	221)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	222)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReentrant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion"
-			value      	("EJBVersion_Set" 230))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"2.0"
-				value      	230)
-			    (object Attribute
-				tool       	"Java"
-				name       	"1.x"
-				value      	231)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBXMLFilePath"
-			value      	"")))
-	    (object Attribute
-		tool       	"Java"
-		name       	"Default_EJB__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"Generate_XML_DD"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCmpField"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBEnvironmentProperties"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCnxFactory"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReferences"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBNameInJAR"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType"
-			value      	("EJBSessionType_Set" 200))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	200)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateless"
-				value      	201)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateful"
-				value      	202)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType"
-			value      	("EJBTransactionType_Set" 211))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	211)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	212)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType"
-			value      	("EJBPersistenceType_Set" 220))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	220)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	221)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	222)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReentrant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion"
-			value      	("EJBVersion_Set" 230))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"2.0"
-				value      	230)
-			    (object Attribute
-				tool       	"Java"
-				name       	"1.x"
-				value      	231)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBXMLFilePath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Static"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateDefaultConstructor"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ConstructorIs"
-			value      	("Ctor_Set" 62))
-		    (object Attribute
-			tool       	"Java"
-			name       	"Ctor_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"public"
-				value      	62)
-			    (object Attribute
-				tool       	"Java"
-				name       	"protected"
-				value      	63)
-			    (object Attribute
-				tool       	"Java"
-				name       	"private"
-				value      	64)
-			    (object Attribute
-				tool       	"Java"
-				name       	"package"
-				value      	65)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFinalizer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateStaticInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateInstanceInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DisableAutoSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Strictfp"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletName"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContextRef"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"IsSingleThread"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIsSecure"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcher"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcherPath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherInclude"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherForward"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletgetInfo"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletXMLFilePath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttribute"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttributesNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestAttributes"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestParameters"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeader"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeaderNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForHeaders"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIntHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletDateHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletCookie"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForCookie"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContentType"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateHTML"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"CmIdentification"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Java"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"CmIdentification"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Java"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"Abstract"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Static"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Native"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Synchronized"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFullyQualifiedReturn"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ReplaceExistingCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Strictfp"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Transient"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Volatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"PropertyType"
-			value      	("BeanProperty_Set" 71))
-		    (object Attribute
-			tool       	"Java"
-			name       	"BeanProperty_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Not A Property"
-				value      	71)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Simple"
-				value      	72)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bound"
-				value      	73)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Constrained"
-				value      	74)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"IndividualChangeMgt"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Read/Write"
-			value      	("Read/Write_Set" 81))
-		    (object Attribute
-			tool       	"Java"
-			name       	"Read/Write_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Read & Write"
-				value      	81)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Read Only"
-				value      	82)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Write Only"
-				value      	83)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFullyQualifiedTypes"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"ContainerClass"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Transient"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Volatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"PropertyType"
-			value      	("BeanProperty_Set" 71))
-		    (object Attribute
-			tool       	"Java"
-			name       	"BeanProperty_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Not A Property"
-				value      	71)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Simple"
-				value      	72)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bound"
-				value      	73)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Constrained"
-				value      	74)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"IndividualChangeMgt"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Read/Write"
-			value      	("Read/Write_Set" 81))
-		    (object Attribute
-			tool       	"Java"
-			name       	"Read/Write_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Read & Write"
-				value      	81)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Read Only"
-				value      	82)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Write Only"
-				value      	83)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFullyQualifiedTypes"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"IsNavigable"
-			value      	TRUE)))
-	    (object Attribute
-		tool       	"Java"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"propertyId"
-		value      	"360000002")
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"DDLScriptFilename"
-			value      	"DDL1.SQL")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"DropClause"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"PrimaryKeyColumnName"
-			value      	"_ID")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"PrimaryKeyColumnType"
-			value      	"NUMBER(5,0)")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"SchemaNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"SchemaNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TableNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TableNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TypeNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TypeNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"ViewNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"ViewNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"VarrayNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"VarrayNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"NestedTableNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"NestedTableNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"ObjectTableNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"ObjectTableNameSuffix"
-			value      	"")))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsSchema"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"OID"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"WhereClause"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CheckConstraint"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CollectionTypeLength"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CollectionTypePrecision"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CollectionTypeScale"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CollectionOfREFS"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"MethodKind"
-			value      	("MethodKindSet" 1903))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"OverloadID"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"OrderNumber"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsReadNoDataState"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsReadNoProcessState"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsWriteNoDataState"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsWriteNoProcessState"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsSelfish"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerType"
-			value      	("TriggerTypeSet" 1801))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerEvent"
-			value      	("TriggerEventSet" 1601))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerText"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerReferencingNames"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerForEach"
-			value      	("TriggerForEachSet" 1701))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerWhenClause"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"MethodKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"MapMethod"
-				value      	1901)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"OrderMethod"
-				value      	1902)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Function"
-				value      	1903)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Procedure"
-				value      	1904)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Operator"
-				value      	1905)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Constructor"
-				value      	1906)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Destructor"
-				value      	1907)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Trigger"
-				value      	1908)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Calculated"
-				value      	1909)))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"AFTER"
-				value      	1801)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"BEFORE"
-				value      	1802)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"INSTEAD OF"
-				value      	1803)))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerForEachSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"ROW"
-				value      	1701)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"STATEMENT"
-				value      	1702)))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerEventSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"INSERT"
-				value      	1601)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"UPDATE"
-				value      	1602)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"DELETE"
-				value      	1603)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"INSERT OR UPDATE"
-				value      	1604)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"INSERT OR DELETE"
-				value      	1605)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"UPDATE OR DELETE"
-				value      	1606)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"INSERT OR UPDATE OR DELETE"
-				value      	1607)))))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"OrderNumber"
-			value      	"")))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"OrderNumber"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsUnique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"NullsAllowed"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"Length"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"Precision"
-			value      	"2")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"Scale"
-			value      	"6")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsIndex"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsPrimaryKey"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CompositeUnique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CheckConstraint"
-			value      	"")))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"ComponentTest"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"RequisitePro"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"cg"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowGenerateOverNewerAnnotations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowGenerateOverNewerVersion"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"UseMSVC"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileExtension"
-			value      	"h")
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileBackupExtension"
-			value      	"h~")
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileTemporaryExtension"
-			value      	"h#")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileExtension"
-			value      	"cpp")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileBackupExtension"
-			value      	"cp~")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileTemporaryExtension"
-			value      	"cp#")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ErrorLimit"
-			value      	30)
-		    (object Attribute
-			tool       	"cg"
-			name       	"Directory"
-			value      	"$ROSECPP_SOURCE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"PathSeparator"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FileNameFormat"
-			value      	"128vx_b")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BooleanType"
-			value      	"int")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowTemplates"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowExplicitInstantiations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowProtectedInheritance"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"CommentWidth"
-			value      	60)
-		    (object Attribute
-			tool       	"cg"
-			name       	"OneByValueContainer"
-			value      	"$targetClass")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OneByReferenceContainer"
-			value      	"$targetClass *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OptionalByValueContainer"
-			value      	"OptionalByValue<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OptionalByReferenceContainer"
-			value      	"$targetClass *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FixedByValueContainer"
-			value      	"$targetClass[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedFixedByValueContainer"
-			value      	"$targetClass[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FixedByReferenceContainer"
-			value      	"$targetClass *[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedFixedByReferenceContainer"
-			value      	"$targetClass *[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedByValueContainer"
-			value      	"BoundedListByValue<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedBoundedByValueContainer"
-			value      	"BoundedSetByValue<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedByReferenceContainer"
-			value      	"BoundedListByReference<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedBoundedByReferenceContainer"
-			value      	"BoundedSetByReference<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnboundedByValueContainer"
-			value      	"UnboundedListByValue<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedUnboundedByValueContainer"
-			value      	"UnboundedSetByValue<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnboundedByReferenceContainer"
-			value      	"UnboundedListByReference<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedUnboundedByReferenceContainer"
-			value      	"UnboundedSetByReference<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedByValueContainer"
-			value      	"AssociationByValue<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedQualifiedByValueContainer"
-			value      	"DictionaryByValue<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedByReferenceContainer"
-			value      	"AssociationByReference<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedQualifiedByReferenceContainer"
-			value      	"DictionaryByReference<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AlwaysKeepOrphanedCode"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"cg"
-		name       	"compiler2.1__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowGenerateOverNewerAnnotations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowGenerateOverNewerVersion"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileExtension"
-			value      	"h")
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileBackupExtension"
-			value      	"h~")
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileTemporaryExtension"
-			value      	"h#")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileExtension"
-			value      	"cpp")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileBackupExtension"
-			value      	"cp~")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileTemporaryExtension"
-			value      	"cp#")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ErrorLimit"
-			value      	30)
-		    (object Attribute
-			tool       	"cg"
-			name       	"Directory"
-			value      	"$ROSECPP_SOURCE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BooleanType"
-			value      	"int")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowTemplates"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowExplicitInstantiations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowProtectedInheritance"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"OneByValueContainer"
-			value      	"$targetClass")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OneByReferenceContainer"
-			value      	"$targetClass *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OptionalByValueContainer"
-			value      	"OptionalByValue(sizeof($targetClass))")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OptionalByReferenceContainer"
-			value      	"$targetClass *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FixedByValueContainer"
-			value      	"$targetClass[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedFixedByValueContainer"
-			value      	"$targetClass[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FixedByReferenceContainer"
-			value      	"$targetClass *[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedFixedByReferenceContainer"
-			value      	"$targetClass *[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedByValueContainer"
-			value      	"BoundedListByValue(sizeof($targetClass),$limit)")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedBoundedByValueContainer"
-			value      	"BoundedSetByValue(sizeof($targetClass),$limit)")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedByReferenceContainer"
-			value      	"BoundedListByReference($limit)")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedBoundedByReferenceContainer"
-			value      	"BoundedSetByReference($limit)")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnboundedByValueContainer"
-			value      	"UnboundedListByValue(sizeof($targetClass))")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedUnboundedByValueContainer"
-			value      	"UnboundedSetByValue(sizeof($targetClass))")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnboundedByReferenceContainer"
-			value      	"UnboundedListByReference")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedUnboundedByReferenceContainer"
-			value      	"UnboundedSetByReference")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedByValueContainer"
-			value      	"AssociationByValue(sizeof($qualtype), sizeof($qualcont))")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedQualifiedByValueContainer"
-			value      	"DictionaryByValue(sizeof($qualtype), sizeof($qualcont))")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedByReferenceContainer"
-			value      	"AssociationByReference(sizeof($qualtype), sizeof($qualcont))")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedQualifiedByReferenceContainer"
-			value      	"DictionaryByReference(sizeof($qualtype), sizeof($qualcont))")
-		    (object Attribute
-			tool       	"cg"
-			name       	"PathSeparator"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FileNameFormat"
-			value      	"128vx_b")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AlwaysKeepOrphanedCode"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"cg"
-		name       	"compiler3.0__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowGenerateOverNewerAnnotations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowGenerateOverNewerVersion"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileExtension"
-			value      	"h")
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileBackupExtension"
-			value      	"h~")
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileTemporaryExtension"
-			value      	"h#")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileExtension"
-			value      	"cpp")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileBackupExtension"
-			value      	"cp~")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileTemporaryExtension"
-			value      	"cp#")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ErrorLimit"
-			value      	30)
-		    (object Attribute
-			tool       	"cg"
-			name       	"Directory"
-			value      	"$ROSECPP_SOURCE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BooleanType"
-			value      	"int")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowTemplates"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowExplicitInstantiations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowProtectedInheritance"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"OneByValueContainer"
-			value      	"$targetClass")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OneByReferenceContainer"
-			value      	"$targetClass *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OptionalByValueContainer"
-			value      	"OptionalByValue<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OptionalByReferenceContainer"
-			value      	"$targetClass *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FixedByValueContainer"
-			value      	"$targetClass[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedFixedByValueContainer"
-			value      	"$targetClass[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FixedByReferenceContainer"
-			value      	"$targetClass *[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedFixedByReferenceContainer"
-			value      	"$targetClass *[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedByValueContainer"
-			value      	"BoundedListByValue<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedBoundedByValueContainer"
-			value      	"BoundedSetByValue<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedByReferenceContainer"
-			value      	"BoundedListByReference<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedBoundedByReferenceContainer"
-			value      	"BoundedSetByReference<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnboundedByValueContainer"
-			value      	"UnboundedListByValue<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedUnboundedByValueContainer"
-			value      	"UnboundedSetByValue<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnboundedByReferenceContainer"
-			value      	"UnboundedListByReference<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedUnboundedByReferenceContainer"
-			value      	"UnboundedSetByReference<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedByValueContainer"
-			value      	"AssociationByValue<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedQualifiedByValueContainer"
-			value      	"DictionaryByValue<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedByReferenceContainer"
-			value      	"AssociationByReference<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedQualifiedByReferenceContainer"
-			value      	"DictionaryByReference<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"PathSeparator"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FileNameFormat"
-			value      	"128vx_b")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AlwaysKeepOrphanedCode"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"ImplementationType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"ClassKey"
-			value      	"class")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegions"
-			value      	("GenerateEmptyRegionSet" 3))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegionSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Preserved"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unpreserved"
-				value      	2)
-			    (object Attribute
-				tool       	"cg"
-				name       	"All"
-				value      	3)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"PutBodiesInSpec"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDefaultConstructor"
-			value      	("GenerateSet" 199))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DefaultConstructorVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineDefaultConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ExplicitDefaultConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateCopyConstructor"
-			value      	("GenerateSet" 199))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CopyConstructorVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineCopyConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ExplicitCopyConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDestructor"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DestructorVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DestructorKind"
-			value      	("ThreeKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineDestructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateAssignmentOperation"
-			value      	("GenerateSet" 199))
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssignmentVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssignmentKind"
-			value      	("ThreeKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineAssignmentOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEqualityOperations"
-			value      	("GenerateSet" 199))
-		    (object Attribute
-			tool       	"cg"
-			name       	"EqualityVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"EqualityKind"
-			value      	("FriendKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineEqualityOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateRelationalOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"RelationalVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"RelationalKind"
-			value      	("FriendKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineRelationalOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateStorageMgmtOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"StorageMgmtVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineStorageMgmtOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateSubscriptOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"SubscriptVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"SubscriptKind"
-			value      	("ThreeKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"SubscriptResultType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineSubscriptOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDereferenceOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DereferenceVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DereferenceKind"
-			value      	("ThreeKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DereferenceResultType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineDereferenceOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateIndirectionOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IndirectionVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IndirectionKind"
-			value      	("ThreeKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IndirectionResultType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineIndirectionOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateStreamOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"StreamVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineStreamOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ThreeKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"KindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Static"
-				value      	203)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"FriendKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Friend"
-				value      	204)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"DeclareAndDefine"
-				value      	199)
-			    (object Attribute
-				tool       	"cg"
-				name       	"DeclareOnly"
-				value      	205)
-			    (object Attribute
-				tool       	"cg"
-				name       	"DoNotDeclare"
-				value      	206)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"VisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Implementation"
-				value      	14)))))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegions"
-			value      	("GenerateEmptyRegionSet" 3))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegionSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Preserved"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unpreserved"
-				value      	2)
-			    (object Attribute
-				tool       	"cg"
-				name       	"All"
-				value      	3)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CmIdentification"
-			value      	(value Text "  %X% %Q% %Z% %W%"))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"FileName"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowExtensionlessFileName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InclusionProtectionSymbol"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeFormat"
-			value      	(value Text 
-|// $package
-|#include "$file"
-|
-			))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeBySimpleName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludePrecompiledHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeOrder"
-			value      	"AMIR")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AdditionalIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InliningStyle"
-			value      	("InliningStyleSet" 207))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InliningStyleSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"InClassDeclaration"
-				value      	208)
-			    (object Attribute
-				tool       	"cg"
-				name       	"FollowingClassDeclaration"
-				value      	207)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"TypesDefined"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeClosure"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegions"
-			value      	("GenerateEmptyRegionSet" 3))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegionSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Preserved"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unpreserved"
-				value      	2)
-			    (object Attribute
-				tool       	"cg"
-				name       	"All"
-				value      	3)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CmIdentification"
-			value      	(value Text "  %X% %Q% %Z% %W%"))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"FileName"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowExtensionlessFileName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeFormat"
-			value      	(value Text 
-|// $package
-|#include "$file"
-|
-			))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeBySimpleName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludePrecompiledHeader"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeOrder"
-			value      	"AMIR")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AdditionalIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InliningStyle"
-			value      	("InliningStyleSet" 207))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InliningStyleSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"InClassDeclaration"
-				value      	208)
-			    (object Attribute
-				tool       	"cg"
-				name       	"FollowingClassDeclaration"
-				value      	207)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"TypesDefined"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeClosure"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OperationKind"
-			value      	("OperationKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"OperationKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Static"
-				value      	203)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Friend"
-				value      	204)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateAbstractBody"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateFriendBody"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateFriendDecl"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"SpecialDeclReturnType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OperationIsConst"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"OperationIsExplicit"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"Inline"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"EntryCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"ExitCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CCRegion"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegions"
-			value      	("GenerateEmptyRegionSet" 3))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegionSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Preserved"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unpreserved"
-				value      	2)
-			    (object Attribute
-				tool       	"cg"
-				name       	"All"
-				value      	3)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"BodyAnnotations"
-			value      	"")))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Has"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"Ordered"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"NameIfUnlabeled"
-			value      	"the_$supplier")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDataMember"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberName"
-			value      	"$relationship")
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibility"
-			value      	("DataMemberVisibilitySet" 14))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Implementation"
-				value      	14)
-			    (object Attribute
-				tool       	"cg"
-				name       	"AtRelationshipVisibility"
-				value      	210)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutability"
-			value      	("DataMemberMutabilitySet" 0))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutabilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unrestricted"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Mutable"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Const"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberIsVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberFieldSize"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"InitialValue"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateGetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateSetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetName"
-			value      	"get_$relationship")
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetName"
-			value      	"set_$relationship")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKinds"
-			value      	("GetSetKindsSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKindsSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Static"
-				value      	203)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Friend"
-				value      	204)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"ContainerClass"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"SelectorName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"SelectorType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetIsConst"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConst"
-			value      	("GetResultIsConstSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConstSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"False"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"True"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Same_As_Function"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetByReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetReturnsValue"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ForwardReferenceOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"HasRelTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Array"
-				value      	24)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Sequence"
-				value      	47)))))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Association"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"NameIfUnlabeled"
-			value      	"the_$targetClass")))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Inherit"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"InstanceArguments"
-			value      	"")))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"ForwardReferenceOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"NameIfUnlabeled"
-			value      	"the_$targetClass")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDataMember"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberName"
-			value      	"$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibility"
-			value      	("DataMemberVisibilitySet" 14))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Implementation"
-				value      	14)
-			    (object Attribute
-				tool       	"cg"
-				name       	"AtRelationshipVisibility"
-				value      	210)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutability"
-			value      	("DataMemberMutabilitySet" 0))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutabilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unrestricted"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Mutable"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Const"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberIsVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberFieldSize"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"InitialValue"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"ContainerClass"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"ContainerGet"
-			value      	"$data.get($keys)")
-		    (object Attribute
-			tool       	"cg"
-			name       	"ContainerSet"
-			value      	"$data.set($keys,$value)")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedContainer"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassContainer"
-			value      	"$supplier *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassInitialValue"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKinds"
-			value      	("GetSetKindsSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKindsSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Static"
-				value      	203)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Friend"
-				value      	204)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetByReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateGetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetName"
-			value      	"get_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetIsConst"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConst"
-			value      	("GetResultIsConstSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConstSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"False"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"True"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Same_As_Function"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateSetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetName"
-			value      	"set_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetReturnsValue"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedGetSetByReference"
-			value      	("QualifiedGetSetByReferenceSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedGetSetByReferenceSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"False"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"True"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Same_As_GetSetByReference"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateQualifiedGetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedGetName"
-			value      	"get_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedGetIsConst"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedGetResultIsConst"
-			value      	("GetResultIsConstSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineQualifiedGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateQualifiedSetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedSetName"
-			value      	"set_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedSetReturnsValue"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineQualifiedSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateAssocClassDataMember"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassDataMemberName"
-			value      	"$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassDataMemberVisibility"
-			value      	("DataMemberVisibilitySet" 14))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Implementation"
-				value      	14)
-			    (object Attribute
-				tool       	"cg"
-				name       	"AtRelationshipVisibility"
-				value      	210)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassDataMemberMutability"
-			value      	("DataMemberMutabilitySet" 0))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutabilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unrestricted"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Mutable"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Const"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassDataMemberIsVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassGetSetKinds"
-			value      	("GetSetKindsSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateAssocClassGetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassGetName"
-			value      	"get_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassGetIsConst"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassGetResultIsConst"
-			value      	("GetResultIsConstSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineAssocClassGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateAssocClassSetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassSetName"
-			value      	"set_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassSetReturnsValue"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineAssocClassSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassForwardReferenceOnly"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Array"
-				value      	24)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Sequence"
-				value      	47)))))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDataMember"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberName"
-			value      	"$attribute")
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibility"
-			value      	("DataMemberVisibilitySet" 14))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Implementation"
-				value      	14)
-			    (object Attribute
-				tool       	"cg"
-				name       	"AtAttributeVisibility"
-				value      	211)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutability"
-			value      	("DataMemberMutabilitySet" 0))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutabilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unrestricted"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Mutable"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Const"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberIsVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberFieldSize"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateGetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateSetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetName"
-			value      	"get_$attribute")
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetName"
-			value      	"set_$attribute")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKinds"
-			value      	("GetSetKindsSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKindsSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Static"
-				value      	203)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Friend"
-				value      	204)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetIsConst"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConst"
-			value      	("GetResultIsConstSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConstSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"False"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"True"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Same_As_Function"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetByReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetReturnsValue"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"CCRegion"
-			value      	"")))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Uses"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"ForwardReferenceOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"BodyReferenceOnly"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Subsystem"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"Directory"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"DirectoryIsOnSearchList"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"PrecompiledHeader"
-			value      	"")))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"IsNamespace"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"Indent"
-			value      	2)
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegions"
-			value      	("GenerateEmptyRegionSet" 3))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegionSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Preserved"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unpreserved"
-				value      	2)
-			    (object Attribute
-				tool       	"cg"
-				name       	"All"
-				value      	3)))))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Version"
-			value      	"5.0")))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Type"
-			value      	("MSVCClassTypeSet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSVCClassTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Normal"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Interface_Part"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Connection_Part"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Class_Factory"
-				value      	3)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CObjectFunctionality"
-			value      	("CObjectFunctionalitySet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CObjectFunctionalitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dynamic"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dyncreate"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Serial"
-				value      	3)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateOverrideGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateDataGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DATA_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateFieldGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_FIELD_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateMessageGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateMessageMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_MSG_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MESSAGE_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLEFactory"
-			value      	("OLEFactorySet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLEFactorySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Built_in"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Simple"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Licensed"
-				value      	3)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLEName"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLEClassID"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateOLECtlType"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLECtlType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateOLETypeLib"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLETypeLibID"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLETypeLibMajor"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLETypeLibMinor"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GeneratePropPageIDs"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLEPropPageIDs"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateDispatchMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockProperties"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockFunctions"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DispatchDefValue"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateDispIdEnum"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISP_ID_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateInterfaceMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"INTERFACE_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"InitInterface"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateEventMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENT_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENT_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"EVENT_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockEvents"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateEventSinkMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENTSINK_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENTSINK_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"EVENTSINK_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"PropNotifySinks"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateConnectionMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CONNECTION_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"ConnectionPointIID"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"InheritanceType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DeclSpec"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLECommands"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MFCDeclares"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MFCImplements"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"ATL_Declares"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateCOMMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"COM_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateConnectionPointMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CONNECTION_POINT_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateMsgMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSG_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GeneratePropertyMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"PROPERTY_MAP_Entries"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Type"
-			value      	("MSVCOperationTypeSet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSVCOperationTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Normal"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Virtual_Override"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Message_Handler"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dispatch_Handler"
-				value      	3)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Event_Firing_Function"
-				value      	4)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Event_Sink_Handler"
-				value      	5)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Std_OLE_Method"
-				value      	6)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Command_Parser"
-				value      	7)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Property_Get_Function"
-				value      	8)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Property_Set_Function"
-				value      	9)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Property_Notify_Function"
-				value      	10)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Macro_Generated_Function"
-				value      	11)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_MSG_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MESSAGE_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENT_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"EVENT_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENTSINK_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"EVENTSINK_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CallType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DeclSpec"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"BodyImage"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Type"
-			value      	("MSVCAttributeTypeSet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSVCAttributeTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Normal"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Member_Property"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Get_Set_Property"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dialog_Data"
-				value      	3)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Field_Data"
-				value      	4)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Stock_Property"
-				value      	5)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DeclSpec"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"PointerBase"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CallType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockPropertyImplementation"
-			value      	"")))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Has"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Type"
-			value      	("MSVCAttributeTypeSet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSVCAttributeTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Normal"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Member_Property"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Get_Set_Property"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dialog_Data"
-				value      	3)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Field_Data"
-				value      	4)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Stock_Property"
-				value      	5)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DeclSpec"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"PointerBase"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CallType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockPropertyImplementation"
-			value      	"")))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Type"
-			value      	("MSVCAttributeTypeSet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSVCAttributeTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Normal"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Member_Property"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Get_Set_Property"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dialog_Data"
-				value      	3)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Field_Data"
-				value      	4)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Stock_Property"
-				value      	5)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DeclSpec"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"PointerBase"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CallType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockPropertyImplementation"
-			value      	"")))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateIncludesGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_INCLUDES_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateInsertLocation"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateIncludesGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_INCLUDES_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateInsertLocation"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"cg"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Rose Model Integrator"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Rose Web Publisher"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"SoDA"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"TopLink"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"COM"
-		name       	"propertyId"
-		value      	"783606378")
-	    (object Attribute
-		tool       	"COM"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"COM"
-			name       	"TypeKinds"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"COM"
-				name       	"enum"
-				value      	100)
-			    (object Attribute
-				tool       	"COM"
-				name       	"record"
-				value      	101)
-			    (object Attribute
-				tool       	"COM"
-				name       	"module"
-				value      	102)
-			    (object Attribute
-				tool       	"COM"
-				name       	"interface"
-				value      	103)
-			    (object Attribute
-				tool       	"COM"
-				name       	"dispinterface"
-				value      	104)
-			    (object Attribute
-				tool       	"COM"
-				name       	"coclass"
-				value      	105)
-			    (object Attribute
-				tool       	"COM"
-				name       	"alias"
-				value      	106)
-			    (object Attribute
-				tool       	"COM"
-				name       	"union"
-				value      	107)
-			    (object Attribute
-				tool       	"COM"
-				name       	"max"
-				value      	108)
-			    (object Attribute
-				tool       	"COM"
-				name       	"(none)"
-				value      	109)))
-		    (object Attribute
-			tool       	"COM"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"COM"
-			name       	"kind"
-			value      	("TypeKinds" 109))
-		    (object Attribute
-			tool       	"COM"
-			name       	"uuid"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"version"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpstring"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpcontext"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"attributes"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"dllname"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"alias"
-			value      	"")))
-	    (object Attribute
-		tool       	"COM"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"COM"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"COM"
-			name       	"id"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpstring"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"attributes"
-			value      	"")))
-	    (object Attribute
-		tool       	"COM"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"COM"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"COM"
-			name       	"id"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpstring"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"attributes"
-			value      	"")))
-	    (object Attribute
-		tool       	"COM"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"COM"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"COM"
-			name       	"filename"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"library"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"uuid"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"version"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpstring"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpfile"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpcontext"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"lcid"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"attributes"
-			value      	"")))
-	    (object Attribute
-		tool       	"COM"
-		name       	"default__Param"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"COM"
-			name       	"attributes"
-			value      	"")))
-	    (object Attribute
-		tool       	"COM"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"propertyId"
-		value      	"783606378")
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"UpdateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"UpdateModel"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"InstancingSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"Private"
-				value      	221)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"PublicNotCreatable"
-				value      	213)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"SingleUse"
-				value      	214)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"GlobalSingleUse"
-				value      	215)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"MultiUse"
-				value      	219)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"GlobalMultiUse"
-				value      	220)))
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"BaseSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"(none)"
-				value      	222)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"0"
-				value      	223)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"1"
-				value      	224)))
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"OptionBase"
-			value      	("BaseSet" 222))
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"OptionExplicit"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"OptionCompare"
-			value      	("CompareSet" 202))
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"Instancing"
-			value      	("InstancingSet" 219))
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"CompareSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"(none)"
-				value      	202)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"Binary"
-				value      	203)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"Text"
-				value      	204)))))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"LibraryName"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"AliasName"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"IsStatic"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ProcedureID"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ReplaceExistingBody"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"DefaultBody"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"New"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"WithEvents"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ProcedureID"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"PropertyName"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"Subscript"
-			value      	"")))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"UpdateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"New"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"WithEvents"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"FullName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ProcedureID"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"PropertyName"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"Subscript"
-			value      	"")))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Inherit"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ImplementsDelegation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"FullName"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Param"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ByVal"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ByRef"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"Optional"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ParamArray"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ProjectFile"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"UpdateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"UpdateModel"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ImportReferences"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"QuickImport"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ImportBinary"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"VisualStudio"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Web Modeler"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Editor"
-			value      	("EditorType" 100))
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"StopOnError"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"EditorType"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"XML_DTD"
-				name       	"BuiltIn"
-				value      	100)
-			    (object Attribute
-				tool       	"XML_DTD"
-				name       	"WindowsShell"
-				value      	101)))))
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Entity_SystemID"
-			value      	"")
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Entity_PublicID"
-			value      	"")
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"NotationValue"
-			value      	"")
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"InternalValue"
-			value      	"")
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"ParameterEntity"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"ExternalEntity"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Notation_SystemID"
-			value      	"")
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Notation_PublicID"
-			value      	"")))
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"DefaultDeclType"
-			value      	"")))
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Assign All"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"ComponentPath"
-			value      	"")))
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RevEngRootDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RootPackage"
-			value      	"C++ Reverse Engineered")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RevEngDirectoriesAsPackages"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"HeaderFileExtension"
-			value      	".h")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ImplementationFileExtension"
-			value      	".cpp")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NewHeaderFileDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NewImplementationFileDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FileCapitalization"
-			value      	("FileCapitalizationSet" 0))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeGenExtraDirectories"
-			value      	("CodeGenExtraDirectoriesSet" 0))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"StripClassPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"UseTabs"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"TabWidth"
-			value      	8)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"IndentWidth"
-			value      	4)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"AccessIndentation"
-			value      	-2)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ModelIdCommentRules"
-			value      	("ModelIdCommentRulesSet" 1))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"PageWidth"
-			value      	80)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ClassMemberOrder"
-			value      	("MemberOrderSet" 1))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"OneParameterPerLine"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NamespaceBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ClassBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FunctionBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Copyright"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialHeaderIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialBodyIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeGenExtraDirectoriesSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Namespaces"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Packages"
-				value      	2)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FileCapitalizationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Same as model"
-				value      	0)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Lower case"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Upper case"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Lower case with underscores"
-				value      	3)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"BraceStyleSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B1"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B2"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B3"
-				value      	3)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B4"
-				value      	4)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B5"
-				value      	5)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"MemberOrderSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Public First"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Private First"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Order by kind"
-				value      	3)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Unordered"
-				value      	4)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ModelIdCommentRulesSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Code generation only"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Code generation and reverse engineering"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Never generate model IDs"
-				value      	3)))))
-	    (object Attribute
-		tool       	"Deploy"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Version Control"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"packageName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"nsPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"nsURI"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"basePackage"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"prefix"
-			value      	"")))
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"classifierName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"operationName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"attributeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isTransient"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isChangeable"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isUnsettable"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isUnique"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isID"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"referenceName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isTransient"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isChangeable"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isUnsettable"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isResolveProxies"
-			value      	TRUE))))
-	quid       	"3B86F1720171"))
diff --git a/plugins/org.eclipse.jem/rose/instantiation.cat b/plugins/org.eclipse.jem/rose/instantiation.cat
deleted file mode 100644
index 7376d22..0000000
--- a/plugins/org.eclipse.jem/rose/instantiation.cat
+++ /dev/null
@@ -1,3072 +0,0 @@
-
-(object Petal
-    version    	47
-    _written   	"Rose 8.0.0303.1400"
-    charSet    	0)
-
-(object Class_Category "instantiation"
-    is_unit    	TRUE
-    is_loaded  	TRUE
-    attributes 	(list Attribute_Set
-	(object Attribute
-	    tool       	"Ecore"
-	    name       	"basePackage"
-	    value      	(value Text "org.eclipse.jem.internal")))
-    quid       	"3B86F1720180"
-    documentation 	"Java Instantiation Package"
-    exportControl 	"Public"
-    logical_models 	(list unit_reference_list
-	(object Class "IJavaDataTypeInstance"
-	    quid       	"3B8AB17802B1"
-	    stereotype 	"Interface"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3E529562014E"
-		    supplier   	"Logical View::instantiation::IJavaInstance"
-		    quidu      	"3E51575A02D4"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance"
-		    quid       	"3B8AB19100C2"
-		    stereotype 	"javaclass")))
-	(object Class "IJavaInstance"
-	    quid       	"3E51575A02D4"
-	    stereotype 	"Interface"
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "org.eclipse.jem.internal.instantiation.base.IJavaInstance"
-		    quid       	"3E51577802B9"
-		    stereotype 	"javaclass")))
-	(object Class "IJavaObjectInstance"
-	    quid       	"3B782D790296"
-	    documentation 	"This interface is the instance of an java object in the java model."
-	    stereotype 	"Interface"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3E5157DA03DD"
-		    supplier   	"Logical View::instantiation::IJavaInstance"
-		    quidu      	"3E51575A02D4"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance"
-		    quid       	"3B78301801C9"
-		    stereotype 	"javaclass")))
-	(object Class "JavaAllocation"
-	    quid       	"3FD9E6900061"
-	    documentation 	
-|This class is the abstract base class of the allocation class. It is the value of the "allocation" property on a Java Object so that the actual allocation can be controlled. For example, there could be one for just init string, or one for serialized.
-	    
-	    abstract   	TRUE)
-	(object Class "InitStringAllocation"
-	    quid       	"3FD9EAF9001E"
-	    documentation 	"This is used when the allocation string can be parsed by the remote vm. It uses the allocString."
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3FD9EB7502DA"
-		    supplier   	"Logical View::instantiation::JavaAllocation"
-		    quidu      	"3FD9E6900061"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "initString"
-		    quid       	"3FFDE1DE032E"
-		    documentation 	"This is the initialization string for this object."
-		    type       	"String"
-		    exportControl 	"Public")))
-	(object Class "ImplicitAllocation"
-	    quid       	"3FD9EC140242"
-	    documentation 	"This class is for an implicit allocation where the object comes from the feature of another object. It is the live Java value from the remote vm."
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"3FD9EC4700E7"
-		    supplier   	"Logical View::instantiation::JavaAllocation"
-		    quidu      	"3FD9E6900061")))
-	(object Class "ParseTreeAllocation"
-	    quid       	"40082C910005"
-	    documentation 	"Allocations via Parse Trees."
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"40082CB701D6"
-		    supplier   	"Logical View::instantiation::JavaAllocation"
-		    quidu      	"3FD9E6900061")))
-	(object Class "PTExpression"
-	    quid       	"40082D0A01CB"
-	    abstract   	TRUE)
-	(object Class "PTArrayAccess"
-	    quid       	"40082E140250"
-	    documentation 	
-|Array access. e.g. x[3]. 
-|
-|Unlike AST, the entire expression of type x[3][4] will be done in one expression rather than having a separate ArrayAccess for each dimension. This is just a simplification. This can only be used if it is a simple array access where it is of the form {expression}[expression][expression].
-	    
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"40082E6F01F7"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "array"
-		    quid       	"40082E8E0237"
-		    documentation 	"The expression representing the array to access."
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")
-		(object ClassAttribute "indexes"
-		    quid       	"40082E9B007D"
-		    documentation 	"The expressions representing the indexes of the access."
-		    stereotype 	"1..*"
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")))
-	(object Class "PTArrayCreation"
-	    quid       	"40083712025A"
-	    documentation 	
-|Array Creation expression, e.g. new int[3] or new java.langString[][] {{"a"}, {"b"}}
-	    
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"400837210049"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "type"
-		    quid       	"400837E902BD"
-		    documentation 	"The fully-qualified type, e.g. int[][] or java.lang.String[], including the number of dimension brackets."
-		    type       	"String"
-		    exportControl 	"Public")
-		(object ClassAttribute "dimensions"
-		    quid       	"4008389501E8"
-		    documentation 	"The list of expressions for the dimensions. You can have [3][4][] but [][33] is invalid. So for each dimension that has an expression, there will be an entry in the list, in the correct order. When you reach the empty dimensions, the list will end too. "
-		    stereotype 	"0..*"
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")
-		(object ClassAttribute "initializer"
-		    quid       	"4008397C0231"
-		    documentation 	"This is the initializer, if any, for this array. E.g. new int[] {2,3}. It is the {2,3}."
-		    type       	"PTArrayInitializer"
-		    quidu      	"40083968014C"
-		    exportControl 	"Public")))
-	(object Class "PTArrayInitializer"
-	    quid       	"40083968014C"
-	    documentation 	"Array initialization expression. This is the entire expression, e.g. {2, 3}, or {{2,3}, 4}. In the second case, the {2,3} will be an ArrayInitializer contained within the expressions list for the top ArrayInitializer."
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"400839790038"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "expressions"
-		    quid       	"40083A5700EB"
-		    documentation 	"This isthe list of expressions within the initializer, e.g. {2, 3}, or {{2,3}, 4}. In the first case it will be two NumberLiterals. In the second case, the {2,3} will be an ArrayInitializer, followed by a NumberLiteral."
-		    stereotype 	"0..*"
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")))
-	(object Class "PTBooleanLiteral"
-	    quid       	"40083AE70247"
-	    documentation 	"This represents a primitive boolean literal, i.e. true or false directly in the code."
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"40083B1D0000"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "booleanValue"
-		    quid       	"40083B3D001A"
-		    documentation 	"The value of the literal."
-		    type       	"boolean"
-		    exportControl 	"Public")))
-	(object Class "PTCastExpression"
-	    quid       	"40083B6F0058"
-	    documentation 	"Cast expression, e.g. (short) 10"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"40083BD60309"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "type"
-		    quid       	"40083B9600F4"
-		    documentation 	"This is the fully-qualified type of the cast, e.g. int or java.lang.String"
-		    type       	"String"
-		    exportControl 	"Public")
-		(object ClassAttribute "expression"
-		    quid       	"40083BB6033F"
-		    documentation 	"The expression being casted."
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")))
-	(object Class "PTCharacterLiteral"
-	    quid       	"40084DF10277"
-	    documentation 	"This represents a primitive character expression, e.g. 'a' or '\\r'."
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"40084E1301EA"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "escapedValue"
-		    quid       	"40084E39014E"
-		    documentation 	"This is the escaped character. In other words the literal exactly as it is in the java file. E.g. 'a' or '\\r'. Including the surrounding single quotes themselves."
-		    type       	"String"
-		    exportControl 	"Public")
-		(object ClassAttribute "charValue"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isTransient"
-			    value      	TRUE))
-		    quid       	"40084EB702CC"
-		    documentation 	"The actual primitive character without the quotes. Escape are evaluated and turned into their character value. This is a transient field. If not set when created when queried it will create it. Typically it will be set when created from an AST node since the node already has evaluated it."
-		    type       	"char"
-		    exportControl 	"Public")))
-	(object Class "PTClassInstanceCreation"
-	    quid       	"40084F40026F"
-	    documentation 	
-|Class instance creation expression. E.g. new String("a")
-	    
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"40084F4C02F8"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "type"
-		    quid       	"40084FAD0294"
-		    documentation 	
-|This is the type of the class. E.g. java.lang.String. This should be fully-qualified for allocation purposes. It should also be in reflection format, i.e. if X is an inner class of j.Y, then the type here should be "j.Y$X". 
-		    
-		    type       	"String"
-		    exportControl 	"Public")
-		(object ClassAttribute "arguments"
-		    quid       	"4008515E0138"
-		    documentation 	"The arguments to the constructor."
-		    stereotype 	"0..*"
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")))
-	(object Class "PTConditionalExpression"
-	    quid       	"400851FB026A"
-	    documentation 	"The test Expresson, e.g. (x=3) ? 1 : 2"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"40085274012E"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "condition"
-		    quid       	"4008521D02AF"
-		    documentation 	"The condition expression."
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")
-		(object ClassAttribute "true"
-		    quid       	"400852410333"
-		    documentation 	"The true expression"
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")
-		(object ClassAttribute "false"
-		    quid       	"4008525F0296"
-		    documentation 	"The false expression."
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")))
-	(object Class "PTFieldAccess"
-	    quid       	"400852DF0204"
-	    documentation 	"Access a field expression, e.g. java.awt.Color.red"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"4008535D0241"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "receiver"
-		    quid       	"40085313012C"
-		    documentation 	"The expression representing the object that the field is in, e.g. java.awt.Color."
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")
-		(object ClassAttribute "field"
-		    quid       	"4008534500AC"
-		    documentation 	"The name of the field being accessed, e.g. red."
-		    type       	"String"
-		    exportControl 	"Public")))
-	(object Class "PTInfixExpression"
-	    quid       	"4008538B0143"
-	    documentation 	"An expression with an operator that has two operands, e.g. 3 + 4."
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"400855700032"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "leftOperand"
-		    quid       	"400853AC0000"
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")
-		(object ClassAttribute "operator"
-		    quid       	"400853B600D7"
-		    documentation 	"The operator, e.g. +"
-		    type       	"PTInfixOperator"
-		    quidu      	"400853E10359"
-		    exportControl 	"Public")
-		(object ClassAttribute "rightOperand"
-		    quid       	"4008540D0186"
-		    documentation 	
-|The right expression. i.e. 4 of "3 + 4"
-		    
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")
-		(object ClassAttribute "extendedOperands"
-		    quid       	"40085511039C"
-		    documentation 	"Used when there are a series of infix operations of the same operator, e.g. 1 + 2 + 3 + 4. 1 and 2 will go into left and right, while {3, 4} will go into the extended operands. "
-		    stereotype 	"0..*"
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")))
-	(object Class "PTInfixOperator"
-	    quid       	"400853E10359"
-	    documentation 	"Enumerator for the operator on an InfixExpression."
-	    stereotype 	"enumeration"
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "TIMES"
-		    quid       	"400856830240"
-		    documentation 	"* operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "DIVIDE"
-		    quid       	"4008568E01E2"
-		    documentation 	"/ operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "REMAINDER"
-		    quid       	"4008569202BA"
-		    documentation 	"% operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "PLUS"
-		    quid       	"40085697039D"
-		    documentation 	"+ operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "MINUS"
-		    quid       	"4008569C01D8"
-		    documentation 	"- operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "LEFT_SHIFT"
-		    quid       	"400856B50274"
-		    documentation 	"<< operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "RIGHT_SHIFT_SIGNED"
-		    quid       	"400856BA00CD"
-		    documentation 	">> operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "RIGHT_SHIFT_UNSIGNED"
-		    quid       	"400856C3038D"
-		    documentation 	">>> operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "LESS"
-		    quid       	"400856CC03CC"
-		    documentation 	"<  operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "GREATER"
-		    quid       	"400856D9001D"
-		    documentation 	"> operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "LESS_EQUALS"
-		    quid       	"400856DD004B"
-		    documentation 	"<= operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "GREATER_EQUALS"
-		    quid       	"400856E5029B"
-		    documentation 	">= operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "EQUALS"
-		    quid       	"400856EC0273"
-		    documentation 	"== operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "NOT_EQUALS"
-		    quid       	"400856F9039E"
-		    documentation 	"!= operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "XOR"
-		    quid       	"400857010328"
-		    documentation 	"^ operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "AND"
-		    quid       	"40085712034A"
-		    documentation 	"& operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "OR"
-		    quid       	"4008570402FA"
-		    documentation 	"|  operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "CONDITIONAL_AND"
-		    quid       	"400857160075"
-		    documentation 	"&& operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "CONDITIONAL_OR"
-		    quid       	"4008572602BD"
-		    documentation 	"|| operator"
-		    exportControl 	"Public")))
-	(object Class "PTInstanceof"
-	    quid       	"400857D303A2"
-	    documentation 	"Instanceof expression, e.g. x instanceof java.lang.String"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"4008589103AF"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "operand"
-		    quid       	"400858070234"
-		    documentation 	"The value to test, e.g. x in x instanceof java.lang.String"
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")
-		(object ClassAttribute "type"
-		    quid       	"4008582A0220"
-		    documentation 	"The type of the instance test, e.g. java.lang.String. It must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y."
-		    type       	"String"
-		    exportControl 	"Public")))
-	(object Class "PTMethodInvocation"
-	    quid       	"400858B6018B"
-	    documentation 	"MethodInvocation expression, e.g. x.getY(3)"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"40085B9D0067"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "receiver"
-		    quid       	"40085B0A01EC"
-		    documentation 	
-|Who the method is invoked against. This may be not set, which means "this". It may also be a Name, which would mean a class like "java.lang.String"
-		    
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")
-		(object ClassAttribute "name"
-		    quid       	"40085B6100D9"
-		    documentation 	"The name of the method being invoked."
-		    type       	"String"
-		    exportControl 	"Public")
-		(object ClassAttribute "arguments"
-		    quid       	"40085B6902ED"
-		    documentation 	"The list of arguments, if any, to the method."
-		    stereotype 	"0..*"
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")))
-	(object Class "PTName"
-	    quid       	"400858EA0280"
-	    documentation 	
-|This represents a name. This can happen for the receiver of a method invocation, e.g. x.getY() or java.lang.String.valueOf(10). In these cases you would have a name of "x" or "java.lang.String".
-	    
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"40085BA100DB"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "name"
-		    quid       	"400C110401BE"
-		    documentation 	"The name, which can be a type or a variable. If it is a type, then  it must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y."
-		    type       	"String"
-		    exportControl 	"Public")))
-	(object Class "PTNullLiteral"
-	    quid       	"40085BBF0020"
-	    documentation 	
-|Represents the expression "null"
-	    
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"40085BD402F1"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB")))
-	(object Class "PTNumberLiteral"
-	    quid       	"40085C40035B"
-	    documentation 	"Represent a number primitive literal, e.g. 10. One optimization that will be performed is that if an expression is of the form +number or -number, it will be converted from a PrefixExpression with a NumberLiteral to just a NumberLiteral. This will simplify the model."
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"40085CEF0244"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "token"
-		    quid       	"40085CAA024F"
-		    documentation 	"The token value, e.g. 10, 10d, or -10.75"
-		    type       	"String"
-		    exportControl 	"Public")))
-	(object Class "PTParenthesizedExpression"
-	    quid       	"40085CF9007C"
-	    documentation 	"An expression within parenthesis, e.g. (x+3)"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"40085F4E03E1"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "expression"
-		    quid       	"40085F22012B"
-		    documentation 	
-|The expression wrapped by the parenthesis, e.g. (x+3) then the expression is "x+3"
-		    
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")))
-	(object Class "PTPrefixExpression"
-	    quid       	"40085FAD008B"
-	    documentation 	
-|A one operand operator, where the operator comes before the operand, e.g. - (x+3). In AST, even -3 is modeled as a PrefixExpression of operator "-" and expression of NumberLiteral(3). But we optimize this away and just use a NumberLiteral(-3) directly instead.
-	    
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"400862DC01D7"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "operator"
-		    quid       	"400860BC0199"
-		    documentation 	"The operator of this expression."
-		    type       	"PTPrefixOperator"
-		    quidu      	"4008602400D2"
-		    exportControl 	"Public")
-		(object ClassAttribute "expression"
-		    quid       	"400860C50065"
-		    documentation 	"The expression that the operator is applied to."
-		    type       	"PTExpression"
-		    quidu      	"40082D0A01CB"
-		    exportControl 	"Public")))
-	(object Class "PTPrefixOperator"
-	    quid       	"4008602400D2"
-	    documentation 	"The prefix expression operator. We are not modeling ++ and --."
-	    stereotype 	"enumeration"
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "PLUS"
-		    quid       	"4008606F01B6"
-		    documentation 	"+ operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "MINUS"
-		    quid       	"4008607203B9"
-		    documentation 	"- operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "COMPLEMENT"
-		    quid       	"4008607800AB"
-		    documentation 	"~ operator"
-		    exportControl 	"Public")
-		(object ClassAttribute "NOT"
-		    quid       	"4008607D0148"
-		    documentation 	"! operator"
-		    exportControl 	"Public")))
-	(object Class "PTStringLiteral"
-	    quid       	"400861E2000B"
-	    documentation 	
-|Representation of a string literal, e.g. "asdf".
-	    
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"400862D70338"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "escapedValue"
-		    quid       	"400861FC01CB"
-		    documentation 	
-|This is the escaped string. In other words the literal exactly as it is in the java file. E.g. "ab" or "c\r". Including the surrounding quotes themselves.
-		    
-		    type       	"String"
-		    exportControl 	"Public")
-		(object ClassAttribute "literalValue"
-		    attributes 	(list Attribute_Set
-			(object Attribute
-			    tool       	"Ecore"
-			    name       	"isTransient"
-			    value      	TRUE))
-		    quid       	"4008620A00BD"
-		    documentation 	"The actual string without the quotes. Escape are evaluated and turned into their character value. This is a transient field. If not set when created when queried it will create it. Typically it will be set when created from an AST node since the node already has evaluated it."
-		    type       	"String"
-		    exportControl 	"Public")))
-	(object Class "PTThisLiteral"
-	    quid       	"400863A700CB"
-	    documentation 	
-|Represents "this", e.g. this.getX() will be a MethodInvocation with the receiver being a ThisLiteral. We can't handle the format XYZ.this because that is for inner classes and we don't support that right now.
-	    
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"40086418019F"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB")))
-	(object Class "PTTypeLiteral"
-	    quid       	"400864950181"
-	    documentation 	"This represents a literal of the form j.XYZ.class. For instance in a method invocation x.getX(jXYZ.class) the argument will be a TypeLiteral."
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"4008654C0008"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "type"
-		    quid       	"400864D7037B"
-		    documentation 	"The type of the literal.  It must be fully-qualified. If it is an inner class, it needs to be in reflection format, i.e. Y is inner class of j.X, then a reference to Y must be j.X$Y."
-		    type       	"String"
-		    exportControl 	"Public")))
-	(object Class "PTInvalidExpression"
-	    quid       	"400865AF0209"
-	    documentation 	"This is used when we have some expression we just can't evaluate for our purposes. It allows us to tell the evaluation what is actually wrong. It should be placed as the root expression to prevent processing much of the tree and then finally fail."
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"400866F50258"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"))
-	    class_attributes 	(list class_attribute_list
-		(object ClassAttribute "message"
-		    quid       	"400866E40299"
-		    documentation 	"A message as to why it is invalid."
-		    type       	"String"
-		    exportControl 	"Public")))
-	(object Class "PTInstanceReference"
-	    quid       	"4017DB1802B3"
-	    superclasses 	(list inheritance_relationship_list
-		(object Inheritance_Relationship
-		    quid       	"4017DB4A0341"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB")))
-	(object Association "$UNNAMED$0"
-	    quid       	"3FD9ED7103D5"
-	    documentation 	"The parent who is to give up the value."
-	    roles      	(list role_list
-		(object Role "parent"
-		    quid       	"3FD9ED720390"
-		    label      	"parent"
-		    supplier   	"Logical View::ecore::EObject"
-		    quidu      	"3C4F1C860123"
-		    client_cardinality 	(value cardinality "1")
-		    Containment 	"By Reference"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$1"
-		    quid       	"3FD9ED72039A"
-		    supplier   	"Logical View::instantiation::ImplicitAllocation"
-		    quidu      	"3FD9EC140242")))
-	(object Association "$UNNAMED$2"
-	    quid       	"3FD9EDD00088"
-	    documentation 	"The feature that will be used to query the live value."
-	    roles      	(list role_list
-		(object Role "feature"
-		    quid       	"3FD9EDD10148"
-		    label      	"feature"
-		    supplier   	"Logical View::ecore::EStructuralFeature"
-		    quidu      	"3903D59D0230"
-		    client_cardinality 	(value cardinality "1")
-		    Containment 	"By Reference"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$3"
-		    quid       	"3FD9EDD10152"
-		    supplier   	"Logical View::instantiation::ImplicitAllocation"
-		    quidu      	"3FD9EC140242")))
-	(object Association "$UNNAMED$4"
-	    quid       	"400834CE001B"
-	    documentation 	"The root expression of the parse tree. The result of it is the allocation."
-	    roles      	(list role_list
-		(object Role "expression"
-		    quid       	"400834CF02E4"
-		    label      	"expression"
-		    supplier   	"Logical View::instantiation::PTExpression"
-		    quidu      	"40082D0A01CB"
-		    client_cardinality 	(value cardinality "1")
-		    Containment 	"By Value"
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$5"
-		    quid       	"400834CF02E6"
-		    supplier   	"Logical View::instantiation::ParseTreeAllocation"
-		    quidu      	"40082C910005"
-		    Containment 	"By Value"
-		    is_aggregate 	TRUE)))
-	(object Association "$UNNAMED$6"
-	    quid       	"4017DBE30138"
-	    roles      	(list role_list
-		(object Role "object"
-		    quid       	"4017DBE60006"
-		    label      	"object"
-		    supplier   	"Logical View::instantiation::IJavaObjectInstance"
-		    quidu      	"3B782D790296"
-		    client_cardinality 	(value cardinality "1")
-		    is_navigable 	TRUE)
-		(object Role "$UNNAMED$7"
-		    quid       	"4017DBE60164"
-		    supplier   	"Logical View::instantiation::PTInstanceReference"
-		    quidu      	"4017DB1802B3"
-		    Containment 	"By Reference"))))
-    logical_presentations 	(list unit_reference_list
-	(object ClassDiagram "Main"
-	    quid       	"3B782D1B034F"
-	    title      	"Main"
-	    zoom       	100
-	    max_height 	28350
-	    max_width  	21600
-	    origin_x   	384
-	    origin_y   	0
-	    items      	(list diagram_item_list
-		(object NoteView @1
-		    location   	(747, 1008)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@1
-			location   	(342, 854)
-			fill_color 	13434879
-			nlines     	6
-			max_width  	775
-			label      	"This is used as the EClassifier when you want a code-generated class to point to an instance of a IJavaObjectInstance implementer. (Which is an instance of a java model java object).")
-		    line_color 	3342489
-		    fill_color 	13434879
-		    width      	835
-		    height     	320)
-		(object ClassView "Class" "Logical View::instantiation::IJavaDataTypeInstance" @2
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(2659, 664)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@2
-			location   	(1779, 605)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	1760
-			justify    	0
-			label      	"IJavaDataTypeInstance")
-		    stereotype 	(object ItemLabel
-			Parent_View 	@2
-			location   	(1779, 555)
-			fill_color 	13434879
-			anchor     	10
-			nlines     	1
-			max_width  	1760
-			justify    	0
-			label      	"<<Interface>>")
-		    icon       	"Interface"
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3B8AB17802B1"
-		    compartment 	(object Compartment
-			Parent_View 	@2
-			location   	(1779, 666)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	2
-			max_width  	1499)
-		    width      	1778
-		    height     	242
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object NoteView @3
-		    location   	(2378, 1053)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@3
-			location   	(1970, 889)
-			fill_color 	13434879
-			nlines     	7
-			max_width  	780
-			label      	"This is used as the EClassifier when you want a code-generated class to point to an instance of an IJavaDataTypeInstance implementer. (Which is an instance of a java model java primitive).")
-		    line_color 	3342489
-		    fill_color 	13434879
-		    width      	840
-		    height     	340)
-		(object AttachView "" @4
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    client     	@2
-		    supplier   	@3
-		    line_style 	0)
-		(object ClassView "Class" "Logical View::instantiation::IJavaInstance" @5
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1584, 166)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@5
-			location   	(804, 85)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	1560
-			justify    	0
-			label      	"IJavaInstance")
-		    icon       	"Interface"
-		    icon_style 	"None"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3E51575A02D4"
-		    compartment 	(object Compartment
-			Parent_View 	@5
-			location   	(804, 146)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	2
-			max_width  	1328)
-		    width      	1578
-		    height     	186
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritTreeView "" @6
-		    location   	(1584, 455)
-		    line_color 	3342489
-		    fill_color 	13434879
-		    supplier   	@5
-		    vertices   	(list Points
-			(1584, 455)
-			(1584, 259)))
-		(object ClassView "Class" "Logical View::instantiation::IJavaObjectInstance" @7
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    ShowOperationSignature 	TRUE
-		    location   	(858, 666)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@7
-			location   	(9, 607)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	1698
-			justify    	0
-			label      	"IJavaObjectInstance")
-		    stereotype 	(object ItemLabel
-			Parent_View 	@7
-			location   	(9, 557)
-			fill_color 	13434879
-			anchor     	10
-			nlines     	1
-			max_width  	1698
-			justify    	0
-			label      	"<<Interface>>")
-		    icon       	"Interface"
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3B782D790296"
-		    compartment 	(object Compartment
-			Parent_View 	@7
-			location   	(9, 668)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	2
-			max_width  	1446)
-		    width      	1716
-		    height     	242
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AttachView "" @8
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    client     	@1
-		    supplier   	@7
-		    line_style 	0)
-		(object InheritView "" @9
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3E5157DA03DD"
-		    client     	@7
-		    supplier   	@5
-		    line_style 	3
-		    origin_attachment 	(795, 544)
-		    terminal_attachment 	(795, 455)
-		    drawSupplier 	@6)
-		(object InheritView "" @10
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3E529562014E"
-		    client     	@2
-		    supplier   	@5
-		    line_style 	3
-		    origin_attachment 	(2659, 543)
-		    terminal_attachment 	(2659, 455)
-		    drawSupplier 	@6)))
-	(object ClassDiagram "Java Constructors"
-	    quid       	"3FD9E66D007F"
-	    title      	"Java Constructors"
-	    zoom       	100
-	    max_height 	28350
-	    max_width  	21600
-	    origin_x   	0
-	    origin_y   	0
-	    items      	(list diagram_item_list
-		(object ClassView "Class" "Logical View::instantiation::JavaAllocation" @11
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1073, 120)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	TRUE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@11
-			location   	(902, 69)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	342
-			justify    	0
-			label      	"JavaAllocation")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3FD9E6900061"
-		    width      	360
-		    height     	126
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::InitStringAllocation" @12
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(553, 495)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@12
-			location   	(329, 414)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	448
-			justify    	0
-			label      	"InitStringAllocation")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3FD9EAF9001E"
-		    compartment 	(object Compartment
-			Parent_View 	@12
-			location   	(329, 475)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	2
-			max_width  	353)
-		    width      	466
-		    height     	186
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritTreeView "" @13
-		    location   	(1073, 323)
-		    line_color 	3342489
-		    fill_color 	13434879
-		    supplier   	@11
-		    vertices   	(list Points
-			(1073, 323)
-			(1073, 183)))
-		(object InheritView "" @14
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3FD9EB7502DA"
-		    client     	@12
-		    supplier   	@11
-		    line_style 	3
-		    origin_attachment 	(668, 401)
-		    terminal_attachment 	(668, 323)
-		    drawSupplier 	@13)
-		(object ClassView "Class" "Logical View::ecore::EObject" @15
-		    ShowCompartmentStereotypes 	TRUE
-		    location   	(1751, 942)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@15
-			location   	(1645, 896)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	212
-			justify    	0
-			label      	"EObject")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	16776960
-		    quidu      	"3C4F1C860123"
-		    width      	230
-		    height     	117
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::ecore::EStructuralFeature" @16
-		    ShowCompartmentStereotypes 	TRUE
-		    location   	(2142, 927)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	TRUE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@16
-			location   	(1918, 881)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	448
-			justify    	0
-			label      	"EStructuralFeature")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	16776960
-		    quidu      	"3903D59D0230"
-		    width      	466
-		    height     	117
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::ImplicitAllocation" @17
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(2018, 510)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@17
-			location   	(1819, 458)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	398
-			justify    	0
-			label      	"ImplicitAllocation")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3FD9EC140242"
-		    width      	416
-		    height     	128
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @18
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3FD9EC4700E7"
-		    client     	@17
-		    supplier   	@11
-		    line_style 	3
-		    origin_attachment 	(2023, 446)
-		    terminal_attachment 	(2023, 323)
-		    drawSupplier 	@13)
-		(object AssociationViewNew "$UNNAMED$0" @19
-		    location   	(1881, 728)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3FD9ED7103D5"
-		    roleview_list 	(list RoleViews
-			(object RoleView "parent" @20
-			    Parent_View 	@19
-			    location   	(716, 228)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @21
-				Parent_View 	@20
-				location   	(1727, 844)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	137
-				justify    	0
-				label      	"+parent"
-				pctDist    	0.991224
-				height     	72
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3FD9ED720390"
-			    client     	@19
-			    supplier   	@15
-			    line_style 	0
-			    label      	(object SegLabel @22
-				Parent_View 	@20
-				location   	(1871, 794)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"1"
-				pctDist    	0.337817
-				height     	26
-				orientation 	0))
-			(object RoleView "$UNNAMED$1" @23
-			    Parent_View 	@19
-			    location   	(716, 228)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3FD9ED72039A"
-			    client     	@19
-			    supplier   	@17
-			    line_style 	0)))
-		(object AssociationViewNew "$UNNAMED$2" @24
-		    location   	(2080, 721)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"3FD9EDD00088"
-		    roleview_list 	(list RoleViews
-			(object RoleView "feature" @25
-			    Parent_View 	@24
-			    location   	(915, 221)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @26
-				Parent_View 	@25
-				location   	(2028, 766)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	159
-				justify    	0
-				label      	"+feature"
-				pctDist    	0.181346
-				height     	64
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3FD9EDD10148"
-			    client     	@24
-			    supplier   	@16
-			    line_style 	0
-			    label      	(object SegLabel @27
-				Parent_View 	@25
-				location   	(2172, 839)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"1"
-				pctDist    	0.900000
-				height     	54
-				orientation 	0))
-			(object RoleView "$UNNAMED$3" @28
-			    Parent_View 	@24
-			    location   	(915, 221)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"3FD9EDD10152"
-			    client     	@24
-			    supplier   	@17
-			    line_style 	0)))
-		(object ClassView "Class" "Logical View::instantiation::PTExpression" @29
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1264, 776)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	TRUE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@29
-			location   	(1095, 725)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	338
-			justify    	0
-			label      	"PTExpression")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	12615935
-		    quidu      	"40082D0A01CB"
-		    width      	356
-		    height     	126
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::ParseTreeAllocation" @30
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1265, 495)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@30
-			location   	(1032, 443)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	466
-			justify    	0
-			label      	"ParseTreeAllocation")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"40082C910005"
-		    width      	484
-		    height     	128
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @31
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"40082CB701D6"
-		    client     	@30
-		    supplier   	@11
-		    line_style 	3
-		    origin_attachment 	(1265, 431)
-		    terminal_attachment 	(1265, 323)
-		    drawSupplier 	@13)
-		(object AssociationViewNew "$UNNAMED$4" @32
-		    location   	(1264, 635)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"400834CE001B"
-		    roleview_list 	(list RoleViews
-			(object RoleView "expression" @33
-			    Parent_View 	@32
-			    location   	(-1, 140)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @34
-				Parent_View 	@33
-				location   	(1111, 672)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	220
-				justify    	0
-				label      	"+expression"
-				pctDist    	0.492537
-				height     	154
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"400834CF02E4"
-			    client     	@32
-			    supplier   	@29
-			    line_style 	0
-			    label      	(object SegLabel @35
-				Parent_View 	@33
-				location   	(1307, 679)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"1"
-				pctDist    	0.567164
-				height     	43
-				orientation 	0))
-			(object RoleView "$UNNAMED$5" @36
-			    Parent_View 	@32
-			    location   	(-1, 140)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"400834CF02E6"
-			    client     	@32
-			    supplier   	@30
-			    line_style 	0)))))
-	(object ClassDiagram "Parse Tree Expressions"
-	    quid       	"40082CC20146"
-	    title      	"Parse Tree Expressions"
-	    zoom       	100
-	    max_height 	28350
-	    max_width  	21600
-	    origin_x   	1081
-	    origin_y   	5768
-	    items      	(list diagram_item_list
-		(object ClassView "Class" "Logical View::instantiation::PTExpression" @37
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1348, 124)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	TRUE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@37
-			location   	(1179, 73)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	338
-			justify    	0
-			label      	"PTExpression")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"40082D0A01CB"
-		    width      	356
-		    height     	126
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::PTArrayAccess" @38
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(2235, 544)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@38
-			location   	(1877, 426)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	716
-			justify    	0
-			label      	"PTArrayAccess")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"40082E140250"
-		    compartment 	(object Compartment
-			Parent_View 	@38
-			location   	(1877, 487)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	3
-			max_width  	665)
-		    width      	734
-		    height     	258
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::PTArrayCreation" @39
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(434, 519)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@39
-			location   	(38, 379)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	792
-			justify    	0
-			label      	"PTArrayCreation")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"40083712025A"
-		    compartment 	(object Compartment
-			Parent_View 	@39
-			location   	(38, 440)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	4
-			max_width  	731)
-		    width      	810
-		    height     	302
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::PTArrayInitializer" @40
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1361, 519)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@40
-			location   	(959, 446)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	804
-			justify    	0
-			label      	"PTArrayInitializer")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"40083968014C"
-		    compartment 	(object Compartment
-			Parent_View 	@40
-			location   	(959, 507)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	2
-			max_width  	743)
-		    width      	822
-		    height     	168
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::PTBooleanLiteral" @41
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(997, 870)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@41
-			location   	(734, 789)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	527
-			justify    	0
-			label      	"PTBooleanLiteral")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"40083AE70247"
-		    compartment 	(object Compartment
-			Parent_View 	@41
-			location   	(734, 850)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	2
-			max_width  	481)
-		    width      	545
-		    height     	185
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::PTCastExpression" @42
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1791, 889)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@42
-			location   	(1493, 771)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	596
-			justify    	0
-			label      	"PTCastExpression")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"40083B6F0058"
-		    compartment 	(object Compartment
-			Parent_View 	@42
-			location   	(1493, 832)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	3
-			max_width  	546)
-		    width      	614
-		    height     	258
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritTreeView "" @43
-		    location   	(1348, 330)
-		    line_color 	3342489
-		    fill_color 	13434879
-		    supplier   	@37
-		    vertices   	(list Points
-			(1348, 330)
-			(1348, 187)))
-		(object InheritView "" @44
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"400839790038"
-		    client     	@40
-		    supplier   	@37
-		    line_style 	3
-		    origin_attachment 	(1381, 434)
-		    terminal_attachment 	(1381, 330)
-		    drawSupplier 	@43)
-		(object InheritView "" @45
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"40083B1D0000"
-		    client     	@41
-		    supplier   	@37
-		    line_style 	3
-		    origin_attachment 	(918, 778)
-		    terminal_attachment 	(918, 330)
-		    drawSupplier 	@43)
-		(object InheritView "" @46
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"40083BD60309"
-		    client     	@42
-		    supplier   	@37
-		    line_style 	3
-		    origin_attachment 	(1791, 760)
-		    terminal_attachment 	(1791, 330)
-		    drawSupplier 	@43)
-		(object InheritView "" @47
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"40082E6F01F7"
-		    client     	@38
-		    supplier   	@37
-		    line_style 	3
-		    origin_attachment 	(2235, 415)
-		    terminal_attachment 	(2235, 330)
-		    drawSupplier 	@43)
-		(object ClassView "Class" "Logical View::instantiation::PTExpression" @48
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1372, 1095)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	TRUE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@48
-			location   	(1203, 1044)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	338
-			justify    	0
-			label      	"PTExpression")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	12615935
-		    quidu      	"40082D0A01CB"
-		    width      	356
-		    height     	126
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::PTCharacterLiteral" @49
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(430, 1438)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@49
-			location   	(207, 1329)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	447
-			justify    	0
-			label      	"PTCharacterLiteral")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"40084DF10277"
-		    compartment 	(object Compartment
-			Parent_View 	@49
-			location   	(207, 1390)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	3
-			max_width  	459)
-		    width      	465
-		    height     	240
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @50
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"400837210049"
-		    client     	@39
-		    supplier   	@37
-		    line_style 	3
-		    origin_attachment 	(561, 367)
-		    terminal_attachment 	(561, 330)
-		    drawSupplier 	@43)
-		(object ClassView "Class" "Logical View::instantiation::PTClassInstanceCreation" @51
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1346, 1464)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@51
-			location   	(960, 1346)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	772
-			justify    	0
-			label      	"PTClassInstanceCreation")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"40084F40026F"
-		    compartment 	(object Compartment
-			Parent_View 	@51
-			location   	(960, 1407)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	3
-			max_width  	715)
-		    width      	790
-		    height     	258
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritTreeView "" @52
-		    location   	(1372, 1260)
-		    line_color 	3342489
-		    fill_color 	13434879
-		    supplier   	@48
-		    vertices   	(list Points
-			(1372, 1260)
-			(1372, 1158)))
-		(object InheritView "" @53
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"40084E1301EA"
-		    client     	@49
-		    supplier   	@48
-		    line_style 	3
-		    origin_attachment 	(564, 1317)
-		    terminal_attachment 	(564, 1260)
-		    drawSupplier 	@52)
-		(object InheritView "" @54
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"40084F4C02F8"
-		    client     	@51
-		    supplier   	@48
-		    line_style 	3
-		    origin_attachment 	(1267, 1334)
-		    terminal_attachment 	(1267, 1260)
-		    drawSupplier 	@52)
-		(object ClassView "Class" "Logical View::instantiation::PTConditionalExpression" @55
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(2169, 1481)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@55
-			location   	(1890, 1341)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	558
-			justify    	0
-			label      	"PTConditionalExpression")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"400851FB026A"
-		    compartment 	(object Compartment
-			Parent_View 	@55
-			location   	(1890, 1402)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	4
-			max_width  	512)
-		    width      	576
-		    height     	302
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @56
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"40085274012E"
-		    client     	@55
-		    supplier   	@48
-		    line_style 	3
-		    origin_attachment 	(2168, 1330)
-		    terminal_attachment 	(2168, 1260)
-		    drawSupplier 	@52)
-		(object ClassView "Class" "Logical View::instantiation::PTFieldAccess" @57
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(761, 1794)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@57
-			location   	(492, 1676)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	538
-			justify    	0
-			label      	"PTFieldAccess")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"400852DF0204"
-		    compartment 	(object Compartment
-			Parent_View 	@57
-			location   	(492, 1737)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	3
-			max_width  	487)
-		    width      	556
-		    height     	258
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @58
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"4008535D0241"
-		    client     	@57
-		    supplier   	@48
-		    line_style 	3
-		    origin_attachment 	(760, 1665)
-		    terminal_attachment 	(760, 1260)
-		    drawSupplier 	@52)
-		(object ClassView "Class" "Logical View::instantiation::PTInfixExpression" @59
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1790, 1845)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@59
-			location   	(1316, 1682)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	948
-			justify    	0
-			label      	"PTInfixExpression")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"4008538B0143"
-		    compartment 	(object Compartment
-			Parent_View 	@59
-			location   	(1316, 1743)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	5
-			max_width  	865)
-		    width      	966
-		    height     	348
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::PTInfixOperator" @60
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(2660, 2207)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@60
-			location   	(2345, 1699)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	630
-			justify    	0
-			label      	"PTInfixOperator")
-		    stereotype 	(object ItemLabel
-			Parent_View 	@60
-			location   	(2345, 1649)
-			fill_color 	13434879
-			anchor     	10
-			nlines     	1
-			max_width  	630
-			justify    	0
-			label      	"<<enumeration>>")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"400853E10359"
-		    compartment 	(object Compartment
-			Parent_View 	@60
-			location   	(2345, 1760)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	20
-			max_width  	534)
-		    width      	648
-		    height     	1140
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @61
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"400855700032"
-		    client     	@59
-		    supplier   	@48
-		    line_style 	3
-		    origin_attachment 	(1789, 1671)
-		    terminal_attachment 	(1789, 1260)
-		    drawSupplier 	@52)
-		(object ClassView "Class" "Logical View::instantiation::PTExpression" @62
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1272, 2853)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	TRUE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@62
-			location   	(1103, 2802)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	338
-			justify    	0
-			label      	"PTExpression")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	12615935
-		    quidu      	"40082D0A01CB"
-		    width      	356
-		    height     	126
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::PTInstanceof" @63
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(371, 3255)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@63
-			location   	(99, 3137)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	544
-			justify    	0
-			label      	"PTInstanceof")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"400857D303A2"
-		    compartment 	(object Compartment
-			Parent_View 	@63
-			location   	(99, 3198)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	3
-			max_width  	493)
-		    width      	562
-		    height     	258
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::PTMethodInvocation" @64
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1246, 3258)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@64
-			location   	(860, 3117)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	772
-			justify    	0
-			label      	"PTMethodInvocation")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"400858B6018B"
-		    compartment 	(object Compartment
-			Parent_View 	@64
-			location   	(860, 3178)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	4
-			max_width  	715)
-		    width      	790
-		    height     	304
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::PTName" @65
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1962, 3212)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@65
-			location   	(1809, 3121)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	307
-			justify    	0
-			label      	"PTName")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"400858EA0280"
-		    compartment 	(object Compartment
-			Parent_View 	@65
-			location   	(1809, 3182)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	16777215
-			anchor     	2
-			nlines     	2
-			max_width  	303)
-		    width      	325
-		    height     	205
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritTreeView "" @66
-		    location   	(1272, 3061)
-		    line_color 	3342489
-		    fill_color 	13434879
-		    supplier   	@62
-		    vertices   	(list Points
-			(1272, 3061)
-			(1272, 2916)))
-		(object InheritView "" @67
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"4008589103AF"
-		    client     	@63
-		    supplier   	@62
-		    line_style 	3
-		    origin_attachment 	(474, 3126)
-		    terminal_attachment 	(474, 3061)
-		    drawSupplier 	@66)
-		(object InheritView "" @68
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"40085B9D0067"
-		    client     	@64
-		    supplier   	@62
-		    line_style 	3
-		    origin_attachment 	(1245, 3106)
-		    terminal_attachment 	(1245, 3061)
-		    drawSupplier 	@66)
-		(object InheritView "" @69
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"40085BA100DB"
-		    client     	@65
-		    supplier   	@62
-		    line_style 	3
-		    origin_attachment 	(1905, 3110)
-		    terminal_attachment 	(1905, 3061)
-		    drawSupplier 	@66)
-		(object ClassView "Class" "Logical View::instantiation::PTNullLiteral" @70
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(2328, 3195)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@70
-			location   	(2170, 3143)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	316
-			justify    	0
-			label      	"PTNullLiteral")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"40085BBF0020"
-		    width      	334
-		    height     	128
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @71
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"40085BD402F1"
-		    client     	@70
-		    supplier   	@62
-		    line_style 	3
-		    origin_attachment 	(2297, 3131)
-		    terminal_attachment 	(2297, 3061)
-		    drawSupplier 	@66)
-		(object ClassView "Class" "Logical View::instantiation::PTExpression" @72
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1243, 3867)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	TRUE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@72
-			location   	(1074, 3816)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	338
-			justify    	0
-			label      	"PTExpression")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	12615935
-		    quidu      	"40082D0A01CB"
-		    width      	356
-		    height     	126
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::PTNumberLiteral" @73
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(802, 3583)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@73
-			location   	(619, 3489)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	367
-			justify    	0
-			label      	"PTNumberLiteral")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"40085C40035B"
-		    compartment 	(object Compartment
-			Parent_View 	@73
-			location   	(619, 3550)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	2
-			max_width  	303)
-		    width      	385
-		    height     	210
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @74
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"40085CEF0244"
-		    client     	@73
-		    supplier   	@62
-		    line_style 	3
-		    origin_attachment 	(730, 3478)
-		    terminal_attachment 	(730, 3061)
-		    drawSupplier 	@66)
-		(object ClassView "Class" "Logical View::instantiation::PTParenthesizedExpression" @75
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1679, 3609)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@75
-			location   	(1381, 3513)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	596
-			justify    	0
-			label      	"PTParenthesizedExpression")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"40085CF9007C"
-		    compartment 	(object Compartment
-			Parent_View 	@75
-			location   	(1381, 3574)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	2
-			max_width  	546)
-		    width      	614
-		    height     	214
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @76
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"40085F4E03E1"
-		    client     	@75
-		    supplier   	@62
-		    line_style 	3
-		    origin_attachment 	(1677, 3502)
-		    terminal_attachment 	(1677, 3061)
-		    drawSupplier 	@66)
-		(object ClassView "Class" "Logical View::instantiation::PTPrefixExpression" @77
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(318, 4221)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@77
-			location   	(9, 4103)
-			fill_color 	13434879
-			nlines     	2
-			max_width  	618
-			justify    	0
-			label      	"PTPrefixExpression")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"40085FAD008B"
-		    compartment 	(object Compartment
-			Parent_View 	@77
-			location   	(9, 4164)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	3
-			max_width  	553)
-		    width      	636
-		    height     	258
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::PTPrefixOperator" @78
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(233, 4602)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@78
-			location   	(34, 4468)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	398
-			justify    	0
-			label      	"PTPrefixOperator")
-		    stereotype 	(object ItemLabel
-			Parent_View 	@78
-			location   	(34, 4418)
-			fill_color 	13434879
-			anchor     	10
-			nlines     	1
-			max_width  	398
-			justify    	0
-			label      	"<<enumeration>>")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"4008602400D2"
-		    compartment 	(object Compartment
-			Parent_View 	@78
-			location   	(34, 4529)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	5
-			max_width  	334)
-		    width      	416
-		    height     	392
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object ClassView "Class" "Logical View::instantiation::PTStringLiteral" @79
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1025, 4196)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@79
-			location   	(849, 4092)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	352
-			justify    	0
-			label      	"PTStringLiteral")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"400861E2000B"
-		    compartment 	(object Compartment
-			Parent_View 	@79
-			location   	(849, 4153)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	3
-			max_width  	459)
-		    width      	370
-		    height     	230
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritTreeView "" @80
-		    location   	(1243, 4020)
-		    line_color 	3342489
-		    fill_color 	13434879
-		    supplier   	@72
-		    vertices   	(list Points
-			(1243, 4020)
-			(1243, 3930)))
-		(object InheritView "" @81
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"400862D70338"
-		    client     	@79
-		    supplier   	@72
-		    line_style 	3
-		    origin_attachment 	(1008, 4081)
-		    terminal_attachment 	(1008, 4020)
-		    drawSupplier 	@80)
-		(object InheritView "" @82
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"400862DC01D7"
-		    client     	@77
-		    supplier   	@72
-		    line_style 	3
-		    origin_attachment 	(297, 4092)
-		    terminal_attachment 	(297, 4020)
-		    drawSupplier 	@80)
-		(object ClassView "Class" "Logical View::instantiation::PTThisLiteral" @83
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1655, 4180)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@83
-			location   	(1494, 4129)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	322
-			justify    	0
-			label      	"PTThisLiteral")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"400863A700CB"
-		    width      	340
-		    height     	126
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @84
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"40086418019F"
-		    client     	@83
-		    supplier   	@72
-		    line_style 	3
-		    origin_attachment 	(1627, 4117)
-		    terminal_attachment 	(1627, 4020)
-		    drawSupplier 	@80)
-		(object ClassView "Class" "Logical View::instantiation::PTTypeLiteral" @85
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(2256, 4201)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@85
-			location   	(2093, 4106)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	327
-			justify    	0
-			label      	"PTTypeLiteral")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"400864950181"
-		    compartment 	(object Compartment
-			Parent_View 	@85
-			location   	(2093, 4167)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	2
-			max_width  	281)
-		    width      	345
-		    height     	215
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @86
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"4008654C0008"
-		    client     	@85
-		    supplier   	@72
-		    line_style 	3
-		    origin_attachment 	(2197, 4093)
-		    terminal_attachment 	(2197, 4020)
-		    drawSupplier 	@80)
-		(object ClassView "Class" "Logical View::instantiation::PTInvalidExpression" @87
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(1457, 4545)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@87
-			location   	(1279, 4449)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	357
-			justify    	0
-			label      	"PTInvalidExpression")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"400865AF0209"
-		    compartment 	(object Compartment
-			Parent_View 	@87
-			location   	(1279, 4510)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			icon_style 	"Icon"
-			fill_color 	13434879
-			anchor     	2
-			nlines     	2
-			max_width  	368)
-		    width      	375
-		    height     	215
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @88
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"400866F50258"
-		    client     	@87
-		    supplier   	@72
-		    line_style 	3
-		    origin_attachment 	(1413, 4438)
-		    terminal_attachment 	(1413, 4020)
-		    drawSupplier 	@80)
-		(object ClassView "Class" "Logical View::instantiation::PTInstanceReference" @89
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeAttribute 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(2005, 4509)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@89
-			location   	(1805, 4393)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	401
-			justify    	0
-			label      	"PTInstanceReference")
-		    icon_style 	"Icon"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"4017DB1802B3"
-		    width      	419
-		    height     	257
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object InheritView "" @90
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"4017DB4A0341"
-		    client     	@89
-		    supplier   	@72
-		    line_style 	3
-		    origin_attachment 	(1943, 4381)
-		    terminal_attachment 	(1943, 4020)
-		    drawSupplier 	@80)
-		(object ClassView "Class" "Logical View::instantiation::IJavaObjectInstance" @91
-		    ShowCompartmentStereotypes 	TRUE
-		    IncludeOperation 	TRUE
-		    location   	(2236, 4886)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    label      	(object ItemLabel
-			Parent_View 	@91
-			location   	(2005, 4856)
-			fill_color 	13434879
-			nlines     	1
-			max_width  	462
-			justify    	0
-			label      	"IJavaObjectInstance")
-		    stereotype 	(object ItemLabel
-			Parent_View 	@91
-			location   	(2005, 4806)
-			fill_color 	13434879
-			anchor     	10
-			nlines     	1
-			max_width  	462
-			justify    	0
-			label      	"<<Interface>>")
-		    icon       	"Interface"
-		    icon_style 	"Label"
-		    line_color 	3342489
-		    fill_color 	13434879
-		    quidu      	"3B782D790296"
-		    width      	480
-		    height     	184
-		    annotation 	8
-		    autoResize 	TRUE)
-		(object AssociationViewNew "$UNNAMED$6" @92
-		    location   	(2130, 4715)
-		    font       	(object Font
-			size       	10
-			face       	"Arial"
-			bold       	FALSE
-			italics    	FALSE
-			underline  	FALSE
-			strike     	FALSE
-			color      	0
-			default_color 	TRUE)
-		    stereotype 	TRUE
-		    line_color 	3342489
-		    quidu      	"4017DBE30138"
-		    roleview_list 	(list RoleViews
-			(object RoleView "object" @93
-			    Parent_View 	@92
-			    location   	(192, 244)
-			    font       	(object Font
-				size       	10
-				face       	"Arial"
-				bold       	FALSE
-				italics    	FALSE
-				underline  	FALSE
-				strike     	FALSE
-				color      	0
-				default_color 	TRUE)
-			    label      	(object SegLabel @94
-				Parent_View 	@93
-				location   	(2077, 4774)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	1
-				anchor_loc 	1
-				nlines     	1
-				max_width  	134
-				justify    	0
-				label      	"+object"
-				pctDist    	0.231960
-				height     	77
-				orientation 	1)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"4017DBE60006"
-			    client     	@92
-			    supplier   	@91
-			    line_style 	0
-			    label      	(object SegLabel @95
-				Parent_View 	@93
-				location   	(2220, 4757)
-				font       	(object Font
-				    size       	10
-				    face       	"Arial"
-				    bold       	FALSE
-				    italics    	FALSE
-				    underline  	FALSE
-				    strike     	FALSE
-				    color      	0
-				    default_color 	TRUE)
-				anchor     	2
-				anchor_loc 	1
-				nlines     	1
-				max_width  	15
-				justify    	0
-				label      	"1"
-				pctDist    	0.900000
-				height     	54
-				orientation 	0))
-			(object RoleView "$UNNAMED$7" @96
-			    Parent_View 	@92
-			    location   	(192, 244)
-			    stereotype 	TRUE
-			    line_color 	3342489
-			    quidu      	"4017DBE60164"
-			    client     	@92
-			    supplier   	@89
-			    line_style 	0)))))))
diff --git a/plugins/org.eclipse.jem/rose/javaModel.mdl b/plugins/org.eclipse.jem/rose/javaModel.mdl
deleted file mode 100644
index fc07501..0000000
--- a/plugins/org.eclipse.jem/rose/javaModel.mdl
+++ /dev/null
@@ -1,8567 +0,0 @@
-
-(object Petal
-    version    	47
-    _written   	"Rose 8.0.0303.1400"
-    charSet    	0)
-
-(object Design "Logical View"
-    is_unit    	TRUE
-    is_loaded  	TRUE
-    attributes 	(list Attribute_Set
-	(object Attribute
-	    tool       	"Java"
-	    name       	"IDE"
-	    value      	"Internal Editor")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagName1"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagText1"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagApply1"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagName2"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagText2"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagApply2"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagName3"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagText3"
-	    value      	"")
-	(object Attribute
-	    tool       	"Java"
-	    name       	"UserDefineTagApply3"
-	    value      	""))
-    quid       	"39EDFBE003B4"
-    defaults   	(object defaults
-	rightMargin 	0.250000
-	leftMargin 	0.250000
-	topMargin  	0.250000
-	bottomMargin 	0.500000
-	pageOverlap 	0.250000
-	clipIconLabels 	TRUE
-	autoResize 	TRUE
-	snapToGrid 	TRUE
-	gridX      	16
-	gridY      	16
-	defaultFont 	(object Font
-	    size       	10
-	    face       	"Arial"
-	    bold       	FALSE
-	    italics    	FALSE
-	    underline  	FALSE
-	    strike     	FALSE
-	    color      	0
-	    default_color 	TRUE)
-	showMessageNum 	1
-	showClassOfObject 	TRUE
-	notation   	"Unified")
-    root_usecase_package 	(object Class_Category "Use Case View"
-	quid       	"39EDFBE003B6"
-	exportControl 	"Public"
-	global     	TRUE
-	logical_models 	(list unit_reference_list)
-	logical_presentations 	(list unit_reference_list
-	    (object UseCaseDiagram "Main"
-		quid       	"39EDFBE2008D"
-		title      	"Main"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list))))
-    root_category 	(object Class_Category "Logical View"
-	quid       	"39EDFBE003B5"
-	exportControl 	"Public"
-	global     	TRUE
-	subsystem  	"Component View"
-	quidu      	"39EDFBE003B7"
-	logical_models 	(list unit_reference_list
-	    (object Class_Category "java"
-		is_unit    	TRUE
-		is_loaded  	FALSE
-		file_name  	"$WorkspaceRoot\\org.eclipse.jem\\rose\\edocjava2.cat"
-		quid       	"36549F2C004E")
-	    (object Class_Category "ecore"
-		is_unit    	TRUE
-		is_loaded  	FALSE
-		file_name  	"$WorkspaceRoot\\org.eclipse.emf.ecore\\src\\model\\org.eclipse.emf.Ecore.cat"
-		quid       	"39A5ED04004E"))
-	logical_presentations 	(list unit_reference_list
-	    (object ClassDiagram "Main"
-		quid       	"39EDFBE2008E"
-		title      	"Main"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list
-		    (object CategoryView "Logical View::java" @1
-			location   	(784, 528)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			label      	(object ItemLabel
-			    Parent_View 	@1
-			    location   	(630, 488)
-			    fill_color 	13434879
-			    nlines     	2
-			    max_width  	308
-			    justify    	0
-			    label      	"java")
-			stereotype 	(object ItemLabel
-			    Parent_View 	@1
-			    location   	(630, 443)
-			    fill_color 	13434879
-			    anchor     	10
-			    nlines     	1
-			    max_width  	308
-			    justify    	0
-			    label      	"<<metamodel>>")
-			icon_style 	"Icon"
-			line_color 	3342489
-			fill_color 	13434879
-			quidu      	"36549F2C004E"
-			width      	320
-			height     	182)
-		    (object CategoryView "Logical View::ecore" @2
-			location   	(304, 544)
-			font       	(object Font
-			    size       	10
-			    face       	"Arial"
-			    bold       	FALSE
-			    italics    	FALSE
-			    underline  	FALSE
-			    strike     	FALSE
-			    color      	0
-			    default_color 	TRUE)
-			label      	(object ItemLabel
-			    Parent_View 	@2
-			    location   	(160, 460)
-			    fill_color 	13434879
-			    nlines     	2
-			    max_width  	288
-			    justify    	0
-			    label      	"ecore")
-			icon_style 	"Icon"
-			line_color 	3342489
-			fill_color 	13434879
-			quidu      	"39A5ED04004E"
-			width      	300
-			height     	180)))))
-    root_subsystem 	(object SubSystem "Component View"
-	quid       	"39EDFBE003B7"
-	physical_models 	(list unit_reference_list)
-	physical_presentations 	(list unit_reference_list
-	    (object Module_Diagram "Main"
-		quid       	"39EDFBE2008C"
-		title      	"Main"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list))))
-    process_structure 	(object Processes
-	quid       	"39EDFBE003B8"
-	ProcsNDevs 	(list
-	    (object Process_Diagram "Deployment View"
-		quid       	"39EDFBE003BA"
-		title      	"Deployment View"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list))))
-    properties 	(object Properties
-	attributes 	(list Attribute_Set
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"roseId"
-		value      	"753117540")
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"prefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"packageName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"basePackage"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"nsName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"nsURI"
-			value      	"")))
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"packageName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"prefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"basePackage"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"nsName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"nsURI"
-			value      	"")))
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"basePackage"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"prefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"packageName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"nsName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"nsURI"
-			value      	"")))
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"nsName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"prefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"packageName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"basePackage"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"nsURI"
-			value      	"")))
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"nsURI"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"prefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"packageName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"basePackage"
-			value      	"")
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"nsName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isTransient"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isChangeable"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isUnsettable"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isUnique"
-			value      	TRUE)))
-	    (object Attribute
-		tool       	"Ecore"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isTransient"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isChangeable"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isUnsettable"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ecore"
-			name       	"isResolveProxies"
-			value      	TRUE)))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Const"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialValue"
-			value      	"")))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Inherit"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Copyright"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RootPackage"
-			value      	"C++ Reverse Engineered")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialHeaderIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialBodyIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RevEngRootDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RevEngDirectoriesAsPackages"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"HeaderFileExtension"
-			value      	".h")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ImplementationFileExtension"
-			value      	".cpp")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NewHeaderFileDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NewImplementationFileDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FileCapitalization"
-			value      	("FileCapitalizationSet" 0))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeGenExtraDirectories"
-			value      	("CodeGenExtraDirectoriesSet" 0))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"StripClassPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"UseTabs"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"TabWidth"
-			value      	8)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"IndentWidth"
-			value      	4)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"AccessIndentation"
-			value      	-2)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ModelIdCommentRules"
-			value      	("ModelIdCommentRulesSet" 1))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"PageWidth"
-			value      	80)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ClassMemberOrder"
-			value      	("MemberOrderSet" 1))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"OneParameterPerLine"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NamespaceBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ClassBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FunctionBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeGenExtraDirectoriesSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Namespaces"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Packages"
-				value      	2)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FileCapitalizationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Same as model"
-				value      	0)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Lower case"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Upper case"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Lower case with underscores"
-				value      	3)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"BraceStyleSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B1"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B2"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B3"
-				value      	3)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B4"
-				value      	4)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B5"
-				value      	5)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"MemberOrderSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Public First"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Private First"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Order by kind"
-				value      	3)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Unordered"
-				value      	4)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ModelIdCommentRulesSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Code generation only"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Code generation and reverse engineering"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Never generate model IDs"
-				value      	3)))))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Param"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialCodeBody"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Inline"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"GenerateFunctionBody"
-			value      	("GenerateFunctionBodySet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"GenerateFunctionBodySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Default"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"True"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"False"
-				value      	0)))))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ImplementationType"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"HeaderSourceFile"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"BodySourceFile"
-			value      	"")))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"IsNamespace"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"ANSI C++ Event Watcher"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"ANSIConvert"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"propertyId"
-		value      	"838326200")
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SpecFileExtension"
-			value      	"1.ada")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SpecFileBackupExtension"
-			value      	"1.ad~")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SpecFileTemporaryExtension"
-			value      	"1.ad#")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"BodyFileExtension"
-			value      	"2.ada")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"BodyFileBackupExtension"
-			value      	"2.ad~")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"BodyFileTemporaryExtension"
-			value      	"2.ad#")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateBodies"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateAccessorOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateStandardOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DefaultCodeBody"
-			value      	"[statement]")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ImplicitParameter"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CommentWidth"
-			value      	60)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ErrorLimit"
-			value      	30)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"UseFileName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Directory"
-			value      	"$ROSEADA83_SOURCE")))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ClassName"
-			value      	"Object")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ClassAccess"
-			value      	("ImplementationSet" 43))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ImplementationType"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsSubtype"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"PolymorphicUnit"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"HandleName"
-			value      	"Handle")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"HandleAccess"
-			value      	("ImplementationSet" 45))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Discriminant"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Variant"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"EnumerationLiteralPrefix"
-			value      	"A_")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"RecordFieldPrefix"
-			value      	"The_")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateAccessorOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateStandardOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ImplicitParameter"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ClassParameterName"
-			value      	"This")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DefaultConstructorKind"
-			value      	("ConstructorKindSet" 199))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DefaultConstructorName"
-			value      	"Create")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineDefaultConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CopyConstructorKind"
-			value      	("ConstructorKindSet" 199))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CopyConstructorName"
-			value      	"Copy")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineCopyConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DestructorName"
-			value      	"Free")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineDestructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ClassEqualityOperation"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"HandleEqualityOperation"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineEquality"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsTask"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Representation"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"LimitedPrivate"
-				value      	200)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ConstructorKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"FileName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ReturnType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenericFormalParameters"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"AdditionalWiths"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"FileName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ReturnType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"AdditionalWiths"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsSubunit"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SubprogramImplementation"
-			value      	("SubprogramImplementationSet" 2))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Renames"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ClassParameterMode"
-			value      	("ParameterModeSet" 203))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Inline"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"EntryCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ExitCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InitialCodeBody"
-			value      	"${default}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Representation"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SubprogramImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Spec"
-				value      	224)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Body"
-				value      	2)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Renaming"
-				value      	222)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Separate"
-				value      	223)))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ParameterModeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"In"
-				value      	204)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Out"
-				value      	205)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"InOut"
-				value      	203)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"FunctionReturn"
-				value      	206)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Has"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"NameIfUnlabeled"
-			value      	"The_${supplier}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DataMemberName"
-			value      	"${relationship}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GetName"
-			value      	"Get_${relationship}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SetName"
-			value      	"Set_${relationship}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Variant"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerGeneric"
-			value      	"List")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerDeclarations"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SelectorName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SelectorType"
-			value      	"")))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DataMemberName"
-			value      	"${attribute}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GetName"
-			value      	"Get_${attribute}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SetName"
-			value      	"Set_${attribute}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Variant"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Representation"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Association"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"NameIfUnlabeled"
-			value      	"The_${targetClass}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GetName"
-			value      	"Get_${association}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineGet"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SetName"
-			value      	"Set_${association}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineSet"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateAssociate"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"AssociateName"
-			value      	"Associate")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineAssociate"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GenerateDissociate"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DissociateName"
-			value      	"Dissociate")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineDissociate"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"NameIfUnlabeled"
-			value      	"The_${targetClass}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"DataMemberName"
-			value      	"${target}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"GetName"
-			value      	"Get_${target}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SetName"
-			value      	"Set_${target}")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerGeneric"
-			value      	"List")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ContainerDeclarations"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SelectorName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"SelectorType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada83"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"default__Subsystem"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada83"
-			name       	"Directory"
-			value      	"AUTO GENERATE")))
-	    (object Attribute
-		tool       	"Ada83"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"propertyId"
-		value      	"838326200")
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SpecFileExtension"
-			value      	"1.ada")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SpecFileBackupExtension"
-			value      	"1.ad~")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SpecFileTemporaryExtension"
-			value      	"1.ad#")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"BodyFileExtension"
-			value      	"2.ada")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"BodyFileBackupExtension"
-			value      	"2.ad~")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"BodyFileTemporaryExtension"
-			value      	"2.ad#")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"UseColonNotation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateBodies"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessorOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateStandardOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"DefaultCodeBody"
-			value      	"[statement]")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ImplicitParameter"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CommentWidth"
-			value      	60)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ErrorLimit"
-			value      	30)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"UseFileName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Directory"
-			value      	"$ROSEADA95_SOURCE")))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeName"
-			value      	"Object")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeVisibility"
-			value      	("TypeVisibilitySet" 43))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeImplementation"
-			value      	("TypeImplementationSet" 208))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeControl"
-			value      	("TypeControlSet" 225))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeControlName"
-			value      	"Controlled_${type}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeDefinition"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordImplementation"
-			value      	("RecordImplementationSet" 209))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordKindPackageName"
-			value      	"${class}_Record_Kinds")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsLimited"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsSubtype"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessType"
-			value      	("GenerateAccessTypeSet" 230))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessTypeName"
-			value      	"Handle")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessTypeVisibility"
-			value      	("TypeVisibilitySet" 45))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessTypeDefinition"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessClassWide"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"MaybeAliased"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ParameterizedImplementation"
-			value      	("ParameterizedImplementationSet" 11))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ParentClassName"
-			value      	"Superclass")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"EnumerationLiteralPrefix"
-			value      	"A_")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldPrefix"
-			value      	"The_")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ArrayOfTypeName"
-			value      	"Array_Of_${type}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessArrayOfTypeName"
-			value      	"Access_Array_Of_${type}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ArrayOfAccessTypeName"
-			value      	"Array_Of_${access_type}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AccessArrayOfAccessTypeName"
-			value      	"Access_Array_Of_${access_type}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ArrayIndexDefinition"
-			value      	"Positive range <>")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessorOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateStandardOperations"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ImplicitParameter"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ImplicitParameterName"
-			value      	"This")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateDefaultConstructor"
-			value      	("SubprogramKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"DefaultConstructorName"
-			value      	"Create")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineDefaultConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateCopyConstructor"
-			value      	("SubprogramKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CopyConstructorName"
-			value      	"Copy")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineCopyConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateDestructor"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"DestructorName"
-			value      	"Free")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineDestructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateTypeEquality"
-			value      	("FunctionKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeEqualityName"
-			value      	"${quote}=${quote}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineEquality"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Representation"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Tagged"
-				value      	208)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Record"
-				value      	210)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Mixin"
-				value      	211)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Task"
-				value      	212)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"SingleType"
-				value      	209)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"MultipleTypes"
-				value      	213)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ParameterizedImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Generic"
-				value      	11)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Unconstrained"
-				value      	214)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeVisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Private"
-				value      	43)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SubprogramKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"TypeControlSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"None"
-				value      	225)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"InitializationOnly"
-				value      	226)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"AssignmentFinalizationOnly"
-				value      	227)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"All"
-				value      	228)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Always"
-				value      	229)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Auto"
-				value      	230)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FileName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ReturnType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenericFormalParameters"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AdditionalWiths"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsPrivate"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FileName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ReturnType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AdditionalWiths"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsSubunit"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SubprogramImplementation"
-			value      	("SubprogramImplementationSet" 2))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Renames"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateOverriding"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ImplicitParameterMode"
-			value      	("ParameterModeSet" 203))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ImplicitParameterClassWide"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Inline"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"EntryCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ExitCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InitialCodeBody"
-			value      	"${default}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"EntryBarrierCondition"
-			value      	"True")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Representation"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SubprogramImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Spec"
-				value      	224)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Body"
-				value      	2)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Abstract"
-				value      	221)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Renaming"
-				value      	222)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"RenamingAsBody"
-				value      	231)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Separate"
-				value      	223)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ParameterModeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"In"
-				value      	204)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Out"
-				value      	205)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"InOut"
-				value      	203)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Access"
-				value      	220)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Has"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"NameIfUnlabeled"
-			value      	"The_${supplier}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementation"
-			value      	("RecordFieldImplementationSet" 216))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldName"
-			value      	"${relationship}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateGet"
-			value      	("FunctionKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessGet"
-			value      	("FunctionKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GetName"
-			value      	"Get_${relationship}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateSet"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessSet"
-			value      	("ProcedureKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SetName"
-			value      	"Set_${relationship}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsAliased"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerImplementation"
-			value      	("ContainerImplementationSet" 217))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerGeneric"
-			value      	"List")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerDeclarations"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SelectorName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SelectorType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Component"
-				value      	216)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Discriminant"
-				value      	218)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"AccessDiscriminant"
-				value      	219)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Array"
-				value      	217)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Generic"
-				value      	11)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementation"
-			value      	("RecordFieldImplementationSet" 216))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldName"
-			value      	"${attribute}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateGet"
-			value      	("FunctionKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessGet"
-			value      	("FunctionKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GetName"
-			value      	"Get_${attribute}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateSet"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessSet"
-			value      	("ProcedureKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SetName"
-			value      	"Set_${attribute}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsAliased"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Representation"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Component"
-				value      	216)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Discriminant"
-				value      	218)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"AccessDiscriminant"
-				value      	219)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Association"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"NameIfUnlabeled"
-			value      	"The_${targetClass}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateGet"
-			value      	("FunctionKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GetName"
-			value      	"Get_${association}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineGet"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateSet"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SetName"
-			value      	"Set_${association}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineSet"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAssociate"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"AssociateName"
-			value      	"Associate")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineAssociate"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateDissociate"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"DissociateName"
-			value      	"Dissociate")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineDissociate"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"NameIfUnlabeled"
-			value      	"The_${targetClass}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementation"
-			value      	("RecordFieldImplementationSet" 216))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldName"
-			value      	"${target}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateGet"
-			value      	("FunctionKindSet" 199))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessGet"
-			value      	("FunctionKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GetName"
-			value      	"Get_${target}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateSet"
-			value      	("ProcedureKindSet" 202))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"GenerateAccessSet"
-			value      	("ProcedureKindSet" 201))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SetName"
-			value      	"Set_${target}")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsAliased"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"IsConstant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerImplementation"
-			value      	("ContainerImplementationSet" 217))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerGeneric"
-			value      	"List")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerDeclarations"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SelectorName"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"SelectorType"
-			value      	"")
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ProcedureKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Procedure"
-				value      	202)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"RecordFieldImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Component"
-				value      	216)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Discriminant"
-				value      	218)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"AccessDiscriminant"
-				value      	219)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"ContainerImplementationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Array"
-				value      	217)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Generic"
-				value      	11)))
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"FunctionKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"Function"
-				value      	199)
-			    (object Attribute
-				tool       	"Ada95"
-				name       	"DoNotCreate"
-				value      	201)))))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"default__Subsystem"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Ada95"
-			name       	"Directory"
-			value      	"AUTO GENERATE")))
-	    (object Attribute
-		tool       	"Ada95"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"Editor"
-			value      	("EditorType" 100))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"IncludePath"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"StopOnError"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"EditorType"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"CORBA"
-				name       	"BuiltIn"
-				value      	100)
-			    (object Attribute
-				tool       	"CORBA"
-				name       	"WindowsShell"
-				value      	101)))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"PathSeparator"
-			value      	"")))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"ArrayDimensions"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"ConstValue"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"ImplementationType"
-			value      	"")))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"AdditionalIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CmIdentification"
-			value      	(value Text "  %X% %Q% %Z% %W%"))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"InclusionProtectionSymbol"
-			value      	"AUTO GENERATE")))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"AdditionalIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CmIdentification"
-			value      	(value Text "  %X% %Q% %Z% %W%"))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"InclusionProtectionSymbol"
-			value      	"AUTO GENERATE")))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"Context"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"OperationIsOneWay"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"ArrayDimensions"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CaseSpecifier"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"IsReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"Order"
-			value      	"")))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"ArrayDimensions"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"CaseSpecifier"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"GenerateForwardReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"IsReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"Order"
-			value      	"")
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"BoundedRoleType"
-			value      	("AssocTypeSet" 47))
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"AssocTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"CORBA"
-				name       	"Array"
-				value      	24)
-			    (object Attribute
-				tool       	"CORBA"
-				name       	"Sequence"
-				value      	47)))))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"default__Uses"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"CORBA"
-			name       	"GenerateForwardReference"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"CORBA"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"ClearCase"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"project"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ViewCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DomainCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SPPackageCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TriggerCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IndexCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ConstraintCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"StoreProcedureCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"PrimaryKeyCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ForeignKeyCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"JoinCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpaceCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"cONTAINERCounter"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TablePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ViewPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DomainPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TriggerPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IndexPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ConstraintPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"StoreProcedurePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"PrimaryKeyPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ForeignKeyPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpacePrefix"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDatabase"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TargetDatabase"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Location"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsTableSpace"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpaceType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDeault"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"BufferPool"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ExtentSize"
-			value      	1)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"PrefetchSize"
-			value      	1)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"PageSize"
-			value      	4)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ManagedBy"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ContainerList"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmSchema"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmDomainPackage"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsSchema"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDomainPackage"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsRootSchema"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsRootDomainPackage"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsSchemaPackage"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DatabaseID"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DBMS"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsTable"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsView"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDomain"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsSPPackage"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Synonymns"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpaceID"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceId"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"CorrelationName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SelectClause"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsUpdateable"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"CheckOption"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsSnapShot"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDistinct"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"PersistToServer"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsPackage"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpace"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsUpdatable"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Ordinal"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsIdentity"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsUnique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"NullsAllowed"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Length"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Scale"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ColumnType"
-			value      	"Native")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ForBitData"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValueType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceId"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"OID"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Association"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsRelationship"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceId"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"SourceType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"RIMethod"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ParentUpdateRule"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ParentUpdateRuleName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ParentDeleteRule"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ParentDeleteRuleName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ChildInsertRestrict"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ChildInsertRestrictName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ChildMultiplicity"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ChildMultiplicityName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ConstraintName"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsConstraint"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ConstraintType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsIndex"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsTrigger"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsStoredProcedure"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsCluster"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TableSpace"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"FillFactor"
-			value      	0)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"KeyList"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"CheckPredicate"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsUnique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DeferalMode"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"InitialCheckTime"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"TriggerType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsInsertEvent"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsUpdateEvent"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDeleteEvent"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"RefOldTable"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"RefNewTable"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"RefOldRow"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"RefNewRow"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsRow"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"WhenClause"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Language"
-			value      	"SQL")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ProcType"
-			value      	"Procedure")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsDeterministic"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ParameterStyle"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ReturnedNull"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ExternalName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Length"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Scale"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ForBitData"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValueType"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"default__Parameter"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"dmItem"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DMName"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsInParameter"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"IsOutParameter"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Ordinal"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Length"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"Scale"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"ForBitData"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValueType"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"DefaultValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Data Modeler"
-			name       	"OperationID"
-			value      	"")))
-	    (object Attribute
-		tool       	"Data Modeler"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Data Modeler Communicator"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Java"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"RootDir"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"UsePrefixes"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"AutoSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"NotShowRoseIDDlg"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ShowCodegenDlg"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateRoseID"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateDefaultReturnLine"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocDefaultAuthor"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocDefaultVersion"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocDefaultSince"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagName1"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagApply1"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagText1"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagName2"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagApply2"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagText2"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagName3"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagApply3"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineTagText3"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocNumAsterisks"
-			value      	0)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MaxNumChars"
-			value      	80)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Editor"
-			value      	("EditorType" 100))
-		    (object Attribute
-			tool       	"Java"
-			name       	"VM"
-			value      	("VMType" 200))
-		    (object Attribute
-			tool       	"Java"
-			name       	"ClassPath"
-			value      	";D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\charsets.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\jce.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\jsse.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\rt.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\sunrsasign.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\dnsns.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\ldapsec.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\localedata.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\ext\\sunjce_provider.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\security\\local_policy.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\jre\\lib\\security\\US_export_policy.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\lib\\dt.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\lib\\htmlconverter.jar;D:\\Program Files\\Sun\\jdk1.4.2_02\\lib\\tools.jar")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ReferenceClasspath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EditorType"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"BuiltIn"
-				value      	100)
-			    (object Attribute
-				tool       	"Java"
-				name       	"WindowsShell"
-				value      	101)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"VMType"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Sun"
-				value      	200)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Microsoft"
-				value      	201)
-			    (object Attribute
-				tool       	"Java"
-				name       	"IBM"
-				value      	202)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"VAJavaWorkingFolder"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"InstanceVariablePrefix"
-			value      	"m_")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ClassVariablePrefix"
-			value      	"s_")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DefaultAttributeDataType"
-			value      	"int")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DefaultOperationReturnType"
-			value      	"void")
-		    (object Attribute
-			tool       	"Java"
-			name       	"NoClassCustomDlg"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GlobalImports"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Java"
-			name       	"OpenBraceClassStyle"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"OpenBraceMethodStyle"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"UseTabs"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"UseSpaces"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"SpacingItems"
-			value      	3)
-		    (object Attribute
-			tool       	"Java"
-			name       	"RoseDefaultCommentStyle"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"AsteriskCommentStyle"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavaCommentStyle"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocAuthor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocSince"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"JavadocVersion"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"BeanPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"BeanSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"RemotePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"RemoteSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"HomePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"HomeSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"PrimaryKeyPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"PrimaryKeySuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBDTDLocation"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletDTDLocation"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DefaultEJBVersion"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DefaultServletVersion"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateDefaultJ2EEJavadoc"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"UserDefineJavaDocTags"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"LocalPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"LocalSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"LocalHomePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"LocalHomeSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"SourceControl"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"SCCSelected"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"SCCProjectSourceRoot"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"SCCProjectName"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"SCCComment"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Static"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateDefaultConstructor"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ConstructorIs"
-			value      	("Ctor_Set" 62))
-		    (object Attribute
-			tool       	"Java"
-			name       	"Ctor_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"public"
-				value      	62)
-			    (object Attribute
-				tool       	"Java"
-				name       	"protected"
-				value      	63)
-			    (object Attribute
-				tool       	"Java"
-				name       	"private"
-				value      	64)
-			    (object Attribute
-				tool       	"Java"
-				name       	"package"
-				value      	65)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFinalizer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateStaticInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateInstanceInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DisableAutoSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletName"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContextRef"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"IsSingleThread"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIsSecure"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcher"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcherPath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherInclude"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherForward"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletgetInfo"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttribute"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttributesNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestAttributes"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestParameters"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeader"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeaderNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForHeaders"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIntHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletDateHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletCookie"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForCookie"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContentType"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateHTML"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Generate_XML_DD"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCmpField"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBEnvironmentProperties"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCnxFactory"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReferences"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBNameInJAR"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType"
-			value      	("EJBSessionType_Set" 200))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	200)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateless"
-				value      	201)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateful"
-				value      	202)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType"
-			value      	("EJBTransactionType_Set" 211))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	211)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	212)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType"
-			value      	("EJBPersistenceType_Set" 220))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	220)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	221)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	222)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReentrant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"BMP_Extend_CMP"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Strictfp"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletXMLFilePath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion"
-			value      	("EJBVersion_Set" 230))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"2.0"
-				value      	230)
-			    (object Attribute
-				tool       	"Java"
-				name       	"1.x"
-				value      	231)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBXMLFilePath"
-			value      	"")))
-	    (object Attribute
-		tool       	"Java"
-		name       	"Default_Servlet__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletName"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContextRef"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"IsSingleThread"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIsSecure"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcher"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcherPath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherInclude"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherForward"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletgetInfo"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletXMLFilePath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Static"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateDefaultConstructor"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ConstructorIs"
-			value      	("Ctor_Set" 62))
-		    (object Attribute
-			tool       	"Java"
-			name       	"Ctor_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"public"
-				value      	62)
-			    (object Attribute
-				tool       	"Java"
-				name       	"protected"
-				value      	63)
-			    (object Attribute
-				tool       	"Java"
-				name       	"private"
-				value      	64)
-			    (object Attribute
-				tool       	"Java"
-				name       	"package"
-				value      	65)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFinalizer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateStaticInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateInstanceInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DisableAutoSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttribute"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttributesNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestAttributes"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestParameters"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeader"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeaderNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForHeaders"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIntHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletDateHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletCookie"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForCookie"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContentType"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateHTML"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Generate_XML_DD"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCmpField"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBEnvironmentProperties"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCnxFactory"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReferences"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBNameInJAR"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType"
-			value      	("EJBSessionType_Set" 200))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	200)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateless"
-				value      	201)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateful"
-				value      	202)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType"
-			value      	("EJBTransactionType_Set" 211))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	211)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	212)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType"
-			value      	("EJBPersistenceType_Set" 220))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	220)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	221)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	222)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReentrant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"BMP_Extend_CMP"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Strictfp"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion"
-			value      	("EJBVersion_Set" 230))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"2.0"
-				value      	230)
-			    (object Attribute
-				tool       	"Java"
-				name       	"1.x"
-				value      	231)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBXMLFilePath"
-			value      	"")))
-	    (object Attribute
-		tool       	"Java"
-		name       	"Http_Servlet__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttribute"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttributesNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestAttributes"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestParameters"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeader"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeaderNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForHeaders"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIntHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletDateHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletCookie"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForCookie"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContentType"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateHTML"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Static"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateDefaultConstructor"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ConstructorIs"
-			value      	("Ctor_Set" 62))
-		    (object Attribute
-			tool       	"Java"
-			name       	"Ctor_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"public"
-				value      	62)
-			    (object Attribute
-				tool       	"Java"
-				name       	"protected"
-				value      	63)
-			    (object Attribute
-				tool       	"Java"
-				name       	"private"
-				value      	64)
-			    (object Attribute
-				tool       	"Java"
-				name       	"package"
-				value      	65)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFinalizer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateStaticInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateInstanceInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DisableAutoSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletName"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContextRef"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"IsSingleThread"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIsSecure"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcher"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcherPath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherInclude"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherForward"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletgetInfo"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"Generate_XML_DD"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCmpField"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBEnvironmentProperties"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCnxFactory"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReferences"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBNameInJAR"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType"
-			value      	("EJBSessionType_Set" 200))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	200)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateless"
-				value      	201)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateful"
-				value      	202)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType"
-			value      	("EJBTransactionType_Set" 211))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	211)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	212)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType"
-			value      	("EJBPersistenceType_Set" 220))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	220)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	221)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	222)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReentrant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"BMP_Extend_CMP"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Strictfp"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletXMLFilePath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion"
-			value      	("EJBVersion_Set" 230))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"2.0"
-				value      	230)
-			    (object Attribute
-				tool       	"Java"
-				name       	"1.x"
-				value      	231)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBXMLFilePath"
-			value      	"")))
-	    (object Attribute
-		tool       	"Java"
-		name       	"Default_EJB__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"Generate_XML_DD"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCmpField"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBEnvironmentProperties"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBCnxFactory"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReferences"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBNameInJAR"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType"
-			value      	("EJBSessionType_Set" 200))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	200)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateless"
-				value      	201)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Stateful"
-				value      	202)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType"
-			value      	("EJBTransactionType_Set" 211))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBTransactionType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	211)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	212)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType"
-			value      	("EJBPersistenceType_Set" 220))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBPersistenceType_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	""
-				value      	220)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bean"
-				value      	221)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Container"
-				value      	222)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBReentrant"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBSessionSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion"
-			value      	("EJBVersion_Set" 230))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBVersion_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"2.0"
-				value      	230)
-			    (object Attribute
-				tool       	"Java"
-				name       	"1.x"
-				value      	231)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"EJBXMLFilePath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Static"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateDefaultConstructor"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ConstructorIs"
-			value      	("Ctor_Set" 62))
-		    (object Attribute
-			tool       	"Java"
-			name       	"Ctor_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"public"
-				value      	62)
-			    (object Attribute
-				tool       	"Java"
-				name       	"protected"
-				value      	63)
-			    (object Attribute
-				tool       	"Java"
-				name       	"private"
-				value      	64)
-			    (object Attribute
-				tool       	"Java"
-				name       	"package"
-				value      	65)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFinalizer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateStaticInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateInstanceInitializer"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DisableAutoSync"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletName"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContextRef"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"IsSingleThread"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletInitParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIsSecure"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcher"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestDispatcherPath"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherInclude"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"DispatcherForward"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletSecurityRoles"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletgetInfo"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttribute"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestAttributesNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestAttributes"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameter"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletRequestParameterNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForRequestParameters"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeader"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletHeaderNames"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForHeaders"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletIntHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletDateHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletCookie"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"MethodForCookie"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletContentType"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateHTML"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"BMP_Extend_CMP"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Strictfp"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ServletXMLFilePath"
-			value      	"")))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"CmIdentification"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Java"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"CmIdentification"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Java"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"Abstract"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Static"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Native"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Synchronized"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFullyQualifiedReturn"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"ReplaceExistingCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Strictfp"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Transient"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Volatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"PropertyType"
-			value      	("BeanProperty_Set" 71))
-		    (object Attribute
-			tool       	"Java"
-			name       	"BeanProperty_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Not A Property"
-				value      	71)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Simple"
-				value      	72)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bound"
-				value      	73)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Constrained"
-				value      	74)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"IndividualChangeMgt"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Read/Write"
-			value      	("Read/Write_Set" 81))
-		    (object Attribute
-			tool       	"Java"
-			name       	"Read/Write_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Read & Write"
-				value      	81)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Read Only"
-				value      	82)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Write Only"
-				value      	83)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFullyQualifiedTypes"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Java"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Java"
-			name       	"ContainerClass"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"InitialValue"
-			value      	"")
-		    (object Attribute
-			tool       	"Java"
-			name       	"Final"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Transient"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Volatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"PropertyType"
-			value      	("BeanProperty_Set" 71))
-		    (object Attribute
-			tool       	"Java"
-			name       	"BeanProperty_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Not A Property"
-				value      	71)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Simple"
-				value      	72)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Bound"
-				value      	73)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Constrained"
-				value      	74)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"IndividualChangeMgt"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"Read/Write"
-			value      	("Read/Write_Set" 81))
-		    (object Attribute
-			tool       	"Java"
-			name       	"Read/Write_Set"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Java"
-				name       	"Read & Write"
-				value      	81)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Read Only"
-				value      	82)
-			    (object Attribute
-				tool       	"Java"
-				name       	"Write Only"
-				value      	83)))
-		    (object Attribute
-			tool       	"Java"
-			name       	"GenerateFullyQualifiedTypes"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Java"
-			name       	"IsNavigable"
-			value      	TRUE)))
-	    (object Attribute
-		tool       	"Java"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"propertyId"
-		value      	"360000002")
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"DDLScriptFilename"
-			value      	"DDL1.SQL")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"DropClause"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"PrimaryKeyColumnName"
-			value      	"_ID")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"PrimaryKeyColumnType"
-			value      	"NUMBER(5,0)")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"SchemaNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"SchemaNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TableNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TableNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TypeNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TypeNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"ViewNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"ViewNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"VarrayNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"VarrayNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"NestedTableNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"NestedTableNameSuffix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"ObjectTableNamePrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"ObjectTableNameSuffix"
-			value      	"")))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsSchema"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"OID"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"WhereClause"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CheckConstraint"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CollectionTypeLength"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CollectionTypePrecision"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CollectionTypeScale"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CollectionOfREFS"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"MethodKind"
-			value      	("MethodKindSet" 1903))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"OverloadID"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"OrderNumber"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsReadNoDataState"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsReadNoProcessState"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsWriteNoDataState"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsWriteNoProcessState"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsSelfish"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerType"
-			value      	("TriggerTypeSet" 1801))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerEvent"
-			value      	("TriggerEventSet" 1601))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerText"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerReferencingNames"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerForEach"
-			value      	("TriggerForEachSet" 1701))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerWhenClause"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"MethodKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"MapMethod"
-				value      	1901)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"OrderMethod"
-				value      	1902)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Function"
-				value      	1903)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Procedure"
-				value      	1904)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Operator"
-				value      	1905)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Constructor"
-				value      	1906)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Destructor"
-				value      	1907)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Trigger"
-				value      	1908)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"Calculated"
-				value      	1909)))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"AFTER"
-				value      	1801)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"BEFORE"
-				value      	1802)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"INSTEAD OF"
-				value      	1803)))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerForEachSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"ROW"
-				value      	1701)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"STATEMENT"
-				value      	1702)))
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"TriggerEventSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"INSERT"
-				value      	1601)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"UPDATE"
-				value      	1602)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"DELETE"
-				value      	1603)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"INSERT OR UPDATE"
-				value      	1604)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"INSERT OR DELETE"
-				value      	1605)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"UPDATE OR DELETE"
-				value      	1606)
-			    (object Attribute
-				tool       	"Oracle8"
-				name       	"INSERT OR UPDATE OR DELETE"
-				value      	1607)))))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"OrderNumber"
-			value      	"")))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"OrderNumber"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsUnique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"NullsAllowed"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"Length"
-			value      	"")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"Precision"
-			value      	"2")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"Scale"
-			value      	"6")
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsIndex"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"IsPrimaryKey"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CompositeUnique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Oracle8"
-			name       	"CheckConstraint"
-			value      	"")))
-	    (object Attribute
-		tool       	"Oracle8"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"ComponentTest"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"RequisitePro"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"cg"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowGenerateOverNewerAnnotations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowGenerateOverNewerVersion"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"UseMSVC"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileExtension"
-			value      	"h")
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileBackupExtension"
-			value      	"h~")
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileTemporaryExtension"
-			value      	"h#")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileExtension"
-			value      	"cpp")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileBackupExtension"
-			value      	"cp~")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileTemporaryExtension"
-			value      	"cp#")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ErrorLimit"
-			value      	30)
-		    (object Attribute
-			tool       	"cg"
-			name       	"Directory"
-			value      	"$ROSECPP_SOURCE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"PathSeparator"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FileNameFormat"
-			value      	"128vx_b")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BooleanType"
-			value      	"int")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowTemplates"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowExplicitInstantiations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowProtectedInheritance"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"CommentWidth"
-			value      	60)
-		    (object Attribute
-			tool       	"cg"
-			name       	"OneByValueContainer"
-			value      	"$targetClass")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OneByReferenceContainer"
-			value      	"$targetClass *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OptionalByValueContainer"
-			value      	"OptionalByValue<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OptionalByReferenceContainer"
-			value      	"$targetClass *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FixedByValueContainer"
-			value      	"$targetClass[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedFixedByValueContainer"
-			value      	"$targetClass[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FixedByReferenceContainer"
-			value      	"$targetClass *[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedFixedByReferenceContainer"
-			value      	"$targetClass *[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedByValueContainer"
-			value      	"BoundedListByValue<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedBoundedByValueContainer"
-			value      	"BoundedSetByValue<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedByReferenceContainer"
-			value      	"BoundedListByReference<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedBoundedByReferenceContainer"
-			value      	"BoundedSetByReference<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnboundedByValueContainer"
-			value      	"UnboundedListByValue<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedUnboundedByValueContainer"
-			value      	"UnboundedSetByValue<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnboundedByReferenceContainer"
-			value      	"UnboundedListByReference<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedUnboundedByReferenceContainer"
-			value      	"UnboundedSetByReference<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedByValueContainer"
-			value      	"AssociationByValue<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedQualifiedByValueContainer"
-			value      	"DictionaryByValue<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedByReferenceContainer"
-			value      	"AssociationByReference<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedQualifiedByReferenceContainer"
-			value      	"DictionaryByReference<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AlwaysKeepOrphanedCode"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"cg"
-		name       	"compiler2.1__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowGenerateOverNewerAnnotations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowGenerateOverNewerVersion"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileExtension"
-			value      	"h")
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileBackupExtension"
-			value      	"h~")
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileTemporaryExtension"
-			value      	"h#")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileExtension"
-			value      	"cpp")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileBackupExtension"
-			value      	"cp~")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileTemporaryExtension"
-			value      	"cp#")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ErrorLimit"
-			value      	30)
-		    (object Attribute
-			tool       	"cg"
-			name       	"Directory"
-			value      	"$ROSECPP_SOURCE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BooleanType"
-			value      	"int")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowTemplates"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowExplicitInstantiations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowProtectedInheritance"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"OneByValueContainer"
-			value      	"$targetClass")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OneByReferenceContainer"
-			value      	"$targetClass *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OptionalByValueContainer"
-			value      	"OptionalByValue(sizeof($targetClass))")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OptionalByReferenceContainer"
-			value      	"$targetClass *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FixedByValueContainer"
-			value      	"$targetClass[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedFixedByValueContainer"
-			value      	"$targetClass[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FixedByReferenceContainer"
-			value      	"$targetClass *[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedFixedByReferenceContainer"
-			value      	"$targetClass *[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedByValueContainer"
-			value      	"BoundedListByValue(sizeof($targetClass),$limit)")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedBoundedByValueContainer"
-			value      	"BoundedSetByValue(sizeof($targetClass),$limit)")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedByReferenceContainer"
-			value      	"BoundedListByReference($limit)")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedBoundedByReferenceContainer"
-			value      	"BoundedSetByReference($limit)")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnboundedByValueContainer"
-			value      	"UnboundedListByValue(sizeof($targetClass))")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedUnboundedByValueContainer"
-			value      	"UnboundedSetByValue(sizeof($targetClass))")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnboundedByReferenceContainer"
-			value      	"UnboundedListByReference")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedUnboundedByReferenceContainer"
-			value      	"UnboundedSetByReference")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedByValueContainer"
-			value      	"AssociationByValue(sizeof($qualtype), sizeof($qualcont))")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedQualifiedByValueContainer"
-			value      	"DictionaryByValue(sizeof($qualtype), sizeof($qualcont))")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedByReferenceContainer"
-			value      	"AssociationByReference(sizeof($qualtype), sizeof($qualcont))")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedQualifiedByReferenceContainer"
-			value      	"DictionaryByReference(sizeof($qualtype), sizeof($qualcont))")
-		    (object Attribute
-			tool       	"cg"
-			name       	"PathSeparator"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FileNameFormat"
-			value      	"128vx_b")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AlwaysKeepOrphanedCode"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"cg"
-		name       	"compiler3.0__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowGenerateOverNewerAnnotations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowGenerateOverNewerVersion"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileExtension"
-			value      	"h")
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileBackupExtension"
-			value      	"h~")
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileTemporaryExtension"
-			value      	"h#")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileExtension"
-			value      	"cpp")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileBackupExtension"
-			value      	"cp~")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileTemporaryExtension"
-			value      	"cp#")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ErrorLimit"
-			value      	30)
-		    (object Attribute
-			tool       	"cg"
-			name       	"Directory"
-			value      	"$ROSECPP_SOURCE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BooleanType"
-			value      	"int")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowTemplates"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowExplicitInstantiations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowProtectedInheritance"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"OneByValueContainer"
-			value      	"$targetClass")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OneByReferenceContainer"
-			value      	"$targetClass *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OptionalByValueContainer"
-			value      	"OptionalByValue<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OptionalByReferenceContainer"
-			value      	"$targetClass *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FixedByValueContainer"
-			value      	"$targetClass[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedFixedByValueContainer"
-			value      	"$targetClass[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FixedByReferenceContainer"
-			value      	"$targetClass *[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedFixedByReferenceContainer"
-			value      	"$targetClass *[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedByValueContainer"
-			value      	"BoundedListByValue<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedBoundedByValueContainer"
-			value      	"BoundedSetByValue<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedByReferenceContainer"
-			value      	"BoundedListByReference<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedBoundedByReferenceContainer"
-			value      	"BoundedSetByReference<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnboundedByValueContainer"
-			value      	"UnboundedListByValue<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedUnboundedByValueContainer"
-			value      	"UnboundedSetByValue<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnboundedByReferenceContainer"
-			value      	"UnboundedListByReference<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedUnboundedByReferenceContainer"
-			value      	"UnboundedSetByReference<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedByValueContainer"
-			value      	"AssociationByValue<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedQualifiedByValueContainer"
-			value      	"DictionaryByValue<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedByReferenceContainer"
-			value      	"AssociationByReference<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedQualifiedByReferenceContainer"
-			value      	"DictionaryByReference<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"PathSeparator"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FileNameFormat"
-			value      	"128vx_b")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AlwaysKeepOrphanedCode"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"ImplementationType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"ClassKey"
-			value      	"class")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegions"
-			value      	("GenerateEmptyRegionSet" 3))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegionSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Preserved"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unpreserved"
-				value      	2)
-			    (object Attribute
-				tool       	"cg"
-				name       	"All"
-				value      	3)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"PutBodiesInSpec"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDefaultConstructor"
-			value      	("GenerateSet" 199))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DefaultConstructorVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineDefaultConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ExplicitDefaultConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateCopyConstructor"
-			value      	("GenerateSet" 199))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CopyConstructorVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineCopyConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ExplicitCopyConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDestructor"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DestructorVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DestructorKind"
-			value      	("ThreeKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineDestructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateAssignmentOperation"
-			value      	("GenerateSet" 199))
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssignmentVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssignmentKind"
-			value      	("ThreeKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineAssignmentOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEqualityOperations"
-			value      	("GenerateSet" 199))
-		    (object Attribute
-			tool       	"cg"
-			name       	"EqualityVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"EqualityKind"
-			value      	("FriendKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineEqualityOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateRelationalOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"RelationalVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"RelationalKind"
-			value      	("FriendKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineRelationalOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateStorageMgmtOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"StorageMgmtVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineStorageMgmtOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateSubscriptOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"SubscriptVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"SubscriptKind"
-			value      	("ThreeKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"SubscriptResultType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineSubscriptOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDereferenceOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DereferenceVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DereferenceKind"
-			value      	("ThreeKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DereferenceResultType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineDereferenceOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateIndirectionOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IndirectionVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IndirectionKind"
-			value      	("ThreeKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IndirectionResultType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineIndirectionOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateStreamOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"StreamVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineStreamOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ThreeKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"KindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Static"
-				value      	203)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"FriendKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Friend"
-				value      	204)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"DeclareAndDefine"
-				value      	199)
-			    (object Attribute
-				tool       	"cg"
-				name       	"DeclareOnly"
-				value      	205)
-			    (object Attribute
-				tool       	"cg"
-				name       	"DoNotDeclare"
-				value      	206)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"VisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Implementation"
-				value      	14)))))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegions"
-			value      	("GenerateEmptyRegionSet" 3))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegionSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Preserved"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unpreserved"
-				value      	2)
-			    (object Attribute
-				tool       	"cg"
-				name       	"All"
-				value      	3)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CmIdentification"
-			value      	(value Text "  %X% %Q% %Z% %W%"))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"FileName"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowExtensionlessFileName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InclusionProtectionSymbol"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeFormat"
-			value      	(value Text 
-|// $package
-|#include "$file"
-|
-			))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeBySimpleName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludePrecompiledHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeOrder"
-			value      	"AMIR")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AdditionalIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InliningStyle"
-			value      	("InliningStyleSet" 207))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InliningStyleSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"InClassDeclaration"
-				value      	208)
-			    (object Attribute
-				tool       	"cg"
-				name       	"FollowingClassDeclaration"
-				value      	207)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"TypesDefined"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeClosure"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegions"
-			value      	("GenerateEmptyRegionSet" 3))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegionSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Preserved"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unpreserved"
-				value      	2)
-			    (object Attribute
-				tool       	"cg"
-				name       	"All"
-				value      	3)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CmIdentification"
-			value      	(value Text "  %X% %Q% %Z% %W%"))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"FileName"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowExtensionlessFileName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeFormat"
-			value      	(value Text 
-|// $package
-|#include "$file"
-|
-			))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeBySimpleName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludePrecompiledHeader"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeOrder"
-			value      	"AMIR")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AdditionalIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InliningStyle"
-			value      	("InliningStyleSet" 207))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InliningStyleSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"InClassDeclaration"
-				value      	208)
-			    (object Attribute
-				tool       	"cg"
-				name       	"FollowingClassDeclaration"
-				value      	207)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"TypesDefined"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeClosure"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OperationKind"
-			value      	("OperationKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"OperationKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Static"
-				value      	203)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Friend"
-				value      	204)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateAbstractBody"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateFriendBody"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateFriendDecl"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"SpecialDeclReturnType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OperationIsConst"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"OperationIsExplicit"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"Inline"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"EntryCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"ExitCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CCRegion"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegions"
-			value      	("GenerateEmptyRegionSet" 3))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegionSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Preserved"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unpreserved"
-				value      	2)
-			    (object Attribute
-				tool       	"cg"
-				name       	"All"
-				value      	3)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"BodyAnnotations"
-			value      	"")))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Has"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"Ordered"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"NameIfUnlabeled"
-			value      	"the_$supplier")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDataMember"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberName"
-			value      	"$relationship")
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibility"
-			value      	("DataMemberVisibilitySet" 14))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Implementation"
-				value      	14)
-			    (object Attribute
-				tool       	"cg"
-				name       	"AtRelationshipVisibility"
-				value      	210)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutability"
-			value      	("DataMemberMutabilitySet" 0))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutabilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unrestricted"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Mutable"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Const"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberIsVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberFieldSize"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"InitialValue"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateGetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateSetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetName"
-			value      	"get_$relationship")
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetName"
-			value      	"set_$relationship")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKinds"
-			value      	("GetSetKindsSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKindsSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Static"
-				value      	203)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Friend"
-				value      	204)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"ContainerClass"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"SelectorName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"SelectorType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetIsConst"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConst"
-			value      	("GetResultIsConstSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConstSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"False"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"True"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Same_As_Function"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetByReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetReturnsValue"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ForwardReferenceOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"HasRelTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Array"
-				value      	24)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Sequence"
-				value      	47)))))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Association"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"NameIfUnlabeled"
-			value      	"the_$targetClass")))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Inherit"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"InstanceArguments"
-			value      	"")))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"ForwardReferenceOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"NameIfUnlabeled"
-			value      	"the_$targetClass")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDataMember"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberName"
-			value      	"$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibility"
-			value      	("DataMemberVisibilitySet" 14))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Implementation"
-				value      	14)
-			    (object Attribute
-				tool       	"cg"
-				name       	"AtRelationshipVisibility"
-				value      	210)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutability"
-			value      	("DataMemberMutabilitySet" 0))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutabilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unrestricted"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Mutable"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Const"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberIsVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberFieldSize"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"InitialValue"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"ContainerClass"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"ContainerGet"
-			value      	"$data.get($keys)")
-		    (object Attribute
-			tool       	"cg"
-			name       	"ContainerSet"
-			value      	"$data.set($keys,$value)")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedContainer"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassContainer"
-			value      	"$supplier *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassInitialValue"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKinds"
-			value      	("GetSetKindsSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKindsSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Static"
-				value      	203)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Friend"
-				value      	204)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetByReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateGetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetName"
-			value      	"get_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetIsConst"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConst"
-			value      	("GetResultIsConstSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConstSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"False"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"True"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Same_As_Function"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateSetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetName"
-			value      	"set_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetReturnsValue"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedGetSetByReference"
-			value      	("QualifiedGetSetByReferenceSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedGetSetByReferenceSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"False"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"True"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Same_As_GetSetByReference"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateQualifiedGetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedGetName"
-			value      	"get_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedGetIsConst"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedGetResultIsConst"
-			value      	("GetResultIsConstSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineQualifiedGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateQualifiedSetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedSetName"
-			value      	"set_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedSetReturnsValue"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineQualifiedSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateAssocClassDataMember"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassDataMemberName"
-			value      	"$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassDataMemberVisibility"
-			value      	("DataMemberVisibilitySet" 14))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Implementation"
-				value      	14)
-			    (object Attribute
-				tool       	"cg"
-				name       	"AtRelationshipVisibility"
-				value      	210)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassDataMemberMutability"
-			value      	("DataMemberMutabilitySet" 0))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutabilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unrestricted"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Mutable"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Const"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassDataMemberIsVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassGetSetKinds"
-			value      	("GetSetKindsSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateAssocClassGetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassGetName"
-			value      	"get_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassGetIsConst"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassGetResultIsConst"
-			value      	("GetResultIsConstSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineAssocClassGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateAssocClassSetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassSetName"
-			value      	"set_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassSetReturnsValue"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineAssocClassSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassForwardReferenceOnly"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Array"
-				value      	24)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Sequence"
-				value      	47)))))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDataMember"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberName"
-			value      	"$attribute")
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibility"
-			value      	("DataMemberVisibilitySet" 14))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Implementation"
-				value      	14)
-			    (object Attribute
-				tool       	"cg"
-				name       	"AtAttributeVisibility"
-				value      	211)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutability"
-			value      	("DataMemberMutabilitySet" 0))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutabilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unrestricted"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Mutable"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Const"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberIsVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberFieldSize"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateGetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateSetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetName"
-			value      	"get_$attribute")
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetName"
-			value      	"set_$attribute")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKinds"
-			value      	("GetSetKindsSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKindsSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Static"
-				value      	203)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Friend"
-				value      	204)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetIsConst"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConst"
-			value      	("GetResultIsConstSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConstSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"False"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"True"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Same_As_Function"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetByReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetReturnsValue"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"CCRegion"
-			value      	"")))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Uses"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"ForwardReferenceOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"BodyReferenceOnly"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Subsystem"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"Directory"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"DirectoryIsOnSearchList"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"PrecompiledHeader"
-			value      	"")))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"IsNamespace"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"Indent"
-			value      	2)
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegions"
-			value      	("GenerateEmptyRegionSet" 3))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegionSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Preserved"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unpreserved"
-				value      	2)
-			    (object Attribute
-				tool       	"cg"
-				name       	"All"
-				value      	3)))))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Version"
-			value      	"5.0")))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Type"
-			value      	("MSVCClassTypeSet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSVCClassTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Normal"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Interface_Part"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Connection_Part"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Class_Factory"
-				value      	3)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CObjectFunctionality"
-			value      	("CObjectFunctionalitySet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CObjectFunctionalitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dynamic"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dyncreate"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Serial"
-				value      	3)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateOverrideGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateDataGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DATA_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateFieldGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_FIELD_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateMessageGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateMessageMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_MSG_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MESSAGE_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLEFactory"
-			value      	("OLEFactorySet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLEFactorySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Built_in"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Simple"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Licensed"
-				value      	3)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLEName"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLEClassID"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateOLECtlType"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLECtlType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateOLETypeLib"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLETypeLibID"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLETypeLibMajor"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLETypeLibMinor"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GeneratePropPageIDs"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLEPropPageIDs"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateDispatchMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockProperties"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockFunctions"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DispatchDefValue"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateDispIdEnum"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISP_ID_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateInterfaceMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"INTERFACE_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"InitInterface"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateEventMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENT_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENT_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"EVENT_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockEvents"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateEventSinkMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENTSINK_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENTSINK_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"EVENTSINK_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"PropNotifySinks"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateConnectionMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CONNECTION_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"ConnectionPointIID"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"InheritanceType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DeclSpec"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLECommands"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MFCDeclares"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MFCImplements"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"ATL_Declares"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateCOMMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"COM_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateConnectionPointMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CONNECTION_POINT_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateMsgMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSG_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GeneratePropertyMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"PROPERTY_MAP_Entries"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Type"
-			value      	("MSVCOperationTypeSet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSVCOperationTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Normal"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Virtual_Override"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Message_Handler"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dispatch_Handler"
-				value      	3)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Event_Firing_Function"
-				value      	4)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Event_Sink_Handler"
-				value      	5)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Std_OLE_Method"
-				value      	6)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Command_Parser"
-				value      	7)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Property_Get_Function"
-				value      	8)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Property_Set_Function"
-				value      	9)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Property_Notify_Function"
-				value      	10)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Macro_Generated_Function"
-				value      	11)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_MSG_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MESSAGE_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENT_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"EVENT_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENTSINK_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"EVENTSINK_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CallType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DeclSpec"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"BodyImage"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Type"
-			value      	("MSVCAttributeTypeSet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSVCAttributeTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Normal"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Member_Property"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Get_Set_Property"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dialog_Data"
-				value      	3)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Field_Data"
-				value      	4)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Stock_Property"
-				value      	5)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DeclSpec"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"PointerBase"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CallType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockPropertyImplementation"
-			value      	"")))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Has"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Type"
-			value      	("MSVCAttributeTypeSet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSVCAttributeTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Normal"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Member_Property"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Get_Set_Property"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dialog_Data"
-				value      	3)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Field_Data"
-				value      	4)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Stock_Property"
-				value      	5)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DeclSpec"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"PointerBase"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CallType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockPropertyImplementation"
-			value      	"")))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Type"
-			value      	("MSVCAttributeTypeSet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSVCAttributeTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Normal"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Member_Property"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Get_Set_Property"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dialog_Data"
-				value      	3)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Field_Data"
-				value      	4)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Stock_Property"
-				value      	5)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DeclSpec"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"PointerBase"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CallType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockPropertyImplementation"
-			value      	"")))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateIncludesGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_INCLUDES_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateInsertLocation"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateIncludesGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_INCLUDES_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateInsertLocation"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"cg"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Rose Model Integrator"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Rose Web Publisher"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"SoDA"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"TopLink"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"COM"
-		name       	"propertyId"
-		value      	"783606378")
-	    (object Attribute
-		tool       	"COM"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"COM"
-			name       	"TypeKinds"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"COM"
-				name       	"enum"
-				value      	100)
-			    (object Attribute
-				tool       	"COM"
-				name       	"record"
-				value      	101)
-			    (object Attribute
-				tool       	"COM"
-				name       	"module"
-				value      	102)
-			    (object Attribute
-				tool       	"COM"
-				name       	"interface"
-				value      	103)
-			    (object Attribute
-				tool       	"COM"
-				name       	"dispinterface"
-				value      	104)
-			    (object Attribute
-				tool       	"COM"
-				name       	"coclass"
-				value      	105)
-			    (object Attribute
-				tool       	"COM"
-				name       	"alias"
-				value      	106)
-			    (object Attribute
-				tool       	"COM"
-				name       	"union"
-				value      	107)
-			    (object Attribute
-				tool       	"COM"
-				name       	"max"
-				value      	108)
-			    (object Attribute
-				tool       	"COM"
-				name       	"(none)"
-				value      	109)))
-		    (object Attribute
-			tool       	"COM"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"COM"
-			name       	"kind"
-			value      	("TypeKinds" 109))
-		    (object Attribute
-			tool       	"COM"
-			name       	"uuid"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"version"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpstring"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpcontext"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"attributes"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"dllname"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"alias"
-			value      	"")))
-	    (object Attribute
-		tool       	"COM"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"COM"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"COM"
-			name       	"id"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpstring"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"attributes"
-			value      	"")))
-	    (object Attribute
-		tool       	"COM"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"COM"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"COM"
-			name       	"id"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpstring"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"attributes"
-			value      	"")))
-	    (object Attribute
-		tool       	"COM"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"COM"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"COM"
-			name       	"filename"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"library"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"uuid"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"version"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpstring"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpfile"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"helpcontext"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"lcid"
-			value      	"")
-		    (object Attribute
-			tool       	"COM"
-			name       	"attributes"
-			value      	"")))
-	    (object Attribute
-		tool       	"COM"
-		name       	"default__Param"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"COM"
-			name       	"attributes"
-			value      	"")))
-	    (object Attribute
-		tool       	"COM"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"propertyId"
-		value      	"783606378")
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"UpdateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"UpdateModel"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"InstancingSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"Private"
-				value      	221)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"PublicNotCreatable"
-				value      	213)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"SingleUse"
-				value      	214)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"GlobalSingleUse"
-				value      	215)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"MultiUse"
-				value      	219)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"GlobalMultiUse"
-				value      	220)))
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"BaseSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"(none)"
-				value      	222)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"0"
-				value      	223)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"1"
-				value      	224)))
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"OptionBase"
-			value      	("BaseSet" 222))
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"OptionExplicit"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"OptionCompare"
-			value      	("CompareSet" 202))
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"Instancing"
-			value      	("InstancingSet" 219))
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"CompareSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"(none)"
-				value      	202)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"Binary"
-				value      	203)
-			    (object Attribute
-				tool       	"Visual Basic"
-				name       	"Text"
-				value      	204)))))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"LibraryName"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"AliasName"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"IsStatic"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ProcedureID"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ReplaceExistingBody"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"DefaultBody"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"New"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"WithEvents"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ProcedureID"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"PropertyName"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"Subscript"
-			value      	"")))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"UpdateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"New"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"WithEvents"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"FullName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ProcedureID"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"PropertyName"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"Subscript"
-			value      	"")))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Inherit"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ImplementsDelegation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"FullName"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Param"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ByVal"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ByRef"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"Optional"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ParamArray"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ProjectFile"
-			value      	"")
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"UpdateCode"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"UpdateModel"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ImportReferences"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"QuickImport"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Visual Basic"
-			name       	"ImportBinary"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"Visual Basic"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"VisualStudio"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Web Modeler"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Editor"
-			value      	("EditorType" 100))
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"StopOnError"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"EditorType"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"XML_DTD"
-				name       	"BuiltIn"
-				value      	100)
-			    (object Attribute
-				tool       	"XML_DTD"
-				name       	"WindowsShell"
-				value      	101)))))
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Entity_SystemID"
-			value      	"")
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Entity_PublicID"
-			value      	"")
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"NotationValue"
-			value      	"")
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"InternalValue"
-			value      	"")
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"ParameterEntity"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"ExternalEntity"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Notation_SystemID"
-			value      	"")
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Notation_PublicID"
-			value      	"")))
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"DefaultDeclType"
-			value      	"")))
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"Assign All"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"XML_DTD"
-			name       	"ComponentPath"
-			value      	"")))
-	    (object Attribute
-		tool       	"XML_DTD"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"framework"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"R2Editor"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Version Control"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Cplusplus"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Synchronize"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RevEngRootDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RootPackage"
-			value      	"C++ Reverse Engineered")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"RevEngDirectoriesAsPackages"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"HeaderFileExtension"
-			value      	".h")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ImplementationFileExtension"
-			value      	".cpp")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NewHeaderFileDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NewImplementationFileDirectory"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FileCapitalization"
-			value      	("FileCapitalizationSet" 0))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeGenExtraDirectories"
-			value      	("CodeGenExtraDirectoriesSet" 0))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"StripClassPrefix"
-			value      	"")
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"UseTabs"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"TabWidth"
-			value      	8)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"IndentWidth"
-			value      	4)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"AccessIndentation"
-			value      	-2)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ModelIdCommentRules"
-			value      	("ModelIdCommentRulesSet" 1))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"PageWidth"
-			value      	80)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ClassMemberOrder"
-			value      	("MemberOrderSet" 1))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"OneParameterPerLine"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"NamespaceBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ClassBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FunctionBraceStyle"
-			value      	("BraceStyleSet" 2))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"Copyright"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialHeaderIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"InitialBodyIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"CodeGenExtraDirectoriesSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Namespaces"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Packages"
-				value      	2)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"FileCapitalizationSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Same as model"
-				value      	0)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Lower case"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Upper case"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Lower case with underscores"
-				value      	3)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"BraceStyleSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B1"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B2"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B3"
-				value      	3)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B4"
-				value      	4)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"B5"
-				value      	5)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"MemberOrderSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Public First"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Private First"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Order by kind"
-				value      	3)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Unordered"
-				value      	4)))
-		    (object Attribute
-			tool       	"Cplusplus"
-			name       	"ModelIdCommentRulesSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Code generation only"
-				value      	1)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Code generation and reverse engineering"
-				value      	2)
-			    (object Attribute
-				tool       	"Cplusplus"
-				name       	"Never generate model IDs"
-				value      	3)))))
-	    (object Attribute
-		tool       	"Deploy"
-		name       	"HiddenTool"
-		value      	FALSE))
-	quid       	"39EDFBE003B9"))