diff --git a/org.eclipse.opencert.apm.assuranceassets.editor/src/org/eclipse/opencert/apm/assuranceassets/assuranceasset/presentation/AssuranceassetEditor.java b/org.eclipse.opencert.apm.assuranceassets.editor/src/org/eclipse/opencert/apm/assuranceassets/assuranceasset/presentation/AssuranceassetEditor.java
index 102d623..41ec684 100644
--- a/org.eclipse.opencert.apm.assuranceassets.editor/src/org/eclipse/opencert/apm/assuranceassets/assuranceasset/presentation/AssuranceassetEditor.java
+++ b/org.eclipse.opencert.apm.assuranceassets.editor/src/org/eclipse/opencert/apm/assuranceassets/assuranceasset/presentation/AssuranceassetEditor.java
@@ -1025,7 +1025,7 @@
 				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
 
 				selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setInput(editingDomain.getResourceSet().getResources().get(0));
 				selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
 				viewerPane.setTitle(editingDomain.getResourceSet());
 
diff --git a/org.eclipse.opencert.apm.assurproj.editor/src/org/eclipse/opencert/apm/assurproj/assuranceproject/presentation/AssuranceprojectEditor.java b/org.eclipse.opencert.apm.assurproj.editor/src/org/eclipse/opencert/apm/assurproj/assuranceproject/presentation/AssuranceprojectEditor.java
index 6f89bcb..4902549 100644
--- a/org.eclipse.opencert.apm.assurproj.editor/src/org/eclipse/opencert/apm/assurproj/assuranceproject/presentation/AssuranceprojectEditor.java
+++ b/org.eclipse.opencert.apm.assurproj.editor/src/org/eclipse/opencert/apm/assurproj/assuranceproject/presentation/AssuranceprojectEditor.java
@@ -1059,7 +1059,7 @@
 				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
 
 				selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setInput(editingDomain.getResourceSet().getResources().get(0));
 				selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
 				viewerPane.setTitle(editingDomain.getResourceSet());
 
diff --git a/org.eclipse.opencert.apm.assurproj.reuse/src/org/eclipse/opencert/apm/assurproj/reuse/views/ReuseAssistanceView.java b/org.eclipse.opencert.apm.assurproj.reuse/src/org/eclipse/opencert/apm/assurproj/reuse/views/ReuseAssistanceView.java
index e329fcc..50fc02a 100644
--- a/org.eclipse.opencert.apm.assurproj.reuse/src/org/eclipse/opencert/apm/assurproj/reuse/views/ReuseAssistanceView.java
+++ b/org.eclipse.opencert.apm.assurproj.reuse/src/org/eclipse/opencert/apm/assurproj/reuse/views/ReuseAssistanceView.java
Binary files differ
diff --git a/org.eclipse.opencert.apm.baseline.editor/src/org/eclipse/opencert/apm/baseline/baseline/presentation/BaselineEditor.java b/org.eclipse.opencert.apm.baseline.editor/src/org/eclipse/opencert/apm/baseline/baseline/presentation/BaselineEditor.java
index 1a939ac..0db2dd4 100644
--- a/org.eclipse.opencert.apm.baseline.editor/src/org/eclipse/opencert/apm/baseline/baseline/presentation/BaselineEditor.java
+++ b/org.eclipse.opencert.apm.baseline.editor/src/org/eclipse/opencert/apm/baseline/baseline/presentation/BaselineEditor.java
@@ -1047,7 +1047,7 @@
 				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
 
 				selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setInput(editingDomain.getResourceSet().getResources().get(0));
 				selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);				
 				viewerPane.setTitle(editingDomain.getResourceSet());
 
@@ -1224,6 +1224,7 @@
 				treeViewerWithCheck.setColumnProperties(new String [] {"a", "b"});
 				treeViewerWithCheck.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
 				treeViewerWithCheck.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+				treeViewerWithCheck.setInput(editingDomain.getResourceSet().getResources().get(0));//editingDomain.getResourceSet());
 				
 				createContextMenuFor(treeViewerWithCheck);
 				int pageIndex = addPage(viewerPane.getControl());
diff --git a/org.eclipse.opencert.evm.evidspec.editor/src/org/eclipse/opencert/evm/evidspec/evidence/presentation/EvidenceEditor.java b/org.eclipse.opencert.evm.evidspec.editor/src/org/eclipse/opencert/evm/evidspec/evidence/presentation/EvidenceEditor.java
index 5168bb8..b857957 100644
--- a/org.eclipse.opencert.evm.evidspec.editor/src/org/eclipse/opencert/evm/evidspec/evidence/presentation/EvidenceEditor.java
+++ b/org.eclipse.opencert.evm.evidspec.editor/src/org/eclipse/opencert/evm/evidspec/evidence/presentation/EvidenceEditor.java
@@ -1085,7 +1085,7 @@
 				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
 
 				selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setInput(editingDomain.getResourceSet().getResources().get(0));
 				selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
 				viewerPane.setTitle(editingDomain.getResourceSet());
 
