diff --git a/deprecated/plugins/org.eclipse.uml2.edit/javadoc.xml b/deprecated/plugins/org.eclipse.uml2.edit/javadoc.xml
deleted file mode 100644
index 504de6c..0000000
--- a/deprecated/plugins/org.eclipse.uml2.edit/javadoc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.uml2.edit" default="javadoc">
-    <target name="javadoc">
-        <javadoc destdir="..\uml2-home\docs\javadoc\org.eclipse.uml2.edit" access="public" source="1.4" use="true" notree="false" nonavbar="false" noindex="false" splitindex="true" author="true" version="true" nodeprecatedlist="false" nodeprecated="false" packagenames="org.eclipse.uml2.provider,org.eclipse.uml2.edit.util" sourcepath="src" classpath="bin;C:\eclipse\plugins\org.eclipse.core.runtime.compatibility_3.0.0\compatibility.jar;C:\eclipse\plugins\org.eclipse.core.runtime_3.0.0\runtime.jar;C:\eclipse\plugins\org.eclipse.osgi_3.0.0\osgi.jar;C:\eclipse\plugins\org.eclipse.osgi_3.0.0\core.jar;C:\eclipse\plugins\org.eclipse.osgi_3.0.0\resolver.jar;C:\eclipse\plugins\org.eclipse.osgi_3.0.0\defaultAdaptor.jar;C:\eclipse\plugins\org.eclipse.osgi_3.0.0\eclipseAdaptor.jar;C:\eclipse\plugins\org.eclipse.osgi.util_3.0.0\util.jar;C:\eclipse\plugins\org.eclipse.osgi.services_3.0.0\services.jar;C:\eclipse\plugins\org.eclipse.update.configurator_3.0.0\configurator.jar;C:\eclipse\plugins\org.eclipse.emf.ecore.xmi_2.0.0\runtime\ecore.xmi.jar;C:\eclipse\plugins\org.eclipse.emf.ecore_2.0.0\runtime\ecore.jar;C:\eclipse\plugins\org.eclipse.emf.common_2.0.0\runtime\common.jar;..\org.eclipse.uml2\bin;C:\eclipse\plugins\org.eclipse.core.runtime.compatibility_3.0.0\compatibility.jar;C:\eclipse\plugins\org.eclipse.core.runtime_3.0.0\runtime.jar;C:\eclipse\plugins\org.eclipse.osgi_3.0.0\osgi.jar;C:\eclipse\plugins\org.eclipse.osgi_3.0.0\core.jar;C:\eclipse\plugins\org.eclipse.osgi_3.0.0\resolver.jar;C:\eclipse\plugins\org.eclipse.osgi_3.0.0\defaultAdaptor.jar;C:\eclipse\plugins\org.eclipse.osgi_3.0.0\eclipseAdaptor.jar;C:\eclipse\plugins\org.eclipse.osgi.util_3.0.0\util.jar;C:\eclipse\plugins\org.eclipse.osgi.services_3.0.0\services.jar;C:\eclipse\plugins\org.eclipse.update.configurator_3.0.0\configurator.jar;C:\eclipse\plugins\org.eclipse.core.resources_3.0.0\resources.jar;C:\eclipse\plugins\org.eclipse.emf.ecore_2.0.0\runtime\ecore.jar;C:\eclipse\plugins\org.eclipse.emf.common_2.0.0\runtime\common.jar;C:\eclipse\plugins\org.eclipse.emf.ecore.xmi_2.0.0\runtime\ecore.xmi.jar;C:\eclipse\plugins\org.eclipse.emf.ecore.change.edit_2.0.0\runtime\ecore.change.edit.jar;C:\eclipse\plugins\org.eclipse.emf.ecore.change_2.0.0\runtime\ecore.change.jar;C:\eclipse\plugins\org.eclipse.emf.edit_2.0.0\runtime\edit.jar;C:\eclipse\plugins\org.eclipse.emf.ecore.edit_2.0.0\runtime\ecore.edit.jar" additionalparam="-breakiterator -tag generated">
-            <link href="http://dev.eclipse.org/viewcvs/indextools.cgi/~checkout~/uml2-home/docs/javadoc/org.eclipse.uml2/"/>
-        </javadoc>
-    </target>
-</project>
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/plugin.xml b/deprecated/plugins/org.eclipse.uml2.edit/plugin.xml
index 74e6cae..625f437 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/plugin.xml
+++ b/deprecated/plugins/org.eclipse.uml2.edit/plugin.xml
@@ -12,14 +12,14 @@
  * Contributors: 
  *   IBM - Initial API and implementation
  *
- * $Id: plugin.xml,v 1.9 2004/06/19 02:53:34 khussey Exp $
+ * $Id: plugin.xml,v 1.9.2.1 2004/07/16 21:26:45 khussey Exp $
  */
 -->
 
 <plugin
    id="org.eclipse.uml2.edit"
    name="%pluginName"
-   version="1.0.0"
+   version="1.0.1"
    provider-name="%providerName"
    class="org.eclipse.uml2.provider.UML2EditPlugin$Implementation">
 
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OperationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OperationItemProvider.java
index 8c10456..a2090c2 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OperationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OperationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: OperationItemProvider.java,v 1.12 2004/06/19 01:42:37 khussey Exp $
+ * $Id: OperationItemProvider.java,v 1.12.2.1 2004/07/16 21:26:45 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -424,7 +424,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public Collection getChildrenFeatures(Object object) {
+	public Collection getChildrenFeaturesGen(Object object) {
 		if (childrenFeatures == null) {
 			super.getChildrenFeatures(object);
 			childrenFeatures.add(UML2Package.eINSTANCE.getMultiplicityElement_UpperValue());
@@ -437,6 +437,14 @@
 		return childrenFeatures;
 	}
 
+	public Collection getChildrenFeatures(Object object) {
+		if (null == childrenFeatures) {
+			getChildrenFeaturesGen(object);
+			childrenFeatures.remove(UML2Package.eINSTANCE.getBehavioralFeature_FormalParameter());
+		}
+		return childrenFeatures;
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.uml2-feature/feature.xml b/plugins/org.eclipse.uml2-feature/feature.xml
index 66d2541..8a51bd3 100644
--- a/plugins/org.eclipse.uml2-feature/feature.xml
+++ b/plugins/org.eclipse.uml2-feature/feature.xml
@@ -12,7 +12,7 @@
  * Contributors: 
  *   IBM - Initial API and implementation
  *
- * $Id: feature.xml,v 1.3.2.2 2004/07/16 20:36:19 khussey Exp $
+ * $Id: feature.xml,v 1.3.2.3 2004/07/16 21:26:34 khussey Exp $
  */
 -->
 
@@ -55,7 +55,7 @@
       id="org.eclipse.uml2.edit"
       download-size="0"
       install-size="0"
-      version="1.0.0"/>
+      version="1.0.1"/>
 
    <plugin
       id="org.eclipse.uml2.editor"
