refactoring REMOVE UNUSED INTERFACE added
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringController$1.class b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringController$1.class
new file mode 100644
index 0000000..a14e52b
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringController$1.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringController$InternalRefactoringProcessor.class b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringController$InternalRefactoringProcessor.class
new file mode 100644
index 0000000..79d0a35
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringController$InternalRefactoringProcessor.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringController.class b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringController.class
new file mode 100644
index 0000000..ce5b7db
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringController.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringDataManagement.class b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringDataManagement.class
new file mode 100644
index 0000000..c3d26a8
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringDataManagement.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringGuiHandler.class b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringGuiHandler.class
new file mode 100644
index 0000000..0a5c965
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringGuiHandler.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringInformation.class b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringInformation.class
new file mode 100644
index 0000000..da8dba5
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringInformation.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringTest$1.class b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringTest$1.class
new file mode 100644
index 0000000..bdb4375
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringTest$1.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringTest.class b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringTest.class
new file mode 100644
index 0000000..5a857ec
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringTest.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringWizard.class b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringWizard.class
new file mode 100644
index 0000000..0599e41
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringWizard.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringWizardPage.class b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringWizardPage.class
new file mode 100644
index 0000000..55d5cdb
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/bin/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringWizardPage.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/plugin.xml b/org.eclipse.emf.refactor.refactorings.uml24.henshin/plugin.xml
index 6e34dfd..de112a2 100644
--- a/org.eclipse.emf.refactor.refactorings.uml24.henshin/plugin.xml
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/plugin.xml
@@ -8,6 +8,12 @@
       menulabel="Hide Attribute"

       namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML"/>

 <refactoring 

+	  controller="org.eclipse.emf.refactor.refactorings.uml24.removeunusedinterface.RefactoringController" 

+	  gui="org.eclipse.emf.refactor.refactorings.uml24.removeunusedinterface.RefactoringGuiHandler" 

+	  id="org.eclipse.emf.refactor.refactorings.uml24.removeunusedinterface" 

+	  menulabel="Remove Unused Interface" 

+	  namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML"/>

+<refactoring 

 	  controller="org.eclipse.emf.refactor.refactorings.uml24.renameattribute.RefactoringController" 

 	  gui="org.eclipse.emf.refactor.refactorings.uml24.renameattribute.RefactoringGuiHandler" 

 	  id="org.eclipse.emf.refactor.refactorings.uml24.renameattribute" 

diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringController.java b/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringController.java
new file mode 100644
index 0000000..2a9157c
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringController.java
@@ -0,0 +1,173 @@
+/**

+ * <copyright>

+ * </copyright>

+ *

+ * $Id: RefactoringControllerHenshin.javajet,v 1.1 2010/07/15 13:09:58 tarendt Exp $

+ */

+ package org.eclipse.emf.refactor.refactorings.uml24.removeunusedinterface;

+

+import java.util.ArrayList;

+import java.util.List;

+

+import org.eclipse.emf.ecore.EObject;

+import org.eclipse.emf.refactor.refactoring.core.Refactoring;

+import org.eclipse.emf.refactor.refactoring.henshin.interfaces.IHenshinController;

+import org.eclipse.emf.refactor.refactoring.henshin.interfaces.IHenshinDataManagement;

+import org.eclipse.emf.refactor.refactoring.henshin.managers.HenshinRuntimeManager;

+import org.eclipse.emf.refactor.refactoring.henshin.runtime.HenshinLtkEmfRefactoringProcessorAdapter;

+import org.eclipse.ltk.core.refactoring.participants.RefactoringProcessor;

+

+/**

+ * Concrete EMF model refactoring class implementing IHenshinController. 

+ * @generated

+ */