@@ -1124,7 +1124,7 @@
 
 				createContextMenuFor(parentViewer);
 				int pageIndex = addPage(viewerPane.getControl());
-				setPageText(pageIndex, getString("_UI_ParentPage_label"));
+				setPageText(pageIndex,  getString("_UI_ParentPage_label"));
 			}
 
 			// This is the page for the list viewer
@@ -1149,7 +1149,7 @@
 
 				createContextMenuFor(listViewer);
 				int pageIndex = addPage(viewerPane.getControl());
-				setPageText(pageIndex, getString("_UI_ListPage_label"));
+				setPageText(pageIndex,  getString("_UI_ListPage_label"));
 			}
 
 			// This is the page for the tree viewer
@@ -1176,7 +1176,7 @@
 
 				createContextMenuFor(treeViewer);
 				int pageIndex = addPage(viewerPane.getControl());
-				setPageText(pageIndex, getString("_UI_TreePage_label"));
+				setPageText(pageIndex,  getString("_UI_TreePage_label"));
 			}
 
 			// This is the page for the table viewer.
@@ -1259,7 +1259,10 @@
 				treeViewerWithCheck.setColumnProperties(new String [] {"a", "b"});
 				treeViewerWithCheck.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
 				treeViewerWithCheck.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+				//selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
 				
+				//treeViewerWithCheck.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0).getContents().get(0)), true);
+				treeViewerWithCheck.setInput(editingDomain.getResourceSet().getResources().get(0));//editingDomain.getResourceSet());
 				createContextMenuFor(treeViewerWithCheck);
 				int pageIndex = addPage(viewerPane.getControl());
 				setPageText(pageIndex, getString("_UI_TreeWithCheckPage_label"));
diff --git a/org.eclipse.opencert.infra.mappings.editor/src/org/eclipse/opencert/infra/mappings/mapping/presentation/MappingEditor.java b/org.eclipse.opencert.infra.mappings.editor/src/org/eclipse/opencert/infra/mappings/mapping/presentation/MappingEditor.java
index 0951af9..78084a3 100644
--- a/org.eclipse.opencert.infra.mappings.editor/src/org/eclipse/opencert/infra/mappings/mapping/presentation/MappingEditor.java
+++ b/org.eclipse.opencert.infra.mappings.editor/src/org/eclipse/opencert/infra/mappings/mapping/presentation/MappingEditor.java
@@ -1043,7 +1043,7 @@
 				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
 
 				selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setInput(editingDomain.getResourceSet().getResources().get(0));
 				selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
 				viewerPane.setTitle(editingDomain.getResourceSet());
 
diff --git a/org.eclipse.opencert.infra.properties.editor/src/org/eclipse/opencert/infra/properties/property/presentation/PropertyEditor.java b/org.eclipse.opencert.infra.properties.editor/src/org/eclipse/opencert/infra/properties/property/presentation/PropertyEditor.java
index 55aedbf..157f227 100644
--- a/org.eclipse.opencert.infra.properties.editor/src/org/eclipse/opencert/infra/properties/property/presentation/PropertyEditor.java
+++ b/org.eclipse.opencert.infra.properties.editor/src/org/eclipse/opencert/infra/properties/property/presentation/PropertyEditor.java
@@ -1044,7 +1044,7 @@
 				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
 
 				selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setInput(editingDomain.getResourceSet().getResources().get(0));
 				selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
 				viewerPane.setTitle(editingDomain.getResourceSet());
 
diff --git a/org.eclipse.opencert.pam.procspec.editor/src/org/eclipse/opencert/pam/procspec/process/presentation/ProcessEditor.java b/org.eclipse.opencert.pam.procspec.editor/src/org/eclipse/opencert/pam/procspec/process/presentation/ProcessEditor.java
index 389d1e9..8bbe49a 100644
--- a/org.eclipse.opencert.pam.procspec.editor/src/org/eclipse/opencert/pam/procspec/process/presentation/ProcessEditor.java
+++ b/org.eclipse.opencert.pam.procspec.editor/src/org/eclipse/opencert/pam/procspec/process/presentation/ProcessEditor.java
@@ -1054,7 +1054,7 @@
 				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
 
 				selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setInput(editingDomain.getResourceSet().getResources().get(0));
 				selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
 				viewerPane.setTitle(editingDomain.getResourceSet());
 
