Bug Fix in result browser navigation
diff --git a/org.eclipse.rmf.reqif10.search.ui/src/org/eclipse/rmf/reqif10/search/ui/ResultNavigator.java b/org.eclipse.rmf.reqif10.search.ui/src/org/eclipse/rmf/reqif10/search/ui/ResultNavigator.java
index b994381..c42aa8b 100644
--- a/org.eclipse.rmf.reqif10.search.ui/src/org/eclipse/rmf/reqif10/search/ui/ResultNavigator.java
+++ b/org.eclipse.rmf.reqif10.search.ui/src/org/eclipse/rmf/reqif10/search/ui/ResultNavigator.java
@@ -7,6 +7,7 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExecutableExtension;
+import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.dialogs.MessageDialog;
@@ -142,9 +143,9 @@
 		EObject element = sh;
 		while (element instanceof SpecHierarchy) {
 			EObject container = element.eContainer();
-			int pos = container.eContents().indexOf(element);		
-			if (pos < container.eContents().size() - 1) {
-				return (SpecHierarchy) container.eContents().get(pos +1);
+			int pos = getSpecHierarchies(container).indexOf(element);		
+			if (pos < getSpecHierarchies(container).size() - 1) {
+				return (SpecHierarchy) getSpecHierarchies(container).get(pos +1);
 			} else {
 				element = container;
 			}
@@ -166,9 +167,12 @@
 		EObject element = sh;
 		while (element instanceof SpecHierarchy) {
 			EObject container = element.eContainer();
-			int pos = container.eContents().indexOf(element);		
+			if (! (container instanceof SpecHierarchy || container instanceof Specification)) {
+				return null;
+			}
+			int pos = getSpecHierarchies(container).indexOf(element);		
 			if (pos > 0) {
-				sh = (SpecHierarchy) container.eContents().get(pos - 1);
+				sh = (SpecHierarchy) getSpecHierarchies(container).get(pos - 1);
 				while (sh.getChildren().size() > 0) {
 					sh = sh.getChildren().get(sh.getChildren().size() - 1);
 				}
@@ -185,4 +189,14 @@
 		return null;
 	}
 	
+	private EList<SpecHierarchy> getSpecHierarchies(EObject eObject) {
+		if (eObject instanceof SpecHierarchy) {
+			return ((SpecHierarchy)eObject).getChildren();
+		}
+		if (eObject instanceof Specification) {
+			return ((Specification)eObject).getChildren();
+		}
+		return null;
+	}
+	
 }