+public final class RefactoringController implements IHenshinController{

+

+	/**

+	 * Refactoring supported by the controller.

+	 * @generated

+	 */

+	private Refactoring parent;

+	

+	/**

+	 * DataManagement object of the model refactoring.

+	 * @generated

+	 */

+	private RefactoringDataManagement dataManagement = 

+									new RefactoringDataManagement();

+									

+	/**

+	 * Invocation context of the model refactoring.

+	 * @generated

+	 */								

+	private List<EObject> selection = new ArrayList<EObject>();

+	

+	/**

+	 * HenshinRuntimeManager that executes Henshin transformations using 

+	 * the Henshin interpreter.

+	 * @generated

+	 */

+	private HenshinRuntimeManager henshinRuntimeManager = 

+					new HenshinRuntimeManager(new ArrayList<EObject>(0), dataManagement);

+	

+	/**

+	 * Ltk RefactoringProcessor of the model refactoring.

+	 * @generated

+	 */

+	private InternalRefactoringProcessor refactoringProcessor = null;

+	

+	/**

+	 * Gets the Refactoring supported by the controller.

+	 * @return Refactoring supported by the controller.

+	 * @see org.eclipse.emf.refactor.common.core.IController#getParent()

+	 * @generated

+	 */

+	@Override

+	public Refactoring getParent() {

+		return this.parent;

+	}

+	

+	/**

+	 * Sets the Refactoring supported by the controller.

+	 * @param emfRefactoring Refactoring supported by the controller.

+	 * @see org.eclipse.emf.refactor.common.core.IController#

+	 * setParent(org.eclipse.emf.refactor.common.core.Refactoring)

+	 * @generated

+	 */

+	@Override

+	public void setParent(Refactoring emfRefactoring) {

+		this.parent = emfRefactoring;

+	}

+	

+	/**

+	 * Returns the DataManagement object of the model refactoring.

+	 * @return DataManagement object of the model refactoring.

+	 * @see org.eclipse.emf.refactor.henshin.core.IHenshinController#

+	 * getDataManagementObject()

+	 * @generated

+	 */

+	@Override

+	public IHenshinDataManagement getDataManagementObject() {

+		return this.dataManagement;

+	}

+	

+	/**

+	 * Gets a HenshinRuntimeManager that executes Henshin transformations using 

+	 * the Henshin interpreter.

+	 * @return HenshinRuntimeManager that executes Henshin transformations using 

+	 * the Henshin interpreter.

+	 * @see org.eclipse.emf.refactor.henshin.core.IHenshinController#

+	 * getHenshinRuntimeManager()

+	 * @generated

+	 */

+	@Override

+	public HenshinRuntimeManager getHenshinRuntimeManager() {

+		return this.henshinRuntimeManager;

+	}

+

+	/**

+	 * Returns the ltk RefactoringProcessor of the model refactoring.

+	 * @return Ltk RefactoringProcessor of the model refactoring.

+	 * @see org.eclipse.emf.refactor.common.core.IController#

+	 * getLtkRefactoringProcessor()

+	 * @generated

+	 */

+	@Override

+	public RefactoringProcessor getLtkRefactoringProcessor() {

+		return this.refactoringProcessor;

+	}

+	

+	/**

+	 * Sets the selected EObject (invocation context of the model refactoring).

+	 * @param selection Invocation context of the model refactoring.

+	 * @see org.eclipse.emf.refactor.common.core.IController#

+	 * setSelection(java.util.List)

+	 * @generated

+	 */

+	@Override

+	public void setSelection(List<EObject> selection) {

+		this.selection = selection;

+		this.henshinRuntimeManager = new HenshinRuntimeManager(this.selection, this.dataManagement);

+		this.refactoringProcessor = 

+				new InternalRefactoringProcessor(this.selection);

+	}	

+	

+	/**

+	 * Returns a Runnable object that executes the model refactoring.

+	 * @return Runnable object that executes the model refactoring.

+	 * @generated

+	 */

+	private Runnable applyRefactoring() {

+		return new Runnable() {				

+			/**

+			 * @see java.lang.Runnable#run()

+			 * @generated

+			 */

+			@Override

+			public void run() {

+				henshinRuntimeManager = new HenshinRuntimeManager(selection, dataManagement);

+				henshinRuntimeManager.run();

+			}

+		};

+	}

+

+	/**

+	 * Internal class for providing an instance of a LTK RefactoringProcessor 

+	 * used for EMF model refactorings using Henshin transformations.	 

+	 * @generated

+	 */

+	public final class InternalRefactoringProcessor extends 

+									HenshinLtkEmfRefactoringProcessorAdapter {

+

+		/**

+		 * Constructor using the invocation context of the model refactoring.

+		 * @param selection Invocation context of the model refactoring.

+		 * @generated

+		 */

+		private InternalRefactoringProcessor(List<EObject> selection){

+				super(getParent(), selection, applyRefactoring());				

+		}

+		

+	}

+

+}
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringDataManagement.java b/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringDataManagement.java
new file mode 100644
index 0000000..59d239c
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringDataManagement.java
@@ -0,0 +1,123 @@
+/**

+ * <copyright>

+ * </copyright>

+ *

+ * $Id: RefactoringDataManagementHenshin.javajet,v 1.1 2010/07/15 13:09:58 tarendt Exp $

+ */

+ package org.eclipse.emf.refactor.refactorings.uml24.removeunusedinterface;

+

+import java.util.List;

+

+import org.eclipse.emf.ecore.EObject;

+import org.eclipse.emf.refactor.refactoring.core.Port;

+import org.eclipse.emf.refactor.refactoring.henshin.interfaces.IHenshinDataManagement;

+import org.eclipse.emf.refactor.refactoring.henshin.interfaces.IHenshinInformation;

+import org.eclipse.emf.refactor.refactoring.runtime.DataManagementAdapter;

+

+/**

+ * Class for specific data concerning a model refactoring.

+ * @generated

+ */

+public class RefactoringDataManagement extends DataManagementAdapter 

