https://bugs.eclipse.org/bugs/show_bug.cgi?id=77412
diff --git a/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/EMOF2EcoreResource.java b/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/EMOF2EcoreResource.java
index 6f5532a..755ee0f 100644
--- a/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/EMOF2EcoreResource.java
+++ b/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/EMOF2EcoreResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004 IBM Corporation and others.
+ * Copyright (c) 2004, 2005 IBM Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,12 +8,10 @@
  * Contributors:
  *   IBM - initial API and implementation
  * 
- * $Id: EMOF2EcoreResource.java,v 1.3 2005/03/15 18:54:19 khussey Exp $
+ * $Id: EMOF2EcoreResource.java,v 1.4 2005/03/15 20:28:16 khussey Exp $
  */
 package org.eclipse.uml2.examples.emof2ecore;
 
-import java.util.Map;
-
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.xmi.XMIResource;
 import org.eclipse.uml2.examples.emof2ecore.internal.EMOF2EcoreResourceFactoryImpl;
@@ -24,7 +22,7 @@
 public interface EMOF2EcoreResource
 		extends XMIResource {
 
-	public static final String copyright = "Copyright (c) 2004 IBM Corporation and others."; //$NON-NLS-1$
+	public static final String copyright = "Copyright (c) 2004, 2005 IBM Corporation and others."; //$NON-NLS-1$
 
 	public interface Factory
 			extends Resource.Factory {
@@ -33,20 +31,10 @@
 
 	}
 
-	public abstract class PostProcessor {
-
-		public void postLoad(EMOF2EcoreResource resource, Map options) {
-			// do nothing
-		}
-
-	}
-
 	public static final String EMOF_NS_URI = "http://schema.omg.org/spec/mof/2.0/emof.xmi"; //$NON-NLS-1$
 
 	public static final String FILE_EXTENSION = "emof2ecore"; //$NON-NLS-1$
 
 	public static final String DEFAULT_ENCODING = "UTF-8"; //$NON-NLS-1$
 
-	public static final String OPTION_POST_PROCESSOR = "POST_PROCESSOR"; //$NON-NLS-1$
-
 }
diff --git a/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/EMOF2EcorePostProcessor.java b/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/EMOF2EcoreResourceHandler.java
similarity index 88%
rename from deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/EMOF2EcorePostProcessor.java
rename to deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/EMOF2EcoreResourceHandler.java
index a0b5be0..c779d4f 100644
--- a/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/EMOF2EcorePostProcessor.java
+++ b/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/EMOF2EcoreResourceHandler.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004 IBM Corporation and others.
+ * Copyright (c) 2004, 2005 IBM Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,10 +8,11 @@
  * Contributors:
  *   IBM - initial API and implementation
  * 
- * $Id: EMOF2EcorePostProcessor.java,v 1.4 2005/03/15 18:54:19 khussey Exp $
+ * $Id: EMOF2EcoreResourceHandler.java,v 1.1 2005/03/15 20:28:16 khussey Exp $
  */
 package org.eclipse.uml2.examples.emof2ecore;
 
+import java.io.InputStream;
 import java.util.Iterator;
 import java.util.Map;
 
@@ -36,31 +37,30 @@
 import org.eclipse.emf.ecore.util.ExtendedMetaData;
 import org.eclipse.emf.ecore.util.FeatureMap;
 import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.ecore.xmi.impl.BasicResourceHandler;
 import org.eclipse.emf.ecore.xml.type.AnyType;
-import org.eclipse.uml2.examples.emof2ecore.EMOF2EcoreResource.PostProcessor;
 
 /**
  * 
  */
