class PapyrusSelectionManager added
diff --git a/org.eclipse.emf.refactor.metrics.papyrus/META-INF/MANIFEST.MF b/org.eclipse.emf.refactor.metrics.papyrus/META-INF/MANIFEST.MF
index ca778c3..8eb4f69 100644
--- a/org.eclipse.emf.refactor.metrics.papyrus/META-INF/MANIFEST.MF
+++ b/org.eclipse.emf.refactor.metrics.papyrus/META-INF/MANIFEST.MF
@@ -5,6 +5,10 @@
 Bundle-Version: 0.7.0.qualifier
 Bundle-Activator: org.eclipse.emf.refactor.metrics.papyrus.Activator
 Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime
+ org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;bundle-version="2.8.1",
+ org.eclipse.emf.refactor.metrics;bundle-version="0.7.0",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.6.0",
+ org.eclipse.emf.facet.infra.browser.uicore;bundle-version="0.2.1"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/org.eclipse.emf.refactor.metrics.papyrus/src/org/eclipse/emf/refactor/metrics/papyrus/managers/PapyrusSelectionManager.java b/org.eclipse.emf.refactor.metrics.papyrus/src/org/eclipse/emf/refactor/metrics/papyrus/managers/PapyrusSelectionManager.java
new file mode 100644
index 0000000..2b56de3
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.papyrus/src/org/eclipse/emf/refactor/metrics/papyrus/managers/PapyrusSelectionManager.java
@@ -0,0 +1,38 @@
+package org.eclipse.emf.refactor.metrics.papyrus.managers;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.infra.browser.uicore.internal.model.ModelElementItem;
+import org.eclipse.emf.refactor.metrics.managers.SelectionManager;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.jface.viewers.ISelection;
+
+@SuppressWarnings("restriction")
+public class PapyrusSelectionManager extends SelectionManager {
+
+	public static List<EObject> getESelection(ISelection selection) {
+		if (selection == null)
+			return null;
+		List<EObject> r = SelectionManager.getESelection(selection);
+		for (Object o : getSelection(selection)) {
+			if (o instanceof ModelElementItem) {
+				System.out.println("instanceof ModelElementItem");
+				ModelElementItem mei = (ModelElementItem) o;
+	    		System.out.println("element: " + mei.getEObject());
+	    		r.add(mei.getEObject());
+			} else {
+				if (o instanceof IGraphicalEditPart) {
+		    		System.out.println("instanceof IGraphicalEditPart");
+		    		IGraphicalEditPart gep = (IGraphicalEditPart) o;
+		    		System.out.println("element: " + gep.resolveSemanticElement());
+		    		r.add(gep.resolveSemanticElement());
+		    	} else {
+		    		return null;
+		    	}
+			}
+		}
+		return r;
+	}
+
+}