+											implements IHenshinDataManagement {

+

+	private final String SELECTEDEOBJECT = "selectedEObject";

+	

+	/**

+	 * HenshinInformation object used for checking the initial

+	 * conditions of the EMF model refactoring.

+	 * @generated

+	 */

+	private RefactoringInformation initialConditionsInformation = 

+								new RefactoringInformation(this);

+								

+	/**

+	 * HenshinInformation object used for checking the final

+	 * conditions of the EMF model refactoring.

+	 * @generated

+	 */							

+	private RefactoringInformation finalConditionsInformation = 

+								new RefactoringInformation(this);

+								

+	/**

+	 * HenshinInformation object used for executing the EMF 

+	 * model refactoring.

+	 * @generated

+	 */							

+	private RefactoringInformation createChangeInformation = 

+								new RefactoringInformation(this);

+

+	/**

+	 * Default constructor.

+	 * @generated

+	 */

+	public RefactoringDataManagement() {

+		this.addPorts();

+		this.addInformation();

+	}

+	

+	/**

+	 * Adds the ports to the data management used for parameter passing.

+	 * @generated

+	 */

+	private void addPorts(){

+		this.inPorts.add

+			(new Port<org.eclipse.uml2.uml.Interface>

+				(SELECTEDEOBJECT, org.eclipse.uml2.uml.Interface.class));		

+	}

+	

+	/**

+	 * Adds the Henshin informations to the data management.

+	 * @generated

+	 */

+	private void addInformation() {		

+		this.initialConditionsInformation.

+				setTransformationFileName("remove_unused_interface_initial");					

+		this.createChangeInformation.

+				setTransformationFileName("remove_unused_interface_execute");

+	}

+	

+	/**

+	 * @see org.eclipse.emf.refactor.henshin.core.IHenshinDataManagement#

+	 * getCreateChangeHenshinInformation()

+	 * @generated

+	 */

+	@Override

+	public IHenshinInformation getCreateChangeHenshinInformation() {

+		return this.createChangeInformation;

+	}

+

+	/**

+	 * @see org.eclipse.emf.refactor.henshin.core.IHenshinDataManagement#

+	 * getFinalConditionsHenshinInformation()

+	 * @generated

+	 */

+	@Override

+	public IHenshinInformation getFinalConditionsHenshinInformation() {

+		return this.finalConditionsInformation;

+	}

+

+	/**

+	 * @see org.eclipse.emf.refactor.henshin.core.IHenshinDataManagement#

+	 * getInitialConditionsHenshinInformation()

+	 * @generated

+	 */

+	@Override

+	public IHenshinInformation getInitialConditionsHenshinInformation() {

+		return this.initialConditionsInformation;

+	}

+	

+	/**

+	 * @see org.eclipse.emf.refactor.common.core.IDataManagement#

+	 * preselect(java.util.List)

+	 * @generated

+	 */

+	@SuppressWarnings("unchecked")

+	@Override

+	public void preselect(List<EObject> selection) {

+		getInPortByName(SELECTEDEOBJECT).

+				setValue((org.eclipse.uml2.uml.Interface) selection.get(0));

+	}

+

+}

+	
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringGuiHandler.java b/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringGuiHandler.java
new file mode 100644
index 0000000..f0073bf
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringGuiHandler.java
@@ -0,0 +1,75 @@
+/**

+ * <copyright>

+ * </copyright>

+ *

+ * $Id: RefactoringGuiHandlerHenshin.javajet,v 1.1 2010/07/15 13:09:58 tarendt Exp $

+ */

+ package org.eclipse.emf.refactor.refactorings.uml24.removeunusedinterface;

+

+import java.util.List;

+

+import org.eclipse.emf.ecore.EObject;

+import org.eclipse.emf.refactor.refactoring.core.Refactoring;

+import org.eclipse.emf.refactor.refactoring.interfaces.IGuiHandler;

+import org.eclipse.ltk.ui.refactoring.RefactoringWizard;

+

+/**

+ * Class used for specifying gui topics of a specific model refactoring.

+ * @generated

+ */

+public class RefactoringGuiHandler implements IGuiHandler {

+

+	/**

+	 * Refactoring supported by the GuiHandler.

+	 * @generated

+	 */

+	Refactoring parent;

+	

+	/**

+	 * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#getParent()

+	 * @generated

+	 */

+	@Override

+	public Refactoring getParent() {

+		return parent;

+	}

+

+	/**

+	 * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#

+	 * setParent(org.eclipse.emf.refactor.common.core.Refactoring)

+	 * @generated

+	 */

+	@Override

+	public void setParent(Refactoring emfRefactoring) {

+		this.parent = emfRefactoring;

+	}

+		

+	/**

+	 * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#show()

+	 * @generated

+	 */

+	@Override

+	public RefactoringWizard show() {

+		return new org.eclipse.emf.refactor.refactorings.uml24.removeunusedinterface.RefactoringWizard

+		((RefactoringController)this.parent.getController());

+	}

+	

+	/**

+	 * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#

+	 * showInMenu(java.util.List)

+	 * @generated

+	 */

+	@Override

+	public boolean showInMenu(List<EObject> selection) {

+		for(EObject o:selection){

+			if(null != o){

+				if (o instanceof org.eclipse.uml2.uml.Interface) {

+					return true;

+				}

+			} 

+		}

+		return false;

+	}

+

+}	

+	
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringInformation.java b/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringInformation.java
new file mode 100644
index 0000000..4ae27f2
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringInformation.java
@@ -0,0 +1,79 @@
+/**

+ * <copyright>

+ * </copyright>

+ *

+ * $Id: RefactoringInformationHenshin.javajet,v 1.2 2011/03/16 14:39:16 tarendt Exp $

+ */

+ package org.eclipse.emf.refactor.refactorings.uml24.removeunusedinterface;

+

+import java.io.File;

+

+import org.eclipse.core.runtime.FileLocator;

+import org.eclipse.core.runtime.Platform;

+import org.eclipse.emf.refactor.refactoring.henshin.interfaces.IHenshinDataManagement;

+import org.eclipse.emf.refactor.refactoring.henshin.runtime.HenshinInformationAdapter;

+import org.eclipse.emf.refactor.refactorings.uml24.henshin.Activator;

+import org.osgi.framework.Bundle;

+

+/**

+ * Class used for specifying a Henshin file that shall be used by

+ * a specific EMF model refactoring.

+ * @generated

+ */

