diff --git a/org.fortiss.tooling.kernel.ui/trunk/META-INF/MANIFEST.MF b/org.fortiss.tooling.kernel.ui/trunk/META-INF/MANIFEST.MF
index e0a119e404b1592112ed7d6aa4239052c22ca7e9..1b8dc6f94205d99e3a881c772e4999dfb5d8e268 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/META-INF/MANIFEST.MF
+++ b/org.fortiss.tooling.kernel.ui/trunk/META-INF/MANIFEST.MF
@@ -12,11 +12,11 @@ Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-Vendor: fortiss GmbH
 Export-Package: org.fortiss.tooling.kernel.ui,
- org.fortiss.tooling.kernel.ui.databinding,
  org.fortiss.tooling.kernel.ui.dnd,
  org.fortiss.tooling.kernel.ui.extension,
  org.fortiss.tooling.kernel.ui.extension.base,
  org.fortiss.tooling.kernel.ui.extension.data,
  org.fortiss.tooling.kernel.ui.listener,
+ org.fortiss.tooling.kernel.ui.presentation,
  org.fortiss.tooling.kernel.ui.service,
  org.fortiss.tooling.kernel.ui.util
diff --git a/org.fortiss.tooling.kernel.ui/trunk/plugin.xml b/org.fortiss.tooling.kernel.ui/trunk/plugin.xml
index 5d2cb81d5d2d965fb31f4c4b2483233c737c89c6..5e886d0824bb06332fa20654cf2d916353e692de 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/plugin.xml
+++ b/org.fortiss.tooling.kernel.ui/trunk/plugin.xml
@@ -46,7 +46,7 @@
          point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
       <propertyContributor
             contributorId="org.fortiss.tooling.kernel.ui.properties.Contributor"
-            labelProvider="org.fortiss.tooling.kernel.ui.util.ModelElementLabelProvider"
+            labelProvider="org.fortiss.tooling.kernel.ui.presentation.ModelElementLabelProvider"
             typeMapper="org.conqat.ide.commons.gef.properties.EditPartTypeMapper">
          <propertyCategory
                category="main"></propertyCategory>
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/package.html b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/package.html
deleted file mode 100644
index e6cd7c22577eacf40c385337d417f3e28d3f4e8c..0000000000000000000000000000000000000000
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/package.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<!--  
-  $Id$
-  @version $Rev$
-  @ConQAT.Rating GREEN Hash: 996283773B2EC0D22D4A844A3C9E30A8
--->
-<body>
-Support classes for using the data binding mechanism with EMF EObjects.
-</body>
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/dnd/package.html b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/dnd/package.html
index 7b97c1774a67f1d68bbb97dceceb075519f1c258..56ff3be057a1f8b0f2875ff5bda2e283e06ddcdd 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/dnd/package.html
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/dnd/package.html
@@ -1,10 +1,12 @@
 <!--  
   $Id: package.html 835 2011-06-28 07:31:00Z ratiu $
   @version $Rev: 835 $
-  @ConQAT.Rating YELLOW Hash: CC56D6574A670E6853219571BF8D1708
+  @ConQAT.Rating YELLOW Hash: 3EA4EA7091245D0A40304F5CD8136DA9
 -->
 <body>
 Support classes for using the SWT-based drag and drop mechanism.
 We distinguish between DND operation, which should result in calling the element composition, and those,
 which result in calling the connection composition.  