-public class EMOF2EcorePostProcessor
-		extends PostProcessor {
+public class EMOF2EcoreResourceHandler
+		extends BasicResourceHandler {
 
-	public static final String copyright = "Copyright (c) 2004 IBM Corporation and others."; //$NON-NLS-1$
+	public static final String copyright = "Copyright (c) 2004, 2005 IBM Corporation and others."; //$NON-NLS-1$
 
 	protected static final boolean DEBUG = false;
 
-	protected AnyType getExtension(EMOF2EcoreResource resource, EObject eObject) {
+	protected AnyType getExtension(XMLResource resource, EObject eObject) {
 		return (AnyType) resource.getEObjectToExtensionMap().get(eObject);
 	}
 
-	protected AnyType putExtension(EMOF2EcoreResource resource,
-			EObject eObject, AnyType extension) {
+	protected AnyType putExtension(XMLResource resource, EObject eObject,
+			AnyType extension) {
 		return (AnyType) resource.getEObjectToExtensionMap().put(eObject,
 			extension);
 	}
 
-	protected AnyType removeExtension(EMOF2EcoreResource resource,
-			EObject eObject) {
+	protected AnyType removeExtension(XMLResource resource, EObject eObject) {
 		return (AnyType) resource.getEObjectToExtensionMap().remove(eObject);
 	}
 
@@ -77,8 +77,8 @@
 		return null;
 	}
 
-	protected Object getEcoreExtension(EMOF2EcoreResource resource,
-			EObject eObject, String name) {
+	protected Object getEcoreExtension(XMLResource resource, EObject eObject,
+			String name) {
 
 		AnyType extension = getExtension(resource, eObject);
 
@@ -99,8 +99,7 @@
 		return null;
 	}
 
-	protected EStructuralFeature processProperty(
-			final EMOF2EcoreResource resource,
+	protected EStructuralFeature processProperty(final XMLResource resource,
 			EStructuralFeature eStructuralFeature) {
 
 		EcoreUtil.Copier copier = new EcoreUtil.Copier() {
@@ -184,10 +183,11 @@
 	/*
 	 * (non-Javadoc)
 	 * 
-	 * @see org.eclipse.uml2.examples.emof2ecore.EMOF2EcoreResource.PostProcessor#postLoad(org.eclipse.uml2.examples.emof2ecore.EMOF2EcoreResource,
-	 *      java.util.Map)
+	 * @see org.eclipse.emf.ecore.xmi.XMLResource.ResourceHandler#postLoad(org.eclipse.emf.ecore.xmi.XMLResource,
+	 *      java.io.InputStream, java.util.Map)
 	 */
-	public void postLoad(final EMOF2EcoreResource resource, Map options) {
+	public void postLoad(final XMLResource resource, InputStream inputStream,
+			Map options) {
 		final ExtendedMetaData extendedMetaData = (ExtendedMetaData) options
 			.get(XMLResource.OPTION_EXTENDED_META_DATA);
 
diff --git a/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/internal/EMOF2EcoreResourceFactoryImpl.java b/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/internal/EMOF2EcoreResourceFactoryImpl.java
index 60293b6..5fdea76 100644
--- a/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/internal/EMOF2EcoreResourceFactoryImpl.java
+++ b/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/internal/EMOF2EcoreResourceFactoryImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004 IBM Corporation and others.
+ * Copyright (c) 2004, 2005 IBM Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - initial API and implementation
  * 
- * $Id: EMOF2EcoreResourceFactoryImpl.java,v 1.3 2005/03/15 18:54:19 khussey Exp $
+ * $Id: EMOF2EcoreResourceFactoryImpl.java,v 1.4 2005/03/15 20:28:16 khussey Exp $
  */
 package org.eclipse.uml2.examples.emof2ecore.internal;
 
@@ -22,7 +22,7 @@
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.ecore.util.ExtendedMetaData;
 import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.uml2.examples.emof2ecore.EMOF2EcorePostProcessor;
+import org.eclipse.uml2.examples.emof2ecore.EMOF2EcoreResourceHandler;
 import org.eclipse.uml2.examples.emof2ecore.EMOF2EcoreResource;
 import org.eclipse.uml2.mapping.ecore2xml.Ecore2XMLPackage;
 import org.eclipse.uml2.mapping.ecore2xml.Ecore2XMLRegistry;
@@ -37,7 +37,7 @@
 		extends ResourceFactoryImpl
 		implements EMOF2EcoreResource.Factory {
 
-	public static final String copyright = "Copyright (c) 2004 IBM Corporation and others."; //$NON-NLS-1$
+	public static final String copyright = "Copyright (c) 2004, 2005 IBM Corporation and others."; //$NON-NLS-1$
 
 	/**
 	 * Creates an instance of the resource factory.
@@ -85,8 +85,8 @@
 			XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
 
 		resource.getDefaultLoadOptions().put(
-			EMOF2EcoreResource.OPTION_POST_PROCESSOR,
-			new EMOF2EcorePostProcessor());
+			XMLResource.OPTION_RESOURCE_HANDLER,
+			new EMOF2EcoreResourceHandler());
 
 		return resource;
 	}
diff --git a/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/internal/EMOF2EcoreResourceImpl.java b/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/internal/EMOF2EcoreResourceImpl.java
index 40e1c96..cc2f13f 100644
--- a/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/internal/EMOF2EcoreResourceImpl.java
+++ b/deprecated/examples/org.eclipse.uml2.examples.emof2ecore/src/org/eclipse/uml2/examples/emof2ecore/internal/EMOF2EcoreResourceImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004 IBM Corporation and others.
+ * Copyright (c) 2004, 2005 IBM Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,14 +8,10 @@
  * Contributors:
  *   IBM - initial API and implementation
  * 
- * $Id: EMOF2EcoreResourceImpl.java,v 1.3 2005/03/15 18:54:19 khussey Exp $
+ * $Id: EMOF2EcoreResourceImpl.java,v 1.4 2005/03/15 20:28:16 khussey Exp $
  */
 package org.eclipse.uml2.examples.emof2ecore.internal;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Map;
-
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
 import org.eclipse.uml2.examples.emof2ecore.EMOF2EcoreResource;
@@ -29,7 +25,7 @@
 		extends XMIResourceImpl
 		implements EMOF2EcoreResource {
 
-	public static final String copyright = "Copyright (c) 2004 IBM Corporation and others."; //$NON-NLS-1$
+	public static final String copyright = "Copyright (c) 2004, 2005 IBM Corporation and others."; //$NON-NLS-1$
 
 	/**
 	 * Creates an instance of the resource.
@@ -41,23 +37,4 @@
 		super(uri);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.resource.impl.ResourceImpl#doLoad(java.io.InputStream,
-	 *      java.util.Map)
-	 */
-	public void doLoad(InputStream inputStream, Map options)
-			throws IOException {
-
-		super.doLoad(inputStream, options);
-
-		PostProcessor postProcessor = (PostProcessor) options
-			.get(OPTION_POST_PROCESSOR);
-
-		if (null != postProcessor) {
-			postProcessor.postLoad(this, options);
-		}
-	}
-
 } // EMOF2EcoreResourceImpl