+public class RefactoringInformation extends HenshinInformationAdapter {

+	

+	/**

+	 * HenshinDataManagement object of the specific EMF model refactoring.

+	 * @generated

+	 */

+	private RefactoringDataManagement dataManagement;

+	

+	/**

+	 * Default constructor using a RefactoringDataManagement object.

+	 * @param dataManagement HenshinDataManagement object of the specific 

+	 * EMF model refactoring.

+	 * @generated

+	 */

+	public RefactoringInformation

+				(RefactoringDataManagement dataManagement) {

+		super();

+		this.dataManagement = dataManagement;

+	}

+

+	/**

+	 * @see org.eclipse.emf.refactor.henshin.core.IHenshinInformation#

+	 * getHenshinDataManagement()

+	 * @generated

+	 */

+	@Override

+	public IHenshinDataManagement getHenshinDataManagement() {

+		return this.dataManagement;

+	}

+	

+	/**

+	 * @see org.eclipse.emf.refactor.henshin.runtime.

+	 * HenshinInformationAdapter#getTransformationFileName()

+	 * @generated

+	 */

+	@Override

+	public String getTransformationFileName() {

+		String emtPath = "";

+		final Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);

+		try {

+			if (bundle != null) {

+    			emtPath = FileLocator.toFileURL

+       					(bundle.getEntry("transformation")).getFile();

+    			emtPath += this.transformationFileName;

+   			} else {

+    			emtPath = new File(".").getCanonicalPath()

+       									+ "\\transformation\\"

+       									+ this.transformationFileName;

+   			}

+		} catch (Exception e) {

+			e.printStackTrace();

+		}		

+		System.out.println(emtPath);

+		return emtPath;

+	}

+

+}
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringTest.java b/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringTest.java
new file mode 100644
index 0000000..182017b
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringTest.java
@@ -0,0 +1,101 @@
+/**

+ * <copyright>

+ * </copyright>

+ *

+ * $Id: RefactoringTestHenshin.javajet,v 1.2 2011/03/16 16:14:22 tarendt Exp $

+ */

+ 

+package org.eclipse.emf.refactor.refactorings.uml24.removeunusedinterface;

+

+import java.io.File;

+import java.io.FilenameFilter;

+import java.io.IOException;

+import java.util.ArrayList;

+import java.util.Arrays;

+import java.util.Collection;

+import java.util.List;

+

+import org.eclipse.emf.ecore.resource.Resource;

+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;

+import org.eclipse.emf.henshin.model.HenshinPackage;

+import org.eclipse.emf.refactor.refactoring.core.Refactoring;

+import org.eclipse.emf.refactor.refactoring.runtime.test.JUnitTestCaseAdapter;

+import org.eclipse.uml2.uml.UMLPackage;

+import org.junit.Test;

+import org.junit.runner.RunWith;

+import org.junit.runners.Parameterized;

+import org.junit.runners.Parameterized.Parameters;

+

+/**

+ * Class used for running individual JUnit test cases

+ * of the specific model refactoring.

+ * @generated

+ */

+@RunWith(value = Parameterized.class)

+public class RefactoringTest extends JUnitTestCaseAdapter {

+

+	/**

+	 * Number of test cases.

+	 * @generated

+	 */

+	private String number;

+

+	/**

+	 * Constructor implementation.

+	 * @param number Number of test cases.

+	 * @generated

+	 */

+	public RefactoringTest(String number) throws IOException {

+		super("ecmfa.removeunusedinterface",

+			"uml",

+			new File(".").getCanonicalPath(),

+			new Refactoring(null, "", "http://www.eclipse.org/uml2/3.0.0/UML", new RefactoringGuiHandler(), new RefactoringController()));

+		register(UMLPackage.eINSTANCE);

+		register(HenshinPackage.eINSTANCE);

+		Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put("henshin", new XMIResourceFactoryImpl());

+		this.number = number;

+	}

+

+	@Parameters

+	public static Collection<Object[]> data() {

+		List<String> testNumbers = getTestNumbers();

+		Object[][] data = new Object[testNumbers.size()][1];

+		for (int i = 0; i < testNumbers.size(); i++) {

+			data[i][0] = testNumbers.get(i);

+		}

+		return Arrays.asList(data);

+	}

+	

+	private static List<String> getTestNumbers() {

+		List<String> numbers = new ArrayList<String>();

+		try {

+			String pathPrefix = new File(".").getCanonicalPath() + "/tests/" + "ecmfa.removeunusedinterface";

+			File testCaseDir = new File(pathPrefix,"/");

+			FilenameFilter filter = new FilenameFilter() {

+				public boolean accept(File dir, String name) {

+					return name.startsWith("test_");

+				}

+			};

+			String[] children = testCaseDir.list(filter);

+			if (children != null) {

+				for (String child : children) {

+					numbers.add(

+							child.substring(

+									child.indexOf('_') + 1));

+					}

+				}

+			} catch (IOException e) {

+				e.printStackTrace();

+			}

+		return numbers;

+	}

+	

+	/**

+	 * Runs the test.

+	 */

+	@Test

+	public void test(){

+		System.out.println("running test test_" + number);

+		executeTestCase(number);

+	}

+}
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringWizard.java b/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringWizard.java
new file mode 100644
index 0000000..98314fc
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringWizard.java
@@ -0,0 +1,40 @@
+/**

+ * <copyright>

+ * </copyright>

+ *

+ * $Id: RefactoringWizardHenshin.javajet,v 1.1 2010/07/15 13:09:58 tarendt Exp $

+ */