+<P>
+This package also contains the DND.Transfer objects for DND and for Copy/Paste.
 </body>
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/IModelElementHandler.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/IModelElementHandler.java
index 5f48c2237b54c4acb0ccd69154af9aef16f88947..0fb3e54c6f0cf5a9e5bbb258d879474a18756041 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/IModelElementHandler.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/IModelElementHandler.java
@@ -38,7 +38,7 @@ import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating RED Hash: EF2C8B5B955C72DE74CB4FCD7A9D67EE
+ * @ConQAT.Rating YELLOW Hash: 147CEFD0C47F4808CBE08A3A0EA0B0D7
  */
 public interface IModelElementHandler<T extends EObject> extends
 		IEObjectAware<T> {
@@ -88,9 +88,8 @@ public interface IModelElementHandler<T extends EObject> extends
 	List<EObject> getSpecifications(T element);
 
 	/**
-	 * Returns true if the underlying element should be visible in the navigator
-	 * in the non-expert view.
+	 * Returns true if the underlying element should be hidden in the
+	 * navigator's simplified non-expert view.
 	 */
-	// TODO @review CD: Naming of method and meaning of comment inconsistent.
 	boolean hiddenInNonExpertView();
 }
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/data/package.html b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/data/package.html
index 15a7b6dbe4578127b19606aa56e7f459fc4784de..09da899cca61c2b2ab4d8fad7d2b54e11f5013a3 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/data/package.html
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/data/package.html
@@ -1,8 +1,13 @@
 <!--  
   $Id: package.html 914 2011-07-12 12:16:22Z ratiu $
   @version $Rev: 914 $
-  @ConQAT.Rating RED Hash: 0E247D0F04DEF8F70072DAEE84BB9B7E
+  @ConQAT.Rating YELLOW Hash: 4937634A5C7499B64F188C4A364D8A16
 -->
 <body>