@@ -1228,6 +1228,7 @@
 				treeViewerWithCheck.setColumnProperties(new String [] {"a", "b"});
 				treeViewerWithCheck.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
 				treeViewerWithCheck.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+				treeViewerWithCheck.setInput(editingDomain.getResourceSet().getResources().get(0));//editingDomain.getResourceSet());
 				
 				createContextMenuFor(treeViewerWithCheck);
 				int pageIndex = addPage(viewerPane.getControl());
diff --git a/org.eclipse.opencert.pkm.refframework.editor/src/org/eclipse/opencert/pkm/refframework/refframework/presentation/RefframeworkEditor.java b/org.eclipse.opencert.pkm.refframework.editor/src/org/eclipse/opencert/pkm/refframework/refframework/presentation/RefframeworkEditor.java
index fbc1e73..c6593ed 100644
--- a/org.eclipse.opencert.pkm.refframework.editor/src/org/eclipse/opencert/pkm/refframework/refframework/presentation/RefframeworkEditor.java
+++ b/org.eclipse.opencert.pkm.refframework.editor/src/org/eclipse/opencert/pkm/refframework/refframework/presentation/RefframeworkEditor.java
@@ -1028,7 +1028,7 @@
 				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
 
 				selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setInput(editingDomain.getResourceSet().getResources().get(0));
 				selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);						
 				
 				
diff --git a/org.eclipse.opencert.sam.arg.editor/src/org/eclipse/opencert/sam/arg/arg/presentation/ArgEditor.java b/org.eclipse.opencert.sam.arg.editor/src/org/eclipse/opencert/sam/arg/arg/presentation/ArgEditor.java
index 10b5e70..b6b1e23 100644
--- a/org.eclipse.opencert.sam.arg.editor/src/org/eclipse/opencert/sam/arg/arg/presentation/ArgEditor.java
+++ b/org.eclipse.opencert.sam.arg.editor/src/org/eclipse/opencert/sam/arg/arg/presentation/ArgEditor.java
@@ -1046,7 +1046,7 @@
 				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
 
 				selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setInput(editingDomain.getResourceSet().getResources().get(0));
 				selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
 				viewerPane.setTitle(editingDomain.getResourceSet());
 
@@ -1218,6 +1218,7 @@
 				treeViewerWithCheck.setColumnProperties(new String [] {"a", "b"});
 				treeViewerWithCheck.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
 				treeViewerWithCheck.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+				treeViewerWithCheck.setInput(editingDomain.getResourceSet().getResources().get(0));//editingDomain.getResourceSet());
 				
 				createContextMenuFor(treeViewerWithCheck);
 				int pageIndex = addPage(viewerPane.getControl());
diff --git a/org.eclipse.opencert.vocabulary.claimtypes.editor/src/claimtypes/presentation/ClaimtypesEditor.java b/org.eclipse.opencert.vocabulary.claimtypes.editor/src/claimtypes/presentation/ClaimtypesEditor.java
index ce076df..c64eb8e 100644
--- a/org.eclipse.opencert.vocabulary.claimtypes.editor/src/claimtypes/presentation/ClaimtypesEditor.java
+++ b/org.eclipse.opencert.vocabulary.claimtypes.editor/src/claimtypes/presentation/ClaimtypesEditor.java
@@ -1047,7 +1047,7 @@
 				selectionViewer
 						.setLabelProvider(new AdapterFactoryLabelProvider(
 								adapterFactory));
-				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setInput(editingDomain.getResourceSet().getResources().get(0));
 				selectionViewer.setSelection(new StructuredSelection(
 						editingDomain.getResourceSet().getResources().get(0)),
 						true);
diff --git a/org.eclipse.opencert.vocabulary.editor/src/org/eclipse/opencert/vocabulary/presentation/VocabularyEditor.java b/org.eclipse.opencert.vocabulary.editor/src/org/eclipse/opencert/vocabulary/presentation/VocabularyEditor.java
index 9f7e118..9869421 100644
--- a/org.eclipse.opencert.vocabulary.editor/src/org/eclipse/opencert/vocabulary/presentation/VocabularyEditor.java
+++ b/org.eclipse.opencert.vocabulary.editor/src/org/eclipse/opencert/vocabulary/presentation/VocabularyEditor.java
@@ -1180,7 +1180,7 @@
         selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
 
         selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-        selectionViewer.setInput(editingDomain.getResourceSet());
+        selectionViewer.setInput(editingDomain.getResourceSet().getResources().get(0));
         selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
         viewerPane.setTitle(editingDomain.getResourceSet());
 