+ package org.eclipse.emf.refactor.refactorings.uml24.removeunusedinterface;

+

+import org.eclipse.emf.refactor.refactoring.interfaces.IController;

+import org.eclipse.emf.refactor.refactoring.runtime.ltk.ui.AbstractRefactoringWizard;

+

+/**

+ * Class used for providing an implementation of an LTK

+ * RefactoringWizard in EMF Refactor.

+ * @generated

+ */

+public class RefactoringWizard 

+    extends AbstractRefactoringWizard {

+	

+	/**

+	 * Default constructor implementation.

+	 * @param controller Controller of the EMF model refactoring.

+	 * @generated

+	 */					

+	public RefactoringWizard(IController controller) {

+		super(controller);

+	}

+

+	/**

+	 * @see org.eclipse.ltk.ui.refactoring.RefactoringWizard#

+	 * addUserInputPages()

+	 * @generated

+	 */

+	@Override

+	protected void addUserInputPages() {

+		addPage(new RefactoringWizardPage

+			(controller.getParent().getName(), (RefactoringController)controller));

+	}

+

+}
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringWizardPage.java b/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringWizardPage.java
new file mode 100644
index 0000000..195d6b5
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/src/org/eclipse/emf/refactor/refactorings/uml24/removeunusedinterface/RefactoringWizardPage.java
@@ -0,0 +1,81 @@
+/**

+ * <copyright>

+ * </copyright>

+ *

+ * $Id: RefactoringWizardPageHenshin.javajet,v 1.1 2010/07/15 13:09:58 tarendt Exp $

+ */

+package org.eclipse.emf.refactor.refactorings.uml24.removeunusedinterface;

+

+import java.util.List;

+

+import org.eclipse.emf.refactor.refactoring.runtime.ltk.ui.AbstractRefactoringWizard;

+import org.eclipse.emf.refactor.refactoring.runtime.ui.IInputPageButtonCreator;

+import org.eclipse.emf.refactor.refactoring.runtime.ui.InputPageButtonLoader;

+import org.eclipse.ltk.ui.refactoring.UserInputWizardPage;

+import org.eclipse.swt.SWT;

+import org.eclipse.swt.layout.GridLayout;

+import org.eclipse.swt.widgets.Composite;

+import org.eclipse.swt.widgets.Event;

+import org.eclipse.swt.widgets.Listener;

+

+/**

+ * Class for setting model refactoring specific parameters

+ * by the user.

+ * @generated

+ */

+public class RefactoringWizardPage extends 

+				UserInputWizardPage implements Listener {

+				

+	/**

+	 * Controller of the EMF model refactoring.

+	 * @generated

+	 */			

+	private final RefactoringController controller;

+	

+

+	/**

+	 * Default constructor using a name and the controller of the 

+	 * EMF model refactoring.

+	 * @param name Name of the WizardPage.

+	 * @param controller Controller of the EMF model refactoring.

+	 * @generated

+	 */

+	public RefactoringWizardPage

+		(String name, RefactoringController controller) {

+		super(name);

+		this.controller = controller;

+	}

+

+	/**

+	 * @see org.eclipse.swt.widgets.Listener#

+	 * handleEvent(org.eclipse.swt.widgets.Event)

+	 * @generated

+	 */

+	@Override

+	public void handleEvent(Event event) {

+		getWizard().getContainer().updateButtons();

+	}

+	

+	/**

+	 * @see org.eclipse.jface.dialogs.IDialogPage#

+	 * createControl(org.eclipse.swt.widgets.Composite)

+	 * @generated

+	 */

+	@Override

+	public void createControl(Composite parent) {

+		Composite composite = new Composite(parent, SWT.NONE);

+		GridLayout gl = new GridLayout();

+		gl.numColumns = 2;

+		composite.setLayout(gl);

+		

+	

+		List<IInputPageButtonCreator> buttonCreators = InputPageButtonLoader.iNSTANCE.getInputPageButtonCreatorClasses();

+		for(IInputPageButtonCreator creator : buttonCreators){

+			creator.createButton(composite, controller, (AbstractRefactoringWizard)this.getWizard());

+		}

+		

+		setControl(composite);

+	}

+	

+}

+	
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/transformation/remove_unused_interface_execute.henshin b/org.eclipse.emf.refactor.refactorings.uml24.henshin/transformation/remove_unused_interface_execute.henshin
new file mode 100644
index 0000000..70f93d6
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/transformation/remove_unused_interface_execute.henshin
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<henshin:Module xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmi:id="_vVPIUKKuEeKVq9bLGfaZZA">

+  <imports href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>

+  <units xsi:type="henshin:Rule" xmi:id="_9Hnh0L-bEeGJIaNLXOZ3NA" name="mainUnit" checkDangling="false">

+    <parameters xmi:id="_pw1hEL-gEeGJIaNLXOZ3NA" name="selectedEObject"/>

+    <lhs xmi:id="_9Hnh0b-bEeGJIaNLXOZ3NA" name="LHS">

+      <nodes xmi:id="_KjhtUL-cEeGJIaNLXOZ3NA" name="owningPackage" outgoing="_RDuD4L-cEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>

+      </nodes>