-Classes for extension of....
+Interfaces and classes for data transfer between the kernel and extensions.
+<P>
+The classes and interfaces of this package appear as parameter and result types of the
+interfaces in the <code>kernel.ui.extension</code> package. Parameter objects resemble
+additional context data provided to the extension, while result objects are required from the
+extension.
 </body>
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/ActionService.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/ActionService.java
index 467f48e5fe22b12ee99d2659997899d9cfcdae7c..b506e5426b0b4e0abc35e6436d42f2e7bae8c783 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/ActionService.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/ActionService.java
@@ -44,7 +44,7 @@ import org.fortiss.tooling.kernel.ui.util.EObjectSelectionUtils;
  * @author hoelzlf
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating YELLOW Hash: 9B6D34EACABCFC700C86C9D0ED33BDA3
+ * @ConQAT.Rating YELLOW Hash: AEE7A59A21CE5A68CAC3BC04EF872569
  */
 public class ActionService implements IActionService,
 		IPersistencyServiceListener, CommandStackListener {
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java
index c74cc4af62aea92f83b9542aace839477241d281..11c6b9de8c51ebf0669fcf0d42a78cc980c5a09c 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java
@@ -52,7 +52,7 @@ import org.fortiss.tooling.kernel.ui.service.IMarkerService;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating RED Hash: BFAB62161436A6590B4BD6500FF83134
+ * @ConQAT.Rating YELLOW Hash: 4A7ED2A26326797ACB14718C87A7C893
  */
 public class MarkerService implements IMarkerService,
 		IPersistencyServiceListener, ILightweightLabelDecorator {
@@ -198,7 +198,8 @@ public class MarkerService implements IMarkerService,
 		if (element instanceof EObject) {
 			EObject modelElement = (EObject) element;
 			ESeverity highest = getHighestViolationSeverity(modelElement);
-			// FIXME (FH): use preferences here
+			// TODO (FH): https://af3.fortiss.org/issues/388
+			// use preferences settings here
 			switch (highest) {
 			case FATAL:
 			case ERROR:
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/EObjectObservableValue.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/databinding/EObjectObservableValue.java
similarity index 98%
rename from org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/EObjectObservableValue.java
rename to org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/databinding/EObjectObservableValue.java
index 4e9caba2441d7d447ca38022517bdf413878d13c..7832416cc2ed015bb174b43f6cfcee183cc87708 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/EObjectObservableValue.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/databinding/EObjectObservableValue.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.kernel.ui.databinding;
+package org.fortiss.tooling.kernel.ui.internal.databinding;
 
 import org.eclipse.core.databinding.observable.Diffs;
 import org.eclipse.core.databinding.observable.Realm;
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/IdLabeledPropertySection.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/IdLabeledPropertySection.java
index 135f34adff0ea9ee02344e9084d31ab22adc73af..4b90daf63a3074022b4332c314733144b01a692f 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/IdLabeledPropertySection.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/IdLabeledPropertySection.java
@@ -25,8 +25,8 @@ import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
 import org.fortiss.tooling.kernel.model.FortissToolingKernelPackage;
 import org.fortiss.tooling.kernel.model.IIdLabeled;
-import org.fortiss.tooling.kernel.ui.databinding.ObservableUtil;
 import org.fortiss.tooling.kernel.ui.extension.base.PropertySectionBase;
+import org.fortiss.tooling.kernel.ui.util.ObservableUtils;
 
 /**
  * Property section for {@link IIdLabeled} objects.
@@ -65,7 +65,7 @@ public class IdLabeledPropertySection extends PropertySectionBase {
 	public void refresh() {
 		super.refresh();
 
-		IObservableValue modelObservable = ObservableUtil
+		IObservableValue modelObservable = ObservableUtils
 				.observeValue(idLabeled,
 						FortissToolingKernelPackage.Literals.IID_LABELED__ID);
 		dbc.bindValue(SWTObservables.observeText(idText, SWT.None),
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/NamedCommentedPropertySection.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/NamedCommentedPropertySection.java
index 6d8b385e6e3aedcf14479598ef6a3f7b1f3272a7..de6113d767dd2a7b2c33f251082fd8ce954b914c 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/NamedCommentedPropertySection.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/NamedCommentedPropertySection.java
@@ -25,8 +25,8 @@ import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
 import org.fortiss.tooling.kernel.model.FortissToolingKernelPackage;
 import org.fortiss.tooling.kernel.model.INamedCommentedElement;
-import org.fortiss.tooling.kernel.ui.databinding.ObservableUtil;
 import org.fortiss.tooling.kernel.ui.extension.base.PropertySectionBase;
+import org.fortiss.tooling.kernel.ui.util.ObservableUtils;
 
 /**
  * Property section for {@link INamedCommentedElement} objects.
@@ -73,12 +73,12 @@ public class NamedCommentedPropertySection extends PropertySectionBase {
 	public void refresh() {
 		super.refresh();
 
-		IObservableValue modelObservable = ObservableUtil.observeValue(
+		IObservableValue modelObservable = ObservableUtils.observeValue(
 				namedCommented,
 				FortissToolingKernelPackage.Literals.INAMED_ELEMENT__NAME);
 		dbc.bindValue(SWTObservables.observeText(nameText, SWT.FocusOut),
 				modelObservable, null, null);
-		modelObservable = ObservableUtil
+		modelObservable = ObservableUtils
 				.observeValue(
 						namedCommented,
 						FortissToolingKernelPackage.Literals.INAMED_COMMENTED_ELEMENT__COMMENT);
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorViewPart.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorViewPart.java
index 00250ff51a6f094b7764bdc421a67448e092e5ea..9d8ca2f1e09876e5b531df9b5f91f1540f695401 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorViewPart.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorViewPart.java
@@ -58,12 +58,12 @@ import org.fortiss.tooling.kernel.ui.extension.data.ContextMenuContextProvider;
 import org.fortiss.tooling.kernel.ui.internal.NavigatorService;
 import org.fortiss.tooling.kernel.ui.internal.editor.ExtendableMultiPageEditor;
 import org.fortiss.tooling.kernel.ui.internal.editor.ModelElementEditorInput;
+import org.fortiss.tooling.kernel.ui.presentation.ModelElementLabelProvider;
 import org.fortiss.tooling.kernel.ui.service.IActionService;
 import org.fortiss.tooling.kernel.ui.service.IContextMenuService;
 import org.fortiss.tooling.kernel.ui.service.IModelEditorBindingService;
 import org.fortiss.tooling.kernel.ui.service.INavigatorService;
 import org.fortiss.tooling.kernel.ui.util.EObjectSelectionUtils;
-import org.fortiss.tooling.kernel.ui.util.ModelElementLabelProvider;
 import org.fortiss.tooling.kernel.ui.util.PropertiesConstantUtils;
 
 /**
@@ -72,7 +72,7 @@ import org.fortiss.tooling.kernel.ui.util.PropertiesConstantUtils;
  * @author hoelzlf
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating RED Hash: E2257EF3EF370182637ABCD63B471DE8
+ * @ConQAT.Rating YELLOW Hash: CA4F79DCA69C654B5D001364DD567D43
  */
 public final class NavigatorViewPart extends ViewPart implements
 		ISelectionListener, ISelectionChangedListener, IDoubleClickListener,
@@ -246,13 +246,15 @@ public final class NavigatorViewPart extends ViewPart implements
 	@Override
 	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
 		IActionService.INSTANCE.refresh();
-		// TODO @review CD: Why not also firePropertyChanged here?
+		// do not fire property change here, since it was not the viewers
+		// selection that changed but the workbench-wide selection
 	}
 
 	/** {@inheritDoc} */
 	@Override
 	public void selectionChanged(SelectionChangedEvent event) {
 		IActionService.INSTANCE.refresh();
+		// fire upon viewer selection change
 		firePropertyChange(IWorkbenchPartConstants.PROP_DIRTY);
 	}
 
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/listener/ExtendableMultiPageEditorPageChangeListener.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/listener/ExtendableMultiPageEditorPageChangeListener.java
index 96817975ed638c18e4b8a41c6ae619cec55d2568..f9a55667eeab9f20bcb004cc436266d5e9d8cdc1 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/listener/ExtendableMultiPageEditorPageChangeListener.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/listener/ExtendableMultiPageEditorPageChangeListener.java
@@ -25,11 +25,8 @@ import org.fortiss.tooling.kernel.ui.internal.editor.ExtendableMultiPageEditor;
  * @author hoelzl
  * @author $Author: hoelzl $
  * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash: E5A33F5E2AB3135E4ECE4EC8A2240990
+ * @ConQAT.Rating YELLOW Hash: B380F2935C54DDB25B96CB845DB96F12
  */
-// Future Work (FH): this behavior is too simple, there should be a way for
-// plugged code to register with binding editor and receive page changes and
-// maybe selection updates, too.
 public interface ExtendableMultiPageEditorPageChangeListener {
 
 	/** Indicates a page change. */
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/listener/package.html b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/listener/package.html
index 0e97baca1dbfa744227790234c01e0eb47e5dca1..679a24c9ace454b4f7539a54da5e9b49a4e9750f 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/listener/package.html
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/listener/package.html
@@ -1,8 +1,8 @@
 <!--  
   $Id: package.html 891 2011-07-06 11:00:49Z ratiu $
   @version $Rev: 891 $
-  @ConQAT.Rating RED Hash: 457E0F02B3896C35209F11262A7D48C2
+  @ConQAT.Rating YELLOW Hash: 237049F7912920BD1168A29560DF9C65
 -->
 <body>
-Enter package description here...
+Listeners for user interface parts.
 </body>
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/ModelElementLabelProvider.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/presentation/ModelElementLabelProvider.java
similarity index 98%
rename from org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/ModelElementLabelProvider.java
rename to org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/presentation/ModelElementLabelProvider.java
index 2347c98ac03234b569ade84643fa6a33cf5d40dc..484c8a975255c9a65b81e4e61063fbe507ad736f 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/ModelElementLabelProvider.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/presentation/ModelElementLabelProvider.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.kernel.ui.util;
+package org.fortiss.tooling.kernel.ui.presentation;
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.jface.viewers.IStructuredSelection;
@@ -60,7 +60,6 @@ public class ModelElementLabelProvider extends LabelProvider {
 			if (handler != null)
 				return handler.getIcon();
 		}
-
 		return super.getImage(element);
 	}
 }
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/CopyPasteUtils.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/CopyPasteUtils.java
index fca720bdb876cad77cd342c41e05ac9505a0baa0..aa1b7175c30d3ea7dfd97266c81d6d008b86b82d 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/CopyPasteUtils.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/CopyPasteUtils.java
@@ -40,11 +40,17 @@ import org.fortiss.tooling.kernel.ui.dnd.CompositionServiceLocalCopyPasteTransfe
  * 
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating YELLOW Hash: BF469D497ADC610E7576492AA12B04CC
+ * @ConQAT.Rating YELLOW Hash: 41B752DA09FB0A8AF8173D9A6352AB18
  */
 public class CopyPasteUtils {
 
-	/** Copies the given selected objects to the clipboard. */
+	/**
+	 * Copies the given selected objects to the clipboard.
+	 * 
+	 * @param selection
+	 *            the collection of {@link EObject}s to be copyied to the
+	 *            clipboard.
+	 */
 	public static void copyToClipboard(Collection<EObject> selection) {
 		try {
 			EObject[] content = new EObject[selection.size()];
@@ -81,6 +87,11 @@ public class CopyPasteUtils {
 	 * Attempts to paste the contents of the clipboard into the given target
 	 * object. The given element composition context is forwarded to the element
 	 * composition service.
+	 * 
+	 * @param target
+	 *            the target element to be passed to the compositor
+	 * @param context
+	 *            the composition context to be passed to the compositor
 	 */
 	public static void pasteFromClipboard(EObject target,
 			IElementCompositionContext context) {
@@ -96,6 +107,11 @@ public class CopyPasteUtils {
 	/**
 	 * Returns whether the current clipboard element is pasteable into the given
 	 * target using the given composition context.
+	 * 
+	 * @param target
+	 *            the target element to be passed to the compositor
+	 * @param context
+	 *            the composition context to be passed to the compositor
 	 */
 	public static boolean canPasteInto(EObject target,
 			IElementCompositionContext context) {
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/DataBindingUtils.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/DataBindingUtils.java
index 3207a902b7af9918efdb26ce9e6be10e63416b0c..53ac0ac383c0f4c08b462d4b7a623ddfe6b23625 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/DataBindingUtils.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/DataBindingUtils.java
@@ -30,7 +30,6 @@ import org.eclipse.jface.databinding.swt.SWTObservables;
 import org.eclipse.jface.fieldassist.ControlDecoration;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Control;
-import org.fortiss.tooling.kernel.ui.databinding.ObservableUtil;
 
 /**
  * Utility methods for data binding support.
@@ -38,7 +37,7 @@ import org.fortiss.tooling.kernel.ui.databinding.ObservableUtil;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating YELLOW Hash: 74CF19DF807D655A29622CA9B7099A2D
+ * @ConQAT.Rating YELLOW Hash: 4888BB1252F01761BB835F65D76F948C
  */
 public final class DataBindingUtils {
 
@@ -49,23 +48,45 @@ public final class DataBindingUtils {
 	/**
 	 * Bind the {@link Control} and the {@link EObject} together with the given
 	 * {@link EStructuralFeature}.
+	 * 
+	 * @param dbc
+	 *            the data binding context to be used
+	 * @param control
+	 *            the SWT control
+	 * @param modelElement
+	 *            the model element to be observed
+	 * @param feature
+	 *            the element's feature to be observed
 	 */
 	public static void bind(DataBindingContext dbc, Control control,
 			EObject modelElement, EStructuralFeature feature) {
 		performComplexTextBinding(dbc, control,
-				ObservableUtil.observeValue(modelElement, feature), null, null,
-				null, null);
+				ObservableUtils.observeValue(modelElement, feature), null,
+				null, null, null);
 	}
 
 	/**
 	 * Bind the {@link Control} and the {@link EObject} together with the given
 	 * {@link EStructuralFeature} by using the given {@link IConverter}s.
+	 * 
+	 * @param dbc
+	 *            the data binding context to be used
+	 * @param control
+	 *            the SWT control
+	 * @param modelElement
+	 *            the model element to be observed
+	 * @param feature
+	 *            the element's feature to be observed
+	 * @param modelToTextConverter
+	 *            the converter from the element to the control's text
+	 * @param textToModelConverter
+	 *            the converter from the control's text to the element
 	 */
 	public static void bind(DataBindingContext dbc, Control control,
 			EObject modelElement, EStructuralFeature feature,
 			IConverter modelToTextConverter, IConverter textToModelConverter) {
 		performComplexTextBinding(dbc, control,
-				ObservableUtil.observeValue(modelElement, feature),
+				ObservableUtils.observeValue(modelElement, feature),
 				modelToTextConverter, textToModelConverter, null, null);
 	}
 
@@ -77,6 +98,21 @@ public final class DataBindingUtils {
 	 * be always consistent. If the control has a {@link ControlDecoration}
 	 * stored under the {@link #DECORATION_KEY} key, this is used to visualize
 	 * the validation result.
+	 * 
+	 * @param dbc
+	 *            the data binding context to be used
+	 * @param control
+	 *            the SWT control
+	 * @param modelValue
+	 *            the model element value to be observed
+	 * @param modelToTextConverter
+	 *            the converter from the element to the control's text
+	 * @param textToModelConverter
+	 *            the converter from the control's text to the element
+	 * @param textValidator
+	 *            the validator for the control's text
+	 * @param textPostConvertValidator
+	 *            the validator for the text after conversion
 	 */
 	public static Binding[] performComplexTextBinding(DataBindingContext dbc,
 			Control control, IObservableValue modelValue,
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/DragAndDropUtils.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/DragAndDropUtils.java
index f6c35a80a70c743ecb3653b1c84787dc603bee3f..30d3efa2cd1de716f6274ec191e9ecabc022eb94 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/DragAndDropUtils.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/DragAndDropUtils.java
@@ -30,11 +30,16 @@ import org.fortiss.tooling.kernel.ui.dnd.ElementCompositionSource;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating YELLOW Hash: 269169E95ACFD1C5644735DE93BE02BD
+ * @ConQAT.Rating YELLOW Hash: E4479FEB536C23BCF4BAEC1AD8B0A538
  */
 public final class DragAndDropUtils {
 
-	/** Extracts the EObject contained in the given drop object. */
+	/**
+	 * Extracts the EObject contained in the given drop object.
+	 * 
+	 * @param data
+	 *            the transfered object of which to extract the element
+	 */
 	public static EObject extractDroppedEObject(Object data) {
 		// if the dropped object is a selection, extract content
 		if (data instanceof IStructuredSelection
@@ -66,6 +71,7 @@ public final class DragAndDropUtils {
 	 * service.
 	 */
 	public static Transfer[] getCompositionServiceTransfers() {
-		return new Transfer[] { CompositionServiceLocalDNDTransfer.getInstance() };
+		return new Transfer[] { CompositionServiceLocalDNDTransfer
+				.getInstance() };
 	}
 }
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/EObjectSelectionUtils.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/EObjectSelectionUtils.java
index 5e17506c9cf629e7a1c9ead30a9e2efbe04f0da9..c9580a9f67a35ee98c15ff4863fa9219d7f15e19 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/EObjectSelectionUtils.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/EObjectSelectionUtils.java
@@ -34,7 +34,7 @@ import org.eclipse.ui.PlatformUI;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: F4CBD4321A5EB5469553970565C7D854
+ * @ConQAT.Rating YELLOW Hash: A70A308C41F17FA6456CF8446E222B46
  */
 public final class EObjectSelectionUtils {
 
@@ -57,6 +57,9 @@ public final class EObjectSelectionUtils {
 	 * Returns the first selected EObject or <code>null</code> if no EObject is
 	 * selected. If the selection implements {@link IAdaptable}, it is asked to
 	 * adapt to {@link EObject}.
+	 * 
+	 * @param selection
+	 *            the current selection to be search for an {@link EObject}
 	 */
 	public static EObject getFirstElement(ISelection selection) {
 		if (selection instanceof IStructuredSelection && !selection.isEmpty()) {
@@ -86,7 +89,12 @@ public final class EObjectSelectionUtils {
 				.getSelectionService();
 	}
 
-	/** Extracts all {@link EObject}s from the given selection. */
+	/**
+	 * Extracts all {@link EObject}s from the given selection.
+	 * 
+	 * @param selection
+	 *            the selection to be searched for {@link EObject}s
+	 */
 	public static List<EObject> getEObjectElements(ISelection selection) {
 		List<EObject> result = new ArrayList<EObject>();
 		if (selection instanceof StructuredSelection) {
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/ObservableUtil.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/ObservableUtils.java
similarity index 70%
rename from org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/ObservableUtil.java
rename to org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/ObservableUtils.java
index f0a53e0317c1eb544cb889fefc21a047008a8523..0330d7fe6156a283713682392284d7fcd7c2605c 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/ObservableUtil.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/ObservableUtils.java
@@ -15,31 +15,49 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.kernel.ui.databinding;
+package org.fortiss.tooling.kernel.ui.util;
 
 import org.conqat.lib.commons.assertion.CCSMPre;
 import org.eclipse.core.databinding.observable.Realm;
 import org.eclipse.core.databinding.observable.value.IObservableValue;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EStructuralFeature;
+import org.fortiss.tooling.kernel.ui.internal.databinding.EObjectObservableValue;
 
 /**
- * Observables for {@link EObject} models.
+ * Utility methods for creating observables for {@link EObject} models.
  * 
  * @author hummel
+ * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating RED Hash: 63632A77289A55A011049CA80D7F4F52
+ * @ConQAT.Rating YELLOW Hash: C84A431A36A13F0404B0144BFA31CEB4
  */
-public class ObservableUtil {
+public class ObservableUtils {
 
-	/** Returns an observable for the given object and structural feature. */
+	/**
+	 * Returns an observable for the given object and structural feature.
+	 * 
+	 * @param eObject
+	 *            the element to be observed
+	 * @param structuralFeature
+	 *            the elements feature to be observed
+	 */
 	public static IObservableValue observeValue(EObject eObject,
 			EStructuralFeature structuralFeature) {
 		return observeValue(Realm.getDefault(), eObject, structuralFeature);
 	}
 
-	/** Returns an observable for the given object and structural feature. */
+	/**
+	 * Returns an observable for the given object and structural feature.
+	 * 
+	 * @param realm
+	 *            the data binding realm to be used
+	 * @param eObject
+	 *            the element to be observed
+	 * @param structuralFeature
+	 *            the elements feature to be observed
+	 */
 	public static IObservableValue observeValue(Realm realm, EObject eObject,
 			EStructuralFeature structuralFeature) {
 		CCSMPre.isTrue(eObject != null, "Can not observe null value!");
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/SelectionUtils.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/SelectionUtils.java
index 52af33f78ec29c698a9435c3dd25ae93c9b4c010..01be9fec3fb9354fba382d7bfb819498959327cd 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/SelectionUtils.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/SelectionUtils.java
@@ -33,7 +33,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
  * @author ratiu
  * @author $Author: hoelzl $
  * @version $Rev: 18709 $
- * @ConQAT.Rating YELLOW Hash: 041F7585838834DBA7639F59D3577EA8
+ * @ConQAT.Rating YELLOW Hash: 11123ADFF9A5D30BC7D38A6510F4FEFB
  */
 public class SelectionUtils {
 
@@ -43,6 +43,11 @@ public class SelectionUtils {
 	 * selection returns the first element or <code>null</code> if the selection
 	 * is empty. This returns <code>null</code> if the provided selection is
 	 * null or the element is not of the required type.
+	 * 
+	 * @param selectionProvider
+	 *            the selection provider
+	 * @param type
+	 *            the type of elements to be returned
 	 */
 	public static <T> T checkAndPickFirst(ISelectionProvider selectionProvider,
 			Class<T> type) {
@@ -55,6 +60,11 @@ public class SelectionUtils {
 	 * if the selection is empty. This also returns <code>null</code> if the
 	 * provided selection is <code>null</code> or the element is not of the
 	 * required type.
+	 * 
+	 * @param selection
+	 *            the current selection
+	 * @param type
+	 *            the type of elements to be returned
 	 */
 	@SuppressWarnings("unchecked")
 	public static <T> T checkAndPickFirst(ISelection selection, Class<T> type) {
@@ -79,6 +89,11 @@ public class SelectionUtils {
 	/**
 	 * Returns a list of all the selected elements that have the given type or
 	 * null if selection is null or is not an IStructuredSelection.
+	 * 
+	 * @param selection
+	 *            the current selection
+	 * @param type
+	 *            the type of elements to be returned
 	 */
 	@SuppressWarnings("unchecked")
 	public static <T> List<T> selectAll(ISelection selection, Class<T> type) {