+      <nodes xmi:id="_M8ODAL-cEeGJIaNLXOZ3NA" name="selectedEObject" incoming="_RDuD4L-cEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/>

+      </nodes>

+      <edges xmi:id="_RDuD4L-cEeGJIaNLXOZ3NA" source="_KjhtUL-cEeGJIaNLXOZ3NA" target="_M8ODAL-cEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>

+      </edges>

+    </lhs>

+    <rhs xmi:id="_9Hnh0r-bEeGJIaNLXOZ3NA" name="RHS">

+      <nodes xmi:id="_KjhtUb-cEeGJIaNLXOZ3NA" name="owningPackage">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>

+      </nodes>

+    </rhs>

+    <mappings xmi:id="_KjhtUr-cEeGJIaNLXOZ3NA" origin="_KjhtUL-cEeGJIaNLXOZ3NA" image="_KjhtUb-cEeGJIaNLXOZ3NA"/>

+  </units>

+</henshin:Module>

diff --git a/org.eclipse.emf.refactor.refactorings.uml24.henshin/transformation/remove_unused_interface_initial.henshin b/org.eclipse.emf.refactor.refactorings.uml24.henshin/transformation/remove_unused_interface_initial.henshin
new file mode 100644
index 0000000..817fa67
--- /dev/null
+++ b/org.eclipse.emf.refactor.refactorings.uml24.henshin/transformation/remove_unused_interface_initial.henshin
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<henshin:Module xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmi:id="_h14nQKKuEeKVq9bLGfaZZA">

+  <imports href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>

+  <units xsi:type="henshin:Rule" xmi:id="_9Hnh0L-bEeGJIaNLXOZ3NA" description="The interface has an implementing class!" name="hasRealization">

+    <parameters xmi:id="_ZkW18L-hEeGJIaNLXOZ3NA" name="unusedInterface"/>

+    <lhs xmi:id="_9Hnh0b-bEeGJIaNLXOZ3NA" name="LHS">

+      <nodes xmi:id="_KjhtUL-cEeGJIaNLXOZ3NA" name="owningPackage" outgoing="_RDuD4L-cEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>

+      </nodes>

+      <nodes xmi:id="_M8ODAL-cEeGJIaNLXOZ3NA" name="unusedInterface" incoming="_RDuD4L-cEeGJIaNLXOZ3NA _PXfWIL-dEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/>

+      </nodes>

+      <nodes xmi:id="_1GtXsL-hEeGJIaNLXOZ3NA" incoming="_Acq8oL-dEeGJIaNLXOZ3NA" outgoing="_PXfWIL-dEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//InterfaceRealization"/>

+      </nodes>

+      <nodes xmi:id="_4zCRwL-cEeGJIaNLXOZ3NA" name="realizingClass" outgoing="_Acq8oL-dEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>

+      </nodes>

+      <edges xmi:id="_RDuD4L-cEeGJIaNLXOZ3NA" source="_KjhtUL-cEeGJIaNLXOZ3NA" target="_M8ODAL-cEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>

+      </edges>

+      <edges xmi:id="_Acq8oL-dEeGJIaNLXOZ3NA" source="_4zCRwL-cEeGJIaNLXOZ3NA" target="_1GtXsL-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioredClassifier/interfaceRealization"/>

+      </edges>

+      <edges xmi:id="_PXfWIL-dEeGJIaNLXOZ3NA" source="_1GtXsL-hEeGJIaNLXOZ3NA" target="_M8ODAL-cEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//InterfaceRealization/contract"/>

+      </edges>

+    </lhs>

+    <rhs xmi:id="_9Hnh0r-bEeGJIaNLXOZ3NA" name="RHS">

+      <nodes xmi:id="_KjhtUb-cEeGJIaNLXOZ3NA" name="owningPackage" outgoing="_RDuD4b-cEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>

+      </nodes>

+      <nodes xmi:id="_M8ODAb-cEeGJIaNLXOZ3NA" name="unusedInterface" incoming="_RDuD4b-cEeGJIaNLXOZ3NA _19fOsL-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/>

+      </nodes>

+      <nodes xmi:id="_1HFyML-hEeGJIaNLXOZ3NA" name="realizingClass" outgoing="_1HMf4L-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>

+      </nodes>

+      <nodes xmi:id="_1HL40L-hEeGJIaNLXOZ3NA" incoming="_1HMf4L-hEeGJIaNLXOZ3NA" outgoing="_19fOsL-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//InterfaceRealization"/>

+      </nodes>

+      <edges xmi:id="_RDuD4b-cEeGJIaNLXOZ3NA" source="_KjhtUb-cEeGJIaNLXOZ3NA" target="_M8ODAb-cEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>

+      </edges>

+      <edges xmi:id="_1HMf4L-hEeGJIaNLXOZ3NA" source="_1HFyML-hEeGJIaNLXOZ3NA" target="_1HL40L-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioredClassifier/interfaceRealization"/>

+      </edges>

+      <edges xmi:id="_19fOsL-hEeGJIaNLXOZ3NA" source="_1HL40L-hEeGJIaNLXOZ3NA" target="_M8ODAb-cEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//InterfaceRealization/contract"/>

+      </edges>

+    </rhs>

+    <mappings xmi:id="_KjhtUr-cEeGJIaNLXOZ3NA" origin="_KjhtUL-cEeGJIaNLXOZ3NA" image="_KjhtUb-cEeGJIaNLXOZ3NA"/>

+    <mappings xmi:id="_M8ODAr-cEeGJIaNLXOZ3NA" origin="_M8ODAL-cEeGJIaNLXOZ3NA" image="_M8ODAb-cEeGJIaNLXOZ3NA"/>

+    <mappings xmi:id="_1HFyMb-hEeGJIaNLXOZ3NA" origin="_4zCRwL-cEeGJIaNLXOZ3NA" image="_1HFyML-hEeGJIaNLXOZ3NA"/>

+    <mappings xmi:id="_1HL40b-hEeGJIaNLXOZ3NA" origin="_1GtXsL-hEeGJIaNLXOZ3NA" image="_1HL40L-hEeGJIaNLXOZ3NA"/>

+  </units>

+  <units xsi:type="henshin:Rule" xmi:id="_SLxe0L-hEeGJIaNLXOZ3NA" description="The interface has an using class!" name="hasUsage">

+    <parameters xmi:id="_bWOcML-hEeGJIaNLXOZ3NA" name="unusedInterface"/>

+    <lhs xmi:id="_SLxe0b-hEeGJIaNLXOZ3NA" name="LHS">

+      <nodes xmi:id="_SLxe0r-hEeGJIaNLXOZ3NA" name="owningPackage" outgoing="_SLxe1L-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>

+      </nodes>

+      <nodes xmi:id="_SLxe07-hEeGJIaNLXOZ3NA" name="unusedInterface" incoming="_SLxe1L-hEeGJIaNLXOZ3NA _SLxe5b-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/>

+      </nodes>

+      <nodes xmi:id="_6L0QUL-hEeGJIaNLXOZ3NA" outgoing="_SLxe5L-hEeGJIaNLXOZ3NA _SLxe5b-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Usage"/>

+      </nodes>

+      <nodes xmi:id="_SLxe4r-hEeGJIaNLXOZ3NA" name="usingClass" incoming="_SLxe5L-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>

+      </nodes>

+      <edges xmi:id="_SLxe1L-hEeGJIaNLXOZ3NA" source="_SLxe0r-hEeGJIaNLXOZ3NA" target="_SLxe07-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>

+      </edges>

+      <edges xmi:id="_SLxe5L-hEeGJIaNLXOZ3NA" source="_6L0QUL-hEeGJIaNLXOZ3NA" target="_SLxe4r-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Dependency/client"/>

+      </edges>

+      <edges xmi:id="_SLxe5b-hEeGJIaNLXOZ3NA" source="_6L0QUL-hEeGJIaNLXOZ3NA" target="_SLxe07-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Dependency/supplier"/>

+      </edges>

+    </lhs>

+    <rhs xmi:id="_SLxe77-hEeGJIaNLXOZ3NA" name="RHS">

+      <nodes xmi:id="_SLxe8L-hEeGJIaNLXOZ3NA" name="owningPackage" outgoing="_SLxe8r-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>

+      </nodes>

+      <nodes xmi:id="_SLxe8b-hEeGJIaNLXOZ3NA" name="unusedInterface" incoming="_SLxe8r-hEeGJIaNLXOZ3NA _615IEL-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/>

+      </nodes>

+      <nodes xmi:id="_6MGkML-hEeGJIaNLXOZ3NA" name="usingClass" incoming="_6MMq0L-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>

+      </nodes>

+      <nodes xmi:id="_6MGkMr-hEeGJIaNLXOZ3NA" outgoing="_6MMq0L-hEeGJIaNLXOZ3NA _615IEL-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Usage"/>

+      </nodes>

+      <edges xmi:id="_SLxe8r-hEeGJIaNLXOZ3NA" source="_SLxe8L-hEeGJIaNLXOZ3NA" target="_SLxe8b-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>

+      </edges>

+      <edges xmi:id="_6MMq0L-hEeGJIaNLXOZ3NA" source="_6MGkMr-hEeGJIaNLXOZ3NA" target="_6MGkML-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Dependency/client"/>

+      </edges>

+      <edges xmi:id="_615IEL-hEeGJIaNLXOZ3NA" source="_6MGkMr-hEeGJIaNLXOZ3NA" target="_SLxe8b-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Dependency/supplier"/>

+      </edges>

+    </rhs>

+    <mappings xmi:id="_SLxe87-hEeGJIaNLXOZ3NA" origin="_SLxe0r-hEeGJIaNLXOZ3NA" image="_SLxe8L-hEeGJIaNLXOZ3NA"/>

+    <mappings xmi:id="_SLxe9L-hEeGJIaNLXOZ3NA" origin="_SLxe07-hEeGJIaNLXOZ3NA" image="_SLxe8b-hEeGJIaNLXOZ3NA"/>

+    <mappings xmi:id="_6MGkMb-hEeGJIaNLXOZ3NA" origin="_SLxe4r-hEeGJIaNLXOZ3NA" image="_6MGkML-hEeGJIaNLXOZ3NA"/>

+    <mappings xmi:id="_6MGkM7-hEeGJIaNLXOZ3NA" origin="_6L0QUL-hEeGJIaNLXOZ3NA" image="_6MGkMr-hEeGJIaNLXOZ3NA"/>

+  </units>

+  <units xsi:type="henshin:Rule" xmi:id="_SikOML-hEeGJIaNLXOZ3NA" description="The interface has a sub interface!" name="hasSubinterface">

+    <parameters xmi:id="_bsoxEL-hEeGJIaNLXOZ3NA" name="unusedInterface"/>

+    <lhs xmi:id="_SikOMb-hEeGJIaNLXOZ3NA" name="LHS">

+      <nodes xmi:id="_SikOMr-hEeGJIaNLXOZ3NA" name="owningPackage" outgoing="_SikONL-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>

+      </nodes>

+      <nodes xmi:id="_SikOM7-hEeGJIaNLXOZ3NA" name="unusedInterface" incoming="_SikONL-hEeGJIaNLXOZ3NA _SikOTb-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/>

+      </nodes>

+      <nodes xmi:id="_BbimYL-iEeGJIaNLXOZ3NA" name="subinterface" outgoing="_SikOTL-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/>

+      </nodes>

+      <nodes xmi:id="_SikOS7-hEeGJIaNLXOZ3NA" incoming="_SikOTL-hEeGJIaNLXOZ3NA" outgoing="_SikOTb-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/>

+      </nodes>

+      <edges xmi:id="_SikONL-hEeGJIaNLXOZ3NA" source="_SikOMr-hEeGJIaNLXOZ3NA" target="_SikOM7-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>

+      </edges>

+      <edges xmi:id="_SikOTL-hEeGJIaNLXOZ3NA" source="_BbimYL-iEeGJIaNLXOZ3NA" target="_SikOS7-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/generalization"/>

+      </edges>

+      <edges xmi:id="_SikOTb-hEeGJIaNLXOZ3NA" source="_SikOS7-hEeGJIaNLXOZ3NA" target="_SikOM7-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization/general"/>

+      </edges>

+    </lhs>

+    <rhs xmi:id="_SikOT7-hEeGJIaNLXOZ3NA" name="RHS">

+      <nodes xmi:id="_SikOUL-hEeGJIaNLXOZ3NA" name="owningPackage" outgoing="_SikOUr-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>

+      </nodes>

+      <nodes xmi:id="_SikOUb-hEeGJIaNLXOZ3NA" name="unusedInterface" incoming="_SikOUr-hEeGJIaNLXOZ3NA _Bb7A4b-iEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/>

+      </nodes>

+      <nodes xmi:id="_Bb06QL-iEeGJIaNLXOZ3NA" incoming="_Bb7A4L-iEeGJIaNLXOZ3NA" outgoing="_Bb7A4b-iEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/>

+      </nodes>

+      <nodes xmi:id="_Bb06Qr-iEeGJIaNLXOZ3NA" name="subinterface" outgoing="_Bb7A4L-iEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Interface"/>

+      </nodes>

+      <edges xmi:id="_SikOUr-hEeGJIaNLXOZ3NA" source="_SikOUL-hEeGJIaNLXOZ3NA" target="_SikOUb-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>

+      </edges>

+      <edges xmi:id="_Bb7A4L-iEeGJIaNLXOZ3NA" source="_Bb06Qr-iEeGJIaNLXOZ3NA" target="_Bb06QL-iEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/generalization"/>

+      </edges>

+      <edges xmi:id="_Bb7A4b-iEeGJIaNLXOZ3NA" source="_Bb06QL-iEeGJIaNLXOZ3NA" target="_SikOUb-hEeGJIaNLXOZ3NA">

+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization/general"/>

+      </edges>

+    </rhs>

+    <mappings xmi:id="_SikOU7-hEeGJIaNLXOZ3NA" origin="_SikOMr-hEeGJIaNLXOZ3NA" image="_SikOUL-hEeGJIaNLXOZ3NA"/>

+    <mappings xmi:id="_SikOVL-hEeGJIaNLXOZ3NA" origin="_SikOM7-hEeGJIaNLXOZ3NA" image="_SikOUb-hEeGJIaNLXOZ3NA"/>

+    <mappings xmi:id="_Bb06Qb-iEeGJIaNLXOZ3NA" origin="_SikOS7-hEeGJIaNLXOZ3NA" image="_Bb06QL-iEeGJIaNLXOZ3NA"/>

+    <mappings xmi:id="_Bb06Q7-iEeGJIaNLXOZ3NA" origin="_BbimYL-iEeGJIaNLXOZ3NA" image="_Bb06Qr-iEeGJIaNLXOZ3NA"/>

+  </units>

+  <units xsi:type="henshin:IndependentUnit" xmi:id="_P2UqYL-hEeGJIaNLXOZ3NA" name="mainUnit" subUnits="_SikOML-hEeGJIaNLXOZ3NA _SLxe0L-hEeGJIaNLXOZ3NA _9Hnh0L-bEeGJIaNLXOZ3NA">

+    <parameters xmi:id="_eVzBIL-gEeGJIaNLXOZ3NA" name="selectedEObject"/>

+    <parameterMappings xmi:id="_ir3NAL-hEeGJIaNLXOZ3NA" source="_eVzBIL-gEeGJIaNLXOZ3NA" target="_bsoxEL-hEeGJIaNLXOZ3NA"/>

+    <parameterMappings xmi:id="_lGQy4L-hEeGJIaNLXOZ3NA" source="_eVzBIL-gEeGJIaNLXOZ3NA" target="_bWOcML-hEeGJIaNLXOZ3NA"/>

+    <parameterMappings xmi:id="_l-0LgL-hEeGJIaNLXOZ3NA" source="_eVzBIL-gEeGJIaNLXOZ3NA" target="_ZkW18L-hEeGJIaNLXOZ3NA"/>

+  </units>

+</henshin:Module>